Jump to content
  • 0

Devil Square Modification


jigsgfx

Question


  • Group:  Members
  • Topic Count:  20
  • Topics Per Day:  0.00
  • Content Count:  83
  • Reputation:   0
  • Joined:  06/02/12
  • Last Seen:  

hi, can anyone help me with my script Devil Square only 1 party allowed to enter and make the prize give to each party members? coz i made the treasure box to drop a custom box then the box contains lots of items.. or rather once the treasure box is killed the items or the custom box will send to party leader is this possible?

here's the script




//   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			   //
/////////////////////////////////////////////////

turbo_room,122,121,3 script sRO Devil Square 737,{
mes "[Devil Square Guardian]";
mes "Welcome to the entrance door to ^FF0000sRO Devil 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 < 70 || Zeny < 20000 ) goto L_req;
if ( getmapusers("ordeal_1-1") >= 10 ) goto L_toomany;

set Zeny,Zeny - 20000;
announce strcharinfo(0)+" has entered the Devil Square",8;
percentheal 100,100;
warp "ordeal_1-1",228,229;
end;

L_error:
mes "[Devil Square Guardian]";
mes "Devil Square is now closed";
mes "It'll be open again at:";
mes "00.00 , 02.00 , 04.00 , 06.00 , 08.00 , 10.00";
mes "12.00 , 14.00 , 16.00 , 18.00 , 20.00 , 22.00";
close;

L_req:
mes "[Devil Square Guardian]";
mes "Minimum base level to enter is 70";
mes "The registration fee is 20,000z";
close;

L_toomany:
mes "[Devil Square Guardian]";
mes "I'm sorry but the Devil Square is FULL";
mes "Maximum users to enter is 10 players";
close;

L_info:
mes "[Devil Square Guardian]";
mes "There are 3 level monster you'll encounter";
mes "Each level the enemies will grow stronger";
mes "If you succeded to win all 3 level monster, you'll get the opportunity to open Treasure Box with items, and equips, inside!!";
close;

L_cancel:
mes "[Devil Square Guardian]";
mes "See ya";
close;
}

