Jump to content
  • 0

More rooms in emp test


Kurby

Question


  • Group:  Members
  • Topic Count:  37
  • Topics Per Day:  0.01
  • Content Count:  113
  • Reputation:   1
  • Joined:  07/15/12
  • Last Seen:  

Could anyone help me out with this? I'd like this

prt_are01 46,150

as a 2nd room?

I'm using this script:

crystilia,87,95,5    script    Emperium Break Test    1288,{

// What Map will be used
set .Map$,"prt_are01";
// How many Top Breaker will be Recorded
set .TopRank,5;
// 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$,222,75;
   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$,"crystilia",69,79;
   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$,"GO!",0,0x00FF00;
setmapflag .Map$,mf_noskill;
monster .Map$,224,75,"Break Me!",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$,"aev_fild",143,169;
   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$, .Maps,"crystilia",69,79;
   end;
}

prt_are01    mapflag    nocommand    50
prt_are01    mapflag    gvg    on
prt_are01    mapflag    gvg_castle
prt_are01    mapflag    monster_noteleport
prt_are01    mapflag    nosave    SavePoint

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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