Jump to content
  • 0

Emperium Breaking Room help


Rojen

Question


  • Group:  Members
  • Topic Count:  4
  • Topics Per Day:  0.00
  • Content Count:  9
  • Reputation:   0
  • Joined:  05/22/18
  • Last Seen:  

I got this script here in Rathena also. and I tried it on my server. What I want to happen is:

1.) I can use skills while inside the emperium room.

And there is one problem with the ladder. For example
" Top 1: 1.5 Second "
and I tried once again to enter with slower time. and there results were..
" Top 1: 1.5 Second "
" Top 2: 3 Seconds "
" Top 3: 1.5 Second "
it duplicates the top 1 record. and also when I got a record between top 1 and top 2 like "2.3 Seconds" It will be like this.
" Top 1: 1.5 Second "
" Top 2: 2.3 Seconds "
" Top 3: 1.5 Second "
It overwrites the top 2 record which is "Top 2: 3 Seconds". It is also the same with Top 1 Record. For example I got "1.2 Seconds". It will be like this.
" Top 1: 1.2 Seconds "
" Top 2: 2.3 Seconds "
" Top 3: 1.5 Second "
where it should be like this:
" Top 1: 1.2 Seconds "
" Top 2: 1.5 Seconds "
" Top 3: 2.3 Seconds "
 

prontera,140,177,5	script	Emperium Breaker	1288,{
// What Map will be used
set .Map$,"job3_arch01";
// How many Top Breaker will be Recorded
set .TopRank,3;
// Message to Inform Players while inside the Room
setarray .Instruction$[0],
			"You need a guild to be able to hit the Emperium, create one with the Emperium i have you if you don't have any. Please read carefully.",
			"This room is to test how quick you can break an Emperium.",
			"So get prepared, the Emperium will spawn in a few seconds.",
			"When you enter there, you rill recieve Butterfly Wings so you can return when you finish, be prepared.";
			
			
while( 1 ){
mes "Emperium Breaker Room to test how quick you destroy it.";
mes "You can compare too the records of other players.";
mes "";
mes "^ED1ADC***** Note: You must be in a GUILD for you to break the Emperium Inside! *****";
next;
switch( select( ( getmapusers( .Map$ ) )?"^FF0000No available":"^0000FFAvailable^000000",
				"Top ^FF0000"+.TopRank+"^000000 Record",
				( getgmlevel() < 90 )?"":"^FF0000[GM]^000000 Reset Room",
				( getgmlevel() < 90 )?"":"^FF0000[GM]^000000 Reset Ladder" )){
Case 1:
	if( getmapusers( .Map$ ) ){
		mes "There is another player, please wait until the player ends.";
		next;
		break;
		}
	warp .Map$,0,0;
	getitem 714,1; // Emperium if they don't have a guild they can easly create one and test on the Emperium Room
	killmonster .Map$,"All";
//	removemapflag .Map$,mf_noskill;
	donpcevent strnpcinfo(0)+"::OnReady";
	end;
Case 2:
	for( set .@i,0; .@i < .TopRank; set .@i,.@i + 1 ){
		if( !$TopRankTime[.@i] ) break;
		mes "^FF0000Top "+( .@i + 1 )+" : ^0000FF"+$TopName$[.@i]+" ";
		mes "^FF0000Time : ^ED1ADC[ "+$TopRankTime[.@i]/1000+"."+$TopRankTime[.@i]%1000+" Sec. ]^000000 ";
	}
	next;
	break;

Case 3:
	mapannounce .Map$,"El GM reinicio los record del Emperium Breaker.",0,0x00FF00;
	killmonster .Map$,"All";
	mapwarp .Map$,"prontera",155,178;
	mes "All rooms have resetted.";
	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:
for( set .@i,0; .@i < getarraysize( .Instruction$ ); set .@i,.@i + 1 ){
	mapannounce .Map$,.Instruction$[.@i],0,0x00FF00;
	}
for( set .@i,5; .@i > 0; set .@i,.@i - 1 ){
	mapannounce .Map$," : "+.@i+" seconds left.",0,0x00FF00;
	}
//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;
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;
	mapwarp .Map$,"prontera",155,178;
	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)+" ] Got the Ranking "+( .@i + 1 )+" on the Emperium Breaker Room with a record of "+.Time/1000+"."+.Time%1000+" seconds !!!",bc_all,0xED1ADC;
			break;
			}
		}
	stopnpctimer;
	announce "Time tooked : "+.Time/1000+"."+.Time%1000+" Seconds. ",bc_self,0xED1ADC;
//	removemapflag .Map$,mf_noskill;
	mapwarp .Map$,"prontera",155,178; //here is the place of the npc
	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

 

Edited by Rojen
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  4
  • Topics Per Day:  0.00
  • Content Count:  9
  • Reputation:   0
  • Joined:  05/22/18
  • Last Seen:  

help plsss

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  8
  • Topics Per Day:  0.00
  • Content Count:  21
  • Reputation:   0
  • Joined:  02/11/19
  • Last Seen:  

I have the same problem ...

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