ordeal_1-1,0,0,0 script DS_HiddenNpc -1,{
OnMinute00:
if (gettime(3) %2 == 1) end;
set $@DS_complete,0;
disablenpc "Exit#DS";
mapannounce "ordeal_1-1","Devil Square is now closed",0;
killmonsterall "ordeal_1-1";
announce "Devil Square is OPENED NOW!! 5 Minutes until it starts..!!",0;
set $@DS_entry,1;
sleep 60000;
announce "Devil Square will begin in 4 minutes..!!",0;
sleep 60000;
announce "Devil Square will begin in 3 minutes..!!",0;
sleep 60000;
announce "Devil Square will begin in 2 minutes..!!",0;
sleep 60000;
announce "Devil Square will begin in 1 minutes..!!",0;
sleep 60000;
announce "Devil Square is STARTED NOW !!",0;
initnpctimer;
set $@DS_entry,0;
set $@mob,6;
areamonster "ordeal_1-1",183,182,246,244,"[DS] Amon Ra ",1511,1,"DS_HiddenNpc::Ondevildead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] Bacsojin",1630,1,"DS_HiddenNpc::Ondevildead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] Baphomet",1039,1,"DS_HiddenNpc::Ondevildead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] Dark Lord",1272,1,"DS_HiddenNpc::Ondevildead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] Doppelganger",1046,1,"DS_HiddenNpc::Ondevildead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] Dracula",1389,1,"DS_HiddenNpc::Ondevildead";
end;

Ondevildead:
set $@mob,$@mob - 1;
if($@mob == 4) mapannounce "ordeal_1-1","Devil Square : 4 mobs to enter the 2nd round",0;
if($@mob == 1) mapannounce "ordeal_1-1","Devil Square : 1 mobs to enter 2nd round",0;
if($@mob == 0) {
mapannounce "ordeal_1-1","Devil Square will enter to 2nd round",0;
goto Ondevil2;
}
end;

Ondevil2:
set $@mob,6;
areamonster "ordeal_1-1",183,182,246,244,"[DS] Detale",1719,1,"DS_HiddenNpc::Ondevildead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] Ktullanux",1779,1,"DS_HiddenNpc::Ondevildead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] Thanatos",1708,1,"DS_HiddenNpc::Ondevildead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] Vesper",1685,1,"DS_HiddenNpc::Ondevildead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] Evil Snake Lord",1418,1,"DS_HiddenNpc::Ondevildead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] RSX 0806",1623,1,"DS_HiddenNpc::Ondevildead2";
end;

Ondevildead2:
set $@mob,$@mob - 1;
if($@mob == 4) mapannounce "ordeal_1-1","Devil Square : 4 mobs left to enter the 3rd round",0;
if($@mob == 1) mapannounce "ordeal_1-1","Devil Square : 1 mobs left to enter the 3rd round",0;
if($@mob == 0) {
mapannounce "ordeal_1-1","Devil Square will enter to 3rd round",0;
goto Ondevil3;
}
end;

Ondevil3:
set $@mob,6;
areamonster "ordeal_1-1",183,182,246,244,"[DS] Wounded Morroc",1917,1,"DS_HiddenNpc::Ondevildead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] Nidhoggr's Shadow",2022,1,"DS_HiddenNpc::Ondevildead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] Valkyrie Randgris",1751,1,"DS_HiddenNpc::Ondevildead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] Fallen Bishop",1871,1,"DS_HiddenNpc::Ondevildead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] Assassin Cross Eremes",1647,1,"DS_HiddenNpc::Ondevildead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] Gloom Under Night",1768,1,"DS_HiddenNpc::Ondevildead3";
end;

Ondevildead3:
set $@mob,$@mob - 1;
if($@mob == 4) mapannounce "ordeal_1-1","Devil Square : 4 mobs left to VICTORY",0;
if($@mob == 1) mapannounce "ordeal_1-1","Devil Square : 1 mobs left to VICTORY",0;
if($@mob == 0) {
mapannounce "ordeal_1-1","Devil Square : CONGRATULATION - Treasure Boxs will be yours now",0;
goto Ondevil4;
}
end;

Ondevil4:
set $@DS_complete,1;
set $@mob,1;
monster "ordeal_1-1",235,238,"Treasure Box",1360,1,"DS_HiddenNpc::Onboxdead";
end;

Onboxdead:
set $@mob, $@mob - 1;
announce "Devil Square : "+ strcharinfo(0) +" has opened the sRO Devil Square Box at Devil Square contains 1000x TCG 200x Event Tickets 50x Poring Coins 50x Valhalla Flower & 500x Mithril Coins",0;
if ($@mob == 0) enablenpc "Exit#DS";
end;

OnTimer30000:
if ( $@DS_complete == 1 ) {
stopnpctimer;
end;
} else
if (getmapusers("ordeal_1-1") == 0) {
announce "All players failed to survive at Devil Square",0;
killmonsterall "ordeal_1-1";
stopnpctimer;
end;
} else {
mapannounce "ordeal_1-1",getmapusers("ordeal_1-1") +" players is still survive at Devil Square",0;
initnpctimer;
end;
}

}

// -- Mapflags
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,246,245,7 script Exit#DS 51,{
mes "[Exit]";
mes "See ya";
next;
warp "SavePoint",0,0;
close;
}

thanks in advanced /no1

Edited by jigsgfx
Link to comment
Share on other sites

12 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

hi, can anyone help me with my script Devil Square only 1 party allowed to enter and make the prize give to each party members?
it's not like I want to brag my scripting skills, but event script is my strongest point

why not just turn this script into instanced script ?

coz i made the treasure box to drop a custom box then the box contains lots of items.. or rather once the treasure box is killed the items or the custom box will send to party leader is this possible?
party leader can offline ...

usually event script ... the reward always

1. send to every party member

2. send to killer ( which is "mob_npc_event_type" configure in battle\monster.conf )

3. the ones that is still alive in the room ... use npc pop up

also ... list up all your treasure chest ID

Edited by AnnieRuru
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  20
  • Topics Per Day:  0.00
  • Content Count:  83
  • Reputation:   0
  • Joined:  06/02/12
  • Last Seen:  

hi, can anyone help me with my script Devil Square only 1 party allowed to enter and make the prize give to each party members?
it's not like I want to brag my scripting skills, but event script is my strongest point

why not just turn this script into instanced script ?

do you think its the best way to achieve my request? if yes go ahead Annie, i know your the expert :)

coz i made the treasure box to drop a custom box then the box contains lots of items.. or rather once the treasure box is killed the items or the custom box will send to party leader is this possible?
party leader can offline ...

usually event script ... the reward always

1. send to every party member

2. send to killer ( which is "mob_npc_event_type" configure in battle\monster.conf )

