Fizik

UNITTYPE NPC

7 сообщений в этой теме

Помогите решить данную загадку, не могу понять почему выходит данная ошибка и как её решить
вот ошибка

< code >

[Error]: script_rid2sd: fatal error ! player not attached!
[Debug]: Function: getmapxy (4 parameters):
[Debug]: Data: variable name='.@map$' index=0
[Debug]: Data: variable name='.@x' index=0
[Debug]: Data: variable name='.@y' index=0
[Debug]: Data: variable name='UNITTYPE_NPC'
[Debug]: Source (NPC): World Of Hades#1 at GtRoArna (53,57)
[Warning]: script:get_val: cannot access player variable 'UNITTYPE_NPC', defaulting to 0
[Error]: script_rid2sd: fatal error ! player not attached!
[Debug]: Function: getmapxy (4 parameters):
[Debug]: Data: variable name='.@map$' index=0
[Debug]: Data: variable name='.@x' index=0
[Debug]: Data: variable name='.@y' index=0
[Debug]: Data: number value=0
[Debug]: Source (NPC): World Of Hades#1 at GtRoArna (53,57)

< /code >
А вот скрипт

<code>

GtRoArna,53,57,0 script World Of Hades#1 406,{
set .@gm_level, 99; // GM level required to start/stop the event
if(bezdna > gettimetick(2)) {
set @cd, Bezdna - gettimetick(2);
mes "Приходи через "+@cd / 60 +" Минут.";
close;
}
if(getmapusers("G_TrRoBez") >= 30 ) goto LError;
 mes "[Страж Бездны дьявола]";
 mes "Это вход в локацию ^FF0000Бездна Дьявола^000000.";
 mes "Если вы умрёте внутри, прийдётся ждать следующего открытия.";
 next;
 switch(select("Войти.:Информация.:" + ((getgmlevel() >= .@gm_level) ? "Панель Админа." : "") + ":Отмена.")) {
 case 1:
  if (.start != 1) { // registration period
   mes "[Страж Бездны дьявола]";
   mes "Бездна Дьявола сейчас закрыта";
   mes "Открытие Бездны Дьявола:";
   mes "Каждый не чётный час, 01:00,03:00 и т.д";
   close;
  }
  if (BaseLevel < 199 || Zeny < 20000) { // requirements
   mes "[Страж Бездны дьявола]";
   mes "Не выполнены условия для входа в Бездну дьявола";
   mes " ";
   mes "Условия:";
   mes " - Базовый Уровень 200+";
   mes " - Стоимость входа 20,000z";
   mes " - Один Чар может посещять Бездну дьявола лишь 1 раз в 6 часов!";
   mes " - А так же посещать Бездну может одновременно только 20 человек!";
   close;
  }
  Zeny -= 20000;
  announce strcharinfo(0)+" Зашёл в Бездну Дьявола.", bc_npc;
  percentheal 100,100;
  atcommand "@cast";
  warp "G_TrRoBez",44,135;
  close;
 case 2:
  mes "[Страж Бездны дьявола]";
  mes "Внутри Бездны будет 8 волн Монстров, начиная от маленьких до очень сильных...";
  next;
  mes "[Страж Бездны дьявола]";
  mes "Если вы сможете победить всех монстров, вы получите хорошую награду!";
  close;
 case 3:
  mes "[Страж Бездны дьявола]";
  switch (.start) { // event states
   case 0: mes "Бездна Дьявола ещё не началась."; break;
   case 1: mes "В данный момент открыт проход в Бездну Дьявола!."; break;
   case 2: mes "Бездна Дьявола уже открыта и участники уже на "+ .round +" Вместе "+ .mob +" Оставшимися монстрами."; break;
  }
  next;
  switch(select("Запустить Инстанс.:Остановить инстанс.:Отмена.")) {
  case 1:
   mes "[Страж Бездны дьявола]";
   if (.start)
    mes "Бездна Дьявола уже открыта";
   else {
    mes "Бездна Дьявола начинается";
    donpcevent strnpcinfo(0)+"::OnStartEvent";
   }
   close;
  case 2:
   mes "[Страж Бездны дьявола]";
   if (!.start)
    mes "Бездна Дьявола не запустилась";
   else {
    mes "Бездна Дьявола отменяется...";
    donpcevent strnpcinfo(0)+"::OnStopEvent";
   }
   close;
  case 3:
   break;
  }
  break;
 case 4:
  break;
 }
 mes "[Страж Бездны дьявола]";
 mes "Farewell.";
 close;
 
