Jump to content

Alayne

Members
  • Content Count

    345
  • Joined

  • Last visited

  • Days Won

    22

Posts posted by Alayne


  1. Okay I'll give it a debug session tonight. And I'll say you as soon as it'll work.



    Okay! Here you are (tested entirely and in every situation creation, death, re-enter...)

     

    // -- Instance Devil Square Script ( Tyirial Script Concept )// -- Rescripted by Dang Tai Phong, hope you guys like it  ... version : 1.0// -- For more information or new idea, please contact me via yahoo : [email protected],276,338,5	script	Devil Square Guardian	852,{	// -- Name	set .@ds_name$,"Devil Square";	if( BaseLevel < 90 ) {		mes "[ Devil Square Guardian ]";		mes "Only users between Levels ^ff000090 ~ 99^000000 can enter this Dungeon.";		close;	}		mes "[ Devil Square Guardian ]";	mes "Welcome to the entrance door to ^FF0000" + .@ds_name$ + "^000000";	next;	switch( select("Reserve the " + .@ds_name$ + " and enter:Enter the Dungeon:Leave") ) {		case 1:			set .@party_id, getcharid(1);			// -----------------------------			if( .@party_id == 0 )			{				mes "[ Devil Square Guardian ]";				mes "You need to be in a group.";				close;			}								if( getpartyleader(.@party_id,2) != getcharid(0) )			{				mes "[ Devil Square Guardian ]";				mes "Only the party leader can register for " + .@ds_name$ + ".";				close;			}					if( DSquare_Timer >= gettimetick(2) )			{				mes "[ Devil Square Guardian ]";				mes "You cannot enter " + .@ds_name$ + " again until ^0000FF" + callfunc("Time2Str",DSquare_Timer) + "^000000";				//close;			}						if( Zeny < 100000 )			{				mes "[ Devil Square Guardian ]";				mes "...I'm sorry, not enough zeny.";				close;			}						set .ds_instance, instance_create(.@ds_name$, .@party_id);			if( .ds_instance == -1 )			{				mes "[ Devil Square Guardian ]";				mes "Your group is already registered on a Memorial Dungeon.";				close;			}			else if( .ds_instance < 0 )			{				mes "[ Devil Square Guardian ]";				mes "Instance creation failed: " + .ds_instance;				mes "Please report this to a Game Master.";				close;			}						if( instance_attachmap( "2@ds",.ds_instance ) == "" ){				npctalk "Devil Square reservation failed.";				mes "- ^FF0000Reservation Failed!^000000";				instance_destroy( .ds_instance );				close;			}			instance_attach( .ds_instance );										set 'dsparty_id, getcharid(1);			set 'dsnext_open, gettimetick(2) + 7200; // Next allowed open time for players			deletearray 'dsMembers[0],127;								set DSquare_Timer, 'dsnext_open;			set 'dsMembers[0], getcharid(0); // Stores First Char ID			set 'dsNext_i, 1;			set Zeny, Zeny - 100000;			instance_init( .ds_instance );							//warp			warp instance_mapname("2@ds"),245,245;			close;							case 2:			if( has_instance("2@ds") == "" ) {				mes "[ Devil Square Guardian ]";				mes "Instance Dungeon " + .@ds_name$ + " does not exist.";				mes "You are not registered for DS.";				close;			}						instance_attach(.ds_instance);								for( set .@i, 0; .@i < 'dsNext_i; set .@i, .@i + 1 )			{				if( getcharid(0) == 'dsMembers[.@i] )					break;			}			if( .@i == 'dsNext_i )			{				if( DSquare_Timer >= gettimetick(2) )				{ 					// User joined the party but has Devil Square Delay					mes "[ Devil Square Guardian ]";					mes "You cannot enter " + .@ds_name$ + " again until ^0000FF" + callfunc("Time2Str",DSquare_Timer) + "^000000";					close;				}				else if( 'dsNext_i == 127 )				{					// This party has invited lots of users to join Devil Square					mes "[ Devil Square Guardian ]";					mes "No more users can enter " + .@ds_name$ + " registered with this party.";					close;				}				else				{ 					// Add this new user to the member list					set DSquare_Timer, 'next_open;					set 'dsMembers['dsNext_i], getcharid(0);					set 'dsNext_i, 'dsNext_i + 1;				}			}				warp instance_mapname("2@ds"),245,245;			end;					case 3:			close;	}}function	script	Time2Str	{	set .@Time_Left, getarg(0) - gettimetick(2);		set .@Days, .@Time_Left / 86400;	set .@Time_Left, .@Time_Left - (.@Days * 86400);	set .@Hours, .@Time_Left / 3600;	set .@Time_Left, .@Time_Left - (.@Hours * 3600);	set .@Minutes, .@Time_Left / 60;	set .@Time_Left, .@Time_Left - (.@Minutes * 60);		set .@Time$, "";	if( .@Days > 1 )		set .@Time$, .@Time$ + .@Days + " days, ";	else if( .@Days > 0 )		set .@Time$, .@Time$ + .@Days + " day, ";	if( .@Hours > 1 )		set .@Time$, .@Time$ + .@Hours + " hours, ";	else if( .@Hours > 0 )		set .@Time$, .@Time$ + .@Hours + " hour, ";	if( .@Minutes > 1 )		set .@Time$, .@Time$ + .@Minutes + " minutes, ";	else if( .@Minutes > 0 )		set .@Time$, .@Time$ + .@Minutes + " minute, ";	if( .@Time_Left > 1 || .@Time_Left == 0 )		set .@Time$, .@Time$ + .@Time_Left + " seconds.";	else if( .@Time_Left == 1 )		set .@Time$, .@Time$ + .@Time_Left + " second.";		return .@Time$;}2@ds,44,155,0	script	HiddenNpc::HiddenNpc	-1,{	end;OnDisable:	killmonster instance_mapname("2@ds"),instance_npcname("HiddenNpc")+"::OnDevilDead";	end;OnInstanceInit:	areamonster "2@ds",183,182,246,244,"[DS] ALICEL",1735,25,instance_npcname("HiddenNpc")+"::OnDevilDead";	areamonster "2@ds",183,182,246,244,"[DS] ALIOT",1736,15,instance_npcname("HiddenNpc")+"::OnDevilDead";	areamonster "2@ds",183,182,246,244,"[DS] ARCHDAM",1668,15,instance_npcname("HiddenNpc")+"::OnDevilDead";	areamonster "2@ds",183,182,246,244,"[DS] CONSTANT",1745,20,instance_npcname("HiddenNpc")+"::OnDevilDead";	areamonster "2@ds",183,182,246,244,"[DS] DARK PRIEST",1198,4,instance_npcname("HiddenNpc")+"::OnDevilDead";	areamonster "2@ds",183,182,246,244,"[DS] ARCHANGELING",1388,1,instance_npcname("HiddenNpc")+"::OnDevilDead";	end;OnDevilDead:	set .@mobnumber,80;	set .@mob_cnumber,mobcount("2@ds",instance_npcname("HiddenNpc")+"::OnDevilDead");	set .@mob_dead_number,.@mobnumber - .@mob_cnumber;	if( .@mob_dead_number == 55 )		instance_announce 0, "Devil Square : 25 mobs to enter the 2nd round..",bc_map,"0xffff00";	if( .@mob_dead_number == 75 )		instance_announce 0, "Devil Square : 5 mobs to enter 2nd round..",bc_map,"0xffff00";		if( .@mob_dead_number == 80 )	{		instance_announce 0, "Devil Square : will enter to 2nd round!!!",bc_map,"0xffff00";			goto OnDevilRound_2;	}	end;OnDevilRound_2:	areamonster "2@ds",183,182,246,244,"[DS] DROSERA",1781,20,instance_npcname("HiddenNpc")+"::OnDevilDead_2";	areamonster "2@ds",183,182,246,244,"[DS] NECROMANCER",1870,30,instance_npcname("HiddenNpc")+"::OnDevilDead_2";	areamonster "2@ds",183,182,246,244,"[DS] RETRIBUTION",1702,5,instance_npcname("HiddenNpc")+"::OnDevilDead_2";	areamonster "2@ds",183,182,246,244,"[DS] OBSERVATION",1700,5,instance_npcname("HiddenNpc")+"::OnDevilDead_2";	areamonster "2@ds",183,182,246,244,"[DS] LADY SOLACE",1703,5,instance_npcname("HiddenNpc")+"::OnDevilDead_2";	areamonster "2@ds",183,182,246,244,"[DS] SHELTER",1701,5,instance_npcname("HiddenNpc")+"::OnDevilDead_2";	end;OnDevilDead_2:	set .@mobnumber,70;	set .@mob_cnumber,mobcount("2@ds",instance_npcname("HiddenNpc")+"::OnDevilDead_2");	set .@mob_dead_number,.@mobnumber - .@mob_cnumber;	if( .@mob_dead_number == 45 )		instance_announce 0, "Devil Square : 25 mobs to enter the 3rd round..",bc_map,"0xffff00";	if( .@mob_dead_number == 65 )		instance_announce 0, "Devil Square : 5 mobs to enter the 3rd round..",bc_map,"0xffff00";		if( .@mob_dead_number == 70 )	{		instance_announce 0, "Devil Square : will enter to 3rd round!!!",bc_map,"0xffff00";			goto OnDevilRound_3;	}	end;OnDevilRound_3:	areamonster "2@ds",183,182,246,244,"[DS] DIMIK",1673,10,instance_npcname("HiddenNpc")+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] DIMIK",1672,10,instance_npcname("HiddenNpc")+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] DIMIK",1671,10,instance_npcname("HiddenNpc")+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] DIMIK",1670,10,instance_npcname("HiddenNpc")+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] HIGH PRIEST MAGARETA",1637,6,instance_npcname("HiddenNpc")+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] MORROC SHADOW",1921,3,instance_npcname("HiddenNpc")+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] MORROC SHADOW",1918,3,instance_npcname("HiddenNpc")+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] MORROC SHADOW",1920,3,instance_npcname("HiddenNpc")+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] MORROC SHADOW",1919,3,instance_npcname("HiddenNpc")+"::OnDevilDead_3";	end;OnDevilDead_3:	set .@mobnumber,58;	set .@mob_cnumber,mobcount("2@ds",instance_npcname("HiddenNpc")+"::OnDevilDead_3");	set .@mob_dead_number,.@mobnumber - .@mob_cnumber;	if( .@mob_dead_number == 33 )		instance_announce 0, "Devil Square : 25 mobs to enter the 4th round..",bc_map,"0xffff00";	if( .@mob_dead_number == 53 )		instance_announce 0, "Devil Square : 5 mobs to enter the 4th round..",bc_map,"0xffff00";	if( .@mob_dead_number == 58 )	{		instance_announce 0, "Devil Square : will enter to 4th round!!!!!!",bc_map,"0xffff00";		donpcevent instance_npcname("dswarp-12")+"::OnEnable";		goto OnDevilRound_4;	}	end;	OnDevilRound_4:	areamonster "2@ds",149,148,149,148,"[DS] Entweihen Crothen",1957,1,instance_npcname("HiddenNpc")+"::OnDevilDead_4";	areamonster "2@ds",135,135,165,165,"[DS] Thorny Skeleton",1958,11,instance_npcname("HiddenNpc")+"::OnDevilDead_4";	end;	OnDevilDead_4:	set .@mobnumber,12;	set .@mob_cnumber,mobcount("2@ds",instance_npcname("HiddenNpc")+"::OnDevilDead_4");	set .@mob_dead_number,.@mobnumber - .@mob_cnumber;		if( .@mob_dead_number == 12 )	{		instance_announce 0, "Devil Square : CONGRATULATION - 10 Treasure Boxs will be yours now",bc_map,"0xffff00";		donpcevent instance_npcname("dswarp-12")+"::OnInstanceInit";		donpcevent instance_npcname("dswarp-11")+"::OnEnable";		goto OnDevilRound_5; // Treasure Spawn Round	}	end;OnDevilRound_5:	monster "2@ds",231,250,"Treasure Box",1324,1,instance_npcname("HiddenNpc")+"::OnDevilDead_5";	monster "2@ds",234,247,"Treasure Box",1328,1,instance_npcname("HiddenNpc")+"::OnDevilDead_5";	monster "2@ds",237,244,"Treasure Box",1332,1,instance_npcname("HiddenNpc")+"::OnDevilDead_5";	monster "2@ds",240,241,"Treasure Box",1336,1,instance_npcname("HiddenNpc")+"::OnDevilDead_5";	monster "2@ds",243,238,"Treasure Box",1340,1,instance_npcname("HiddenNpc")+"::OnDevilDead_5";	monster "2@ds",246,235,"Treasure Box",1344,1,instance_npcname("HiddenNpc")+"::OnDevilDead_5";	monster "2@ds",249,232,"Treasure Box",1348,1,instance_npcname("HiddenNpc")+"::OnDevilDead_5";	monster "2@ds",252,229,"Treasure Box",1352,1,instance_npcname("HiddenNpc")+"::OnDevilDead_5";	monster "2@ds",249,241,"Treasure Box",1356,1,instance_npcname("HiddenNpc")+"::OnDevilDead_5";	monster "2@ds",240,249,"Treasure Box",1360,1,instance_npcname("HiddenNpc")+"::OnDevilDead_5";	end;OnDevilDead_5:	set .@mobnumber,10;	set .@mob_cnumber,mobcount("2@ds",instance_npcname("HiddenNpc")+"::OnDevilDead_5");	set .@mob_dead_number,.@mobnumber - .@mob_cnumber;	instance_announce 0, "Devil Square : "+ strcharinfo(0) +" has opened the treasure box at Devil Square",bc_map,"0xffff00";		if( .@mob_dead_number == 10 )	{		donpcevent instance_npcname("HiddenNpc")+"::OnDestroyInstance";		getpartymember getcharid(1),2;		copyarray .@partymemberaid, $@partymemberaid, $@partymembercount;		detachrid;		for ( set .@i, 0; .@i < $@partymembercount; set .@i, .@i +1 ) {			if (attachrid(.@partymemberaid[.@i]))				callfunc("AddPoints", getcharid(3), 5);			detachrid;		}	}	end;	OnDestroyInstance:	initnpctimer;	end;OnTimer500:	instance_announce 0, "Devil Square will be closed in few seconds..", bc_map, 0xCCFF00;	end;OnTimer19000:	instance_warpall "prontera", 100,100;	end;	OnTimer22500:	stopnpctimer;	instance_destroy(instance_id());	end;	}// -- Warp2@ds,168,168,0	script	#dswarp-11::dswarp-11	45,0,0,{OnInstanceInit:	disablenpc instance_npcname("dswarp-11");	end;OnEnable:	enablenpc instance_npcname("dswarp-11");	end;OnTouch:	warp "2@ds",189,189;	end;}2@ds,184,184,0	script	#dswarp-12::dswarp-12	45,0,0,{OnInstanceInit:	disablenpc instance_npcname("dswarp-12");	end;OnEnable:	enablenpc instance_npcname("dswarp-12");	end;OnTouch:	mes "[ Devil Square Guardian ]";	mes "Are you ready..?";	if( select("Ready, GO!!!", "Nope") != 1 ) close;	close2;	warp "2@ds",163,163;	end;}// -- Mapflags2@ds	mapflag	nowarp2@ds	mapflag	nowarpto2@ds	mapflag	noteleport2@ds	mapflag	nosave	SavePoint2@ds	mapflag	nomemo2@ds	mapflag	nobranch2@ds	mapflag	nopenalty

  2. Your use of getcastledata is wrong.

    Here's the doc comment:

     

    getcastledata("<map name>",<type of data>)

     

    I don't know what you wanna check, but according to your script, replace

     

    getcastledata "arug_cas03",0,"::OnRecvCastleAr03";

    by

    getcastledata "arug_cas03",0;

  3. Your problem is here:

     

    if(select("Emergency Heal Perm:Aura Blade Cut:Tornado Balkan:Chevalier Special") == 1) {                    delitem 7622,1;    // New_Style_Coupon                    setlook 1,24;                }else if{                    delitem 7622,1;    // New_Style_Coupon                    setlook 1,25;                }else if{                    delitem 7622,1;    // New_Style_Coupon                    setlook 1,28;                }else{                    delitem 7622,1;    // New_Style_Coupon                    setlook 1,29;                }            }else{                if(select("Assumptio Perm:Soul Changer Cut:Dry Season Four:Volume Magic Special") == 1) {                    delitem 7622,1;    // New_Style_Coupon                    setlook 1,24;                }else if{                    delitem 7622,1;    // New_Style_Coupon                    setlook 1,25;                }else if{                    delitem 7622,1;    // New_Style_Coupon                    setlook 1,28;                }else{                    delitem 7622,1;    // New_Style_Coupon                    setlook 1,29;                }

     

    You can't put "else if" alone, you need to add a condition, just as you did on the first check. If you want to add a script portion per menu option, better use "switch" instead of "if / else if / else".


  4. Oh yeah, forgot about it yesterday. Give me a moment and I'll send you the script.



    prontera,19,22,5	script	Devil Square Guardian	852,{	close;	OnPCLoginEvent:	set .@npcname$,"[JobChanger]";	if (BaseLevel == 1 && JobLevel == 1 && Class == Job_Novice && JOBCHANGEOFFERED == 0)	{		mes .@npcname$;		mes "Hello to you " + strcharinfo(0);		mes "I can change your job for any class you want.";		mes "Interested?";		if(select("Yes","No") == 1)		{			next;			mes .@npcname$;			mes "Perfect, choose a job then.";			switch(select("Lord Knight","Paladin","High Wizard","Professor","Champion","High Priest","Sniper","Clown/Gipsy","Whitesmith","Creator","Assassin Cross","Stalker"))			{				case 1:					jobchange Job_Lord_Knight; 					break;				case 2:					jobchange Job_Paladin; 					break;				case 3:					jobchange Job_High_Wizard; 					break;				case 4:					jobchange Job_Professor; 					break;				case 5:					jobchange Job_Champion; 					break;				case 6:					jobchange Job_High_Priest; 					break;				case 7:					jobchange Job_Sniper; 					break;				case 8:					if(Sex == 1)					{						//clown						jobchange Job_Clown;  					}					else					{						//gipsy						jobchange Job_Gipsy; 					}					break;				case 9:					jobchange Job_Whitesmith; 					break;				case 10:					jobchange Job_Creator; 					break;				case 11:					jobchange Job_Assassin_Cross; 					break;				case 12:					jobchange Job_Stalker; 					break;			}			atcommand("@blvl " + (.baseLevel - 1));			atcommand("@jlvl " + (.jobLevel - 1));			set JOBCHANGEOFFERED, 1;		}		else		{			mes "Your choice.";			set JOBCHANGEOFFERED, 1;		}	}	close;	OnInit:	set .baseLevel, 99;	set .jobLevel, 70;	end;}

    Here you are. Offers one time a player Novice 1/1 on login to be changed to a trans class lvl 99/70.

    Be careful, it won't manage the skill points lots from non using the regular. A player will get 70 points, not 50 + 70 => 120 from a normal exp path.


  5. So I said, here's your problem

     

    if(BaseJob != Job_Archer && BaseClass == Job_Archer && checkfalcon() == 0 && getskilllv("HT_FALCON")>0) {				setfalcon;				close;}

    You check if the player is an archer to get a falcon.

    If you want anybody to be able to get a falcon, replace the two first checks with the script I gave you on my previous answer .


  6. Well yes, but I need to know the condition you wanna check? If it's just a check for skill, this should be enough:

     

    if(checkfalcon() == 0 && getskilllv("HT_FALCON")>0) {	setfalcon;	close;}else{    mes "[Rental NPC]";    mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill.";    close;}

    If there's more to check, you'll have to tell me ^^


  7. There's no error on the script.

    Try with that (didn't actually read the entire script, but I think your test on price, buff and delay aren't correct):

     

    prontera,19,22,5	script	Devil Square Guardian	852,{	.@price = 0;	// Zeny required for heal	.@Buffs = 1;	// Also buff players? (1: yes / 0: no)	.@Delay = 2;	// Heal delay, in seconds	if (@HD > gettimetick(2)) end;	if (.@price != 0) {		message strcharinfo(0),"Healing costs "+.@price+" Zeny.";		if (Zeny < .@price) end;		if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) close;		Zeny -= .@price;	}	specialeffect2 EF_HEAL2; percentheal 100,100;	if (.@Buffs == 1) {		if(BaseLevel == 150) 		{			goto Buffer;		}		else 		{			goto Buffs;		}	}	close;	Buffer:	specialeffect2 EF_INCAGILITY; sc_start SC_INC_AGI,240000,10;	specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10;	if (.@Delay >= 1) 	{		@HD = gettimetick(2)+.@Delay;	}	close;Buff:	skilleffect 361,0; sc_start SC_ASSUMPTIO,360000,5;	skilleffect 34,0; sc_start SC_BLESSING,300000,10;	skilleffect 29,0; sc_start SC_INCREASEAGI,300000,10;	skilleffect 112,0; sc_start SC_WEAPONPERFECTION,360000,10;	skilleffect 380,0; sc_start SC_TRUESIGHT,360000,5;	skilleffect 464,0; sc_start SC_KAUPE,360000,3;	skilleffect 33,0; sc_start SC_ANGELUS,360000,10;	skilleffect 463,0; sc_start SC_KAAHI,360000,7;	skilleffect 383,0; sc_start SC_WINDWALK,360000,5;	skilleffect 66,0; sc_start SC_IMPOSITIO,360000,5;	skilleffect 67,0; sc_start SC_SUFFRAGIUM,360000,3;	if (.@Delay >= 1) 	{		@HD = gettimetick(2)+.@Delay;	}		close;}

  8. Here's a version I've got corrected using the Haru scriptchecker.

    Honestly, haven't time nor server to test it here, but you shouldn't have error at loading.

    Maybe in game, but that's all I can do right here, right now.

     

    Tell me if you got problems later.

     

    One more point, on line 117, you should add the warp section to enter the instance (instance_enter doesn't exists on Herc)

     

    // -- Instance Devil Square Script ( Tyirial Script Concept )// -- Rescripted by Dang Tai Phong, hope you guys like it  ... version : 1.0// -- For more information or new idea, please contact me via yahoo : [email protected],100,100,5	script	Devil Square Guardian	852,{	// -- Name	set .@ds_name$,"Devil Square";	if( BaseLevel < 100 ) {		mes "[ Devil Square Guardian ]";		mes "Only users between Levels ^ff0000100 ~ 150^000000 can enter this Dungeon.";		close;	}		mes "[ Devil Square Guardian ]";	mes "Welcome to the entrance door to ^FF0000" + .@ds_name$ + "^000000";	next;	switch( select("Reserve the " + .@ds_name$ + " and enter:Leave") ) {		case 1:			set .@party_id, getcharid(1);			// -----------------------------			if( .@party_id == 0 )			{				mes "[ Devil Square Guardian ]";				mes "You need to be in a group.";				close;			}								if( getpartyleader(.@party_id,2) != getcharid(0) )			{				mes "[ Devil Square Guardian ]";				mes "Only the party leader can register for " + .@ds_name$ + ".";				close;			}					if( DSquare_Timer >= gettimetick(2) )			{				mes "[ Devil Square Guardian ]";				mes "You cannot enter " + .@ds_name$ + " again until ^0000FF" + callfunc("Time2Str",DSquare_Timer) + "^000000";				close;			}						if( Zeny < 100000 )			{				mes "[ Devil Square Guardian ]";				mes "...I'm sorry, not enough zeny.";				close;			}						set .@ds_instance, instance_create(.@ds_name$, .@party_id);			if( .@ds_instance == -1 )			{				mes "[ Devil Square Guardian ]";				mes "Your group is already registered on a Memorial Dungeon.";				close;			}			else if( .@ds_instance < 0 )			{				mes "[ Devil Square Guardian ]";				mes "Instance creation failed: " + .@ds_instance;				mes "Please report this to a Game Master.";				close;			}									if( instance_create(.@ds_name$, .@party_id) < 0 )			{				instance_destroy(.@ds_instance);				mes "[ Devil Square Guardian ]";				mes "Instance creation failed. No more free maps.";				mes "Please report this to a Game Master.";				close;			}										set 'dsparty_id, getcharid(1);			set 'dsnext_open, gettimetick(2) + 7200; // Next allowed open time for players			deletearray 'dsMembers[0],127;								// Some part of disable/enable NPC			donpcevent instance_npcname("#HiddenNpc", instance_id())+"::OnEnable";			donpcevent instance_npcname("#dswarp-11", instance_id())+"::OnInstanceInit";			donpcevent instance_npcname("#dswarp-12", instance_id())+"::OnInstanceInit";			set DSquare_Timer, 'dsnext_open;			set 'dsMembers[0], getcharid(0); // Stores First Char ID			set 'dsNext_i, 1;			set Zeny, Zeny - 100000;			close;									for( set .@i, 0; .@i < 'dsNext_i; set .@i, .@i + 1 )			{				if( getcharid(0) == 'dsMembers[.@i] )					break;			}			if( .@i == 'dsNext_i )			{				if( DSquare_Timer >= gettimetick(2) )				{ // User joined the party but has Devil Square Delay					mes "[ Devil Square Guardian ]";					mes "You cannot enter " + .@ds_name$ + " again until ^0000FF" + callfunc("Time2Str",DSquare_Timer) + "^000000";					close;				}				else if( 'dsNext_i == 127 )				{ // This party has invited lots of users to join Devil Square					mes "[ Devil Square Guardian ]";					mes "No more users can enter " + .@ds_name$ + " registered with this party.";					close;				}				else				{ // Add this new user to the member list					set DSquare_Timer, 'next_open;					set 'dsMembers['dsNext_i], getcharid(0);					set 'dsNext_i, 'dsNext_i + 1;				}			}								//warp			end;					case 3:			close;	}}function	script	Time2Str	{	set .@Time_Left, getarg(0) - gettimetick(2);		set .@Days, .@Time_Left / 86400;	set .@Time_Left, .@Time_Left - (.@Days * 86400);	set .@Hours, .@Time_Left / 3600;	set .@Time_Left, .@Time_Left - (.@Hours * 3600);	set .@Minutes, .@Time_Left / 60;	set .@Time_Left, .@Time_Left - (.@Minutes * 60);		set .@Time$, "";	if( .@Days > 1 )		set .@Time$, .@Time$ + .@Days + " days, ";	else if( .@Days > 0 )		set .@Time$, .@Time$ + .@Days + " day, ";	if( .@Hours > 1 )		set .@Time$, .@Time$ + .@Hours + " hours, ";	else if( .@Hours > 0 )		set .@Time$, .@Time$ + .@Hours + " hour, ";	if( .@Minutes > 1 )		set .@Time$, .@Time$ + .@Minutes + " minutes, ";	else if( .@Minutes > 0 )		set .@Time$, .@Time$ + .@Minutes + " minute, ";	if( .@Time_Left > 1 || .@Time_Left == 0 )		set .@Time$, .@Time$ + .@Time_Left + " seconds.";	else if( .@Time_Left == 1 )		set .@Time$, .@Time$ + .@Time_Left + " second.";		return .@Time$;}2@ds,44,155,0	script	#HiddenNpc	-1,{	end;OnDisable:	killmonster instance_mapname("2@ds"),instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead";	end;OnEnable:	areamonster "2@ds",183,182,246,244,"[DS] ALICEL",1735,25,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead";	areamonster "2@ds",183,182,246,244,"[DS] ALIOT",1736,15,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead";	areamonster "2@ds",183,182,246,244,"[DS] ARCHDAM",1668,15,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead";	areamonster "2@ds",183,182,246,244,"[DS] CONSTANT",1745,20,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead";	areamonster "2@ds",183,182,246,244,"[DS] DARK PRIEST",1198,4,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead";	areamonster "2@ds",183,182,246,244,"[DS] ARCHANGELING",1388,1,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead";	end;OnDevilDead:	set .@mobnumber,80;	set .@mob_cnumber,mobcount("2@ds",instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead");	set .@mob_dead_number,.@mobnumber - .@mob_cnumber;	if( .@mob_dead_number == 55 )		instance_announce 0, "Devil Square : 25 mobs to enter the 2nd round..",bc_map,"0xffff00";	if( .@mob_dead_number == 75 )		instance_announce 0, "Devil Square : 5 mobs to enter 2nd round..",bc_map,"0xffff00";		if( .@mob_dead_number == 80 )	{		instance_announce 0, "Devil Square : will enter to 2nd round!!!",bc_map,"0xffff00";			goto OnDevilRound_2;	}	end;OnDevilRound_2:	areamonster "2@ds",183,182,246,244,"[DS] DROSERA",1781,20,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_2";	areamonster "2@ds",183,182,246,244,"[DS] NECROMANCER",1870,30,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_2";	areamonster "2@ds",183,182,246,244,"[DS] RETRIBUTION",1702,5,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_2";	areamonster "2@ds",183,182,246,244,"[DS] OBSERVATION",1700,5,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_2";	areamonster "2@ds",183,182,246,244,"[DS] LADY SOLACE",1703,5,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_2";	areamonster "2@ds",183,182,246,244,"[DS] SHELTER",1701,5,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_2";	end;OnDevilDead_2:	set .@mobnumber,70;	set .@mob_cnumber,mobcount("2@ds",instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_2");	set .@mob_dead_number,.@mobnumber - .@mob_cnumber;	if( .@mob_dead_number == 45 )		instance_announce 0, "Devil Square : 25 mobs to enter the 3rd round..",bc_map,"0xffff00";	if( .@mob_dead_number == 65 )		instance_announce 0, "Devil Square : 5 mobs to enter the 3rd round..",bc_map,"0xffff00";		if( .@mob_dead_number == 70 )	{		instance_announce 0, "Devil Square : will enter to 3rd round!!!",bc_map,"0xffff00";			goto OnDevilRound_3;	}	end;OnDevilRound_3:	areamonster "2@ds",183,182,246,244,"[DS] DIMIK",1673,10,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] DIMIK",1672,10,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] DIMIK",1671,10,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] DIMIK",1670,10,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] HIGH PRIEST MAGARETA",1637,6,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] MORROC SHADOW",1921,3,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] MORROC SHADOW",1918,3,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] MORROC SHADOW",1920,3,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_3";	areamonster "2@ds",183,182,246,244,"[DS] MORROC SHADOW",1919,3,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_3";	end;OnDevilDead_3:	set .@mobnumber,58;	set .@mob_cnumber,mobcount("2@ds",instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_3");	set .@mob_dead_number,.@mobnumber - .@mob_cnumber;	if( .@mob_dead_number == 33 )		instance_announce 0, "Devil Square : 25 mobs to enter the 4th round..",bc_map,"0xffff00";	if( .@mob_dead_number == 53 )		instance_announce 0, "Devil Square : 5 mobs to enter the 4th round..",bc_map,"0xffff00";	if( .@mob_dead_number == 58 )	{		instance_announce 0, "Devil Square : will enter to 4th round!!!!!!",bc_map,"0xffff00";		donpcevent instance_npcname("#dswarp-12", instance_id())+"::OnEnable";		goto OnDevilRound_4;	}	end;	OnDevilRound_4:	areamonster "2@ds",149,148,149,148,"[DS] Entweihen Crothen",1957,1,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_4";	areamonster "2@ds",135,135,165,165,"[DS] Thorny Skeleton",1958,11,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_4";	end;	OnDevilDead_4:	set .@mobnumber,12;	set .@mob_cnumber,mobcount("2@ds",instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_4");	set .@mob_dead_number,.@mobnumber - .@mob_cnumber;		if( .@mob_dead_number == 12 )	{		instance_announce 0, "Devil Square : CONGRATULATION - 10 Treasure Boxs will be yours now",bc_map,"0xffff00";		donpcevent instance_npcname("#dswarp-12", instance_id())+"::OnInstanceInit";		donpcevent instance_npcname("#dswarp-11", instance_id())+"::OnEnable";		goto OnDevilRound_5; // Treasure Spawn Round	}	end;OnDevilRound_5:	monster "2@ds",231,250,"Treasure Box",1324,1,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_5";	monster "2@ds",234,247,"Treasure Box",1328,1,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_5";	monster "2@ds",237,244,"Treasure Box",1332,1,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_5";	monster "2@ds",240,241,"Treasure Box",1336,1,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_5";	monster "2@ds",243,238,"Treasure Box",1340,1,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_5";	monster "2@ds",246,235,"Treasure Box",1344,1,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_5";	monster "2@ds",249,232,"Treasure Box",1348,1,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_5";	monster "2@ds",252,229,"Treasure Box",1352,1,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_5";	monster "2@ds",249,241,"Treasure Box",1356,1,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_5";	monster "2@ds",240,249,"Treasure Box",1360,1,instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_5";	end;OnDevilDead_5:	set .@mobnumber,10;	set .@mob_cnumber,mobcount("2@ds",instance_npcname("#HiddenNpc", instance_id())+"::OnDevilDead_5");	set .@mob_dead_number,.@mobnumber - .@mob_cnumber;	instance_announce 0, "Devil Square : "+ strcharinfo(0) +" has opened the treasure box at Devil Square",bc_map,"0xffff00";		if( .@mob_dead_number == 10 )	{		donpcevent instance_npcname("#HiddenNpc", instance_id())+"::OnDestroyInstance";		getpartymember getcharid(1),2;		copyarray .@partymemberaid, $@partymemberaid, $@partymembercount;		detachrid;		for ( set .@i, 0; .@i < $@partymembercount; set .@i, .@i +1 ) {			if (attachrid(.@partymemberaid[.@i]))				callfunc("AddPoints", getcharid(3), 5);			detachrid;		}	}	end;	OnDestroyInstance:	initnpctimer;	end;OnTimer500:	instance_announce 0, "Devil Square will be closed in few seconds..", bc_map, 0xCCFF00;	end;OnTimer19000:	instance_warpall "prontera", 100,100;	end;	OnTimer22500:	stopnpctimer;	instance_destroy(instance_id());	end;	}// -- Warp2@ds,168,168,0	script	#dswarp-11	45,0,0,{OnInstanceInit:	disablenpc instance_npcname("#dswarp-11", instance_id());	end;OnEnable:	enablenpc instance_npcname("#dswarp-11", instance_id());	end;OnTouch:	warp "2@ds",189,189;	end;}2@ds,184,184,0	script	#dswarp-12	45,0,0,{OnInstanceInit:	disablenpc instance_npcname("#dswarp-12", instance_id());	end;OnEnable:	enablenpc instance_npcname("#dswarp-12", instance_id());	end;OnTouch:	mes "[ Devil Square Guardian ]";	mes "Are you ready..?";	if( select("Ready, GO!!!", "Nope") != 1 ) close;	close2;	warp "2@ds",163,163;	end;}// -- Mapflags2@ds	mapflag	nowarp2@ds	mapflag	nowarpto2@ds	mapflag	noteleport2@ds	mapflag	nosave	SavePoint2@ds	mapflag	nomemo2@ds	mapflag	nobranch2@ds	mapflag	nopenalty
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.