viewing paste Hourly Points v1.3 | 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 64 65 66 67 68 69 70 71
//===== eAthena Script =======================================
//= Hourly Points
//===== By: ==========================================================
//= GorthexTiger / Nibi
//===== Current Version: =============================================
//= 1.3
//===== Compatible With: =============================================
//= Any eAthena Version
//===== Description: =================================================
//= Get Points every successful hours of gameplay, you cannot get
//= the points even if you miss a second or a minute. A player will
//= get a very big bonus if they played 12 hours consecutively
//= or without logging out of the game. If the player is vending
//= the script will then stop.
//===== Additional Comments: =========================================
//= You can modify the script to your liking.
//= The default points is Kafrapoints change it anyway if you like.
//= 1.1 = Check Chatting too
//= 1.2 = 5 Minute Idle Check & @at/@autotrade check.
//= 1.3 = Corrected the current balance line on 12 Hours Consecutive
//====================================================================
 
-   script  hourlypoints    -1,{
OnPCLoginEvent:
    attachnpctimer ""+strcharinfo(0)+"";
    initnpctimer;
    end;
 
OnTimer30000:
//Check if Vending (normal or @at)
    if(checkvending() >= 1 || checkchatting() == 1) {
        dispbottom "The hourly points event stopped because you were vending / chatting. Please relog if you wish to start again.";
        stopnpctimer;
        end;
    }
//Check if Idle
    getmapxy( .@map$, .@x, .@y, 0 );
    if(@map$ == .@map$ && @x == .@x && @y == .@y) set @afk, @afk + 1;
    else set @afk, 0;
    set @map$, .@map$; set @x, .@x; set @y, .@y;
//Idle Check for 5 Minutes
    if(@afk == 5) {
        dispbottom "The hourly points event stopped because you were idle for 5 minutes. Please relog if you wish to start again.";
        stopnpctimer;
        end;
    }
    end;
 
OnTimer60000:
    set @minute, @minute + 1;
//Check for 1 Minute
    if(@minute == 60){
        set @minute,0;
        set .@point_amt, 10; //Points to get every hour (default: 10)
        set #KAFRAPOINTS, #KAFRAPOINTS + .@point_amt;
        dispbottom "You received "+.@point_amt+" Kafrapoints by staying ingame for 1 hour";
        dispbottom "Current Balance = "+#KAFRAPOINTS+" Kafrapoints";
        set @consecutive_hour, @consecutive_hour + 1;
    }
//Check for 12 hours consecutive
    if(@consecutive_hour == 12) {
        set @consecutive_hour,0;
        set .@cpoint_amt, 50; //Points to get for 12 Consecutive hours (default: 50)
        set #KAFRAPOINTS, #KAFRAPOINTS + .@cpoint_amt;
        dispbottom "You receive "+.@cpoint_amt+" Kafrapoints in playing for 12 consecutive hours";
        dispbottom "Current Balance = "+#KAFRAPOINTS+" Kafrapoints";
    }
    stopnpctimer;
    initnpctimer;
    end;
}
Viewed 804 times, submitted by Guest.