Radian

Breaker Room

Recommended Posts

Hey, guys! I've been looking for an updated EMP breaker test room in the forum and i come across with this script.

All credits goes to the real owner of this script which was not included. if you know please do comment it here.

What i did was just edit some message and maybe some errors.


prontera,155,181,5	script	EMP Manager	4_GEFFEN_13,{

// What Map will be used
.Map$ = "job3_arch01";
// How many Top Breaker will be Recorded
.TopRank = 3;
// Message to Inform Players while inside the Room
setarray .Instruction$[0],
			"Please listen here carefully...",
			"This is a emperium breaker test room which is use to test your breaking time.",
			"Players are required to have a guild when entering the room.",
			"If you got everything then let's do this Good luck!!";
[email protected]$ = "[ EMP Manager ]";
			
			
	while(1) {
		mes [email protected]$;
		mes "This is emperium breaker test room you are able to calculate your emperium breaking speed in this room.";
		mes "what do you want to do now?";
		next;
		switch( select( ( getmapusers( .Map$ ) )?"^FF0000Room is not available":"^0000FFRoom is available^000000",
				"Top ^FF0000"+.TopRank+"^000000 Breaker ranking",
				( getgmlevel() < 90 )?"":"^FF0000[GM]^000000 Reset Room",
				( getgmlevel() < 90 )?"":"^FF0000[GM]^000000 Reset Ladder" )){
			case 1:
				mes [email protected]$;
				if( getmapusers( .Map$ ) ){
				mes "There is another player inside it now.";
				next;
				break;
			}
				warp .Map$,0,0;
				killmonster .Map$,"All";
				donpcevent strnpcinfo(0)+"::OnReady";
				end;
			case 2:
				mes [email protected]$;
				mes "Latest record: " + LatestRecord/1000+"."+LatestRecord%1000+" seconds.";
				for( [email protected] = 0; [email protected] < .TopRank; [email protected] ){
					if( !$TopRankTime[[email protected]] ) break;
					mes "Top "+( [email protected] + 1 )+" - ^0000FF"+$TopName$[[email protected]]+"^000000";
					mes "Time taken: ^ED1ADC"+$TopRankTime[[email protected]]/1000+"."+$TopRankTime[[email protected]]%1000+"^000000 sec. ";
				}
				next;
				break;

			case 3:
				mes [email protected]$;
				mapannounce .Map$,"Admin resets the emperium ladder room.",bc_all,0xFFFF00;
				killmonster .Map$,"All";
				sleep 3000;
				mapwarp .Map$,"prontera",155,171;
				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( [email protected] = 0; [email protected] < .TopRank; [email protected] ){
							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( [email protected] = 0; [email protected] < getarraysize( .Instruction$ ); [email protected] ){
		mapannounce .Map$,.Instruction$[[email protected]],bc_map,0xFFFF00;
		sleep 2500;
	}

	for( [email protected] = 5; [email protected] > 0; [email protected] ){
		mapannounce .Map$,"Count Down: " + callfunc("F_InsertPlural",[email protected],"second") + "!",bc_map,0xFFFF00;
		sleep 1000;
	}

	monster .Map$,29,27,"Breaker Test",1288,1,strnpcinfo(0)+"::OnBreaked";
	.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.",bc_map,0xFFFF00;
		sleep 3000;
		mapwarp .Map$,"prontera",156,191;
		stopnpctimer;
		end;

OnBreaked:
	.Time = getnpctimer(0);
	copyarray [email protected]$[0],$TopName$[0],getarraysize( $TopName$ );
	copyarray [email protected][0],$TopRankTime[0],getarraysize( $TopRankTime[0] );
	LatestRecord = .Time;
	for( [email protected] = 0; [email protected] < .TopRank; [email protected] ){
		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)+" has achieved the rank " + ([email protected] + 1) + " in emperium breaking with " + .Time/1000 + "."+.Time%1000+" seconds.",bc_all,0xFFFF00;
			break;
			}
		}
	stopnpctimer;
	announce "Current time taken " + .Time/1000 + "." + .Time%1000 + " seconds",bc_self,0xFFFF00;
	sleep 5000;
	mapwarp .Map$,"prontera",156,191;
	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

also for this script to fully work.

you need to add this in your rathena/db/castle_db.txt

69,job3_arch01,Emperium Test Breaker Room,EMP Manager#OnBreaked

If something came up let me know, and i will try my best to fix it.

  • Upvote 1
  • Like 1

Share this post


Link to post
Share on other sites

Hi @Radian can you add a baracade npc where you can test your speed on destroying barricade.? in additional you can summon 5 different barricade formations

 

or something like a npc where you can test  your speed and damage by breaking a guardian stone.

Share this post


Link to post
Share on other sites
20 hours ago, Quesooo said:

Hi @Radian can you add a baracade npc where you can test your speed on destroying barricade.? in additional you can summon 5 different barricade formations

 

or something like a npc where you can test  your speed and damage by breaking a guardian stone.

I think you can duplicated the main script and change the monster id into the barricade id. but dont add the castle.txt anymore.

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
Reply to this topic...

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