Advertisement
akbare

daily reward

Jan 10th, 2013
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.24 KB | None | 0 0
  1. //===== EinherjarRO Scripts ==================================
  2. //= Daily Prize
  3. //===== By: ==================================================
  4. //= Stolao
  5. //===== Current Version: =====================================
  6. //= 1.13
  7. //===== Compatible With: =====================================
  8. //= rAthena SVN
  9. //===== Description: =========================================
  10. //= Events that happen when a player logs in
  11. //===== Comments: ============================================
  12. //= N/A
  13. //===== Additional Comments: =================================
  14. //= 1.00 Daily Prize
  15. //= 1.01 Fixed Typo
  16. //= 1.02 Removed unessisary calculation
  17. //= 1.03 Added a sleep2 for delayed reward
  18. //= 1.04 Added dispbottom
  19. //= 1.05 Made Clearer
  20. //= 1.06 Made Disbutton Dynamic
  21. //= 1.07 Added .RewardQnt for configable Reward Quantity
  22. //= 1.08 Fixed Typo
  23. //= 1.09 Seperated .ZMulti into .Mode and .ZMulti
  24. //= 1.0A Changed zeny formula for .Mode 0
  25. //= 1.0B Changed Variable Names, More detailed exsplanations
  26. //= 1.0C Fixed typo again lol
  27. //= 1.0D Added in .PointType$, can now configure zeny into any point types
  28. //= 1.0E Added LoginCount
  29. //= 1.0F Made LoginCount Customisable
  30. //= 1.10 Changed Variable Names, More detailed exsplanations
  31. //= 1.11 Added Wipe feature
  32. //= 1.12 Fixed bug, changed "close;" to "close2;"
  33. //= 1.13 Changed .LogCount to bitwise
  34. //===== Contact Ifo: =========================================
  35. //= [Stolao]
  36. //= Email: Taingram11@gmail.com
  37. //============================================================
  38. - script LOGIN -1,{
  39. OnPCLoginEvent:
  40. if(.LogCount){
  41. if(.LogCount & 1) set LOGINCOUNT,LOGINCOUNT+1;
  42. if(.LogCount & 2) set #LOGINCOUNT,#LOGINCOUNT+1;
  43. if(.LogCount & 4) set $LOGINCOUNT,$LOGINCOUNT+1;
  44. if( ( LOGINCOUNT + #LOGINCOUNT + $LOGINCOUNT )%.Reminder[1] == 0|| (LOGINCOUNT + #LOGINCOUNT) < .Reminder[0] ){
  45. Mes "~Welcome to "+.Servername$+"~";
  46. Mes .Message$;
  47. close2;
  48. }
  49. }
  50. if(.Wipe){
  51. if(LOGINCOUNT)set LOGINCOUNT,0;
  52. if(#LOGINCOUNT)set #LOGINCOUNT,0;
  53. if($LOGINCOUNT)set $LOGINCOUNT,0;
  54. }
  55. if(.DailyPrize){
  56. set .@i,((gettime(7))*365*24)+(gettime(8)*24)+gettime(3);
  57. sleep2 .Rest*60000;
  58. if(.@i > (#LastDailyReward + .MinWait)){
  59. if(.@i < #LastDailyReward + .MaxWait){
  60. set #DRewardCon,#DRewardCon+1;
  61. } else {
  62. set #DRewardCon,0;
  63. }
  64. if(#DRewardCon > getarraysize(.RewardID)-1){
  65. set .@p,.RewardID[getarraysize(.RewardID)-1];
  66. set .@q,.RewardQnt[getarraysize(RewardQnt)-1];
  67. } else {
  68. set .@p,.RewardID[#DRewardCon];
  69. set .@q,.RewardQnt[#DRewardCon];
  70. }
  71. if(.Mode){
  72. getitem .@p,.@q;
  73. setd ""+.PointType$+"",getd(""+.PointType$+"")+#DRewardCon*.ZMulti;
  74. set .@DT$,""+.@q+" "+getitemname(.@p)+" and "+#DRewardCon*.ZMulti+" "+.PointType$+"";
  75. } else {
  76. if(.@p){
  77. getitem .@p,.@q;
  78. set .@DT$,""+.@q+" "+getitemname(.@p)+"";
  79. } else {
  80. setd ""+.PointType$+"",getd(""+.PointType$+"")+#DRewardCon*.ZMulti+.@q;
  81. set .@DT$,""+#DRewardCon*.ZMulti+.@q+" "+.PointType$+"";
  82. }
  83. }
  84. set #LastDailyReward,.@i;
  85. dispbottom "You have collected your daily reward, for "+#DRewardCon+" days in a row, of "+.@DT$+"~";
  86. }
  87. }
  88. end;
  89. OnInit:
  90. //Login Count and Message
  91. set .LogCount,0; //Toggle
  92. //Value is a bit field, 1: Character 2: Account 4: Server
  93. // eg: 5 = Character + Server
  94. set .Wipe,0; //Toggle
  95. //1 = Enables wipe of login variables on login
  96. // Suggest setting setting .LogCount to 0 before doing this
  97. setarray .Reminder[0],3,100; //[0]Will recive welcome message this many times when joining server,
  98. // if account login is disables it will work of character logins
  99. //[1]How often to recive reminder meessage on login,
  100. // base of all 3 login counts
  101.  
  102. set .Servername$,"Server"; //Your Server Name
  103. //Login Message
  104. set .Message$,"Before playing, make sure you've read the rules, located in our forum at ^0000FF~TBA~^000000";
  105.  
  106.  
  107.  
  108. //Daily Prize
  109. set .DailyPrize,1; //Toggle
  110. //0 = Off
  111. //1 = On
  112. set .Rest,0; //Number of mins after logging before collecting prize
  113. //60 = Hour
  114. set .MinWait,22; //Minimum Hours Between Collecting Daily Reward
  115. //24 = Day (suggest 22/23 for a little leway)
  116. //168 = Week
  117. set .MaxWait,50; //Hours Before Lose Consecutive Daily Reward
  118. //Should be at least 24 higher then .MinWait
  119. //48-50 is good for Daily
  120. //336 is good for a Weekly
  121. set .PointType$,"Zeny"; //Type of Points/Zeny earned
  122. //eg: CASHPOINTS, Zeny, LoginPoints
  123. set .Mode,1; //Toggle
  124. //0 = Gain Zeny Only When ID = 0
  125. //1 = Gain Zeny Every Loging regardless of prize ID
  126. set .ZMulti,100; //Consecutive Day Zeny Multiplier
  127. //This will not effect the first login
  128. //This will continue to increae past 128 days
  129. setarray .RewardID[0], //Daily Prize for each by day (min of [0] max of [127])
  130. //if players login longer then last set day they keep getting last prize
  131. //if .Mode is 0 and .RewardID for that consecutive day is 0 Players will get Zeny Instead of an item
  132. 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 0-9
  133. 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 10-19
  134. 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 20-29
  135. 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 30-39
  136. 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 40-49
  137. 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 50-59
  138. 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 60-69
  139. 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 70-79
  140. 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 80-89
  141. 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 90-99
  142. 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 100-109
  143. 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 110-119
  144. 909, 909, 909, 909, 909, 909, 909, 909; //Days 120-127
  145. setarray .RewardQnt[0], //Daily Prize Quantity for each by day (min of [0] max of [127])
  146. //if .Mode is 0 and .RewardID for that consecutive day is 0, this much zeny ontop of consecutive days zeny calculator
  147. 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 0-9
  148. 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 10-19
  149. 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 20-29
  150. 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 30-39
  151. 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 40-49
  152. 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 50-59
  153. 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 60-69
  154. 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 70-79
  155. 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 80-89
  156. 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 90-99
  157. 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 100-109
  158. 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 110-119
  159. 01, 2, 3, 4, 5, 6, 7; //Days 120-127
  160. end;
  161. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement