Advertisement
Emistry

Emperium Breaker v1

Dec 23rd, 2011
420
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.22 KB | None | 0 0
  1.  
  2. prontera,155,181,5 script Emperium Breaker 1288,{
  3.  
  4. // What Map will be used
  5. set .Map$,"job3_arch01";
  6. // How many Top Breaker will be Recorded
  7. set .TopRank,5;
  8. // Message to Inform Players while inside the Room
  9. setarray .Instruction$[0],
  10. "Please Listen here carefully.",
  11. "This is Emperium Breaker Test Room , which is use to test your Breaking Time.",
  12. "Prepare youself...and do your best to Break it...",
  13. "Okay that's All i want to say , get Ready yourself and it will Start Soon.";
  14.  
  15.  
  16. while( 1 ){
  17. mes "This is Emperium Breaker test Room. ";
  18. mes "You are able to calculate your Emperium Breaking Speed in this Room.";
  19. next;
  20. switch( select( ( getmapusers( .Map$ ) )?"^FF0000NOT Available":"^0000FFAvailable^000000",
  21. "Top ^FF0000"+.TopRank+"^000000 Breaker Ladder",
  22. ( getgmlevel() < 90 )?"":"^FF0000[GM]^000000 Reset Room",
  23. ( getgmlevel() < 90 )?"":"^FF0000[GM]^000000 Reset Ladder" )){
  24. Case 1:
  25. if( getmapusers( .Map$ ) ){
  26. mes "There is another player inside it now.";
  27. next;
  28. break;
  29. }
  30. warp .Map$,0,0;
  31. killmonster .Map$,"All";
  32. // removemapflag .Map$,mf_noskill;
  33. donpcevent strnpcinfo(0)+"::OnReady";
  34. end;
  35. Case 2:
  36. mes "^ED1ADCLatest Record^000000 : "+LatestRecord/1000+"."+LatestRecord%1000+" Seconds.";
  37. for( set .@i,0; .@i < .TopRank; set .@i,.@i + 1 ){
  38. if( !$TopRankTime[.@i] ) break;
  39. mes "^FF0000Top "+( .@i + 1 )+" : ^0000FF"+$TopName$[.@i]+" ";
  40. mes "^FF0000Time Taken : ^ED1ADC[ "+$TopRankTime[.@i]/1000+"."+$TopRankTime[.@i]%1000+" Sec. ]^000000 ";
  41. }
  42. next;
  43. break;
  44.  
  45. Case 3:
  46. mapannounce .Map$,"A GM has RESET the Breaker Test Room.",0,0x00FF00;
  47. killmonster .Map$,"All";
  48. sleep2 3000;
  49. mapwarp .Map$,"prontera",155,171;
  50. mes "Done Reset. and Player who are inside are warped out.";
  51. next;
  52. break;
  53. Case 4:
  54. switch( select( "^0000FFAll Player^000000:^FF0000One Player^000000" ) ){
  55. Case 1:
  56. deletearray $TopRankTime[0],getarraysize( $TopRankTime );
  57. deletearray $TopName$[0],getarraysize( $TopName$ );
  58. mes "RESETED WHOLE LADDER.";
  59. break;
  60. Case 2:
  61. mes "Please input the ^FF0000EXACT NAME^000000 of player you want to delete.";
  62. input .Name$;
  63. for( set .@i,0; .@i < .TopRank; set .@i,.@i + 1 ){
  64. if( .Name$ == $TopName$[.@i] ){
  65. deletearray $TopName$[.@i],1;
  66. deletearray $TopRankTime[.@i],1;
  67. mes "Removed ^FF0000"+.Name$+"^000000 from the List.";
  68. }
  69. }
  70. }
  71. next;
  72. break;
  73. }
  74. }
  75.  
  76. OnReady:
  77. sleep2 3000;
  78. for( set .@i,0; .@i < getarraysize( .Instruction$ ); set .@i,.@i + 1 ){
  79. mapannounce .Map$,.Instruction$[.@i],0,0x00FF00;
  80. sleep2 2500;
  81. }
  82. for( set .@i,5; .@i > 0; set .@i,.@i - 1 ){
  83. mapannounce .Map$,"Count Down : "+.@i+" Seconds.",0,0x00FF00;
  84. sleep2 1000;
  85. }
  86. //mapannounce .Map$,"Hit the Emperium Now and Skills Disabled.",0,0x00FF00;
  87. setmapflag .Map$,mf_noskill;
  88. monster .Map$,29,27,"Breaker Test",1288,1,strnpcinfo(0)+"::OnBreaked";
  89. set .Record,0;
  90. sleep2 500;
  91. initnpctimer;
  92. end;
  93.  
  94. OnTimer600000:
  95. if( !mobcount( .Map$,strnpcinfo(0)+"::OnBreaked" ) ) end;
  96. mapannounce .Map$,"You spent too much time. i think you are AFK , so you are out.",0,0xED1ADC;
  97. sleep2 3000;
  98. mapwarp .Map$,"aev_fild",143,169;
  99. stopnpctimer;
  100. end;
  101.  
  102. OnBreaked:
  103. set .Time,getnpctimer(0);
  104. copyarray .@tempName$[0],$TopName$[0],getarraysize( $TopName$ );
  105. copyarray .@tempRecord[0],$TopRankTime[0],getarraysize( $TopRankTime[0] );
  106. set LatestRecord,.Time;
  107. for( set .@i,0; .@i < .TopRank; set .@i,.@i + 1 ){
  108. if( .Time < $TopRankTime[.@i] || !$TopRankTime[.@i] ){
  109. set $TopRankTime[.@i],.Time;
  110. set $TopName$[.@i],strcharinfo(0);
  111. copyarray $TopRankTime[.@i + 1],.@tempRecord[0],getarraysize( .@tempRecord );
  112. copyarray $TopName$[.@i + 1],.@tempName$[0],getarraysize( .@tempName$ );
  113. announce "[ "+strcharinfo(0)+" ] Achieved Top "+( .@i + 1 )+" in Emperium Breaking with "+.Time/1000+"."+.Time%1000+" Seconds !!!",bc_all,0xED1ADC;
  114. break;
  115. }
  116. }
  117. stopnpctimer;
  118. announce "Current Time Taken : "+.Time/1000+"."+.Time%1000+" Seconds. ",bc_self,0xED1ADC;
  119. // removemapflag .Map$,mf_noskill;
  120. sleep2 5000;
  121. mapwarp .Map$,"aev_fild",143,169;
  122. end;
  123. }
  124.  
  125. job3_arch01 mapflag nocommand 50
  126. job3_arch01 mapflag gvg on
  127. job3_arch01 mapflag gvg_castle
  128. job3_arch01 mapflag monster_noteleport
  129. job3_arch01 mapflag nosave SavePoint
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement