Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //===== EinherjarRO Scripts ==================================
- //= Daily Prize
- //===== By: ==================================================
- //= Stolao
- //===== Current Version: =====================================
- //= 1.13
- //===== Compatible With: =====================================
- //= rAthena SVN
- //===== Description: =========================================
- //= Events that happen when a player logs in
- //===== Comments: ============================================
- //= N/A
- //===== Additional Comments: =================================
- //= 1.00 Daily Prize
- //= 1.01 Fixed Typo
- //= 1.02 Removed unessisary calculation
- //= 1.03 Added a sleep2 for delayed reward
- //= 1.04 Added dispbottom
- //= 1.05 Made Clearer
- //= 1.06 Made Disbutton Dynamic
- //= 1.07 Added .RewardQnt for configable Reward Quantity
- //= 1.08 Fixed Typo
- //= 1.09 Seperated .ZMulti into .Mode and .ZMulti
- //= 1.0A Changed zeny formula for .Mode 0
- //= 1.0B Changed Variable Names, More detailed exsplanations
- //= 1.0C Fixed typo again lol
- //= 1.0D Added in .PointType$, can now configure zeny into any point types
- //= 1.0E Added LoginCount
- //= 1.0F Made LoginCount Customisable
- //= 1.10 Changed Variable Names, More detailed exsplanations
- //= 1.11 Added Wipe feature
- //= 1.12 Fixed bug, changed "close;" to "close2;"
- //= 1.13 Changed .LogCount to bitwise
- //===== Contact Ifo: =========================================
- //= [Stolao]
- //= Email: Taingram11@gmail.com
- //============================================================
- - script LOGIN -1,{
- OnPCLoginEvent:
- if(.LogCount){
- if(.LogCount & 1) set LOGINCOUNT,LOGINCOUNT+1;
- if(.LogCount & 2) set #LOGINCOUNT,#LOGINCOUNT+1;
- if(.LogCount & 4) set $LOGINCOUNT,$LOGINCOUNT+1;
- if( ( LOGINCOUNT + #LOGINCOUNT + $LOGINCOUNT )%.Reminder[1] == 0|| (LOGINCOUNT + #LOGINCOUNT) < .Reminder[0] ){
- Mes "~Welcome to "+.Servername$+"~";
- Mes .Message$;
- close2;
- }
- }
- if(.Wipe){
- if(LOGINCOUNT)set LOGINCOUNT,0;
- if(#LOGINCOUNT)set #LOGINCOUNT,0;
- if($LOGINCOUNT)set $LOGINCOUNT,0;
- }
- if(.DailyPrize){
- set .@i,((gettime(7))*365*24)+(gettime(8)*24)+gettime(3);
- sleep2 .Rest*60000;
- if(.@i > (#LastDailyReward + .MinWait)){
- if(.@i < #LastDailyReward + .MaxWait){
- set #DRewardCon,#DRewardCon+1;
- } else {
- set #DRewardCon,0;
- }
- if(#DRewardCon > getarraysize(.RewardID)-1){
- set .@p,.RewardID[getarraysize(.RewardID)-1];
- set .@q,.RewardQnt[getarraysize(RewardQnt)-1];
- } else {
- set .@p,.RewardID[#DRewardCon];
- set .@q,.RewardQnt[#DRewardCon];
- }
- if(.Mode){
- getitem .@p,.@q;
- setd ""+.PointType$+"",getd(""+.PointType$+"")+#DRewardCon*.ZMulti;
- set .@DT$,""+.@q+" "+getitemname(.@p)+" and "+#DRewardCon*.ZMulti+" "+.PointType$+"";
- } else {
- if(.@p){
- getitem .@p,.@q;
- set .@DT$,""+.@q+" "+getitemname(.@p)+"";
- } else {
- setd ""+.PointType$+"",getd(""+.PointType$+"")+#DRewardCon*.ZMulti+.@q;
- set .@DT$,""+#DRewardCon*.ZMulti+.@q+" "+.PointType$+"";
- }
- }
- set #LastDailyReward,.@i;
- dispbottom "You have collected your daily reward, for "+#DRewardCon+" days in a row, of "+.@DT$+"~";
- }
- }
- end;
- OnInit:
- //Login Count and Message
- set .LogCount,0; //Toggle
- //Value is a bit field, 1: Character 2: Account 4: Server
- // eg: 5 = Character + Server
- set .Wipe,0; //Toggle
- //1 = Enables wipe of login variables on login
- // Suggest setting setting .LogCount to 0 before doing this
- setarray .Reminder[0],3,100; //[0]Will recive welcome message this many times when joining server,
- // if account login is disables it will work of character logins
- //[1]How often to recive reminder meessage on login,
- // base of all 3 login counts
- set .Servername$,"Server"; //Your Server Name
- //Login Message
- set .Message$,"Before playing, make sure you've read the rules, located in our forum at ^0000FF~TBA~^000000";
- //Daily Prize
- set .DailyPrize,1; //Toggle
- //0 = Off
- //1 = On
- set .Rest,0; //Number of mins after logging before collecting prize
- //60 = Hour
- set .MinWait,22; //Minimum Hours Between Collecting Daily Reward
- //24 = Day (suggest 22/23 for a little leway)
- //168 = Week
- set .MaxWait,50; //Hours Before Lose Consecutive Daily Reward
- //Should be at least 24 higher then .MinWait
- //48-50 is good for Daily
- //336 is good for a Weekly
- set .PointType$,"Zeny"; //Type of Points/Zeny earned
- //eg: CASHPOINTS, Zeny, LoginPoints
- set .Mode,1; //Toggle
- //0 = Gain Zeny Only When ID = 0
- //1 = Gain Zeny Every Loging regardless of prize ID
- set .ZMulti,100; //Consecutive Day Zeny Multiplier
- //This will not effect the first login
- //This will continue to increae past 128 days
- setarray .RewardID[0], //Daily Prize for each by day (min of [0] max of [127])
- //if players login longer then last set day they keep getting last prize
- //if .Mode is 0 and .RewardID for that consecutive day is 0 Players will get Zeny Instead of an item
- 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 0-9
- 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 10-19
- 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 20-29
- 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 30-39
- 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 40-49
- 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 50-59
- 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 60-69
- 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 70-79
- 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 80-89
- 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 90-99
- 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 100-109
- 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, //Days 110-119
- 909, 909, 909, 909, 909, 909, 909, 909; //Days 120-127
- setarray .RewardQnt[0], //Daily Prize Quantity for each by day (min of [0] max of [127])
- //if .Mode is 0 and .RewardID for that consecutive day is 0, this much zeny ontop of consecutive days zeny calculator
- 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 0-9
- 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 10-19
- 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 20-29
- 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 30-39
- 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 40-49
- 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 50-59
- 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 60-69
- 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 70-79
- 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 80-89
- 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 90-99
- 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 100-109
- 01, 1, 2, 3, 4, 5, 6, 7, 8, 9, //Days 110-119
- 01, 2, 3, 4, 5, 6, 7; //Days 120-127
- end;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement