// Made:By Kirlein (Tyirial Script Concept) //
// Devil Square based off the mmorpg Muonline //
// Have Fun and feel free to leave suggestions //
// Leave This intacted //
// + Translated by Stillhard aka Dewa //
// + Add times for 24 hours of play //
// + Add a little bit infos for newbie users //
// Completely rewrite by ~AnnieRuru~ //
// + Tested with SVN14214 Trunk //
/////////////////////////////////////////////////
quiz_02,354,346,4 script Square Guardian 404,{
mes "[square Guardian]";
mes "Welcome to the entrance door to ^FF0000Devil Square^000000";
mes "If you failed or die, the door will be closed and you have to wait until it start to open again";
next;
menu "Enter",-,"Info",L_info,"Cancel",L_cancel;
if ( $@DS_entry == 0 ) goto L_error;
if ( Baselevel < 100 || Zeny < 1000000 ) goto L_req;
if ( getmapusers("ordeal_1-1") == 30 ) goto L_toomany;
set Zeny,Zeny - 1000000;
announce strcharinfo(0)+" has entered the Devil Square",bc_all | bc_blue;
percentheal 100,100;
warp "ordeal_1-1",148,148;
end;
L_error:
mes "[square Guardian]";
mes "Devil Square is now closed";
mes "It'll be open again at:";
mes "Every ^0000DD01:00^000000 am/pm";
mes "Every ^0000DD03:00^000000 am/pm";
mes "Every ^0000DD06:00^000000 am/pm";
mes "Every ^0000DD09:00^000000 am/pm";
mes "Every ^0000DD12:00^000000 am/pm";
close;
L_req:
mes "[square Guardian]";
mes "Minimum base level to enter is 100";
mes "The registration fee is 1,000,000 zeny";
close;
L_toomany:
mes "[square Guardian]";
mes "I'm sorry but the Devil Square is FULL";
mes "Maximum users to enter is 30 players";
close;
L_info:
mes "[square Guardian]";
mes "There are 8 level monster you'll encounter";
mes "Each level the enemies will grow stronger";
mes "If you succeded to win all 9 level monster, you'll get the reward.";
close;
L_cancel:
mes "[square Guardian]";
mes "See ya";
close;
OnWhisperGlobal:
goto OnInit;
OnInit:
waitingroom "Devil Square Event",0;
end;
OnPCDieEvent:
getmapxy(.@map$,.@x,.@y,0);
if(.@map$=="ordeal_1-1")
{
sleep2 1000;
warp "SavePoint",0,0;
end;
}
}
ordeal_1-1,0,0,0 script DS_HiddenNpc -1,{
OnClock0100:
OnClock0300:
OnClock0600:
OnClock0900:
OnClock1200:
enablenpc "ord11-7";
enablenpc "ord11-11";
enablenpc "ord11-15";
enablenpc "ord11-13";
enablenpc "ord11-10";
enablenpc "ord11-6";
enablenpc "ord11-2";
enablenpc "ord11-4";
set $@DS_complete,1;
set $@mob,0;
killmonsterall "ordeal_1-1";
announce "Devil Square is OPENED NOW!! 5 Minutes until it starts..!!",bc_all | bc_blue;
set $@DS_entry,1;
sleep 60000;
announce "Devil Square will begin in 4 minutes..!!",bc_all | bc_blue;
sleep 60000;
announce "Devil Square will begin in 3 minutes..!!",bc_all | bc_blue;
sleep 60000;
announce "Devil Square will begin in 2 minutes..!!",bc_all | bc_blue;
sleep 60000;
announce "Devil Square will begin in 1 minutes..!!",bc_all | bc_blue;
sleep 60000;
announce "Devil Square is Start now !! The door has closed.",bc_all | bc_blue;
initnpctimer;
set $@DS_entry,0;
set $@mob,101;
areamonster "ordeal_1-1",150,204,150,278,"[DS] REQUIEM",1164,10,"DS_HiddenNpc::Ondevildead";
areamonster "ordeal_1-1",150,204,150,278,"[DS] SOLDIER SKELETON",1028,20,"DS_HiddenNpc::Ondevildead";
areamonster "ordeal_1-1",150,204,150,278,"[DS] ORC ARCHER",1189,10,"DS_HiddenNpc::Ondevildead";
areamonster "ordeal_1-1",150,204,150,278,"[DS] SANDMAN",1165,20,"DS_HiddenNpc::Ondevildead";
areamonster "ordeal_1-1",150,204,150,278,"[DS] ARCHER SKELETON",1016,20,"DS_HiddenNpc::Ondevildead";
areamonster "ordeal_1-1",150,204,150,278,"[DS] MINOROUS",1149,20,"DS_HiddenNpc::Ondevildead";
areamonster "ordeal_1-1",150,204,150,278,"[DS] AMON RA",1511,1,"DS_HiddenNpc::Ondevildead";
end;
Ondevildead:
set $@mob,$@mob - 1;
if($@mob == 25) mapannounce "ordeal_1-1","Square Guardian : 25 mobs left to enter the 2nd round.",bc_blue;
if($@mob == 5) mapannounce "ordeal_1-1","Square Guardian: 5 mobs left to enter the 2nd round.",bc_blue;
if($@mob == 0) {
disablenpc "ord11-7";
mapannounce "ordeal_1-1","Devil Square will now enter the 2nd round, please proceed to the next room.",bc_blue;
while ( getusers(1) > .@count ) {
query_sql "select account_id from `char` where online = 1 limit 128 offset "+ .@count, .@result;
set .@i, 0;
while ( .@i < getarraysize(.@result) ) {
if ( attachrid(.@result[.@i]) ) {
if ( strcharinfo(3) == "ordeal_1-1" ){
percentheal 100,100;
warp "ordeal_1-1",165,165;}
}
set .@i, .@i +1 ;
}
set .@count, .@count + 128;
deletearray .@result, 128;
}
goto Ondevil2;
}
end;
Ondevil2:
set $@mob,111;
areamonster "ordeal_1-1",189,189,248,248,"[DS] WRAITH",1192,10,"DS_HiddenNpc::Ondevildead2";
areamonster "ordeal_1-1",189,189,248,248,"[DS] GARGOYLE",1253,20,"DS_HiddenNpc::Ondevildead2";
areamonster "ordeal_1-1",189,189,248,248,"[DS] ALARM",1193,20,"DS_HiddenNpc::Ondevildead2";
areamonster "ordeal_1-1",189,189,248,248,"[DS] HIGH ORC",1213,20,"DS_HiddenNpc::Ondevildead2";
areamonster "ordeal_1-1",189,189,248,248,"[DS] INJUSTICE",1257,20,"DS_HiddenNpc::Ondevildead2";
areamonster "ordeal_1-1",189,189,248,248,"[DS] MIMIC",1191,20,"DS_HiddenNpc::Ondevildead2";
areamonster "ordeal_1-1",189,189,248,248,"[DS] DARK LORD",1272,1,"DS_HiddenNpc::Ondevildead2";
end;
Ondevildead2:
set $@mob,$@mob - 1;
if($@mob == 25) mapannounce "ordeal_1-1","Square Guardian: 25 mobs left to enter the 3rd round.",bc_blue;
if($@mob == 5) mapannounce "ordeal_1-1","Square Guardian: 5 mobs left to enter the 3rd round.",bc_blue;
if($@mob == 0) {
disablenpc "ord11-11";
mapannounce "ordeal_1-1","Devil Square will now enter the 3rd round, please proceed to the next room.",bc_blue;
while ( getusers(1) > .@count ) {
query_sql "select account_id from `char` where online = 1 limit 128 offset "+ .@count, .@result;
set .@i, 0;
while ( .@i < getarraysize(.@result) ) {
if ( attachrid(.@result[.@i]) ) {
if ( strcharinfo(3) == "ordeal_1-1" ){
percentheal 100,100;
warp "ordeal_1-1",172,150;}
}
set .@i, .@i +1 ;
}
set .@count, .@count + 128;
deletearray .@result, 128;
}
goto Ondevil3;
}
end;
Ondevil3:
set $@mob,107;
areamonster "ordeal_1-1",204,150,278,150,"[DS] DARK ILLUSION",1302,3,"DS_HiddenNpc::Ondevildead3";
areamonster "ordeal_1-1",204,150,278,150,"[DS] ANOLIAN",1206,30,"DS_HiddenNpc::Ondevildead3";
areamonster "ordeal_1-1",204,150,278,150,"[DS] WANDERER",1208,30,"DS_HiddenNpc::Ondevildead3";
areamonster "ordeal_1-1",204,150,278,150,"[DS] DEVIRUCHI",1109,20,"DS_HiddenNpc::Ondevildead3";
areamonster "ordeal_1-1",204,150,278,150,"[DS] JOKER",1131,20,"DS_HiddenNpc::Ondevildead3";
areamonster "ordeal_1-1",204,150,278,150,"[DS] MOONLIGHT",1150,3,"DS_HiddenNpc::Ondevildead3";
areamonster "ordeal_1-1",204,150,278,150,"[DS] KIEL D-01",1734,1,"DS_HiddenNpc::Ondevildead3";
end;
Ondevildead3:
set $@mob,$@mob - 1;
if($@mob == 25) mapannounce "ordeal_1-1","Square Guardian: 25 mobs left to enter the 4th round.",bc_blue;
if($@mob == 5) mapannounce "ordeal_1-1","Square Guardian: 5 mobs left to enter the 4th round.",bc_blue;
if($@mob == 0) {
disablenpc "ord11-15";
mapannounce "ordeal_1-1","Devil Square will now enter the 4th round, please proceed to the next room.",bc_blue;
while ( getusers(1) > .@count ) {
query_sql "select account_id from `char` where online = 1 limit 128 offset "+ .@count, .@result;
set .@i, 0;
while ( .@i < getarraysize(.@result) ) {
if ( attachrid(.@result[.@i]) ) {
if ( strcharinfo(3) == "ordeal_1-1" ){
percentheal 100,100;
warp "ordeal_1-1",166,133;}
}
set .@i, .@i +1 ;
}
set .@count, .@count + 128;
deletearray .@result, 128;
}
goto Ondevil4;
}
end;
Ondevil4:
set $@mob,104;
areamonster "ordeal_1-1",188,111,248,51,"[DS] SKOGUL",1752,20,"DS_HiddenNpc::Ondevildead4";
areamonster "ordeal_1-1",188,111,248,51,"[DS] FRUS",1753,20,"DS_HiddenNpc::Ondevildead4";
areamonster "ordeal_1-1",188,111,248,51,"[DS] SKEGGIOLD",1754,20,"DS_HiddenNpc::Ondevildead4";
areamonster "ordeal_1-1",188,111,248,51,"[DS] PENOMENA",1216,20,"DS_HiddenNpc::Ondevildead4";
areamonster "ordeal_1-1",188,111,248,51,"[DS] DELETER",1384,20,"DS_HiddenNpc::Ondevildead4";
areamonster "ordeal_1-1",188,111,248,51,"[DS] BASCOJIN",1630,3,"DS_HiddenNpc::Ondevildead4";
areamonster "ordeal_1-1",188,111,248,51,"[DS] GORYNYCH",1885,1,"DS_HiddenNpc::Ondevildead4";
end;
Ondevildead4:
set $@mob,$@mob - 1;
if($@mob == 25) mapannounce "ordeal_1-1","Square Guardian: 25 mobs left to enter the 5th round.",bc_blue;
if($@mob == 5) mapannounce "ordeal_1-1","Square Guardian: 5 mobs left to enter the 5th round.",bc_blue;
if($@mob == 0) {
disablenpc "ord11-13";
mapannounce "ordeal_1-1","Devil Square will now enter the 5th round, please proceed to the next room.",bc_blue;
while ( getusers(1) > .@count ) {
query_sql "select account_id from `char` where online = 1 limit 128 offset "+ .@count, .@result;
set .@i, 0;
while ( .@i < getarraysize(.@result) ) {
if ( attachrid(.@result[.@i]) ) {
if ( strcharinfo(3) == "ordeal_1-1" ){
percentheal 100,100;
warp "ordeal_1-1",151,128;}
}
set .@i, .@i +1 ;
}
set .@count, .@count + 128;
deletearray .@result, 128;
}
goto Ondevil5;
}
end;
Ondevil5:
set $@mob,105;
areamonster "ordeal_1-1",150,95,150,22,"[DS] ACIDUS",1713,20,"DS_HiddenNpc::Ondevildead5";
areamonster "ordeal_1-1",150,95,150,22,"[DS] ACIDUS",1716,20,"DS_HiddenNpc::Ondevildead5";
areamonster "ordeal_1-1",150,95,150,22,"[DS] VIOLY",1390,20,"DS_HiddenNpc::Ondevildead5";
areamonster "ordeal_1-1",150,95,150,22,"[DS] GREMLIN",1632,20,"DS_HiddenNpc::Ondevildead5";
areamonster "ordeal_1-1",150,95,150,22,"[DS] KHALITZBURG",1132,20,"DS_HiddenNpc::Ondevildead5";
areamonster "ordeal_1-1",150,95,150,22,"[DS] TURTLE GENERAL",1312,3,"DS_HiddenNpc::Ondevildead5";
areamonster "ordeal_1-1",150,95,150,22,"[DS] NIDHOGGR'S SHADOW",2022,2,"DS_HiddenNpc::Ondevildead5";
end;
Ondevildead5:
set $@mob,$@mob - 1;
if($@mob == 25) mapannounce "ordeal_1-1","Square Guardian: 25 mobs left to enter the 6th round.",bc_blue;
if($@mob == 5) mapannounce "ordeal_1-1","Square Guardian: 5 mobs left to enter the 6th round.",bc_blue;
if($@mob == 0) {
disablenpc "ord11-10";
mapannounce "ordeal_1-1","Devil Square will now enter the 6th round, please proceed to the next room.",bc_blue;
while ( getusers(1) > .@count ) {
query_sql "select account_id from `char` where online = 1 limit 128 offset "+ .@count, .@result;
set .@i, 0;
while ( .@i < getarraysize(.@result) ) {
if ( attachrid(.@result[.@i]) ) {
if ( strcharinfo(3) == "ordeal_1-1" ){
percentheal 100,100;
warp "ordeal_1-1",134,134;}
}
set .@i, .@i +1 ;
}
set .@count, .@count + 128;
deletearray .@result, 128;
}
goto Ondevil6;
}
end;
Ondevil6:
set $@mob,94;
areamonster "ordeal_1-1",112,112,51,51,"[DS] SALAMANDER",1831,10,"DS_HiddenNpc::Ondevildead6";
areamonster "ordeal_1-1",112,112,51,51,"[DS] NECROMANCER",1870,20,"DS_HiddenNpc::Ondevildead6";
areamonster "ordeal_1-1",112,112,51,51,"[DS] KASA",1833,20,"DS_HiddenNpc::Ondevildead6";
areamonster "ordeal_1-1",112,112,51,51,"[DS] IMP",1837,20,"DS_HiddenNpc::Ondevildead6";
areamonster "ordeal_1-1",112,112,51,51,"[DS] ECHIO",1770,20,"DS_HiddenNpc::Ondevildead6";
areamonster "ordeal_1-1",112,112,51,51,"[DS] DRACULA",1389,3,"DS_HiddenNpc::Ondevildead6";
areamonster "ordeal_1-1",112,112,51,51,"[DS] GLOOM UNDER NIGHT",1768,1,"DS_HiddenNpc::Ondevildead6";
end;
Ondevildead6:
set $@mob,$@mob - 1;
if($@mob == 25) mapannounce "ordeal_1-1","Square Guardian: 25 mobs left to enter the 7th round.",bc_blue;
if($@mob == 5) mapannounce "ordeal_1-1","Square Guardian: 5 mobs left to enter the 7th round.",bc_blue;
if($@mob == 0) {
disablenpc "ord11-6";
mapannounce "ordeal_1-1","Devil Square will now enter the 7th round, please proceed to the next room.",bc_blue;
while ( getusers(1) > .@count ) {
query_sql "select account_id from `char` where online = 1 limit 128 offset "+ .@count, .@result;
set .@i, 0;
while ( .@i < getarraysize(.@result) ) {
if ( attachrid(.@result[.@i]) ) {
if ( strcharinfo(3) == "ordeal_1-1" ){
percentheal 100,100;
warp "ordeal_1-1",127,150;}
}
set .@i, .@i +1 ;
}
set .@count, .@count + 128;
deletearray .@result, 128;
}
goto Ondevil7;
}
end;
Ondevil7:
set $@mob,83;
areamonster "ordeal_1-1",95,150,22,150,"[DS] MINERAL",1614,20,"DS_HiddenNpc::Ondevildead7";
areamonster "ordeal_1-1",95,150,22,150,"[DS] MYST",1151,20,"DS_HiddenNpc::Ondevildead7";
areamonster "ordeal_1-1",95,150,22,150,"[DS] RAGGED ZOMBIE",1865,20,"DS_HiddenNpc::Ondevildead7";
areamonster "ordeal_1-1",95,150,22,150,"[DS] ANCIENT MUMMY",1297,20,"DS_HiddenNpc::Ondevildead7";
areamonster "ordeal_1-1",95,150,22,150,"[DS] APOCALIPS",1685,2,"DS_HiddenNpc::Ondevildead7";
areamonster "ordeal_1-1",95,150,22,150,"[DS] RANDGRIS",1751,1,"DS_HiddenNpc::Ondevildead7";
end;
Ondevildead7:
set $@mob,$@mob - 1;
if($@mob == 25) mapannounce "ordeal_1-1","Square Guardian: 25 mobs left to enter the 8th round.",bc_blue;
if($@mob == 5) mapannounce "ordeal_1-1","Square Guardian: 5 mobs left to enter the 8th round.",bc_blue;
if($@mob == 0) {
disablenpc "ord11-2";
mapannounce "ordeal_1-1","Devil Square will now enter the 8th round, please proceed to the next room.",bc_blue;
while ( getusers(1) > .@count ) {
query_sql "select account_id from `char` where online = 1 limit 128 offset "+ .@count, .@result;
set .@i, 0;
while ( .@i < getarraysize(.@result) ) {
if ( attachrid(.@result[.@i]) ) {
if ( strcharinfo(3) == "ordeal_1-1" ){
percentheal 100,100;
warp "ordeal_1-1",133,165;}
}
set .@i, .@i +1 ;
}
set .@count, .@count + 128;
deletearray .@result, 128;
}
goto Ondevil8;
}
end;
Ondevil8:
set $@mob,45;
areamonster "ordeal_1-1",109,188,46,247,"[DS] SOLACE",1703,10,"DS_HiddenNpc::Ondevildead8";
areamonster "ordeal_1-1",109,188,46,247,"[DS] GEMINI-S58",1681,10,"DS_HiddenNpc::Ondevildead8";
areamonster "ordeal_1-1",109,188,46,247,"[DS] PASANA",1154,10,"DS_HiddenNpc::Ondevildead8";
areamonster "ordeal_1-1",109,188,46,247,"[DS] REMOVAL",1682,10,"DS_HiddenNpc::Ondevildead8";
areamonster "ordeal_1-1",109,188,46,247,"[DS] BOITATA ",2068,3,"DS_HiddenNpc::Ondevildead8";
areamonster "ordeal_1-1",109,188,46,247,"[DS] IFRIT",1832,2,"DS_HiddenNpc::Ondevildead8";
end;
Ondevildead8:
set $@mob,$@mob - 1;
if($@mob == 25) mapannounce "ordeal_1-1","Square Guardian: 25 mobs left to enter the FINAL round.",bc_blue;
if($@mob == 5) mapannounce "ordeal_1-1","Square Guardian: 5 mobs left to enter the FINAL round.",bc_blue;
if($@mob == 0) {
disablenpc "ord11-4";
mapannounce "ordeal_1-1","Devil Square will now enter the FINAL round, proceed to the center of the map.",bc_blue;
while ( getusers(1) > .@count ) {
query_sql "select account_id from `char` where online = 1 limit 128 offset "+ .@count, .@result;
set .@i, 0;
while ( .@i < getarraysize(.@result) ) {
if ( attachrid(.@result[.@i]) ) {
if ( strcharinfo(3) == "ordeal_1-1" ){
percentheal 100,100;
warp "ordeal_1-1",148,148;}
}
set .@i, .@i +1 ;
}
set .@count, .@count + 128;
deletearray .@result, 128;
}
sleep2 5000;
mapannounce "ordeal_1-1","Square Guardian : FINAL round will start in 10 second.",bc_blue;
sleep2 5000;
mapannounce "ordeal_1-1","5",bc_blue;
sleep2 4000;
mapannounce "ordeal_1-1","4",bc_blue;
sleep2 3000;
mapannounce "ordeal_1-1","3",bc_blue;
sleep2 2000;
mapannounce "ordeal_1-1","2",bc_blue;
sleep2 1000;
mapannounce "ordeal_1-1","1",bc_blue;
goto Ondevil9;
}
end;
Ondevil9:
set $@mob,21;
areamonster "ordeal_1-1",149,170,149,170,"[DS] Incarnation of Morroc",1919,5,"DS_HiddenNpc::Ondevildead9";
areamonster "ordeal_1-1",170,151,170,151,"[DS] Incarnation of Morroc",1920,5,"DS_HiddenNpc::Ondevildead9";
areamonster "ordeal_1-1",150,129,150,129,"[DS] Incarnation of Morroc",1918,5,"DS_HiddenNpc::Ondevildead9";
areamonster "ordeal_1-1",129,150,129,150,"[DS] Incarnation of Morroc",1921,5,"DS_HiddenNpc::Ondevildead9";
areamonster "ordeal_1-1",149,150,149,150,"[DS] Wounded Morroc",1917,1,"DS_HiddenNpc::Ondevildead9";
end;
Ondevildead9:
set $@mob,$@mob - 1;
if ($@mob == 0) set $@DS_complete,0;
if($@mob == 10) mapannounce "ordeal_1-1","Square Guardian : 10 mobs left to VICTORY",bc_blue;
if($@mob == 5) mapannounce "ordeal_1-1","Square Guardian : 5 mobs left to VICTORY",bc_blue;
if($@mob == 0) {
mapannounce "ordeal_1-1","Square Guardian : CONGRATULATION - All winners will get your reward soon.",bc_blue;
sleep2 5000;
mapannounce "ordeal_1-1","Square Guardian : All winners will be warp to Town in shortly.",bc_blue;
while ( getusers(1) > .@count ) {
query_sql "select account_id from `char` where online = 1 limit 128 offset "+ .@count, .@result;
set .@i, 0;
while ( .@i < getarraysize(.@result) ) {
if ( attachrid(.@result[.@i]) ) {
if ( strcharinfo(3) == "ordeal_1-1" ){
sleep2 5000;
warp "SavePoint",0,0;
sleep2 1000;
getitem 20407,2;
getitem 969,500;
getitem 20417,2;}
}
set .@i, .@i +1 ;
}
set .@count, .@count + 128;
deletearray .@result, 128;
}
}
end;
OnTimer30000:
if ( $@DS_complete == 0 ) {
sleep2 1000;
announce "Devil Square has been survive.",bc_all | bc_blue;
set $@DS_complete,0;
stopnpctimer;
end;
} else
if (getmapusers("ordeal_1-1") == 0) {
announce "All players failed to survive at Devil Square",bc_all | bc_blue;
set $@mob,0;
killmonsterall "ordeal_1-1";
stopnpctimer;
end;
} else {
mapannounce "ordeal_1-1",getmapusers("ordeal_1-1") +" players is still survive at Devil Square",bc_blue;
initnpctimer;
end;
}
}
// -- Mapflags
ordeal_1-1 mapflag nowarp
ordeal_1-1 mapflag nowarpto
ordeal_1-1 mapflag noteleport
//ordeal_1-1 mapflag nosave
ordeal_1-1 mapflag nomemo
ordeal_1-1 mapflag nobranch
ordeal_1-1 mapflag nopenalty
ordeal_1-1 mapflag nomobloot
ordeal_1-1 mapflag nomvploot
ordeal_1-1 mapflag nodrop
ordeal_1-1 mapflag restricted 8
god dammit why did i post it here wrong section someone please move this to support
Question
Mootie
Remember this script?
god dammit why did i post it here
wrong section someone please move this to support
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.