//===== Hourly Points Script =========================================
//===== By: ==========================================================
//= nostafu
//===== 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.
//====================================================================
- script hourlypoints -1,{
//--Start of the Script
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;
}
//If move timer resets
else {
set @afk, 0;
}
set @map$, .@map$; set @x, .@x; set @y, .@y;
//Idle Check for 5 Minutes
if(@afk == 10) {
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, 1; //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, 10; //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;
}
//--End of the Script
I want to ask, how to prevent stop run this script when idle for 5 minutes.
I want to change it to if the player is online-ing, but not with @at and @afk command will keep obtain the point.
Question
casteryee
I want to ask, how to prevent stop run this script when idle for 5 minutes.
I want to change it to if the player is online-ing, but not with @at and @afk command will keep obtain the point.
Link to comment
Share on other sites
10 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.