• 0
AinsLord

Help with this Emp Breaker Test room

Question

im having this on my console

[Debug]: Source (NPC): Breaker Ladder at prontera (171,179)
[Error]: buildin_sleep2: no unit is attached
[Debug]: Source (NPC): Emperium Breaker at prontera (173,176)
[Error]: buildin_sleep2: no unit is attached

here is the script i used

prontera,173,176,4	script	Emperium Breaker	743,{

// What Map will be used
set .Map$,"job3_arch01";
// How many Top Breaker will be Recorded
set .TopRank,10;
// Message to Inform Players while inside the Room
setarray .Instruction$[0],
			"Please Listen here carefully.",
			"This is Emperium Breaker Test Room , which is use to test your Breaking Time.",
			"Prepare youself...and do your best to Break it...",
			"Okay that's All i want to say , get Ready yourself and it will Start Soon.";
			
			
while( 1 ){
mes "This is Emperium Breaker test Room. ";
mes "You are able to calculate your Emperium Breaking Speed in this Room.";
next;
switch( select( ( getmapusers( .Map$ ) )?"^FF0000NOT Available":"^0000FFAvailable^000000",
				"Top ^FF0000"+.TopRank+"^000000 Breaker Ladder",
				( getgmlevel() < 90 )?"":"^FF0000[GM]^000000 Reset Room",
				( getgmlevel() < 90 )?"":"^FF0000[GM]^000000 Reset Ladder" )){
Case 1:
	if( getmapusers( .Map$ ) ){
		mes "There is another player inside it now.";
		next;
		break;
		}
	warp .Map$,0,0;
	killmonster .Map$,"All";
//	removemapflag .Map$,mf_noskill;
	donpcevent strnpcinfo(0)+"::OnReady";
	end;
Case 2:
	mes "^ED1ADCLatest Record^000000 : "+LatestRecord/1000+"."+LatestRecord%1000+" Seconds.";
	for( set .@i,0; .@i < .TopRank; set .@i,.@i + 1 ){
		if( !$TopRankTime[.@i] ) break;
		mes "^FF0000Top "+( .@i + 1 )+" : ^0000FF"+$TopName$[.@i]+" ";
		mes "^FF0000Time Taken : ^ED1ADC[ "+$TopRankTime[.@i]/1000+"."+$TopRankTime[.@i]%1000+" Sec. ]^000000 ";
	}
	next;
	break;

Case 3:
	mapannounce .Map$,"A GM has RESET the Breaker Test Room.",0,0x00FF00;
	killmonster .Map$,"All";
	sleep2 3000;
	mapwarp .Map$,"prontera",156,175;
	mes "Done Reset. and Player who are inside are warped out.";
	next;
	break;
Case 4:	
	switch( select( "^0000FFAll Player^000000:^FF0000One Player^000000" ) ){
		Case 1:
			deletearray $TopRankTime[0],getarraysize( $TopRankTime );
			deletearray $TopName$[0],getarraysize( $TopName$ );
			mes "RESETED WHOLE LADDER.";
			break;
		Case 2:
			mes "Please input the ^FF0000EXACT NAME^000000 of player you want to delete.";
			input .Name$;
			for( set .@i,0; .@i < .TopRank; set .@i,.@i + 1 ){
				if( .Name$ == $TopName$[.@i] ){
					deletearray $TopName$[.@i],1;
					deletearray $TopRankTime[.@i],1;
					mes "Removed ^FF0000"+.Name$+"^000000 from the List.";
				}
			}
		}
	next;
	break;
	}
}

OnReady:
sleep2 3000;
for( set .@i,0; .@i < getarraysize( .Instruction$ ); set .@i,.@i + 1 ){
	mapannounce .Map$,.Instruction$[.@i],0,0x00FF00;
	sleep2 2500;
	}
for( set .@i,5; .@i > 0; set .@i,.@i - 1 ){
	mapannounce .Map$,"Count Down : "+.@i+" Seconds.",0,0x00FF00;
	sleep2 1000;
	}
//mapannounce .Map$,"Hit the Emperium Now and Skills Disabled.",0,0x00FF00;
setmapflag .Map$,mf_noskill;
monster .Map$,29,27,"Breaker Test",1288,1,strnpcinfo(0)+"::OnBreaked";
set .Record,0;
sleep2 500;
initnpctimer;
end;

OnTimer600000:
if( !mobcount( .Map$,strnpcinfo(0)+"::OnBreaked" ) ) end;
	mapannounce .Map$,"You spent too much time. i think you are AFK , so you are out.",0,0xED1ADC;
	sleep2 3000;
	mapwarp .Map$,"prontera",156,175;
	stopnpctimer;
end;

OnBreaked:
	set .Time,getnpctimer(0);
	copyarray .@tempName$[0],$TopName$[0],getarraysize( $TopName$ );
	copyarray .@tempRecord[0],$TopRankTime[0],getarraysize( $TopRankTime[0] );
	set LatestRecord,.Time;
	for( set .@i,0; .@i < .TopRank; set .@i,.@i + 1 ){
		if( .Time < $TopRankTime[.@i] || !$TopRankTime[.@i] ){
				set $TopRankTime[.@i],.Time;
				set $TopName$[.@i],strcharinfo(0);
				copyarray $TopRankTime[.@i + 1],.@tempRecord[0],getarraysize( .@tempRecord );
				copyarray $TopName$[.@i + 1],.@tempName$[0],getarraysize( .@tempName$ );
			announce "[ "+strcharinfo(0)+" ] Achieved Top "+( .@i + 1 )+" in Emperium Breaking with "+.Time/1000+"."+.Time%1000+" Seconds !!!",bc_all,0xED1ADC;
			break;
			}
		}
	stopnpctimer;
	announce "Current Time Taken : "+.Time/1000+"."+.Time%1000+" Seconds. ",bc_self,0xED1ADC;
//	removemapflag .Map$,mf_noskill;
	sleep2 5000;
	mapwarp .Map$,"prontera",156,175;
	end;
}
	
job3_arch01	mapflag	nocommand	50
job3_arch01	mapflag	gvg	on
job3_arch01	mapflag	gvg_castle
job3_arch01	mapflag	monster_noteleport
job3_arch01	mapflag	nosave	SavePoint

im trying to figure out whats wrong but i cant

#TIA

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

I had this same problem lol
The error is because of sleep2 and mapwarp
why? do not know

 

prontera,173,176,4	script	Emperium Breaker	743,{

// What Map will be used
set .Map$,"job3_arch01";
// How many Top Breaker will be Recorded
set .TopRank,10;
// Message to Inform Players while inside the Room
setarray .Instruction$[0],
			"Please Listen here carefully.",
			"This is Emperium Breaker Test Room , which is use to test your Breaking Time.",
			"Prepare youself...and do your best to Break it...",
			"Okay that's All i want to say , get Ready yourself and it will Start Soon.";
			
			
while( 1 ){
mes "This is Emperium Breaker test Room. ";
mes "You are able to calculate your Emperium Breaking Speed in this Room.";
next;
switch( select( ( getmapusers( .Map$ ) )?"^FF0000NOT Available":"^0000FFAvailable^000000",
				"Top ^FF0000"+.TopRank+"^000000 Breaker Ladder",
				( getgmlevel() < 90 )?"":"^FF0000[GM]^000000 Reset Room",
				( getgmlevel() < 90 )?"":"^FF0000[GM]^000000 Reset Ladder" )){
Case 1:
	if( getmapusers( .Map$ ) ){
		mes "There is another player inside it now.";
		next;
		break;
		}
	warp .Map$,0,0;
	killmonster .Map$,"All";
//	removemapflag .Map$,mf_noskill;
	donpcevent strnpcinfo(0)+"::OnReady";
	end;
Case 2:
	mes "^ED1ADCLatest Record^000000 : "+LatestRecord/1000+"."+LatestRecord%1000+" Seconds.";
	for( set [email protected],0; [email protected] < .TopRank; set [email protected],[email protected] + 1 ){
		if( !$TopRankTime[[email protected]] ) break;
		mes "^FF0000Top "+( [email protected] + 1 )+" : ^0000FF"+$TopName$[[email protected]]+" ";
		mes "^FF0000Time Taken : ^ED1ADC[ "+$TopRankTime[[email protected]]/1000+"."+$TopRankTime[[email protected]]%1000+" Sec. ]^000000 ";
	}
	next;
	break;

Case 3:
	mapannounce .Map$,"A GM has RESET the Breaker Test Room.",0,0x00FF00;
	killmonster .Map$,"All";
	sleep 3000;
	mapwarp .map$,"SavePoint",0,0;
	mes "Done Reset. and Player who are inside are warped out.";
	next;
	break;
Case 4:	
	switch( select( "^0000FFAll Player^000000:^FF0000One Player^000000" ) ){
		Case 1:
			deletearray $TopRankTime[0],getarraysize( $TopRankTime );
			deletearray $TopName$[0],getarraysize( $TopName$ );
			mes "RESETED WHOLE LADDER.";
			break;
		Case 2:
			mes "Please input the ^FF0000EXACT NAME^000000 of player you want to delete.";
			input .Name$;
			for( set [email protected],0; [email protected] < .TopRank; set [email protected],[email protected] + 1 ){
				if( .Name$ == $TopName$[[email protected]] ){
					deletearray $TopName$[[email protected]],1;
					deletearray $TopRankTime[[email protected]],1;
					mes "Removed ^FF0000"+.Name$+"^000000 from the List.";
				}
			}
		}
	next;
	break;
	}
}

OnReady:
sleep 3000;
for( set [email protected],0; [email protected] < getarraysize( .Instruction$ ); set [email protected],[email protected] + 1 ){
	mapannounce .Map$,.Instruction$[[email protected]],0,0x00FF00;
	sleep 2500;
	}
for( set [email protected],5; [email protected] > 0; set [email protected],[email protected] - 1 ){
	mapannounce .Map$,"Count Down : "[email protected]+" Seconds.",0,0x00FF00;
	sleep 1000;
	}
//mapannounce .Map$,"Hit the Emperium Now and Skills Disabled.",0,0x00FF00;
setmapflag .Map$,mf_noskill;
monster .Map$,29,27,"Breaker Test",1288,1,strnpcinfo(0)+"::OnBreaked";
set .Record,0;
sleep 500;
initnpctimer;
end;

OnTimer600000:
if( !mobcount( .Map$,strnpcinfo(0)+"::OnBreaked" ) ) end;
	mapannounce .Map$,"You spent too much time. i think you are AFK , so you are out.",0,0xED1ADC;
	sleep 3000;
	mapwarp .map$,"SavePoint",0,0;
	stopnpctimer;
end;

OnBreaked:
	set .Time,getnpctimer(0);
	copyarray [email protected]$[0],$TopName$[0],getarraysize( $TopName$ );
	copyarray [email protected][0],$TopRankTime[0],getarraysize( $TopRankTime[0] );
	set LatestRecord,.Time;
	for( set [email protected],0; [email protected] < .TopRank; set [email protected],[email protected] + 1 ){
		if( .Time < $TopRankTime[[email protected]] || !$TopRankTime[[email protected]] ){
				set $TopRankTime[[email protected]],.Time;
				set $TopName$[[email protected]],strcharinfo(0);
				copyarray $TopRankTime[[email protected] + 1],[email protected][0],getarraysize( [email protected] );
				copyarray $TopName$[[email protected] + 1],[email protected]$[0],getarraysize( [email protected]$ );
			announce "[ "+strcharinfo(0)+" ] Achieved Top "+( [email protected] + 1 )+" in Emperium Breaking with "+.Time/1000+"."+.Time%1000+" Seconds !!!",bc_all,0xED1ADC;
			break;
			}
		}
	stopnpctimer;
	announce "Current Time Taken : "+.Time/1000+"."+.Time%1000+" Seconds. ",bc_self,0xED1ADC;
//	removemapflag .Map$,mf_noskill;
	sleep 5000;
	mapwarp .map$,"SavePoint",0,0;
	end;
}
	
job3_arch01	mapflag	nocommand	50
job3_arch01	mapflag	gvg	on
job3_arch01	mapflag	gvg_castle
job3_arch01	mapflag	monster_noteleport
job3_arch01	mapflag	nosave	SavePoint

 

I solved mine like this...
test and tell me if it worked 🙂

Share this post


Link to post
Share on other sites
  • 0
5 minutes ago, Gladius said:

I had this same problem lol
The error is because of sleep2 and mapwarp
why? do not know

 

prontera,173,176,4	script	Emperium Breaker	743,{

// What Map will be used
set .Map$,"job3_arch01";
// How many Top Breaker will be Recorded
set .TopRank,10;
// Message to Inform Players while inside the Room
setarray .Instruction$[0],
			"Please Listen here carefully.",
			"This is Emperium Breaker Test Room , which is use to test your Breaking Time.",
			"Prepare youself...and do your best to Break it...",
			"Okay that's All i want to say , get Ready yourself and it will Start Soon.";
			
			
while( 1 ){
mes "This is Emperium Breaker test Room. ";
mes "You are able to calculate your Emperium Breaking Speed in this Room.";
next;
switch( select( ( getmapusers( .Map$ ) )?"^FF0000NOT Available":"^0000FFAvailable^000000",
				"Top ^FF0000"+.TopRank+"^000000 Breaker Ladder",
				( getgmlevel() < 90 )?"":"^FF0000[GM]^000000 Reset Room",
				( getgmlevel() < 90 )?"":"^FF0000[GM]^000000 Reset Ladder" )){
Case 1:
	if( getmapusers( .Map$ ) ){
		mes "There is another player inside it now.";
		next;
		break;
		}
	warp .Map$,0,0;
	killmonster .Map$,"All";
//	removemapflag .Map$,mf_noskill;
	donpcevent strnpcinfo(0)+"::OnReady";
	end;
Case 2:
	mes "^ED1ADCLatest Record^000000 : "+LatestRecord/1000+"."+LatestRecord%1000+" Seconds.";
	for( set [email protected],0; [email protected] < .TopRank; set [email protected],[email protected] + 1 ){
		if( !$TopRankTime[[email protected]] ) break;
		mes "^FF0000Top "+( [email protected] + 1 )+" : ^0000FF"+$TopName$[[email protected]]+" ";
		mes "^FF0000Time Taken : ^ED1ADC[ "+$TopRankTime[[email protected]]/1000+"."+$TopRankTime[[email protected]]%1000+" Sec. ]^000000 ";
	}
	next;
	break;

Case 3:
	mapannounce .Map$,"A GM has RESET the Breaker Test Room.",0,0x00FF00;
	killmonster .Map$,"All";
	sleep 3000;
	mapwarp .map$,"SavePoint",0,0;
	mes "Done Reset. and Player who are inside are warped out.";
	next;
	break;
Case 4:	
	switch( select( "^0000FFAll Player^000000:^FF0000One Player^000000" ) ){
		Case 1:
			deletearray $TopRankTime[0],getarraysize( $TopRankTime );
			deletearray $TopName$[0],getarraysize( $TopName$ );
			mes "RESETED WHOLE LADDER.";
			break;
		Case 2:
			mes "Please input the ^FF0000EXACT NAME^000000 of player you want to delete.";
			input .Name$;
			for( set [email protected],0; [email protected] < .TopRank; set [email protected],[email protected] + 1 ){
				if( .Name$ == $TopName$[[email protected]] ){
					deletearray $TopName$[[email protected]],1;
					deletearray $TopRankTime[[email protected]],1;
					mes "Removed ^FF0000"+.Name$+"^000000 from the List.";
				}
			}
		}
	next;
	break;
	}
}

OnReady:
sleep 3000;
for( set [email protected],0; [email protected] < getarraysize( .Instruction$ ); set [email protected],[email protected] + 1 ){
	mapannounce .Map$,.Instruction$[[email protected]],0,0x00FF00;
	sleep 2500;
	}
for( set [email protected],5; [email protected] > 0; set [email protected],[email protected] - 1 ){
	mapannounce .Map$,"Count Down : "[email protected]+" Seconds.",0,0x00FF00;
	sleep 1000;
	}
//mapannounce .Map$,"Hit the Emperium Now and Skills Disabled.",0,0x00FF00;
setmapflag .Map$,mf_noskill;
monster .Map$,29,27,"Breaker Test",1288,1,strnpcinfo(0)+"::OnBreaked";
set .Record,0;
sleep 500;
initnpctimer;
end;

OnTimer600000:
if( !mobcount( .Map$,strnpcinfo(0)+"::OnBreaked" ) ) end;
	mapannounce .Map$,"You spent too much time. i think you are AFK , so you are out.",0,0xED1ADC;
	sleep 3000;
	mapwarp .map$,"SavePoint",0,0;
	stopnpctimer;
end;

OnBreaked:
	set .Time,getnpctimer(0);
	copyarray [email protected]$[0],$TopName$[0],getarraysize( $TopName$ );
	copyarray [email protected][0],$TopRankTime[0],getarraysize( $TopRankTime[0] );
	set LatestRecord,.Time;
	for( set [email protected],0; [email protected] < .TopRank; set [email protected],[email protected] + 1 ){
		if( .Time < $TopRankTime[[email protected]] || !$TopRankTime[[email protected]] ){
				set $TopRankTime[[email protected]],.Time;
				set $TopName$[[email protected]],strcharinfo(0);
				copyarray $TopRankTime[[email protected] + 1],[email protected][0],getarraysize( [email protected] );
				copyarray $TopName$[[email protected] + 1],[email protected]$[0],getarraysize( [email protected]$ );
			announce "[ "+strcharinfo(0)+" ] Achieved Top "+( [email protected] + 1 )+" in Emperium Breaking with "+.Time/1000+"."+.Time%1000+" Seconds !!!",bc_all,0xED1ADC;
			break;
			}
		}
	stopnpctimer;
	announce "Current Time Taken : "+.Time/1000+"."+.Time%1000+" Seconds. ",bc_self,0xED1ADC;
//	removemapflag .Map$,mf_noskill;
	sleep 5000;
	mapwarp .map$,"SavePoint",0,0;
	end;
}
	
job3_arch01	mapflag	nocommand	50
job3_arch01	mapflag	gvg	on
job3_arch01	mapflag	gvg_castle
job3_arch01	mapflag	monster_noteleport
job3_arch01	mapflag	nosave	SavePoint

 

I solved mine like this...
test and tell me if it worked 🙂

thnx

 

now got this i already added the map on castle_db

[Error]: status_calc_mob: No castle set at map job3_arch01

 

Share this post


Link to post
Share on other sites
  • 0
1 minute ago, AinsLord said:

thnx

 

now got this i already added the map on castle_db

[Error]: status_calc_mob: No castle set at map job3_arch01

 

Fix here: https://rathena.org/board/topic/63029-need-help-about-emperium-breaker-script/?do=findComment&comment=99297
You need a guild with the official authorization skill 😛 

 

  • Like 1

Share this post


Link to post
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.

Loading...