Advertisement
johnlol

ROTD v3

Aug 2nd, 2023
875
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VeriLog 5.30 KB | Gaming | 0 0
  1. prontera,164,175,4  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
Add Comment
Please, Sign In to add comment
Advertisement