viewing paste Unknown #21004 | Athena

Posted on the
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
//======Name========================================
// Daily Login Rewards
//======Version=====================================
// 1.1
// Author: Sandbox. Winterfox
//======Comments====================================
// Updated outdated Synta
// Made slight optimizations
// Added a delay of 3 hours before the player is
// able to claim his reward and only if he has
// not been idle longer than 5 minutes in this
// time frame.
//==================================================
 
-       script  DailyLoginRewards       -1,{
        OnInit:
                setarray .D_Prize, 501, 502, 503, 607, 608; //Set to desired item prizes
                setarray .D_Amt, 1, 2, 3, 2, 1; //Amount of prize to be given
                .Serv_Name$ = "Your Server"; //Set to your server name
        end;
        OnPCLoginEvent:
                // Start a timer after 1 minute to sum up idle time
                addtimer( 60000, strnpcinfo(3 )+ "::IdleCheck" );
                // Start a timer to clam the daily reward after 3 hours
                addtimer( 10800000, strnpcinfo(3) + "::StartClaim" );
        end;
        IdleCheck:
                // Add the current idle time to the idle time counter.
                #idleTime += checkidle();
                // Set a new timer to recheck after 1 minute.
                addtimer( 60000,  strnpcinfo(3) + "::IdleCheck" );
        end;
        StartClaim:
                // If the idle time was less more than 5 minutes in the last 3 hours, end the script before doing anything.
                if( #idleTime < 300 ) end;
                if( gettimetick(2) < #ClaimDelay ) end;
                if( gettimetick(2) > #StreakDelay )  #LogStreak = 0;
               
                if( #RewardStreak == 0 )
                        dispbottom("Welcome to " + .Serv_Name$ + "! You've received " + .D_Amt[#RewardStreak] + " " + getitemname( .D_Prize[#RewardStreak] )+" for logging in! Visit us daily to get more prize! When you've managed to play with us for 5 consecutive days, you will receive bonus prizes!");
 
                if( #RewardStreak > 0 )
                        dispbottom("Welcome back to " + .Serv_Name$ + "! You've received " + .D_Amt[#RewardStreak] + " " + getitemname( .D_Prize[#RewardStreak] ) + " for logging in! Visit us daily to get more prize! When you've managed to play with us for 5 consecutive days, you will receive bonus prizes!");
 
                getitem( .D_Prize[#RewardStreak], .D_Amt[#RewardStreak]);
                #RewardStreak += 1;
                #LogStreak += 1;
                #ClaimDelay = gettimetick(2) + 86400;
                #StreakDelay = gettimetick(2) + 172800;
 
                if(#LogStreak >= 4) {
                        for( .@i = 0; .@i < 4; set .@i, .@i++ )
                                getitem(.D_Prize[.@i],.D_Amt[.@i]);
 
                        dispbottom( "Congratulations! You've received all the daily rewards for logging in 5 consecutive days!" );
                        #LogStreak = 0;
                }
        end;
        OnPCLogoutEvent:
                // Reset idle time on logout.
                #idleTime = 0;
        end;
}
Viewed 380 times, submitted by unknown.