//===== rAthena Script =======================================//= Devil Square//===== By: ==================================================//= Kirlein, Stillhard (translation), AnnieRuru (rewrite)//===== Current Version: =====================================//= 1.0//===== Compatible With: =====================================//= rAthena Project//===== Description: =========================================//= Devil Square, based on the event in MU Online.//= Defeat three waves of monsters for treasure.//===== Additional Comments: =================================//= 1.0 First version, edited. [Euphy]//============================================================
prontera,147,140,5 script DevilSquareGuardian#1 406,{set.@gm_level,99;// GM level required to start/stop the event
mes "[Devil Square Guardian]";
mes "This is the entrance to ^FF0000Devil Square^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.")){case1:if(.start !=1){// registration period
mes "[Devil Square Guardian]";
mes "Devil Square 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 "[Devil Square Guardian]";
mes "You do not meet the requirements to enter Devil Square.";
mes " ";
mes "Requirements:";
mes " - Base Level 70";
mes " - Registration fee 20,000z";
close;}Zeny-=20000;
announce strcharinfo(0)+" has entered Devil Square.", bc_npc;
percentheal 100,100;
warp "ordeal_1-1",183,182;
close;case2:
mes "[Devil Square Guardian]";
mes "Inside, you will encounter 3 waves of monsters. The monsters will grow stronger with each wave.";
next;
mes "[Devil Square Guardian]";
mes "If you defeat all the enemies, you will be given the opportunity to open 10 Treasure Chests with items, equipment, and rare cards inside!";
close;case3:
mes "[Devil Square Guardian]";switch(.start){// event statescase0: mes "Devil Square has not yet started.";break;case1: mes "Devil Square is currently accepting participants.";break;case2: mes "Devil Square Event is currently running on Round "+.round +" with "+.mob +" monsters remaining.";break;}
next;switch(select("Start event.:Stop event.:Cancel.")){case1:
mes "[Devil Square Guardian]";if(.start)
mes "Devil Square has already started.";else{
mes "Starting Devil Square...";
donpcevent strnpcinfo(0)+"::OnStartEvent";}
close;case2:
mes "[Devil Square Guardian]";if(!.start)
mes "Devil Square has not yet started.";else{
mes "Stopping Devil Square...";
donpcevent strnpcinfo(0)+"::OnStopEvent";}
close;case3:break;}break;case4:break;}
mes "[Devil Square 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 "Devil Square Guardian#2";
mapannounce "ordeal_1-1","Devil Square is now closed.", bc_map;
getmapxy .@map$,.@x,.@y, UNITTYPE_NPC;
mapwarp "ordeal_1-1",.@map$,.@x,.@y;
killmonsterall "ordeal_1-1";
announce "Devil Square is OPEN. The event will begin in 5 minutes.", bc_all;
sleep 60000;
announce "Devil Square will begin in 4 minutes.", bc_all;
sleep 60000;
announce "Devil Square will begin in 3 minutes.", bc_all;
sleep 60000;
announce "Devil Square will begin in 2 minutes.", bc_all;
sleep 60000;
announce "Devil Square will begin in 1 minute.", bc_all;
sleep 60000;
announce "Devil Square has STARTED!", bc_all;if(!getmapusers("ordeal_1-1"))gotoOnStopEvent;.start =2;.round =1;.mob =75;
areamonster "ordeal_1-1",183,182,246,244,"[DS] SOLDIER SKELETON",1028,10,strnpcinfo(0)+"::OnDevilDead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] ORC ARCHER",1189,15,strnpcinfo(0)+"::OnDevilDead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] SANDMAN",1165,10,strnpcinfo(0)+"::OnDevilDead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] ARCHER SKELETON",1016,15,strnpcinfo(0)+"::OnDevilDead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] MINOROUS",1149,15,strnpcinfo(0)+"::OnDevilDead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] REQUIEM",1164,10,strnpcinfo(0)+"::OnDevilDead";
end;OnDevilDead:.mob--;if(.mob ==25||.mob ==5)
announce "Devil Square : "+.mob +" monsters remaining in round 1.", bc_map;elseif(.mob <=0){
announce "Devil Square is entering round 2...", bc_map;gotoOnDevil2;}
end;OnDevil2:.round =2;.mob =70;
areamonster "ordeal_1-1",183,182,246,244,"[DS] GARGOYLE",1253,15,strnpcinfo(0)+"::OnDevilDead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] ALARM",1193,10,strnpcinfo(0)+"::OnDevilDead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] HIGH ORC",1213,10,strnpcinfo(0)+"::OnDevilDead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] INJUSTICE",1257,10,strnpcinfo(0)+"::OnDevilDead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] MIMIC",1191,15,strnpcinfo(0)+"::OnDevilDead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] WRAITH",1192,10,strnpcinfo(0)+"::OnDevilDead2";
end;OnDevilDead2:.mob--;if(.mob ==25||.mob ==5)
announce "Devil Square : "+.mob +" monsters remaining in round 2.", bc_map;elseif(.mob <=0){
announce "Devil Square is entering round 3...", bc_map;gotoOnDevil3;}
end;OnDevil3:.round =3;.mob =58;
areamonster "ordeal_1-1",183,182,246,244,"[DS] ANOLIAN",1206,15,strnpcinfo(0)+"::OnDevilDead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] WANDERER",1208,15,strnpcinfo(0)+"::OnDevilDead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] DEVIRUCHI",1109,10,strnpcinfo(0)+"::OnDevilDead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] JOKER",1131,15,strnpcinfo(0)+"::OnDevilDead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] MOONLIGHT",1150,2,strnpcinfo(0)+"::OnDevilDead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] DARK ILLUSION",1302,1,strnpcinfo(0)+"::OnDevilDead3";
end;OnDevilDead3:.mob--;if(.mob ==25||.mob ==5)
announce "Devil Square : "+.mob +" monsters remaining in the final round.", bc_map;elseif(.mob <=0){
announce "Devil Square : CONGRATULATIONS. These 10 Treasure Chests are yours.", bc_map;gotoOnDevil4;}
end;OnDevil4:.round =4;.mob =10;
monster "ordeal_1-1",231,250,"Treasure Chest",1324,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",234,247,"Treasure Chest",1328,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",237,244,"Treasure Chest",1332,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",240,241,"Treasure Chest",1336,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",243,238,"Treasure Chest",1340,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",246,235,"Treasure Chest",1344,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",249,232,"Treasure Chest",1348,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",252,229,"Treasure Chest",1352,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",249,241,"Treasure Chest",1356,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",240,249,"Treasure Chest",1360,1,strnpcinfo(0)+"::OnTreasureDead";
end;OnTreasureDead:.mob--;
announce "Devil Square : "+ strcharinfo(0)+" has opened the Treasure Chest at Devil Square.", bc_all;if(.mob <=0)gotoOnStopEvent;
end;OnStopEvent:
killmonsterall "ordeal_1-1";
enablenpc "ord11-12";//from npc/warps/pvp.txt
enablenpc "Devil Square Guardian#2";.start =.round =.mob =0;
end;}
ordeal_1-1,246,245,7 script DevilSquareGuardian#2 406,{
mes "[Exit]";
mes "Farewell.";
close2;
warp "SavePoint",0,0;
end;}
ordeal_1-1 mapflag nowarp
ordeal_1-1 mapflag nowarpto
ordeal_1-1 mapflag noteleport
ordeal_1-1 mapflag monster_noteleport
ordeal_1-1 mapflag nosave SavePoint
ordeal_1-1 mapflag nomemo
ordeal_1-1 mapflag nobranch
ordeal_1-1 mapflag nopenalty
ordeal_1-1 mapflag noicewall
Says npc_event Devil Square Guardian#1::OnDevilDead not found
Question
peculiarro
Says npc_event Devil Square Guardian#1::OnDevilDead not found
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.