OnStartEvent:
OnClock0900:
OnClock1100:
OnClock1300:
OnClock1700:
OnClock1900:
OnClock2100:
 .start = 1;
 disablenpc "World Of Hades#2";
 disablenpc "bezdnawarp1";
 disablenpc "bezdnawarp2";
 mapannounce "G_TrRoBez","Бездна Дьявола закрыта.", bc_map,0xFFFF00;
 getmapxy .@map$, .@x, .@y, UNITTYPE_NPC;
 mapwarp "G_TrRoBez", .@map$, .@x, .@y;
 killmonsterall "G_TrRoBez";
 announce "Бездная Дьявола открыта, Монстры появятся через 5 минут.", bc_all,0xFFFF00;
 sleep 60000;
 announce "Бездная Дьявола открыта, Монстры появятся через 4 минуты.", bc_all,0xFFFF00;
 sleep 60000;
 announce "Бездная Дьявола открыта, Монстры появятся через 3 минуты.", bc_all,0xFFFF00;
 sleep 60000;
 announce "Бездная Дьявола открыта, Монстры появятся через 2 минуты.", bc_all,0xFFFF00;
 sleep 60000;
 announce "Бездная Дьявола открыта, Монстры появятся через 1 минуту.", bc_all,0xFFFF00;
 sleep 60000;
 announce "Бездна дьявола началась, вход закрыт.", bc_all,0xFFFF00;
 
 if(getmapusers("G_TrRoBez") <= 0 ) {
 announce "Бездна Дьявола отменяется, потому-что на сражение не прибыли герои!",bc_all,0xFFFF00;
 killmonsterall "G_TrRoBez";
 enablenpc "World Of Hades#2";
 .start = .round = .mob = 0;
 end;
 }
 .start = 2;
 .round = 1;
 .mob = 60;
 areamonster "G_TrRoBez",78,140,83,130,"[BD] ANUBIS",1098,10,strnpcinfo(0)+"::OnDevilDead";
 areamonster "G_TrRoBez",88,136,80,130,"[BD] ICE TITAN",1777,10,strnpcinfo(0)+"::OnDevilDead";
 areamonster "G_TrRoBez",91,125,91,145,"[BD] GAZETI",1778,10,strnpcinfo(0)+"::OnDevilDead";
 areamonster "G_TrRoBez",88,135,75,135,"[BD] NITE TAIL",1180,10,strnpcinfo(0)+"::OnDevilDead";
 areamonster "G_TrRoBez",78,140,80,138,"[BD] MINOROUS",1149,10,strnpcinfo(0)+"::OnDevilDead";
 areamonster "G_TrRoBez",90,130,92,138,"[BD] PASANA",1154,10,strnpcinfo(0)+"::OnDevilDead";
 end;
 
OnDevilDead:
 .mob--;
 if ( .mob == 5 || .mob == 1 )
  announce "Неизвестное Эхо: Ааааа Да как вы посмели потревожить меня повелителя бездны!.", bc_map,0xFFFF00;
 else if ( .mob <= 0 ) {
  announce "Неизвестное Эхо: Я вас уничтожу... Жалкие смертные!!! Прийди мой слуга!", bc_map,0xFFFF00;
  atcommand "@cleanmap";
  sleep2 5000;
  goto OnDevil2;
 }
 end;
 
OnDevil2:
 .round = 2;
 .mob = 1;
 areamonster "G_TrRoBez",88,136,88,136,"[BD] IFRIT",1832,1,strnpcinfo(0)+"::OnDevilDead2";
 end;
 
OnDevilDead2:
 .mob--;
 if ( .mob == 1 || .mob == 1 )
  announce "Неизвестное Эхо: Я уничтожу вас!!! ГГГГГРРРРРРР", bc_map,0xFFFF00;
 else if ( .mob <= 0 ) {
  announce "Неизвестное Эхо: Не могу поверить Что вы победили моего слугу! Вы не пройдёте дальше!!! Умрите!", bc_map,0xFFFF00;
  sleep2 5000;
  enablenpc "bezdnawarp1";
  goto OnDevil3;
 }
 end;
 
