kingdkknox Posted June 21, 2010 Share Posted June 21, 2010 Okay this the deal I have an issue with my docrime.php as you can see I added a restriction that requires users to get certain stats before they can get exp to level up. IT was working fine until users got the required stats now they cant beat any crimes they go straight to jail or just fail. Even the simplest one which i tried with the best property I have. Pleas anyone have suggestions or any help. I'm a noob so I could of forgot to change something or whatever. $macropage="docrime.php?c={$_GET['c']}";include "globals.php";$stats= $ir['level']*5000 ;$tstats= $ir['strength']+$ir['guard']+$ir['agility'] ;$estats= ($ir['level']*5000)-($ir['agility']+$ir['guard']+$ir['strength']) ; if($ir['jail'] or $ir['hospital']) { print "This page cannot be accessed while in jail or hospital."; $h->endpage(); exit; }$_GET['c']=abs((int) $_GET['c']);if(!$_GET['c']){print "Invalid crime";}else{$q=mysql_query("SELECT * FROM crimes WHERE crimeID={$_GET['c']}",$c);$r=mysql_fetch_array($q);if($ir['brave'] < $r['crimeBRAVE']){print " .style1 { color: #FF0000;} You do not have enough Brave to perform this crime. ";}else{$ec="\$sucrate=".str_replace(array("LEVEL","CRIMEXP","EXP","WILL","IQ"), array($ir['level'], $ir['crimexp'], $ir['exp'], $ir['will'], $ir['IQ']),$r['crimePERCFORM']).";";eval($ec);print $r['crimeITEXT'];$ir['brave']-=$r['crimeBRAVE'];mysql_query("UPDATE users SET brave={$ir['brave']} WHERE userid=$userid",$c);if(rand(1,100) <= $sucrate && ($ir['strength']+$ir['guard']+$ir['agility']) < ($ir['level']*5000) && $ir['level'] > 2){print str_replace("{money}",$r['crimeSUCCESSMUNY'],$r['crimeSTEXT']);print " You will not recieve exp till you bring your stats up! You need $stats total of the following three stats right now you have... {$ir['strength']} strength, {$ir['guard']} guard, {$ir['agility']} agility Total= $tstats You need $estats more total";$ir['money']+=$r['crimeSUCCESSMUNY'];$ir['crystals']+=$r['crimeSUCCESSCRYS'];$ir['exp']+=(int) ($r['crimeSUCCESSMUNY']/8);mysql_query("UPDATE users SET money={$ir['money']}, crystals={$ir['crystals']} WHERE userid=$userid",$c);if($r['crimeSUCCESSITEM']){ item_add($userid, $r['crimeSUCCESSITEM'], 1);}} if(rand(1,100) <= $sucrate && ($ir['strength']+$ir['guard']+$ir['agility']) >= ($ir['level']*5000) && $ir['level'] < 3){print str_replace("{money}",$r['crimeSUCCESSMUNY'],$r['crimeSTEXT']);$ir['money']+=$r['crimeSUCCESSMUNY'];$ir['crystals']+=$r['crimeSUCCESSCRYS'];$ir['exp']+=(int) ($r['crimeSUCCESSMUNY']/8);mysql_query("UPDATE users SET money={$ir['money']}, crystals={$ir['crystals']}, exp={$ir['exp']},crimexp=crimexp+{$r['crimeXP']} WHERE userid=$userid",$c);if($r['crimeSUCCESSITEM']){ item_add($userid, $r['crimeSUCCESSITEM'], 1);}}else{if(rand(1, 2) == 1){print $r['crimeFTEXT'];}else{ print $r['crimeJTEXT']; $db->query("UPDATE `users` SET `jail` = '$r[crimeJAILTIME]', `jail_reason` = '$r[crimeJREASON]' WHERE `userid` = '$userid'");}} print " Try Again Crimes Gym";}} $h->endpage();?> Quote Link to comment Share on other sites More sharing options...
Curt Posted June 22, 2010 Share Posted June 22, 2010 First off i would highly recommend not bunching the code all together like it is. i think you may simply need an else case..but i did not test this so it may not be the problem.. give it a try and let me know :) <?php $macropage="docrime.php?c={$_GET['c']}"; include "globals.php"; $stats= $ir['level']*5000 ; $tstats= $ir['strength']+$ir['guard']+$ir['agility'] ; $estats= ($ir['level']*5000)-($ir['agility']+$ir['guard']+$ir['strength']) ; if($ir['jail'] or $ir['hospital']) { print "This page cannot be accessed while in jail or hospital."; $h->endpage(); exit; } $_GET['c']=abs((int) $_GET['c']); if(!$_GET['c']){print "Invalid crime";} else { $q=mysql_query("SELECT * FROM crimes WHERE crimeID={$_GET['c']}",$c); $r=mysql_fetch_array($q); if($ir['brave'] < $r['crimeBRAVE']){ print ".style1 {color: #FF0000;} You do not have enough Brave to perform this crime."; } else { $ec="\$sucrate=".str_replace(array("LEVEL","CRIMEXP","EXP","WILL","IQ"), array($ir['level'], $ir['crimexp'], $ir['exp'], $ir['will'], $ir['IQ']),$r['crimePERCFORM']).";";eval($ec); print $r['crimeITEXT'];$ir['brave']-=$r['crimeBRAVE']; mysql_query("UPDATE users SET brave={$ir['brave']} WHERE userid=$userid",$c); if(rand(1,100) <= $sucrate && ($ir['strength']+$ir['guard']+$ir['agility']) < ($ir['level']*5000) && $ir['level'] > 2) { print str_replace("{money}",$r['crimeSUCCESSMUNY'],$r['crimeSTEXT']); print "You will not recieve exp till you bring your stats up! You need $stats total of the following three stats right now you have... {$ir['strength']} strength, {$ir['guard']} guard, {$ir['agility']} agility Total= $tstats You need $estats more total";$ir['money']+=$r['crimeSUCCESSMUNY'];$ir['crystals']+=$r['crimeSUCCESSCRYS'];$ir['exp']+=(int) ($r['crimeSUCCESSMUNY']/8); mysql_query("UPDATE users SET money={$ir['money']}, crystals={$ir['crystals']} WHERE userid=$userid",$c); if($r['crimeSUCCESSITEM']){ item_add($userid, $r['crimeSUCCESSITEM'], 1); } } else if(rand(1,100) <= $sucrate && ($ir['strength']+$ir['guard']+$ir['agility']) >= ($ir['level']*5000) && $ir['level'] < 3) { print str_replace("{money}",$r['crimeSUCCESSMUNY'],$r['crimeSTEXT']); $ir['money']+=$r['crimeSUCCESSMUNY']; $ir['crystals']+=$r['crimeSUCCESSCRYS']; $ir['exp']+=(int) ($r['crimeSUCCESSMUNY']/8); mysql_query("UPDATE users SET money={$ir['money']}, crystals={$ir['crystals']}, exp={$ir['exp']},crimexp=crimexp+{$r['crimeXP']} WHERE userid=$userid",$c); if($r['crimeSUCCESSITEM']){ item_add($userid, $r['crimeSUCCESSITEM'], 1);} } else { if(rand(1, 2) == 1){ print $r['crimeFTEXT']; } else { print $r['crimeJTEXT']; $db->query("UPDATE `users` SET `jail` = '$r[crimeJAILTIME]', `jail_reason` = '$r[crimeJREASON]' WHERE `userid` = '$userid'"); } } print " Try Again Crimes Gym"; } } $h->endpage(); ?> 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.