dnkip2 Posted October 4, 2016 Group: Members Topic Count: 2 Topics Per Day: 0.00 Content Count: 5 Reputation: 0 Joined: 09/17/16 Last Seen: November 3, 2016 Share Posted October 4, 2016 I have a afk script, but it gives me point in 20 mins instead of 30 mins. anyone can refigure it out? - script hourlypoints FAKE_NPC,{ OnInit: announce "[30 Minutes Points System]: The system have been reloaded, please relog again to get more points.", bc_all; .point_name$ = "Free Cash"; .point_amt = 1; // Normal points gained. .dlimit = 43200; // Stop points if afk greater then in seconds. 600s = 10 minutes .enable = 1; .level = 0; .online_time = 1800; // One hour = 3600 seconds bindatcmd "ht", "hourlypoints::OnAtcommand", 0, 100; end; OnPCLoginEvent: if (BaseLevel >= .level) { #idle = 0; @backup_time = 0; if (!#acctick || #acctick > .online_time) #acctick = gettimetick(2) + .online_time; else #acctick += gettimetick(2); while(.enable) { @idle_time = checkidle(); if (checkvending() >= 1 || checkchatting() == 1 || @idle_time >= .dlimit) { #acctick += @idle_time; // Add idle time #idle = 1; dispbottom "The 30 minutes points event haulted because you were vending, chatting, or idle."; dispbottom "Please relog again."; } else { sleep2 1000; @backup_time = .@time_left = #acctick - gettimetick(2); if (.@time_left <= 0) { #CASHPOINTS += .point_amt; #acctick = gettimetick(2) + .online_time; dispbottom "Gained " + .point_amt + " " + .point_name$ + ". Total " + #CASHPOINTS + " Free Cash."; } else { .@time_left = .online_time - .@time_left; .@Time$ = ""; .@Minutes = .@time_left / 60; .@time_left -= (.@Minutes * 60); if (.@Minutes > 1) .@Time$ += .@Minutes + " minutes, "; else if (.@Minutes > 0) .@Time$ += .@Minutes + " minute, "; if (.@time_left > 1 || .@time_left == 0) .@Time$ += .@time_left + " seconds"; else if (.@time_left == 1) .@Time$ += .@time_left + " second"; if (.@Minutes == 15 && .@time_left == 0 || .@Minutes == 30 && .@time_left == 0 || .@Minutes == 45 && .@time_left == 0) dispbottom "You spend a total of [" + .@Time$ + "] playing."; } } if (#idle) break; } } end; OnPCLogoutEvent: // BackUP online time if (BaseLevel >= .level) { if (@backup_time) #acctick = @backup_time; } end; OnAtcommand: if (BaseLevel >= .level) { if (#idle) { .@Time$ = ""; .@Minutes = @idle_time / 60; .@time_left = @idle_time - (.@Minutes * 60); if (.@Minutes > 1) .@Time$ += .@Minutes + " minutes, "; else if (.@Minutes > 0) .@Time$ += .@Minutes + " minute, "; if (.@time_left > 1 || .@time_left == 0) .@Time$ += .@time_left + " seconds"; else if (.@time_left == 1) .@Time$ += .@time_left + " second"; dispbottom "You been idle for " + .@Time$ + ". Please relog again."; } else { .@time_left = @backup_time; .@Time$ = ""; .@Minutes = .@time_left / 60; .@time_left -= (.@Minutes * 60); if (.@Minutes > 1) .@Time$ += .@Minutes + " minutes, "; else if (.@Minutes > 0) .@Time$ += .@Minutes + " minute, "; if (.@time_left > 1 || .@time_left == 0) .@Time$ += .@time_left + " seconds"; else if (.@time_left == 1) .@Time$ += .@time_left + " second"; dispbottom "You have [" + .@Time$ + "] left in able to gain a cash points."; } } end; } Quote Link to comment Share on other sites More sharing options...
0 _Okuz_ Posted October 7, 2016 Group: Members Topic Count: 0 Topics Per Day: 0 Content Count: 92 Reputation: 17 Joined: 08/11/12 Last Seen: August 30, 2017 Share Posted October 7, 2016 Hello dnkip2, how are you buddy!?It seems that your script is giving you points on 15 minutes, 30 minutes and 45 minutes you have played. Can you please confirm this information!? Besides that, you can remove some checks in order to make it work as you expect. if (.@Minutes >= 30 && .@time_left == 0) dispbottom "You spend a total of [" + .@Time$ + "] playing."; Now I think your players will be noticed if they play 30 minutes or more.Thanks! Quote Link to comment Share on other sites More sharing options...
Question
dnkip2
I have a afk script, but it gives me point in 20 mins instead of 30 mins.
anyone can refigure it out?
Link to comment
Share on other sites
1 answer 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.