Tonka Posted July 5, 2008 Share 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 Link to comment Share on other sites More sharing options...
AlabamaHit Posted July 5, 2008 Share 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 Link to comment Share on other sites More sharing options...
Tonka Posted July 5, 2008 Author Share Posted July 5, 2008 Re: Education cron thx, it worked perfectly Quote Link to comment Share on other sites More sharing options...
AlabamaHit Posted July 6, 2008 Share Posted July 6, 2008 Re: Education cron No problem glad it helped :wink: Quote Link to comment Share on other sites More sharing options...
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.