Advertisement
Emistry

[RO] Floating Rate - Equip

Sep 10th, 2018
602
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.67 KB | None | 0 0
  1. // https://rathena.org/board/topic/106916-customized-floating-rates/
  2.  
  3.  
  4. prontera,155,181,5 script Floating Rate 757,{
  5. doevent "floating_rate_main::OnTalk";
  6. }
  7.  
  8.  
  9. - script floating_rate_main -1,{
  10.  
  11. OnInit:
  12. .setting_cost_1 = 10000000;
  13. .setting_duration_1 = 86400;
  14. setarray .setting_1$,"";
  15.  
  16. .setting_cost_2 = 20000000;
  17. .setting_duration_2 = 86400;
  18. setarray .setting_2$,"";
  19.  
  20. // original rates
  21. .item_rate_equip = getbattleflag("item_rate_equip");
  22. .item_rate_equip_boss = getbattleflag("item_rate_equip_boss");
  23. .item_rate_equip_mvp = getbattleflag("item_rate_equip_mvp");
  24.  
  25. .npc_name_target$ = "Floating Rate";
  26. .npc_name$ = strnpcinfo(3);
  27. initnpctimer;
  28.  
  29. .@gettimetick = gettimetick(2);
  30. if ($setting_duration_1 > 0 && $setting_duration_1 < .@gettimetick) {
  31. setbattleflag("item_rate_equip", (.item_rate_equip * 2));
  32. hideonnpc .npc_name_target$;
  33. }
  34. if ($setting_duration_2 > 0 && $setting_duration_2 < .@gettimetick) {
  35. setbattleflag("item_rate_equip_boss", (.item_rate_equip_boss * 2));
  36. setbattleflag("item_rate_equip_mvp", (.item_rate_equip_mvp * 2));
  37. hideonnpc .npc_name_target$;
  38. }
  39. end;
  40.  
  41. OnTalk:
  42. mes "X2 The EQUIP DROP RATE";
  43. mes "Cost: "+F_InsertComma(.setting_cost_1)+" Zeny";
  44. mes "Current: "+F_InsertComma($setting_cost_1)+" Zeny";
  45. mes " ";
  46. mes "X2 THE MVP EQUIP DROPRATE";
  47. mes "Cost: "+F_InsertComma(.setting_cost_2)+" Zeny";
  48. mes "Current: "+F_InsertComma($setting_cost_2)+" Zeny";
  49. next;
  50. .@mode = select(
  51. "X2 The EQUIP DROP RATE",
  52. "X2 THE MVP EQUIP DROPRATE",
  53. "BOTH"
  54. );
  55. if (.@mode & 1) {
  56. // normal equip
  57. .@total_cost += (.setting_cost_1 - $setting_cost_1);
  58. }
  59. if (.@mode & 2) {
  60. // mvp equip
  61. .@total_cost += (.setting_cost_2 - $setting_cost_2);
  62. }
  63.  
  64. if (Zeny >= .@cost && .@cost > 0) {
  65. if (select("Donate Zeny", "Cancel") == 1) {
  66. mes "You need "+F_InsertComma(.@total_cost)+" Zeny to active the event.";
  67. input .@donation,0,.@total_cost;
  68. if (.@donation) {
  69. if (.@donation > Zeny)
  70. .@donation = Zeny;
  71. Zeny -= .@donation;
  72. mes "Thank you, you have donated "+F_InsertComma(.@donation)+" Zeny";
  73. if (.@mode == 1) {
  74. $setting_cost_1 += .@donation;
  75. }
  76. else if (.@mode == 2) {
  77. $setting_cost_2 += .@donation;
  78. }
  79. else {
  80. $setting_cost_1 += (.@donation / 2);
  81. $setting_cost_2 += (.@donation / 2);
  82. }
  83. donpcevent .npc_name$+"::OnCheckDonation";
  84. }
  85. }
  86. }
  87. close;
  88.  
  89. OnCheckDonation:
  90. .@gettimetick = gettimetick(2);
  91. if ($setting_cost_1 >= .setting_cost_1) {
  92. $setting_cost_1 = 0;
  93. $setting_duration_1 = .@gettimetick + .setting_duration_1;
  94. setbattleflag("item_rate_equip", (.item_rate_equip * 2));
  95. }
  96. if ($setting_cost_2 >= .setting_cost_2) {
  97. $setting_cost_2 = 0;
  98. $setting_duration_2 = .@gettimetick + .setting_duration_2;
  99. setbattleflag("item_rate_equip_boss", (.item_rate_equip_boss * 2));
  100. setbattleflag("item_rate_equip_mvp", (.item_rate_equip_mvp * 2));
  101. }
  102. end;
  103.  
  104. OnTimer60000:
  105. .@gettimetick = gettimetick(2);
  106. if ($setting_duration_1 > 0 && $setting_duration_1 < .@gettimetick) {
  107. $setting_duration_1 = 0;
  108. setbattleflag("item_rate_equip", .item_rate_equip);
  109. }
  110. if ($setting_duration_2 > 0 && $setting_duration_2 < .@gettimetick) {
  111. $setting_duration_2 = 0;
  112. setbattleflag("item_rate_equip_boss", .item_rate_equip_boss);
  113. setbattleflag("item_rate_equip_mvp", .item_rate_equip_mvp);
  114. }
  115.  
  116. if (($setting_duration_1 > 0 && $setting_duration_1 < .@gettimetick)
  117. || ($setting_duration_1 > 0 && $setting_duration_1 < .@gettimetick))
  118. hideonnpc .npc_name_target$;
  119.  
  120. initnpctimer;
  121. end;
  122.  
  123.  
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement