Jump to content
  • 0

Hourly Points Problem


Question

Posted

help with this script Not Giving Hourly points.

//===== 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( .@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 == 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, 1; //Points to get every hour (default: 10)
   set #CASHPOINTS, #CASHPOINTS + .@point_amt;
   dispbottom "You received "+.@point_amt+" Cashpoints by staying ingame for 1 hour";
   dispbottom "Current Balance = "+#CASHPOINTS+" Cashpoints";
   set @consecutive_hour, @consecutive_hour + 1;
   }
//Check for 12 hours consecutive
   if(@consecutive_hour == 12) {
   set @consecutive_hour,0;
   set .@cpoint_amt, 5; //Points to get for 12 Consecutive hours (default: 50)
   set #CASHPOINTS, #CASHPOINTS + .@cpoint_amt;
   dispbottom "You receive "+.@cpoint_amt+" Cashpoints in playing for 12 consecutive hours";
   dispbottom "Current Balance = "+#CASHPOINTS+" Cashpoints";
   }
stopnpctimer;
initnpctimer;
end;

}
//--End of the Script

Recommended Posts

Posted

Here's the script without idle.

 


-    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;
}

OnTimer60000:
set @minute, @minute + 1;
//Check for 1 Minute
if(@minute == 60){
    set @minute,0;
    getitem 7227,1;
    dispbottom "You received 1 "+getitemname( 7227 )+" by staying ingame for 1 hour";
    set @consecutive_hour, @consecutive_hour + 1;
    }
//Check for 12 hours consecutive
    if(@consecutive_hour == 6) {
    set @consecutive_hour,0;
    getitem 7227,1;
    dispbottom "You received 6 "+getitemname( 7227 )+" by staying ingame for consecutive of 6 hour";
    }
stopnpctimer;
initnpctimer;
end;

}

Thanks For This Script Anakid .. i will try this later

Posted

how tho change this from every 1 hour reward to every 10 minute reward?

as well the 12 consecutive hour to 1 hour? thanks

//Check for 1 Minute
if(@minute == 600){
if(@consecutive_hour == 12) { 

 

 

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...