OnDevil3:
 .round = 3;
 .mob = 40;
 areamonster "G_TrRoBez",132,142,137,134,"[BD] EREMES GUILE",1635,10,strnpcinfo(0)+"::OnDevilDead3";
 areamonster "G_TrRoBez",133,137,132,124,"[BD] CECIL DEMON",1638,5,strnpcinfo(0)+"::OnDevilDead3";
 areamonster "G_TrRoBez",143,127,142,145,"[BD] SALAMANDER",1834,5,strnpcinfo(0)+"::OnDevilDead3";
 areamonster "G_TrRoBez",138,139,138,130,"[BD] KASA",1835,5,strnpcinfo(0)+"::OnDevilDead3";
 areamonster "G_TrRoBez",138,134,143,134,"[BD] FIRE IMP",1837,10,strnpcinfo(0)+"::OnDevilDead3";
 areamonster "G_TrRoBez",141,136,149,135,"[BD] SWORD MASTER",1829,5,strnpcinfo(0)+"::OnDevilDead3";
 end;
 
OnDevilDead3:
 .mob--;
 if ( .mob == 5 || .mob == 1 )
  announce "Неизвестное Эхо: Воины! Продолжайте атаку, Эти смертные не смогут сразить нас!! В атаку!!", bc_map,0xFFFF00;
 else if ( .mob <= 0 ) {
  announce "Неизвестное Эхо: Не могу поверить!!! Появись великий Повелитель морей, Уничтожь этих смертных! УНИЧТОЖЬ!", bc_map,0xFFFF00;
  atcommand "@cleanmap";
  sleep2 5000;
  goto OnDevil4;
 }
 end;
 
OnDevil4:
 .round = 4;
 .mob = 1;
 areamonster "G_TrRoBez",143,135,143,135,"[BD] SEA LORD",3203,1,strnpcinfo(0)+"::OnDevilDead4";
 end;
 
OnDevilDead4:
 .mob--;
 if ( .mob <= 0 ) {
  announce "Неизвестное Эхо: Не Верю!!!! Повелитель Морей Повержен! Что же Вы не оставили мне выбора!!!", bc_map,0xFFFF00;
  sleep2 5000;
  enablenpc "bezdnawarp2";
  goto OnDevil5;
 }
 end;
 
 
OnDevil5:
 .round = 5;
 .mob = 70;
 areamonster "G_TrRoBez",200,140,200,130,"[BD] Assasin Master",1635,15,strnpcinfo(0)+"::OnDevilDead5";
 areamonster "G_TrRoBez",197,136,203,136,"[BD] AQUA ELEMENTAL",2016,15,strnpcinfo(0)+"::OnDevilDead5";
 areamonster "G_TrRoBez",213,130,200,141,"[BD] WATER DEMON",2044,10,strnpcinfo(0)+"::OnDevilDead5";
 areamonster "G_TrRoBez",198,139,198,130,"[BD] EARTH DEMON",2045,10,strnpcinfo(0)+"::OnDevilDead5";
 areamonster "G_TrRoBez",212,139,200,140,"[BD] WIND DEMON",2046,10,strnpcinfo(0)+"::OnDevilDead5";
 areamonster "G_TrRoBez",211,136,217,122,"[BD] EVIL SNAKE DEMON",2047,10,strnpcinfo(0)+"::OnDevilDead5";
 end;
 
OnDevilDead5:
 .mob--;
 if ( .mob <= 0 ) {
  announce "Неизвестное Эхо: Ну что же... Хвалю вас смертные! Но сейчас Узрите настоящую силу демонов!", bc_map,0xFFFF00;
  sleep2 5000;
  announce "Неизвестное Эхо: Рашим... Рашим ула...Рашим ула кашка! Явись Принц Бездны! Великий Стихийный дракон", bc_map,0xFFFF00;
  atcommand "@cleanmap";
  sleep2 5000;
  goto OnDevil6;
 }
 end;
 
OnDevil6:
 .round = 6;
 .mob = 1;
 areamonster "G_TrRoBez",206,136,206,136,"[BD] ELEMENTAL DRAGON",3204,1,strnpcinfo(0)+"::OnDevilDead6";
 end;
 
OnDevilDead6:
 .mob--;
 if ( .mob <= 0 ) {
  announce "Неизвестное Эхо: Это ещё не конец! Что-бы убить Демона прийдётся попотеть старательнее!!!!!!!!", bc_map,0xFFFF00;
  sleep2 5000;
  announce "Неизвестное Эхо: Рашим... Рашим ула...Рашим ула кашка,Хусташ им Аменофус!!! Возрадись! Принц Бездны! Великий Стихийный дракон", bc_map,0xFFFF00;
  sleep2 5000;
  goto OnDevil7;
 }
 end;
 
OnDevil7:
 .round = 7;
 .mob = 1;
 areamonster "G_TrRoBez",206,136,206,136,"[BD] RAISED ELEMENTAL DRAGON",3205,1,strnpcinfo(0)+"::OnDevilDead7";
 end;
 
