Перейти к содержанию

помогите разобраться с телепортом


Рекомендуемые сообщения

Вот делал по подобию Ивента Devil Square Принцип в том что он выдаёт босса, после его убийства через одну минуту он должен отправлять в другую локацию (указанную в скрипте) и там появляется новый босс... Но почему то первый после первого босса через минуту он не телепортировал (соответсвенно монстр) тоже не появился, Почему? Можете указать мне на ошибку? или поправить меня?) Заранее Спасибо.


prontera,166,158,3 script Temple of Elemental 413,{
set .@gm_level, 99; // GM level required to start/stop the event

mes "[Temple of Elemental Guardian]";
mes "This is the entrance to ^FF0000Temple of Elemental^000000.";
mes "If you fail or die, the door will close and you must wait until the event starts again to re-enter.";
next;
switch(select("Enter.:Information.:" + ((getgmlevel() >= .@gm_level) ? "GM Menu." : "") + ":Cancel.")) {
case 1:
if (.start != 1) { // registration period
mes "[Temple of Elemental Guardian]";
mes "Temple of Elemental is now closed.";
mes "It will open at these times:";
mes "00:00 , 02:00 , 04:00 , 06:00"; // display your times here
mes "08:00 , 10:00 , 12:00 , 14:00";
mes "16:00 , 18:00 , 20:00 , 22:00";
close;
}
if (BaseLevel < 70 || Zeny < 20000) { // requirements
mes "[Temple of Elemental Guardian]";
mes "You do not meet the requirements to enter Temple of Elemental.";
mes " ";
mes "Requirements:";
mes " - Base Level 70";
mes " - Registration feel 20,000z";
close;
}
Zeny -= 20000;
announce strcharinfo(0)+" has entered Temple of Elemental.", bc_npc;
percentheal 100,100;
warp "1@new",354,103;
close;
case 2:
mes "[Temple of Elemental Guardian]";
mes "Inside, you will encounter 3 waves of monsters. The monsters will grow stronger with each wave.";
next;
mes "Temple of Elemental Guardian]";
mes "If you defeat all the enemies, you can Change your Scroll on various useful items";
close;
case 3:
mes "[Temple of Elemental Guardian]";
switch (.start) { // event states
case 0: mes "Temple of Elemental has not yet started."; break;
case 1: mes "Temple of Elemental is currently accepting participants."; break;
case 2: mes "Temple of Elemental Event is currently running on Round "+ .round +" with "+ .mob +" monsters remaining."; break;
}
next;
switch(select("Start event.:Stop event.:Cancel.")) {
case 1:
mes "[Temple of Elemental Guardian]";
if (.start)
mes "Temple of Elemental has already started.";
else {
mes "Starting Devil Square...";
donpcevent strnpcinfo(0)+"::onstartEvent";
}
close;
case 2:
mes "[Temple of Elemental Guardian]";
if (!.start)
mes "Temple of Elemental has not yet started.";
else {
mes "Stopping Temple of Elemental...";
donpcevent strnpcinfo(0)+"::onstopEvent";
}
close;
case 3:
break;
}
break;
case 4:
break;
}
mes "[Temple of Elemental Guardian]";
mes "Farewell.";
close;

onstartEvent:
OnClock0000:
OnClock0200:
OnClock0400:
OnClock0600:
OnClock0800:
OnClock1000:
OnClock1200:
OnClock1400:
OnClock1600:
OnClock1800:
OnClock2000:
OnClock2200:
.start = 1;
disablenpc "ord11-12"; //from npc/warps/pvp.txt
disablenpc "Temple of Elemental Guardian#2";
mapannounce "1@new","The Temple of Elemental is now closed.", bc_map;
getmapxy .@map$, .@x, .@y, 1;
mapwarp "1@new", .@map$, .@x, .@y;
killmonsterall "1@new";
announce "Temple of Elemental is OPEN. The event will begin in 5 minutes.", bc_all;
sleep 60000;
announce "Temple of Elemental will begin in 4 minutes.", bc_all;
sleep 60000;
announce "Temple of Elemental will begin in 3 minutes.", bc_all;
sleep 60000;
announce "Temple of Elemental will begin in 2 minutes.", bc_all;
sleep 60000;
announce "Temple of Elemental will begin in 1 minute.", bc_all;
sleep 60000;
announce "Temple of Elemental has STARTED!", bc_all;
if ( !getmapusers("1@new") )
goto onstopEvent;
.start = 2;
.round = 1;
.mob = 1;
areamonster "1@new",357,97,357,98,"[TE] Cursed Octopus",2312,1,strnpcinfo(0)+"::OnDevilDead";
end;

OnDevilDead:
.mob--;
if ( .mob == 1 || .mob == 1 )
announce "Temple of Elemental : "+ .mob +" monsters remaining in round 1.", bc_map;
else if ( .mob <= 0 ) {
announce "Temple of Elemental is entering round 2...", bc_map;
announce "you have 1 minute that would prepare for the next round", bc_map;
sleep 60000;
warp "2@new",205,179;
goto OnDevil2;
}
end;

OnDevil2:
.round = 2;
.mob = 1;
areamonster "2@new",221,183,223,184,"[TE] Werewolf King ",2318,1,strnpcinfo(0)+"::OnDevilDead2";
end;

OnDevilDead2:
.mob--;
if ( .mob == 1 || .mob == 1 )
announce "Temple of Elemental : "+ .mob +" monsters remaining in round 2.", bc_map;
else if ( .mob <= 0 ) {
announce "Temple of Elemental is entering round 3...", bc_map;
announce "you have 1 minute that would prepare for the next round", bc_map;
sleep 60000;
warp "3@new",353,128;
goto OnDevil3;
}
end;

OnDevil3:
.round = 3;
.mob = 1;
areamonster "3@new",356,95,357,96,"[TE] Sea Boss",1206,1,strnpcinfo(0)+"::OnDevilDead3";
end;

OnDevilDead3:
.mob--;
if ( .mob == 1 || .mob == 1 )
announce "Temple of Elemental : "+ .mob +" monsters remaining in the final round.", bc_map;
else if ( .mob <= 0 ) {
announce "Temple of Elemental is entering To last Round!...", bc_map;
announce "you have 2 minute that would prepare for the next round", bc_map;
sleep 60000;
warp "5@new",155,66;
goto OnDevil4;
}
end;

OnDevil4:
.round = 4;
.mob = 2;
monster "5@new",148,126,"Gemini Dragon Ing",2314,1,strnpcinfo(0)+"::OnTreasureDead";
monster "5@new",162,126,"Gemini Dragon Yang",2315,1,strnpcinfo(0)+"::OnTreasureDead";
end;

OnTreasureDead:
.mob--;
if ( .mob <= 0 )
goto onstopEvent;
end;

onstopEvent:
killmonsterall "5@new";
enablenpc "5@new"; //from npc/warps/pvp.txt
enablenpc "tmp1-1#2";
.start = .round = .mob = 0;
end;
}

