Quesooo Posted July 19, 2017 Group: Members Topic Count: 197 Topics Per Day: 0.07 Content Count: 883 Reputation: 28 Joined: 02/13/17 Last Seen: November 10, 2022 Share Posted July 19, 2017 good day please help me to modify this script make all rounds have a timer starting to round 1 till last round with 5 seconds count down before mobs spawn again thank you here the script //===== 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,149,194,4 script Devil Square Guardian#1 10191,{ 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.")) { case 1: 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 , 08:00 , 16:00 , 24:00"; // display your times here 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; case 2: 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; case 3: mes "[Devil Square Guardian]"; switch (.start) { // event states case 0: mes "Devil Square has not yet started."; break; case 1: mes "Devil Square is currently accepting participants."; break; case 2: mes "Devil Square Event is currently running on Round "+ .round +" with "+ .mob +" monsters remaining."; break; } next; switch(select("Start event.:Stop event.:Cancel.")) { case 1: mes "[Devil Square Guardian]"; if (.start) mes "Devil Square has already started."; else { mes "Starting Devil Square..."; donpcevent strnpcinfo(0)+"::OnStartEvent"; } close; case 2: mes "[Devil Square Guardian]"; if (!.start) mes "Devil Square has not yet started."; else { mes "Stopping Devil Square..."; donpcevent strnpcinfo(0)+"::OnStopEvent"; } close; case 3: break; } break; case 4: break; } mes "[Devil Square Guardian]"; mes "Farewell."; close; OnStartEvent: OnClock0000: OnClock0800: OnClock1600: OnClock2400: .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") ) goto OnStopEvent; .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; else if ( .mob <= 0 ) { announce "Devil Square is entering round 2...", bc_map; goto OnDevil2; } 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; else if ( .mob <= 0 ) { announce "Devil Square is entering round 3...", bc_map; goto OnDevil3; } 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; else if ( .mob <= 0 ) { announce "Devil Square : CONGRATULATIONS. These 10 Treasure Chests are yours.", bc_map; goto OnDevil4; } 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 ) goto OnStopEvent; 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 Devil Square Guardian#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 Quote Link to comment Share on other sites More sharing options...
0 Quesooo Posted July 19, 2017 Group: Members Topic Count: 197 Topics Per Day: 0.07 Content Count: 883 Reputation: 28 Joined: 02/13/17 Last Seen: November 10, 2022 Author Share Posted July 19, 2017 or a preparation portal so that players can prepare for the next round thank you Quote Link to comment Share on other sites More sharing options...
Question
Quesooo
good day please help me to modify this script
make all rounds have a timer starting to round 1 till last round with 5 seconds count down before mobs spawn again
thank you here the script
//===== 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,149,194,4 script Devil Square Guardian#1 10191,{ 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.")) { case 1: 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 , 08:00 , 16:00 , 24:00"; // display your times here 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; case 2: 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; case 3: mes "[Devil Square Guardian]"; switch (.start) { // event states case 0: mes "Devil Square has not yet started."; break; case 1: mes "Devil Square is currently accepting participants."; break; case 2: mes "Devil Square Event is currently running on Round "+ .round +" with "+ .mob +" monsters remaining."; break; } next; switch(select("Start event.:Stop event.:Cancel.")) { case 1: mes "[Devil Square Guardian]"; if (.start) mes "Devil Square has already started."; else { mes "Starting Devil Square..."; donpcevent strnpcinfo(0)+"::OnStartEvent"; } close; case 2: mes "[Devil Square Guardian]"; if (!.start) mes "Devil Square has not yet started."; else { mes "Stopping Devil Square..."; donpcevent strnpcinfo(0)+"::OnStopEvent"; } close; case 3: break; } break; case 4: break; } mes "[Devil Square Guardian]"; mes "Farewell."; close; OnStartEvent: OnClock0000: OnClock0800: OnClock1600: OnClock2400: .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") ) goto OnStopEvent; .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; else if ( .mob <= 0 ) { announce "Devil Square is entering round 2...", bc_map; goto OnDevil2; } 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; else if ( .mob <= 0 ) { announce "Devil Square is entering round 3...", bc_map; goto OnDevil3; } 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; else if ( .mob <= 0 ) { announce "Devil Square : CONGRATULATIONS. These 10 Treasure Chests are yours.", bc_map; goto OnDevil4; } 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 ) goto OnStopEvent; 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 Devil Square Guardian#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
Link to comment
Share on other sites
1 answer 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.