Jump to content
  • 0
icegrave01

Hourly reward item

Question

3 answers to this question

Recommended Posts

  • 0
//===== 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 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,{
//--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( [email protected]$, [email protected], [email protected], 0 );
if(@map$ == [email protected]$ && @x == [email protected] && @y == [email protected]) {
set @afk, @afk + 1;
}
//If move timer resets
else {
set @afk, 0;
}
set @map$, [email protected]$; set @x, [email protected]; set @y, [email protected];
//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 [email protected]_amt, 3; //Points to get every hour (default: 10)
getitem 7227,[email protected]_amt;
dispbottom "You received "[email protected]_amt+" TCG by staying ingame for 1 hour";
set @consecutive_hour, @consecutive_hour + 1;
}
//Check for 12 hours consecutive
if(@consecutive_hour == 12) {
set @consecutive_hour,0;
set [email protected]_amt, 50; //Points to get for 12 Consecutive hours (default: 50)
getitem 7227,[email protected]_amt;
dispbottom "You received "[email protected]_amt+" TCG in playing for 12 consecutive hours";
}
stopnpctimer;
initnpctimer;
end;
}
//--End of the Script
  • Upvote 1
Link to comment
Share on other sites

  • 0
17 hours ago, HappyMan said:
//===== 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 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,{
//--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( [email protected]$, [email protected], [email protected], 0 );
if(@map$ == [email protected]$ && @x == [email protected] && @y == [email protected]) {
set @afk, @afk + 1;
}
//If move timer resets
else {
set @afk, 0;
}
set @map$, [email protected]$; set @x, [email protected]; set @y, [email protected];
//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 [email protected]_amt, 3; //Points to get every hour (default: 10)
getitem 7227,[email protected]_amt;
dispbottom "You received "[email protected]_amt+" TCG by staying ingame for 1 hour";
set @consecutive_hour, @consecutive_hour + 1;
}
//Check for 12 hours consecutive
if(@consecutive_hour == 12) {
set @consecutive_hour,0;
set [email protected]_amt, 50; //Points to get for 12 Consecutive hours (default: 50)
getitem 7227,[email protected]_amt;
dispbottom "You received "[email protected]_amt+" TCG in playing for 12 consecutive hours";
}
stopnpctimer;
initnpctimer;
end;
}
//--End of the Script

Thanks man! but how to edit if you are AFK or vending still counting the timer and gets the reward. 

Link to comment
Share on other sites

  • 0
1 hour ago, icegrave01 said:

Thanks man! but how to edit if you are AFK or vending still counting the timer and gets the reward. 

disable this

//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( [email protected]$, [email protected], [email protected], 0 );
//if(@map$ == [email protected]$ && @x == [email protected] && @y == [email protected]) {
//set @afk, @afk + 1;
//}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.