3. the ones that is still alive in the room ... use npc pop up

also ... list up all your treasure chest ID

here's my Treasure box ID = 1360

i think Option 1 is much better ( once the treasure box is killed all party members will received 1 custom box ) my custom box id is 20054

thanks a lot Annie.. /no1

Edited by jigsgfx
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

resnametable.txt

2@g_vs.gnd#guild_vs2.gnd#
2@g_vs.gat#guild_vs2.gat#
2@g_vs.rsw#guild_vs2.rsw#
À¯ÀúÀÎÅÍÆäÀ̽º\map\2@g_vs.bmp#À¯ÀúÀÎÅÍÆäÀ̽º\map\guild_vs2.bmp#

function	script	instance__	{
if ( ( .@ins = instance_create( getarg(0), getcharid(1) ) ) < 0 )
	return .@ins;
.@i = 3;
while ( getstrlen( getarg( .@i, "" ) ) ) {
	if ( !getstrlen( instance_attachmap( getarg(.@i), .@ins ) ) ) {
		instance_destroy .@ins;
		return -5;
	}
	.@i++;
}
if ( getarg(1) || getarg(2) )
	instance_set_timeout getarg(1), getarg(2), .@ins;
instance_init .@ins;
instance_attach .@ins;
return .@ins;
}

prontera,156,185,5	script	Devil Square	100,{
if ( !getcharid(1) ) {
	mes "you need a party to get in";
	close;
}
if ( instance_id(1) && getstrlen( has_instance("2@g_vs") ) ) {
	mes "sry but you can't go in back";
	close;
}
if ( instance_id(1) ) {
	mes "your party is currently running an instance";
	close;
}
if ( !instance_check_party( getcharid(1), 1, 70 ) ) {
	mes "some of your party member do not meet base level requirement";
	close;
}
if ( zeny < 20000 ) {
	mes "you did not bring enough (20,000) zeny";
	close;
}
if ( callfunc( "instance__", "Devil Square", 30*60, 10*60, "2@g_vs" ) < 0 ) { // 30 mins to clear dungeon, 10 mins timeout if nobody inside
	mes "failed to create instance";
	close;
}
zeny = zeny - 20000;
warpparty "2@g_vs", 0,0, getcharid(1);
donpcevent instance_npcname("Devil Square instanced")+"::OnStart";
close;
OnInit:
setarray .round1, 1511,1, 1630,1, 1039,1, 1271,1, 1046,1, 1389,1; // configure your mobs here ....
setarray .round2, 1719,1, 1779,1, 1708,1, 1685,1, 1418,1, 1623,1;
setarray .round3, 1917,1, 2022,1, 1751,1, 1871,1, 1647,1, 1768,1;
.totalround = 3;
end;
}

2@g_vs,0,0,0	script	Devil Square instanced	-1,{
end;
OnStart:
sleep 5000;
instance_announce 0, "Round 1 will start in 5 seconds ...", bc_all;
sleep 5000;
OnSummon:
.round++;
.@size = getarraysize( getvariableofnpc( getd( ".round"+ 'round ), "Devil Square" ) );
for ( .@i = 0; .@i < .@size; .@i += 2 ) {
	monster "2@g_vs",0,0, "[DS] "+ getmonsterinfo( getvariableofnpc( getd( ".round"+ 'round +"["+ .@i +"]" ), "Devil Square" ), 0 ), getvariableofnpc( getd( ".round"+ 'round +"["+ .@i +"]" ), "Devil Square" ), getvariableofnpc( getd( ".round"+ 'round +"["+( .@i +1 )+"]" ), "Devil Square" ), instance_npcname( strnpcinfo(0) )+"::OnKill";
	'mob = 'mob + getvariableofnpc( getd( ".round"+ 'round +"["+( .@i +1 )+"]" ), "Devil Square" );
}
end;
OnKill:
'mob--;
if ( 'mob == 4 || 'mob == 1 ) {
	if ( 'round != getvariableofnpc( .totalround, "Devil Square" ) )
		instance_announce 0, "Devil Square : "+ 'mob +" mobs left to enter Round "+( 'round +1 ), bc_all;
	else
		instance_announce 0, "Devil Square : "+ 'mob +" mobs left", bc_all;
}
else if ( !'mob ) {
	if ( 'round != getvariableofnpc( .totalround, "Devil Square" ) ) {
		instance_announce 0, "Devil Square will enter to Round "+( 'round +1 ), bc_all;
		goto OnSummon;
	}
	getpartymember getcharid(1), 1;
	getpartymember getcharid(1), 2;
	for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
		if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) {
			attachrid $@partymemberaid[.@i];
			if ( strcharinfo(3) == has_instance("2@g_vs") )
				getitem 20054, 1; // reward here
		}
	}
	sleep2 1;
	instance_destroy;
}
end;
}

dunno why the script looks so simple to me ... :ani_swt3: ...

EDITED: a little bit ...

EDIT for below :

yeah ~ XD

rep up

Edited by AnnieRuru
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  666
  • Reputation:   93
  • Joined:  04/27/12
  • Last Seen:  

That's because devil square was already an easy script to make, and then all you did was simplify it and add an instance system.

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  20
  • Topics Per Day:  0.00
  • Content Count:  83
  • Reputation:   0
  • Joined:  06/02/12
  • Last Seen:  

resnametable.txt

2@g_vs.gnd#guild_vs2.gnd#
2@g_vs.gat#guild_vs2.gat#
2@g_vs.rsw#guild_vs2.rsw#
À¯ÀúÀÎÅÍÆäÀ̽º\map\2@g_vs.bmp#À¯ÀúÀÎÅÍÆäÀ̽º\map\guild_vs2.bmp#

function	script	instance__	{
if ( ( .@ins = instance_create( getarg(0), getcharid(1) ) ) < 0 )
	return .@ins;
.@i = 3;
while ( getarg( .@i, "" ) != "" ) {
	if ( instance_attachmap( getarg(.@i), .@ins ) == "" ) {
		instance_destroy .@ins;
		return -5;
	}
	.@i++;
}
if ( getarg(1) || getarg(2) )
	instance_set_timeout getarg(1), getarg(2), .@ins;
instance_init .@ins;
instance_attach .@ins;
return .@ins;
}

prontera,156,185,5	script	Devil Square	100,{
if ( getcharid(1) == 0 ) {
	mes "you need a party to get in";
	close;
}
if ( instance_id(1) && getstrlen( has_instance("2@g_vs") ) ) {
	mes "sry but you can't go in back";
	close;
}
if ( instance_id(1) ) {
	mes "your party is currently running an instance";
	close;
}
if ( !instance_check_party( getcharid(1), 1, 70 ) ) {
	mes "some of your party member do not meet base level requirement";
	close;
}
if ( zeny < 20000 ) {
	mes "you did not bring enough (20,000) zeny";
	close;
}
if ( callfunc( "instance__", "Devil Square", 30*60, 10*60, "2@g_vs" ) < 0 ) { // 30 mins to clear dungeon, 10 mins timeout if nobody inside
	mes "failed to create instance";
	close;
}
zeny = zeny - 20000;
warpparty "2@g_vs", 0,0, getcharid(1);
donpcevent instance_npcname("Devil Square instanced")+"::onstart";
close;
OnInit:
.totalround = 3;
setarray .round1, 1511,1, 1630,1, 1039,1, 1271,1, 1046,1, 1389,1; // configure your mobs here ....
setarray .round2, 1719,1, 1779,1, 1708,1, 1685,1, 1418,1, 1623,1;
setarray .round3, 1917,1, 2022,1, 1751,1, 1871,1, 1647,1, 1768,1;
end;
}

2@g_vs,0,0,0	script	Devil Square instanced	-1,{
end;
onstart:
sleep 5000;
instance_announce 0, "Round 1 will start in 5 seconds ...", bc_all;
sleep 5000;
'round = 1;
OnSummon:
.@size = getarraysize( getvariableofnpc( getd( ".round"+ 'round ), "Devil Square" ) );
for ( .@i = 0; .@i < .@size; .@i += 2 ) {
	monster "2@g_vs",0,0, "[DS] "+ getmonsterinfo( getvariableofnpc( getd( ".round"+ 'round +"["+ .@i +"]" ), "Devil Square" ), 0 ), getvariableofnpc( getd( ".round"+ 'round +"["+ .@i +"]" ), "Devil Square" ), getvariableofnpc( getd( ".round"+ 'round +"["+( .@i +1 )+"]" ), "Devil Square" ), instance_npcname( strnpcinfo(0) )+"::Onkill";
	'mob = 'mob + getvariableofnpc( getd( ".round"+ 'round +"["+( .@i +1 )+"]" ), "Devil Square" );
}
end;
Onkill:
'mob--;
if ( 'mob == 4 || 'mob == 1 ) {
	if ( 'round != getvariableofnpc( .totalround, "Devil Square" ) )
		instance_announce 0, "Devil Square : "+ 'mob +" mobs left to enter Round "+( 'round +1 ), bc_all;
	else
		instance_announce 0, "Devil Square : "+ 'mob +" mobs left", bc_all;
}
else if ( !'mob ) {
	if ( 'round != getvariableofnpc( .totalround, "Devil Square" ) ) {
		instance_announce 0, "Devil Square will enter to Round "+( 'round +1 ), bc_all;
		'round++;
		goto OnSummon;
	}
	getpartymember getcharid(1), 1;
	getpartymember getcharid(1), 2;
	for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
		if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) {
			attachrid $@partymemberaid[.@i];
			if ( strcharinfo(3) == has_instance("2@g_vs") )
				getitem 20054, 1; // reward here
		}
	}
	sleep2 1;
	instance_destroy;
}
end;
}

dunno why the script looks so simple to me ... :ani_swt3: ...

EDITED: a little bit ...

EDIT for below :

yeah ~ XD

rep up

awesome.. thanks Annie ill test it out.. but im sure it will works like a charm :)/no1

btw whats that guild_vs2 for? coz im using ordeal map on my current DS

Edited by jigsgfx
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  666
  • Reputation:   93
  • Joined:  04/27/12
  • Last Seen:  

What she did if you look closely is, she told you to add her other text to your resnametable.txt so you can add the map, which is basically a duplicate of guild_vs2. The only difference is it has the capabilities of being turned into an instance, since instance maps must be named 1@xxx so to speak.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  20
  • Topics Per Day:  0.00
  • Content Count:  83
  • Reputation:   0
  • Joined:  06/02/12
  • Last Seen:  

hi Annie got this error..


[Error]: Loading NPC file: npc/sro-scripts/devilsquarenew1209.txt
script error on npc/sro-scripts/devilsquarenew1209.txt line 32
parse_simpleexpr: unmatch ')'

27 : }
28 : if ( instance_id(1) ) {
29 : mes "your party is currently running an instance";
30 : close;
31 : }
* 32 : if ( !instance_check_party'(' getcharid(1), 1, 70 ) ) {
33 : mes "some of your party member do not meet base level requirement";
34 : close;
35 : }
36 : if ( zeny < 20000 ) {
37 : mes "you did not bring enough (20,000) zeny";
[Debug]: mapindex_name2id: Map "2@g_vs" not found in index list!
[Error]: npc_parsesrcfile: Unknown map '2@g_vs' in file 'npc/sro-scripts/devilsquarenew1209.txt', line '56'. Skipping line...[/color]

Edited by jigsgfx
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

read wiki about instancing

http://trac.rathena.org/changeset/16134/rathena

means you are not using rathena ...

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  20
  • Topics Per Day:  0.00
  • Content Count:  83
  • Reputation:   0
  • Joined:  06/02/12
  • Last Seen:  

im using rathena trunk16084

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

update your svn...otherwise just remove that part..

if ( !instance_check_party( getcharid(1), 1, 70 ) ) {
mes "some of your party member do not meet base level requirement";
close;
}

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  20
  • Topics Per Day:  0.00
  • Content Count:  83
  • Reputation:   0
  • Joined:  06/02/12
  • Last Seen:  

thanks Emistry, but i made a party but tried it with no members and it said that "failed to create instance" and theres a note on my chatlog that said "The Memorial Dungeon has been removed." what does it mean? is it because i dont have members on my party when i tried to enter?

if ( callfunc( "instance__", "Devil Square", 30*60, 10*60, "2@g_vs" ) < 0 ) { // 30 mins to clear dungeon, 10 mins timeout if nobody inside

mes "failed to create instance";

close;

}

Edited by jigsgfx
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

change to this ...

    if ( ( .@ins = callfunc( "instance__", "Devil Square", 30*60, 10*60, "2@g_vs1" ) ) < 0 ) { // 30 mins to clear dungeon, 10 mins timeout if nobody inside
       mes "failed to create instance";
       mes "reason "+ .@ins;
       close;
   }

/...

http://rathena.org/b...ing#entry156863

change the npc into different map ... should be done by yourself ...

Edited by AnnieRuru
Link to comment
Share on other sites

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.

×
×
  • Create New...