OnDevilDead7:
 .mob--;
 if ( .mob <= 0 ) {
  announce "Демон Бездны: Хватит! Я сам прикончу вас ничтожные людишки!!!!!", bc_map,0xFFFF00;
  sleep2 5000;
  goto OnDevil8;
 }
 end;
 
OnDevil8:
 .round = 8;
 .mob = 1;
 areamonster "G_TrRoBez",227,135,227,135,"[BD] DEMON",3218,1,strnpcinfo(0)+"::OnStopEvent";
 end;
 
OnStopEvent:
 announce "Демон Бездны: Я ещё вернусь! Вы лишь ненадолго отсрочили свою гибель! Я уничтожу вас!!", bc_map,0xFFFF00;
 sleep2 2000;
 killmonsterall "G_TrRoBez";
 enablenpc "World Of Hades#2";
 .start = .round = .mob = 0;
 end;
 
OnCancelEvent:
 announce "Бездна Дьявола отменяется, потому-что на сражение не прибыли герои!", bc_map,0xFFFF00;
 killmonsterall "G_TrRoBez";
 enablenpc "World Of Hades#2";
 .start = .round = .mob = 0;
 end;
LError:
 mes "[Страж Бездны Дьявола]";
 mes "Извините но В бездну уже зашло максимальное количество людей!";
 close;
}
 
G_TrRoBez,230,135,7 script World Of Hades#2 406,{
 mes "[Страж Бездны Дьявола]";
 mes "Я поверить не могу! Ты справился!!!";
 mes "Ты заслужил,Вот тебе награда!";
 mes "Спасибо тебе огромное что спас меня из Бездны Злобного дьявола!";
next;
 getitem 31610,2;
 getitem 969,20;
 getitem 671,20;
 getitem 31701,50;
 getitem 7650,1;
 getexp 50000000,5000000;
 set Bezdna, gettimetick(2) + 21600;
 close2;
 warp "SavePoint",0,0;
 end;
}
 
G_TrRoBez,98,135,0 warp bezdnawarp1 1,1,G_TrRoBez,119,135,0
G_TrRoBez,157,135,0 warp bezdnawarp2 1,1,G_TrRoBez,180,135,0
 
G_TrRoBez mapflag nowarp
G_TrRoBez mapflag nowarpto
G_TrRoBez mapflag noteleport
G_TrRoBez mapflag monster_noteleport
G_TrRoBez mapflag nosave SavePoint
G_TrRoBez mapflag nomemo
G_TrRoBez mapflag nobranch
G_TrRoBez mapflag nopenalty
G_TrRoBez mapflag noicewall
</code>
Изменено пользователем Fizik
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ты можешь запихнуть скрипт в < code > ?=\

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не могу, с тех пор как Форум обновили он стал вообще не выносимым... Раньше это всё было очень просто а щас хер поймёшь...
Покажи пожалуйста как щас это делается я поставлю

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ты пытаешься прикрепить скоуп переменную на нпца. Вместо 
 

 getmapxy .@map$, .@x, .@y, UNITTYPE_NPC;
 mapwarp "G_TrRoBez", .@map$, .@x, .@y;

нужно:
 

 getmapxy .map$, .x, .y, UNITTYPE_NPC;
 mapwarp "G_TrRoBez", .map$, .x, .y;

 

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Изменил, тоже самое
[Error]: script_rid2sd: fatal error ! player not attached!
[Debug]: Function: getmapxy (4 parameters):
[Debug]: Data: variable name='.Map$' index=0
[Debug]: Data: variable name='.X' index=0
[Debug]: Data: variable name='.Y' index=0
[Debug]: Data: variable name='UNITTYPE_NPC'
[Debug]: Source (NPC): World Of Hades#1 at GtRoArna (53,57)
[Warning]: script:get_val: cannot access player variable 'UNITTYPE_NPC', defaulting to 0
[Error]: script_rid2sd: fatal error ! player not attached!
[Debug]: Function: getmapxy (4 parameters):
[Debug]: Data: variable name='.Map$' index=0
[Debug]: Data: variable name='.X' index=0
[Debug]: Data: variable name='.Y' index=0
[Debug]: Data: number value=0
[Debug]: Source (NPC): World Of Hades#1 at GtRoArna (53,57)

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тьфу, я дебил. Вместо UNITTYPE_NPC поставь 1

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Шикарно))) Помогло Спасибо!))))))

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас