Jump to content
  • 0

Devil square don have monster?


Question

Posted

//   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 rAthena 17101                //
// http://rathena.org/board/topic/77632-devil-square/
/////////////////////////////////////////////////


izlude,136,126,4 script Devil Square Guardian 1120,{
mes "[Devil 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;
if ( select ( "Enter", "Info", "Cancel " ) == 3 ) {
mes "[Devil Square Guardian]";
mes "See ya";
close;
}
else if ( @menu == 2 ) { // Info
mes "[Devil Square Guardian]";
mes "There are 3 level monster you'll encounter";
mes "Each level the enemies will grow stronger, total 5 levels.";
// mes "If you succeded to win all 5 level monster, you'll get the opportunity to open 10 Treasure Box with items, equips, and rare cards inside!!";
close;
}
else if ( .start != 1 ) { // time
mes "[Devil Square Guardian]";
mes "Devil Square is now closed";
mes "[Devil Square Guardian]";
mes "Devil Square is now closed";
mes "It'll be open again at:";
mes "Every Saturday 9:30PM";
close;
}
else if ( baselevel < 70 || zeny < 20000 ) { // requirement
mes "[Devil Square Guardian]";
mes "Minimum base level to enter is 70";
mes "The registration fee is 20,000z";
close;
}
else if ( .register_num >= .register_limit ) { // room FULL
mes "[Devil Square Guardian]";
mes "I'm sorry but the Devil Square is FULL";
mes "Maximum users to enter is "+ .register_limit +" players";
close;
}
zeny = zeny - 20000;
announce strcharinfo(0)+" has entered the Devil Square", bc_npc;
percentheal 100,100;
warp "ordeal_1-1",183,182;
.register_aid[ .register_num ] = getcharid(3);
.register_num++;
end;


OnInit:
.register_limit = 10; // maximum amount of players can play in this event
.ann_survive = 30000; // the rate at which announce the players that still survive in devil square, in mili-seconds
bindatcmd "devilsquare", strnpcinfo(0)+"::Onatcmd", 99,100;
end;


Onatcmd:
if ( compare( .@atcmd_parameters$, "on" ) || compare( .@atcmd_parameters$, "start" ) ) {
if ( .start )
dispbottom "Devil Square Event already started.";
else
goto L_Start;
}
else if ( compare( .@atcmd_parameters$, "off" ) || compare( .@atcmd_parameters$, "end" ) ) {
if ( !.start )
dispbottom "Devil Square Event not yet start.";
else
goto L_End;
}
else if ( !.start ) {
dispbottom "Devil Square Event is currently not running.";
dispbottom "Use "+ .@atcmd_command$ +" on | start to start the event.";
dispbottom "Use "+ .@atcmd_command$ +" off | end to end this event";
}
else if ( .start == 1 )
dispbottom "Devil Square Event is currently accepting participations.";
else
dispbottom "Devil Square Event is currently running. Currently on Round "+ .round +" with "+ .mob +" mobs left.";
end;


L_Start:
OnClock2130:
//if(gettime(4) == 0 || gettime(4) == 1 || gettime(4) == 2 || gettime(4) == 3 || gettime(4) == 4 || gettime(4) == 5 ) end;
if(gettime(4) == 0 || gettime(4) == 2 || gettime(4) == 4 || gettime(4) == 5 ) end;


.start = 1;
disablenpc "Exit#DS";
mapannounce "ordeal_1-1","Devil Square is now closed", bc_map;
getmapxy .@map$, .@x, .@y, 1;
mapwarp "ordeal_1-1", .@map$, .@x, .@y;
killmonsterall "ordeal_1-1";
announce "Devil Square is OPENED NOW!! 5 Minutes until it starts..!!", 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 minutes..!!", bc_all;
sleep 60000;
announce "Devil Square is STARTED NOW !!", bc_all;
if ( !.register_num )
goto L_End;
.start = 2;
donpcevent strnpcinfo(0)+"::OnSurvive";
.round = 1;
.mob = 210;
areamonster "ordeal_1-1",183,182,246,244,"[DS] SOLDIER SKELETON",1028,45,strnpcinfo(0)+"::Ondevildead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] ORC ARCHER",1189,35,strnpcinfo(0)+"::Ondevildead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] SANDMAN",1165,30,strnpcinfo(0)+"::Ondevildead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] ARCHER SKELETON",1016,25,strnpcinfo(0)+"::Ondevildead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] MINOROUS",1149,25,strnpcinfo(0)+"::Ondevildead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] REQUIEM",1164,20,strnpcinfo(0)+"::Ondevildead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] ANCIENT MUMMY",1297,30,strnpcinfo(0)+"::Ondevildead";
end;


Ondevildead:
.mob--;
if ( .mob == 25 || .mob == 5 )
announce "Devil Square : "+ .mob +" mobs to enter the 2nd round", bc_map;
else if ( !.mob ) {
announce "Devil Square will enter to 2nd round", bc_map;
goto Ondevil2;
}
end;


Ondevil2:
.round = 2;
.mob = 230;


areamonster "ordeal_1-1",183,182,246,244,"[DS] GARGOYLE",1253,35,strnpcinfo(0)+"::Ondevildead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] ALARM",1193,30,strnpcinfo(0)+"::Ondevildead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] HIGH ORC",1213,40,strnpcinfo(0)+"::Ondevildead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] RYBIO",1201,30,strnpcinfo(0)+"::Ondevildead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] MIMIC",1191,30,strnpcinfo(0)+"::Ondevildead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] WRAITH",1192,35,strnpcinfo(0)+"::Ondevildead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] FREEZER",1319,30,strnpcinfo(0)+"::Ondevildead2";


end;


Ondevildead2:
.mob--;
if ( .mob == 25 || .mob == 5 )
announce "Devil Square : "+ .mob +" mobs left to enter the 3rd round", bc_map;
else if ( !.mob ) {
announce "Devil Square will enter to 3rd round", bc_map;
goto Ondevil3;
}
end;


Ondevil3:
.round = 3;
.mob = 205;


areamonster "ordeal_1-1",183,182,246,244,"[DS] ANOLIAN",1206,30,strnpcinfo(0)+"::Ondevildead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] WANDERER",1208,20,strnpcinfo(0)+"::Ondevildead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] SUCCUBUS",1208,40,strnpcinfo(0)+"::Ondevildead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] DEVIRUCHI",1109,30,strnpcinfo(0)+"::Ondevildead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] JOKER",1131,45,strnpcinfo(0)+"::Ondevildead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] NIGHTMARE",1061,35,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,3,strnpcinfo(0)+"::Ondevildead3";
end;
end;


Ondevildead3:
.mob--;
if ( .mob == 25 || .mob == 5 )
announce "Devil Square : "+ .mob +" mobs left to VICTORY", bc_map;
else if ( !.mob ) {
announce "Devil Square will enter to 4th round", bc_map;
goto Ondevil4;
}
end;


Ondevil4:
.round = 4;
.mob = 188;


areamonster "ordeal_1-1",183,182,246,244,"[DS] RODA FROG",1012,35,strnpcinfo(0)+"::Ondevildead4";
areamonster "ordeal_1-1",183,182,246,244,"[DS] ANUBIS",1098,40,strnpcinfo(0)+"::Ondevildead4";
areamonster "ordeal_1-1",183,182,246,244,"[DS] DOLOMEDES",2092,35,strnpcinfo(0)+"::Ondevildead4";
areamonster "ordeal_1-1",183,182,246,244,"[DS] BLOOD BUTTERFLY",1408,30,strnpcinfo(0)+"::Ondevildead4";
areamonster "ordeal_1-1",183,182,246,244,"[DS] BIGFOOT",1060,35,strnpcinfo(0)+"::Ondevildead4";
areamonster "ordeal_1-1",183,182,246,244,"[DS] DRACULA",1389,3,strnpcinfo(0)+"::Ondevildead4";
areamonster "ordeal_1-1",183,182,246,244,"[DS] HYDRO",1720,2,strnpcinfo(0)+"::Ondevildead4";
areamonster "ordeal_1-1",183,182,246,244,"[DS] EDDGA",1115,3,strnpcinfo(0)+"::Ondevildead4";
areamonster "ordeal_1-1",183,182,246,244,"[DS] AMON RA",1511,3,strnpcinfo(0)+"::Ondevildead4";
areamonster "ordeal_1-1",183,182,246,244,"[DS] IFRIT",1832,1,strnpcinfo(0)+"::Ondevildead4";
areamonster "ordeal_1-1",183,182,246,244,"[DS] KTULLANUX",1779,1,strnpcinfo(0)+"::Ondevildead4";
end;


Ondevildead4:
.mob--;
if ( .mob == 25 || .mob == 5 )
announce "Devil Square : "+ .mob +" mobs left to enter the 5th round", bc_map;
else if ( !.mob ) {
announce "Devil Square will enter to 5th round", bc_map;
goto Ondevil5;
}
end;


Ondevil5:
.round = 5;
.mob = 223;
areamonster "ordeal_1-1",183,182,246,244,"[DS] CENTIPEDE",1987,30,strnpcinfo(0)+"::Ondevildead5";
areamonster "ordeal_1-1",183,182,246,244,"[DS] G BAPHOMET ",1431,40,strnpcinfo(0)+"::Ondevildead5";
areamonster "ordeal_1-1",183,182,246,244,"[DS] BOW GUARDIAN",1830,20,strnpcinfo(0)+"::Ondevildead5";
areamonster "ordeal_1-1",183,182,246,244,"[DS] SWORD GUARDIAN",1829,35,strnpcinfo(0)+"::Ondevildead5";
areamonster "ordeal_1-1",183,182,246,244,"[DS] ICE TITAN",1788,30,strnpcinfo(0)+"::Ondevildead5";
areamonster "ordeal_1-1",183,182,246,244,"[DS] KATRINN",1639,10,strnpcinfo(0)+"::Ondevildead5";
areamonster "ordeal_1-1",183,182,246,244,"[DS] KASA",1833,25,strnpcinfo(0)+"::Ondevildead5";
areamonster "ordeal_1-1",183,182,246,244,"[DS] GOPINICH",1885,3,strnpcinfo(0)+"::Ondevildead5";
areamonster "ordeal_1-1",183,182,246,244,"[DS] ATROCE",1785,3,strnpcinfo(0)+"::Ondevildead5";
areamonster "ordeal_1-1",183,182,246,244,"[DS] BEELZEBUB",1873,1,strnpcinfo(0)+"::Ondevildead5";
areamonster "ordeal_1-1",183,182,246,244,"[DS] B KATRINN",1639,1,strnpcinfo(0)+"::Ondevildead5";
end;


Ondevildead5:
.mob--;
announce "Devil Square : "+ strcharinfo(0) +" has defeated the monsters at Devil Square", bc_all;
if ( !.mob )
goto L_End;
end;


L_End:
killmonsterall "ordeal_1-1";
enablenpc "Exit#DS";
deletearray .register_aid;
.start = .round = .mob = .register_num = 0;
end;


OnPCDieEvent:
OnPCLogoutEvent:
if ( .start && strcharinfo(3) == "ordeal_1-1" ) {
while ( .register_aid[.@i] != getcharid(3) && .@i < .register_num ) .@i++;
deletearray .register_aid[.@i], 1;
.register_num--;
if ( !.register_num ) {
announce "All players failed to survive at Devil Square", bc_all;
killmonsterall "ordeal_1-1";
goto L_End;
}
}
end;


OnSurvive:
while ( .start == 2 ) {
mapannounce "ordeal_1-1", .register_num +" players is still survive at Devil Square", bc_map;
sleep .ann_survive;
}
end;
}


ordeal_1-1,246,245,7 script Exit#DS 51,{
mes "[Exit]";
mes "See ya";
next;
warp "SavePoint", 0,0 ;
close;
}


ordeal_1-1 mapflag nowarp
ordeal_1-1 mapflag nowarpto
ordeal_1-1 mapflag 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

when my devil square started, there's no monster spawned

bump

8 answers to this question

Recommended Posts

Posted

And it work?

yes, annieruru's script was working perfect, but in my script i just change the monster ID and amount.. but it couldn't work why? can u please help me check...

Posted (edited)

for ex here:

.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;

the total amount of mob that in round 1 will spawn is 75

 

did you change this part with the total amount?

.mob = 75;

hmmmm let see... what happens

Edited by Dynasty
Posted

for ex here:

.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;

the total amount of mob that in round 1 will spawn is 75

 

did you change this part with the total amount?

.mob = 75;

hmmmm let see... what happens

damn my bad! didnt see properly at the stage 5!!! sorry!!! btw where to check the prize ? i wan it to give everyone 100 poring coins as rewards after finish

Posted (edited)

Don't matter who wins?

 

Well... 

 

At the end of the stage 5:

ordeal_1-1,246,245,7 script Exit#DS 51,{
mes "[Exit]";
mes "See ya";
next;
warp "SavePoint", 0,0 ;
close;
}

Add this: 

getitem 7539,100;
ordeal_1-1,246,245,7 script Exit#DS 51,{
mes "[Exit]";
mes "See ya";
next;
getitem 7539,100;// This
warp "SavePoint", 0,0 ;
close;
}
Edited by Dynasty

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...