AirVine-X Poring
Posts : 62 Join date : 25/02/2013
| Subject: Daily Login Reward Sun Mar 31, 2013 1:31 am | |
| ciri-ciri: penuh Customizable Boleh Tetapkan Bilangan Waktu Antara Hadiah Masuk dan Kehilangan Hadiah Berturut-turut, Buat Jam, Hari, Minggu atau Bulan Boleh Tetapkan Ganjaran Zeny dan Multiplier Hadiah berturut-turut sehingga kepada 64 Ganjaran Termasuk Kaunter Masuk, untuk Akaun Watak dan / atau Server, Menyahboleh secara lalai - Quote :
- - script LOGIN -1,{
OnWhisperGlobal: if (getgmlevel() < 99 || @whispervar0$ != "wipe") end; //bindcmnd here query_sql("DELETE FROM `global_reg_value` WHERE `str` = 'LOGINCOUNT'"); query_sql("DELETE FROM `global_reg_value` WHERE `str` = '#LOGINCOUNT'"); set $LOGINCOUNT,0; set .@self, getcharid(3); set .@size, query_sql "select account_id from `char` where online = 1", .@aid; for(set .@i,0; .@i<.@size; set .@i,.@i+1) { if(attachrid(.@aid[.@i])){ set LOGINCOUNT,0; set #LOGINCOUNT,0; } } attachrid(.@self); dispbottom "Cleared all login count data."; end; 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) < .Reminder ){ Mes "~Welcome to "+.Servername$+"~"; Mes .Message$; close2; } } if(.DailyPrize){ if( #DRewardCon == 0 ) set #DRewardCon,1; set .@i,((gettime(7))*365*24)+(gettime(8)*24)+gettime(3); set .@g,getarraysize(.Rewards); sleep2 .Rest*60000; if(.@i >= (#LastDailyReward + .MinWait)){ if(.@i < #LastDailyReward + .MaxWait){ set #DRewardCon,#DRewardCon+1; } else { set #DRewardCon,1; } if(#DRewardCon*2 > .@g-1){ set .@p,.Rewards[.@g-2]; set .@q,.Rewards[.@g-1]; } else { set .@p,.Rewards[#DRewardCon*2-2]; set .@q,.Rewards[#DRewardCon*2-1]; } if(.Mode){ if(.@p) getitem .@p,.@q; setd .PointType$,getd(.PointType$)+#DRewardCon*.ZMulti; set .@DT$,""+((.@p)?.@q+" "+getitemname(.@p)+" and ":"")+#DRewardCon*.ZMulti+" "+.PointType$+""; } else { if(.@p){ getitem .@p,.@q; set .@DT$,""+.@q+" "+getitemname(.@p)+""; } else { setd .PointType$,getd(.PointType$)+.@q; set .@DT$,""+.@q+" "+.PointType$+""; } } set #LastDailyReward,.@i; dispbottom "You have collected your daily reward, for "+#DRewardCon+" days in a row, of "+.@DT$+"~"; } else { dispbottom "You have "+(#LastDailyReward + .MinWait-.@i)+" hours till your next reward"; } } end; OnInit: // ----------------------------------------------------------- // Login Count & Welcome Message // -----------------------------------------------------------
// Login types to track. // 1: Character | 2: Account | 4: Server // (a bit value, e.g. 5 = character + server) set .LogCount,0;
// Number of logins to display welcome message. set .Reminder,3;
// Server name to display. set .Servername$,"Server";
// Login message set .Message$,"Before playing, make sure you've read the rules, located in our forum at ^0000FF~TBA~^000000";
// ----------------------------------------------------------- // Daily Reward // -----------------------------------------------------------
//Daily Prize //Toggle ATAU - Quote :
- - 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; } | |
|