Emistry

ROTD v3

Sep 20th, 2011
561
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.31 KB | None | 0 0
  1. prontera,155,181,5 script ROTD 436,{
  2. while(1){
  3.  
  4. mes "^FF0000ROTD^000000 refer to ^0000FFRace of the Day^000000";
  5. mes "In another word, it mean that the ^FF0000Monster's Race^000000 that you killed by day will grant you ^FF0000Extra Bonus EXP / Item / Zeny ^000000.";
  6. next;
  7. mes "[ ^FF0000Today's ROTD^000000 ] = ^0000FF"+.ROTD$[.Race]+"^000000 Race";
  8. mes "^FF0000_____________________________^000000";
  9. mes "Bonus Lists :";
  10. mes "^FF0000@^000000 EXP = ^0000FF"+( ( !.BonusEXP )?"No":.BonusEXP+" %" )+"^000000 EXP Bonus";
  11. mes "^FF0000@^000000 Zeny = ^0000FF"+( ( !.BonusZeny )?"No":.BonusZeny )+"^000000 Zeny";
  12. mes "^FF0000@^000000 Item = ^0000FF"+( ( !.BonusItemAmount )?"No Items":.BonusItemAmount+" x "+getitemname( .BonusItem ) )+"^000000";
  13. if( .BonusItemAmount ){
  14. mes "^FF0000@^000000 Rate = ^0000FF"+.BonusRate+"^000000 %";
  15. mes "^FF0000_____________________________^000000";
  16. mes "The Amount of Bonus Reward is given ^FF0000Randomly^000000 at a fixed Rate.";
  17. }
  18. next;
  19. switch(select("^4EEE94ROTD Information^000000",
  20. "^0000FFSet a New Monster's Race^000000",
  21. ( getgmlevel() < 80 )?"":"^FF0000[GM]^000000Set EXP Bonus",
  22. ( getgmlevel() < 80 )?"":"^FF0000[GM]^000000Set Item / Zeny Bonus")){
  23.  
  24. Case 1:
  25. mes "Today's ROTD has choosen ^0000FF"+.ROTD$[.Race]+"^000000 Race , which will grant you some ^FF0000Extra Bonus EXP^000000.";
  26. mes "The amount of ^FF0000EXP Bonus^000000 are ^0000FF"+.BonusEXP+" %^000000.";
  27. next;
  28. mes "For ^0000FFParty Members^000000 , they will only receive ^FF0000Bonus EXP^000000 if they didnt killed any monster.";
  29. mes "Besides, they have to stay in the ^FF0000Same Map^000000 in order to get the ^FF0000EXP Bonus^000000.";
  30. next;
  31. break;
  32.  
  33. Case 2:
  34. mes "Choose ^FF0000Randomly / Manually^000000 ?";
  35. for( set .@i,0; .@i < getarraysize( .ROTD$ ); set .@i,.@i+1 ){
  36. mes "[ ^FF0000"+.@i+"^000000. ] ^0000FF"+.ROTD$[.@i]+"^000000 Race";
  37. }
  38. message strcharinfo(0),"Input the Number. Choose Random if you want it Randomise a Race for you.";
  39. input .Race,0,getarraysize( .ROTD$ )-1;
  40. next;
  41. if( .Race == getarraysize( .ROTD$ )-1 ){
  42. set .Race,rand( getarraysize( .ROTD$ )-1 );
  43. }
  44. mes "[ ^FF0000ROTD Update^000000 ]";
  45. mes "[ ^FF0000Updated^000000 ] = ^0000FF"+.ROTD$[.Race]+"^000000 Race";
  46. mes "[ ^FF0000Bonus EXP^000000 ] = Extra ^0000FF"+.BonusEXP+"^000000 %";
  47. announce "[ ROTD ] : New Race : "+.ROTD$[.Race]+" with Bonus EXP of "+.BonusEXP+" % ",bc_blue;
  48. delwaitingroom;
  49. waitingroom "[ROTD]:"+.ROTD$[.Race]+" ",0;
  50. next;
  51. break;
  52.  
  53. Case 3:
  54. mes "Set ^FF0000Random EXP / Manually^000000";
  55. mes "Input 0 for ^0000FFRandom Bonus EXP Rate^000000";
  56. mes "Input ^FF0000RATE^000000 for ^0000FFManual Bonus EXP Rate^000000";
  57. mes "^FF0000EXP Range^000000 : 1% ~ 100%";
  58. mes "Current Rate = [ ^0000FF"+.BonusEXP+"^000000 % ]";
  59. input .BonusEXP,0,100;
  60. if( .BonusEXP == 0 ){
  61. set .BonusEXP,rand( 1,100 );
  62. }
  63. next;
  64. mes "The New EXP Rate is [ ^0000FF"+.BonusEXP+"^000000 % ]";
  65. announce "[ ROTD ] : New Race : "+.ROTD$[.Race]+" with Bonus EXP of "+.BonusEXP+" % ",bc_blue;
  66. next;
  67. break;
  68.  
  69. Case 4:
  70. mes "You may set a ^FF0000 Item / Zeny Bonus^000000 for the ^0000FFROTD^000000.";
  71. mes "This will work when you have killed a ^FF0000ROTD's Monster^000000, there will be a chances for Player to gain the ^FF0000Item / Zeny^000000.";
  72. next;
  73. mes "Input the ^FF0000Zeny Bonus^000000";
  74. message strcharinfo(0),"You may input 0 to disable it. [ Use it Wisely ]";
  75. input .BonusZeny;;
  76. mes "Input the ^FF0000Item ID^000000";
  77. do{
  78. input .BonusItem,0,32767;
  79. }while( getitemname( .BonusItem ) == "null" );
  80. mes "Input the ^FF0000Item Bonus Amount^000000";
  81. mes "Range of Amount = 0 ~ 30,000";
  82. message strcharinfo(0),"You may input 0 to disable it. [ Use it Wisely ]";
  83. input .BonusItemAmount,0,30000;
  84. next;
  85. mes "^FF0000Rate^000000 to get it ??";
  86. mes "^FF0000100 = 100%^000000";
  87. mes "^FF0000 10 = 10%^000000";
  88. mes "^FF0000 1 = 1%^000000";
  89. mes "^FF0000 0 = DISABLED^000000";
  90. input .BonusRate,0,100;
  91. next;
  92. mes "[ ^FF0000ROTD Update^000000 ]";
  93. mes "^0000FFZeny Bonus^000000 : "+.BonusZeny+" Zeny";
  94. mes "^0000FFItem Bonus^000000 : "+.BonusItemAmount+" x "+getitemname( .BonusItem );
  95. mes "^0000FFItem Rate^000000 : "+.BonusRate+" %";
  96. next;
  97. break;
  98. }
  99. }
  100. close;
  101.  
  102. OnInit:
  103. OnClock0000:
  104. setarray .ROTD$[0],
  105. "Formless",
  106. "Undead",
  107. "Brute",
  108. "Plant",
  109. "Insect",
  110. "Fish",
  111. "Demon",
  112. "Demi-Human",
  113. "Angel",
  114. "Dragon",
  115. "Random";
  116.  
  117. set .Race,rand( 10 );
  118. set .BonusEXP,rand( 1,100 );
  119. set .ExpLvlRange,10;
  120. delwaitingroom;
  121. waitingroom "[ROTD]:"+.ROTD$[.Race]+" ",0;
  122. end;
  123.  
  124. OnNPCKillEvent:
  125. if( getmonsterinfo( killedrid,19 ) != .Race )end;
  126. set .@Location$,strcharinfo(3);
  127. set .BaseLvl,BaseLevel;
  128. getpartymember getcharid(1),1;
  129. getpartymember getcharid(1),2;
  130. for ( set .@a, 0; .@a < .partymembercount; set .@a, .@a +1 ){
  131. if ( isloggedin( .partymemberaid[.@a] ) ){
  132. attachrid( .partymemberaid[.@a] );
  133. if( strcharinfo(3) == .@Location$ && ( .BaseLel - BaseLevel ) <= .ExpLvlRange ){
  134. getexp ( getmonsterinfo( killedrid,3 ) * .BonusEXP / 100 ),( getmonsterinfo( killedrid,4 ) * .BonusEXP / 100 );
  135. }
  136. }
  137. }
  138. if( rand(100) <= .BonusRate && .BonusItemAmount ){
  139. getitem .BonusItem,rand( 1,.BonusItemAmount );
  140. }
  141. if( rand(100) <= .BonusRate && .BonusZeny ){
  142. set Zeny,Zeny + rand( 1,.BonusZeny );
  143. }
  144. end;
  145. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment