Jump to content
  • 0

Help with this Emp Breaker Test room


AinsLord

Question


  • Group:  Members
  • Topic Count:  257
  • Topics Per Day:  0.08
  • Content Count:  737
  • Reputation:   18
  • Joined:  11/21/15
  • Last Seen:  

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

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 1

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

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:
	sleep 3000;
	for( set .@i,0; .@i < getarraysize( .Instruction$ ); set .@i,.@i + 1 ){
		mapannounce .Map$,.Instruction$[.@i],0,0x00FF00;
		sleep 2500;
	}
	for( set .@i,5; .@i > 0; set .@i,.@i - 1 ){
		mapannounce .Map$,"Count Down : "+.@i+" 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$,"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

 

  • Upvote 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  12
  • Topics Per Day:  0.01
  • Content Count:  235
  • Reputation:   63
  • Joined:  04/29/19
  • Last Seen:  

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 .@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";
	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 .@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:
sleep 3000;
for( set .@i,0; .@i < getarraysize( .Instruction$ ); set .@i,.@i + 1 ){
	mapannounce .Map$,.Instruction$[.@i],0,0x00FF00;
	sleep 2500;
	}
for( set .@i,5; .@i > 0; set .@i,.@i - 1 ){
	mapannounce .Map$,"Count Down : "+.@i+" 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 .@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;
	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 ?

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  257
  • Topics Per Day:  0.08
  • Content Count:  737
  • Reputation:   18
  • Joined:  11/21/15
  • Last Seen:  

On 11/10/2019 at 11:21 AM, 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 .@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";
	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 .@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:
sleep 3000;
for( set .@i,0; .@i < getarraysize( .Instruction$ ); set .@i,.@i + 1 ){
	mapannounce .Map$,.Instruction$[.@i],0,0x00FF00;
	sleep 2500;
	}
for( set .@i,5; .@i > 0; set .@i,.@i - 1 ){
	mapannounce .Map$,"Count Down : "+.@i+" 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 .@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;
	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

still have it

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  12
  • Topics Per Day:  0.01
  • Content Count:  235
  • Reputation:   63
  • Joined:  04/29/19
  • Last Seen:  

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
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  37
  • Reputation:   0
  • Joined:  09/26/19
  • Last Seen:  

@Gladius @AinsLord There's an error when trying to reset the room via GM. 

Capture1.PNG

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  123
  • Topics Per Day:  0.05
  • Content Count:  478
  • Reputation:   14
  • Joined:  11/30/17
  • Last Seen:  

On 11/19/2019 at 12:16 AM, CenturyGothic said:

@Gladius @AinsLord There's an error when trying to reset the room via GM. 

Capture1.PNG

same here care to share the fix?

 

prontera,143,143,4	script	Emperium Breaker	4_M_ACROSS,{

// 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";
	sleep 3000;
	mapwarp .map$,"prontera",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 .@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:
sleep 3000;
for( set .@i,0; .@i < getarraysize( .Instruction$ ); set .@i,.@i + 1 ){
	mapannounce .Map$,.Instruction$[.@i],0,0x00FF00;
	sleep 2500;
	}
for( set .@i,5; .@i > 0; set .@i,.@i - 1 ){
	mapannounce .Map$,"Count Down : "+.@i+" 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$,"prontera",0,0;
	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;
	sleep 5000;
	mapwarp .map$,"prontera",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

im using this by Sir Emistry

when i try to reset the room i got error

[Error]: buildin_mes: fatal error ! player not attached!

[debug]: Function: mes (1 parameter):

[debug]: Data: String value="Done Reset. and player who are inside are warped out."

[debug]: Source(NPC): Emperium Breaker at prontera (143,143)

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  218
  • Reputation:   152
  • Joined:  11/28/11
  • Last Seen:  

On 4/9/2021 at 11:34 AM, kalabasa said:

same here care to share the fix?

 

prontera,143,143,4	script	Emperium Breaker	4_M_ACROSS,{

// 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";
	sleep 3000;
	mapwarp .map$,"prontera",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 .@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:
sleep 3000;
for( set .@i,0; .@i < getarraysize( .Instruction$ ); set .@i,.@i + 1 ){
	mapannounce .Map$,.Instruction$[.@i],0,0x00FF00;
	sleep 2500;
	}
for( set .@i,5; .@i > 0; set .@i,.@i - 1 ){
	mapannounce .Map$,"Count Down : "+.@i+" 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$,"prontera",0,0;
	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;
	sleep 5000;
	mapwarp .map$,"prontera",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

im using this by Sir Emistry

when i try to reset the room i got error

[Error]: buildin_mes: fatal error ! player not attached!

[debug]: Function: mes (1 parameter):

[debug]: Data: String value="Done Reset. and player who are inside are warped out."

[debug]: Source(NPC): Emperium Breaker at prontera (143,143)

try this :

emper.txt

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  21
  • Topics Per Day:  0.02
  • Content Count:  120
  • Reputation:   0
  • Joined:  09/02/20
  • Last Seen:  

On 4/2/2022 at 6:42 AM, Slammer said:

I got this error

356.jpg

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