Tonka Posted July 5, 2008 Posted July 5, 2008 My education days keep going into negative days, i've tried to fix it but i'm not sure how to fix it <?php include "REMOVED"; global $_CONFIG; if($_GET['code'] != $_CONFIG['code']) { die(""); } define("MONO_ON", 1); require "REMOVED"; $db=new database; $db->configure($_CONFIG['hostname'], $_CONFIG['username'], $_CONFIG['password'], $_CONFIG['database'], $_CONFIG['persistent']); $db->connect(); $c=$db->connection_id; $db->query("UPDATE users SET cdays=cdays-1 WHERE course > 0"); $q=$db->query("SELECT * FROM users WHERE cdays < 0 AND course > 0"); while($r=$db->fetch_row($q)) { $cd=$db->query("SELECT * FROM courses WHERE crID={$r['course']}"); $coud=$db->fetch_row($cd); $userid=$r['userid']; $db->query("INSERT INTO coursesdone VALUES({$r['userid']},{$r['course']})"); $upd=""; $ev=""; if($coud['crSTR'] > 0) { $upd.=",us.strength=us.strength+{$coud['crSTR']}"; $ev.=", {$coud['crSTR']} strength"; } if($coud['crGUARD'] > 0) { $upd.=",us.guard=us.guard+{$coud['crGUARD']}"; $ev.=", {$coud['crGUARD']} guard"; } if($coud['crLABOUR'] > 0) { $upd.=",us.labour=us.labour+{$coud['crLABOUR']}"; $ev.=", {$coud['crLABOUR']} labour"; } if($coud['crAGIL'] > 0) { $upd.=",us.agility=us.agility+{$coud['crAGIL']}"; $ev.=", {$coud['crAGIL']} agility"; } if($coud['crIQ'] > 0) { $upd.=",us.IQ=us.IQ+{$coud['crIQ']}"; $ev.=", {$coud['crIQ']} IQ"; } $ev=substr($ev,1); if ($upd) { $db->query("UPDATE users u LEFT JOIN userstats us ON u.userid=us.userid SET us.userid=us.userid $upd WHERE u.userid=$userid"); } $db->query("INSERT INTO events VALUES('',$userid,unix_timestamp(),0,'Congratulations, you completed the {$coud['crNAME']} and gained $ev!')"); } $db->query("UPDATE users SET course=0 WHERE cdays=0"); $db->disconnect(); ?> Quote
AlabamaHit Posted July 5, 2008 Posted July 5, 2008 Re: Education cron Theres a couple ways to do this with just the quick look over I did... One is this.... in your page find $db->query("UPDATE users SET cdays=cdays-1 WHERE course > 0"); change it to this $db->query("UPDATE users SET cdays=cdays-1 WHERE course > 0 AND cdays > 0"); or instead of changing to that you can add this below that line i said find.. $db->query("UPDATE users SET cdays=0 WHERE cdays < 0"); Either way should fix that for you. Good luck hope this helps. Quote
Tonka Posted July 5, 2008 Author Posted July 5, 2008 Re: Education cron thx, it worked perfectly Quote
AlabamaHit Posted July 6, 2008 Posted July 6, 2008 Re: Education cron No problem glad it helped :wink: Quote
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.