hi need help to my script because is not working properly. it wont give points when you chatting and moving i want to add timer to see the hourly points is working thanks
//===== Hourly Points Script =========================================
//===== By: ==========================================================
//= GorthexTiger modified by Nibi
//===== Current Version: =============================================
//= 1.0
//===== 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 3 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,{
//--Start of the Script
OnPCLoginEvent:
anounce:
dispbottom "The hourly points system has started please continue to be online to gain points.";
end;
attachnpctimer ""+strcharinfo(0)+"";
initnpctimer;
end;
OnTimer30000:
//Check if Vending (normal or @at)
if(checkvending() >= 1) {
dispbottom "The hourly points event stopped because you were vending. 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 == 1600000000) {
dispbottom "The hourly points event stopped because you were idle for 5 minutes. Please relog if you wish to start again.";
stopnpctimer;
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 #REWARDPOINTS, #REWARDPOINTS+ .@point_amt;
dispbottom "You received "+.@point_amt+" Rewardpoints by staying ingame for 1 hour";
dispbottom "Current Balance = "+#REWARDPOINTS+" Rewardpoints";
set @consecutive_hour, @consecutive_hour + 1;
}
//Check for 12 hours consecutive
if(@consecutive_hour == 12) {
set @consecutive_hour,0;
set .@cpoint_amt, 20; //Points to get for 12 Consecutive hours (default: 50)
set #REWARDPOINTS, #REWARDPOINTS+ .@cpoint_amt;
dispbottom "You receive "+.@cpoint_amt+" Rewardpoints in playing for 12 consecutive hours";
dispbottom "Current Balance = "+#REWARDPOINTS+" Rewardpoints";
}
stopnpctimer;
initnpctimer;
OnInit:
bindatcmd "rewards",strnpcinfo(3)+"::OnCheck";
end;
OnCheck:
dispbottom "You have " +#REWARDPOINTS+ " Reward points.";
end;
}
//--End of the Script
Question
bigwasanro
hi need help to my script because is not working properly. it wont give points when you chatting and moving i want to add timer to see the hourly points is working thanks
Placed script in codebox.
Link to comment
Share on other sites
5 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.