5@new,161,150,7 script Temple of Elemental#2 405,{
mes "[Well Done]";
mes "You could come here.";
mes "You deserve an award!";
mes "If you have a Scroll Give it to me and I will give you your reward!";
mes "If no, then take the prize as the winner of the temple";
switch(select("I have Scroll.:No i Haven't Scroll.:")){
Case1:
mes "Wait pls i want to read Your Scroll";
if (countitem(31111) < 1) {
mes " You decided to lie to me? This scroll fake!!";
mes "GET OUT!";
warp "SavePoint",0,0;
close;}
delitem 31111,1;
getitem 31116,1;
getitem 31100,1;
set zeny,Zeny +500000;
close;
}
Case2:
mes "You Haven't A scroll Hmm";
mes "But You're Here! Okey This is for You!";
mes "Thank you! Good Bye";
getitem 969,3;
getitem 616,3;
next;
warp "SavePoint",0,0;
end;
}

1@new mapflag nowarp
1@new mapflag nowarpto
1@new mapflag noteleport
1@new mapflag monster_noteleport
1@new mapflag nosave SavePoint
1@new mapflag nomemo
1@new mapflag nobranch
1@new mapflag nopenalty
1@new mapflag noicewall

2@new mapflag nowarp
2@new mapflag nowarpto
2@new mapflag noteleport
2@new mapflag monster_noteleport
2@new mapflag nosave SavePoint
2@new mapflag nomemo
2@new mapflag nobranch
2@new mapflag nopenalty
2@new mapflag noicewall

3@new mapflag nowarp
3@new mapflag nowarpto
3@new mapflag noteleport
3@new mapflag monster_noteleport
3@new mapflag nosave SavePoint
3@new mapflag nomemo
3@new mapflag nobranch
3@new mapflag nopenalty
3@new mapflag noicewall

5@new mapflag nowarp
5@new mapflag nowarpto
5@new mapflag noteleport
5@new mapflag monster_noteleport
5@new mapflag nosave SavePoint
5@new mapflag nomemo
5@new mapflag nobranch
5@new mapflag nopenalty
5@new mapflag noicewall

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

Скорей всего проблема в sleep.

Слип нужно юзать в эвентах, например для указания анонсов или чего-то ещё, потому что он не аттачит игрока.

Юзай sleep2, он не отменяет аттач персонажа к скрипту и продолжает все действия.

Хотя могу ошибаться -) Попозже погляжу скрипт.

Изменено пользователем Kubix
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Скорей всего проблема в sleep.

Слип нужно юзать в эвентах, например для указания анонсов или чего-то ещё, потому что он не аттачит игрока.

Юзай sleep2, он не отменяет аттач персонажа к скрипту и продолжает все действия.

Хотя могу ошибаться -) Попозже погляжу скрипт.

Сейчас попробую, Спасибо)

кстати я пробовал и по другому ) но он таймер выдавал ошибки)

и ещё Несмог сделать так что бы НПЦ появлялся именно после смерти драконов в конце) он стоит) хотя я вроде настроил)

Изменено пользователем Fizik
Ссылка на комментарий
Поделиться на другие сайты

Скорей всего проблема в sleep.

Слип нужно юзать в эвентах, например для указания анонсов или чего-то ещё, потому что он не аттачит игрока.

Юзай sleep2, он не отменяет аттач персонажа к скрипту и продолжает все действия.

Хотя могу ошибаться -) Попозже погляжу скрипт.

Спасибо тебе большое Слип2 и правда помог))) Осталось понять почему НПЦ стоит всегда... Я хотел сделать так что бы он появлялся тагда когда все убивают монстров на данной локации)
Ссылка на комментарий
Поделиться на другие сайты

да там в примере как то локация вбивается в npc/warps/pvp.txт

немогу правильно создать там нужную локу и там через скрипт enablenpc можно)) но у меня вылетает и не хайдится))) Вот щас сижу пробую как можно))) Если знаешь покажи как)))

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

×
×
  • Создать...
Яндекс.Метрика