
Reaction
Members-
Posts
15 -
Joined
-
Last visited
Never
Reaction's Achievements
Newbie (1/14)
0
Reputation
-
Re: Quests!! hmm well i fixed all those little syntax error but for some reason when i do the quest it wont show success/failure correctly, it will just show initial text, or both S and F combined and u get no money/xp for completing that way
-
Re: Quests!! haha well we went from 1 error (which btw danny that $a did fix it) to another error - Parse error: syntax error, unexpected $end in /home/reaction/public_html/ionicdestiny/doquest.php on line 56 ive been googling and reading other forums and they said it could be a misplaced curley bracket, i couldnt find it so i redid the script completely again to match docrime.php (but with quests) and its still giving me the same error :/ any ideas? its the doquests.php btw -- here it is again so u dont have to page back } else { $q=mysql_query("SELECT * FROM quests WHERE questID={$_GET['c']}",$c); $r=mysql_fetch_array($q); if($ir['brave'] < $r['questBRAVE']) { print "You do not have enough Brave to perform this quest."; } else { $ec="\$sucrate=".str_replace(array("LEVEL","questXP","EXP","WILL","IQ"), array($ir['level'], $ir['questxp'], $ir['exp'], $ir['will'], $ir['IQ']),$r['questPERCFORM']).";"; eval($ec); print $r['questITEXT']; $ir['brave']-=$r['questBRAVE']; mysql_query("UPDATE users SET brave={$ir['brave']} WHERE userid=$userid",$c); if(rand(1,100) <= $sucrate) { print str_replace("{money}",$r['questSUCCESSMUNY'],$r['questSTEXT']); $ir['money']+=$r['questSUCCESSMUNY']; $ir['crystals']+=$r['questSUCCESSCRYS']; $ir['exp']+=(int) ($r['questSUCCESSMUNY']/8); mysql_query("UPDATE users SET money={$ir['money']}, crystals={$ir['crystals']}, exp={$ir['exp']},questxp=questxp+{$r['questXP']} WHERE userid=$userid",$c); if($r['questSUCCESSITEM']) { $db->query("UPDATE users SET karma = karma + 1 WHERE userid=$userid"); { item_add($userid, $r['questSUCCESSITEM'], 1); } } else { if(rand(1, 2) == 1) { print $r['questFTEXT']; } } print " [url='doquest.php?c={$_GET[']Try Again[/url] [url='criminal.php']quests[/url]"; } } $h->endpage(); ?>
-
Re: Quests!! while($r=$db->fetch_row($q)) { print "<tr><td colspan='3' class='h'>{$r['qgNAME']}</td></tr>"; foreach($quests as $v) <--- line 16 { if($v['questGROUP'] == $r['qgID']) { haha sorry they are pretty much identical
-
Re: Quests!! while($r=$db->fetch_row($q)) { print "<tr><td colspan='3' class='h'>{$r['cgNAME']}</td></tr>"; foreach($crimes as $v) <--- line 16 { if($v['crimeGROUP'] == $r['cgID']) {
-
Re: Quests!! Warning: Invalid argument supplied for foreach() in /home/reaction/public_html/ionicdestiny/quest.php on line 16 --- this is the error im getting for somereason but line 16 is written correctly :/ identical to the criminal.php except it says quests of course :/ any ideas?
-
Re: Good && Evil it should allow players to choose good or evil, and being good or evil be allowed to buy items that correspond if u'd like, good = good items, evil = evil items, u can even take it further and allow good/evil cities, modify it to whatever u'd like really its a versatile mod
-
Re: Quests!! well like i said its just a basic quests works exactly like crimes but no jail time so u can have easy earn xp quests for the players to get through those low lvls a little quicker or whatever u plan, it should pretty pretty easily altered too. and actually if u wanted u could add those into the coding here and have a staff panel for quest creation that does all that for you too!
-
Re: Quests!! Next create your staff_quests.php with this <?php include "sglobals.php"; if($ir['user_level'] > 2) { die("403"); } switch($_GET['action']) { case 'newquest': new_quest_form(); break; case 'newquestsub': new_quest_submit(); break; case 'editquest': edit_quest_begin(); break; case 'editquestform': edit_quest_form(); break; case 'editquestsub': edit_quest_sub(); break; case 'delquest': delquest(); break; case 'newquestgroup': new_questgroup_form(); break; case 'newquestgroupsub': new_questgroup_submit(); break; case 'editquestgroup': edit_questgroup_begin(); break; case 'editquestgroupform': edit_questgroup_form(); break; case 'editquestgroupsub': edit_questgroup_sub(); break; case 'delquestgroup': delquestgroup(); break; case 'reorder': reorder_questgroups(); break; default: print "Error: This script requires an action."; break; } function new_quest_form() { global $ir, $c, $db; print "Adding a new quest. <form action='staff_quests.php?action=newquestsub' method='post'> Name: <input type='text' name='name' /> Brave Cost: <input type='text' name='brave' /> Success % Formula: <input type='text' name='percform' value='((WILL*0.8)/2.5)+(LEVEL/4)' /> Success Money: <input type='text' name='money' /> Success Crystals: <input type='text' name='crys' /> Success Item: ".item2_dropdown($c, 'item')." Group: ".questgroup_dropdown($c,'group')." Initial Text: <textarea rows=4 cols=40 name='itext' /></textarea> Success Text: <textarea rows=4 cols=40 name='stext' /></textarea> Failure Text: <textarea rows=4 cols=40 name='ftext' /></textarea> quest XP Given: <input type='text' name='questxp' /> <input type='submit' value='Create quest' /></form>"; } function new_quest_submit() { global $ir,$c,$userid, $db; if($_POST['itemon'] != "on") { $_POST['item']=0; } $db->query("INSERT INTO quests (questNAME, questBRAVE, questPERCFORM, questSUCCESSMUNY, questSUCCESSCRYS, questSUCCESSITEM, questGROUP, questITEXT, questSTEXT, questFTEXT, questXP) VALUES( '{$_POST['name']}', '{$_POST['brave']}', '{$_POST['percform']}', '{$_POST['money']}', {$_POST['crys']}, {$_POST['item']}, '{$_POST['group']}', '{$_POST['itext']}', '{$_POST['stext']}', '{$_POST['ftext']}', {$_POST['questxp']})"); print "quest created!"; stafflog_add("Created quest {$_POST['name']}"); } function edit_quest_begin() { global $ir,$c,$h,$userid,$db; print "<h3>Editing quest</h3> You can edit any aspect of this quest. <form action='staff_quests.php?action=editquestform' method='post'> quest: ".quest_dropdown($c,'quest')." <input type='submit' value='Edit quest' /></form>"; } function edit_quest_form() { global $ir,$c,$h,$userid,$db; $d=$db->query("SELECT * FROM quests WHERE questID={$_POST['quest']}"); $itemi=$db->fetch_row($d); print "<h3>Editing quest</h3> <form action='staff_quests.php?action=editquestsub' method='post'> <input type='hidden' name='questID' value='{$_POST['quest']}' /> Name: <input type='text' name='questNAME' value='{$itemi['questNAME']}' /> Brave Cost: <input type='text' name='questBRAVE' value='{$itemi['questBRAVE']}' /> Success % Formula: <input type='text' name='questPERCFORM' value='{$itemi['questPERCFORM']}' /> Success Money: <input type='text' name='questSUCCESSMUNY' value='{$itemi['questSUCCESSMUNY']}' /> Success Crystals: <input type='text' name='questSUCCESSCRYS' value='{$itemi['questSUCCESSCRYS']}' /> Success Item: ".item2_dropdown($c, 'questSUCCESSITEM', $itemi['questSUCCESSITEM'])." Group: ".questgroup_dropdown($c,'questGROUP', $itemi['questGROUP'])." Initial Text: <textarea rows=4 cols=40 name='questITEXT' />{$itemi['questITEXT']}'</textarea> Success Text: <textarea rows=4 cols=40 name='questSTEXT' />{$itemi['questSTEXT']}</textarea> Failure Text: <textarea rows=4 cols=40 name='questFTEXT' />{$itemi['questFTEXT']} </textarea> quest XP Given: <input type='text' name='questXP' value='{$itemi['questXP']}' /> <input type='submit' value='Edit quest' /></form>"; } function edit_quest_sub() { global $ir,$c,$h,$userid, $db; $db->query("UPDATE quests SET questNAME='{$_POST['questNAME']}', questBRAVE='{$_POST['questBRAVE']}', questPERCFORM='{$_POST['questPERCFORM']}', questSUCCESSMUNY='{$_POST['questSUCCESSMUNY']}', questSUCCESSCRYS='{$_POST['questSUCCESSCRYS']}', questSUCCESSITEM='{$_POST['questSUCCESSITEM']}', questGROUP='{$_POST['questGROUP']}', questITEXT='{$_POST['questITEXT']}', questSTEXT='{$_POST['questSTEXT']}', questFTEXT='{$_POST['questFTEXT']}', questXP={$_POST['questXP']} WHERE questID={$_POST['questID']}"); print "quest edited..."; stafflog_add("Edited quest {$_POST['questNAME']}"); } function delquest() { global $ir,$c,$h,$userid, $db; switch ($_GET['step']) { default: echo "<h3>Deleting quest</h3> Here you can delete a quest. <form action='staff_quests.php?action=delquest&step=2' method='post'> quest: ".quest_dropdown($c,'quest')." <input type='submit' value='Delete quest' /></form>"; break; case 2: $target = $_POST['quests']; $d=$db->query("SELECT questNAME FROM quests WHERE questID='$target'"); $itemi=$db->fetch_row($d); print "<h3>Confirm</h3> Delete quest - ".$itemi["questNAME"]."? <form action='staff_quests.php?action=delquest&step=3' method='post'> <input type='hidden' name='questID' value='$target' /> <input type='submit' name='yesorno' value='Yes' /> <input type='submit' name='yesorno' value='No' onclick=\"window.location='staff_quests.php?action=delquest';\" /></form>"; break; case 3: $target = $_POST['questID']; if($_POST['yesorno']=='No') { die("quest not deleted. [url='staff_quests.php?action=delquest']>Back to main delete quests page.[/url]"); } if ($_POST['yesorno'] != ("No" || "Yes")) die('Eh'); $d=$db->query("SELECT questNAME FROM quests WHERE questID='$target'"); $itemi=$db->fetch_row($d); $db->query("DELETE FROM quests WHERE questID='$target'"); echo "quest {$itemi['questNAME']} Deleted. [url='staff_quests.php?action=delquest']>Back to main delete quests page.[/url]"; stafflog_add("Deleted quest {$itemi['questNAME']}"); break; } } function new_questgroup_form() { global $ir, $c,$db; print "Adding a new quest group. <form action='staff_quests.php?action=newquestgroupsub' method='post'> Name: <input type='text' name='qgNAME' /> Order Number: <input type='text' name='qgORDER' /> <input type='submit' value='Create quest Group' /></form>"; } function new_questgroup_submit() { global $ir,$c,$userid,$db; if(!isset($_POST['qgNAME']) || !isset($_POST['qgORDER'])) { print "You missed one or more of the required fields. Please go back and try again. [url='staff_quests.php?action=newquestgroup']> Back[/url]"; $h->endpage(); exit; } $db->query("INSERT INTO `questgroups` (`qgNAME`, `qgORDER`) VALUES('{$_POST['qgNAME']}','{$_POST['qgORDER']}')"); print "quest Group created!"; stafflog_add("Created quest Group {$_POST['qgNAME']}"); } function edit_questgroup_begin() { global $ir,$c,$h,$userid,$db; print "<h3>Editing A quest Group</h3> <form action='staff_quests.php?action=editquestgroupform' method='post'> quest Group: ".questgroup_dropdown($c,'questGROUP')." <input type='submit' value='Edit quest Group' /></form>"; } function edit_questgroup_form() { global $ir,$c,$h,$userid,$db; $d=$db->query("SELECT * FROM questgroups WHERE qgID={$_POST['questGROUP']}"); $itemi=$db->fetch_row($d); print "<h3>Editing quest Group</h3> <form action='staff_quests.php?action=editquestgroupsub' method='post'> <input type='hidden' name='qgID' value='{$_POST['questGROUP']}' /> Name: <input type='text' name='qgNAME' value='{$itemi['qgNAME']}' /> Order Number: <input type='text' name='qgORDER' value='{$itemi['qgORDER']}' /> <input type='submit' value='Edit quest Group' /></form>"; } function edit_questgroup_sub() { global $ir,$c,$h,$userid, $db; if(!isset($_POST['qgORDER']) || !isset($_POST['qgNAME'])) { print "You missed one or more of the required fields. Please go back and try again. [url='staff_quests.php?action=editquestgroup']> Back[/url]"; $h->endpage(); exit; } else { $db->query("UPDATE questgroups SET qgNAME='{$_POST['qgNAME']}', qgORDER='{$_POST['qgORDER']}' WHERE qgID='{$_POST['qgID']}'"); print "quest Group edited..."; stafflog_add("Edited quest Group {$_POST['qgNAME']}"); } } function delquestgroup() { global $ir,$c,$h,$userid, $db; switch ($_GET['step']) { default: echo "<h3>Deleting quest Group</h3> <script type='text/javascript'> function checkme() { if(document.theform.questGROUP.value==document.theform.questGROUP2.value) { alert('You cannot select the same quest group to move the quests to.'); return false; } return true; } </script> <form action='staff_quests.php?action=delquestgroup&step=2' method='post' name='theform' onsubmit='return checkme();'> quest Group: ".questgroup_dropdown($c,'questGROUP')." Move quests in deleted group to: ".questgroup_dropdown($c, 'questGROUP2')." <input type='submit' value='Delete quest Group' /></form>"; break; case 2: $target = $_POST['questGROUP']; $target2 = $_POST['questGROUP2']; if($target==$target2) { die("You cannot select the same quest group to move the quests to."); } $d=$db->query("SELECT qgNAME FROM questgroups WHERE qgID='$target'"); $itemi=$db->fetch_row($d); print "<h3>Confirm</h3> Delete quest group - ".$itemi["qgNAME"]."? <form action='staff_quests.php?action=delquestgroup&step=3' method='post'> <input type='hidden' name='qgID' value='$target' /> <input type='hidden' name='qgID2' value='$target2' /> <input type='submit' name='yesorno' value='Yes' /> <input type='submit' name='yesorno' value='No' onclick=\"window.location='staff_quests.php?action=delquestgroup';\" /></form>"; break; case 3: $target = $_POST['qgID']; $target2 = $_POST['qgID2']; if($_POST['yesorno']=='No') { die("quest Group not deleted."); } if ($_POST['yesorno'] != ("No" || "Yes")) die('This shouldnt happen'); $d=$db->query("SELECT qgNAME FROM questgroups WHERE qgID='$target'"); $itemi=$db->fetch_row($d); $db->query("DELETE FROM questgroups WHERE qgID='{$_POST['qgID']}'"); $db->query("UPDATE quests SET questGROUP={$target2} WHERE questGROUP={$target}"); stafflog_add("Deleted quest group {$itemi['qgNAME']}"); echo "quest Group deleted."; break; } } function reorder_questgroups() { global $db,$ir,$c,$h,$userid; if($_POST['submit']) { unset($_POST['submit']); $used=array(); foreach($_POST as $v) { if(in_array($v, $used)) { print "You have used the same order number twice! Go back and try again."; $h->endpage(); exit; } $used[]=$v; } foreach($_POST as $k => $v) { $qg=str_replace("order","", $k); if(is_numeric($qg)) { $db->query("UPDATE questgroups SET qgORDER={$v} WHERE qgID={$qg}"); } } print "quest group order updated!"; stafflog_add("Reordered quest groups"); } else { $q=$db->query("SELECT * FROM questgroups ORDER BY qgORDER ASC, qgID ASC"); $rows=$db->num_rows($q); $i=0; print "<h3>Re-ordering quest Groups</h3><hr /> <table width='80%' cellspacing='1' class='table'> <tr> <th>quest Group</th> <th>Order</th> </tr> <form action='staff_quests.php?action=reorder' method='post'> <input type='hidden' name='submit' value='1' />"; while($r=$db->fetch_row($q)) { $i++; print "<tr> <td>{$r['qgNAME']}</td> <td><select name='order{$r['qgID']}' type='dropdown'>"; for($j=1;$j<=$rows;$j++) { if($j == $i) { print "<option value='{$j}' selected='selected'>{$j}</option>"; } else { print "<option value='{$j}'>{$j}</option>"; } } print "</select></td></tr>"; } print "<tr> <td colspan='2' align='center'><input type='submit' value='Reorder' /></td> </tr></form></table>"; } } function report_clear() { global $db,$ir,$c,$h,$userid; if($ir['user_level'] > 3) { die("403"); } $_GET['ID'] = abs((int) $_GET['ID']); stafflog_add("Cleared player report ID {$_GET['ID']}"); $db->query("DELETE FROM preports WHERE prID={$_GET['ID']}"); print "Report cleared and deleted! [url='staff_users.php?action=reportsview']> Back[/url]"; } $h->endpage(); ?> Now add this to smenu.php wherever u'd like (i placed it just under crimes and above battle tents for organization purposes) <hr />[b]Quests[/b] > [url='staff_quests.php?action=newquest']Create New Quest[/url] > [url='staff_quests.php?action=editquest']Edit Quest[/url] > [url='staff_quests.php?action=delquest']Delete Quest[/url] > [url='staff_quests.php?action=newquestgroup']Create New Quest Group[/url] > [url='staff_quests.php?action=editquestgroup']Edit Quest Group[/url] > [url='staff_quests.php?action=delquestgroup']Delete Quest Group[/url] > [url='staff_quests.php?action=reorder']Reorder Quest Groups[/url] ok almost there guys haha! next part is courtesy of danny, thanks man! place this in your global_func.php i placed it just above the crimes section myself but its up to u function quest_dropdown($connection,$ddname="quests",$selected=-1) { global $db; $ret="<select name='$ddname' type='dropdown'>"; $q=$db->query("SELECT * FROM quests ORDER BY questNAME ASC"); if($selected == -1) { $first=0; } else { $first=1; } while($r=$db->fetch_row($q)) { $ret.="\n<option value='{$r['questID']}'"; if ($selected == $r['questID'] || $first == 0) { $ret.=" selected='selected'";$first=1; } $ret.=">{$r['questNAME']}</option>"; } $ret.="\n</select>"; return $ret; } function questgroup_dropdown($connection,$ddname="questgroup",$selected=-1) { global $db; $ret="<select name='$ddname' type='dropdown'>"; $q=$db->query("SELECT * FROM questgroups ORDER BY qgNAME ASC"); if($selected == -1) { $first=0; } else { $first=1; } while($r=$db->fetch_row($q)) { $ret.="\n<option value='{$r['qgID']}'"; if ($selected == $r['qgID'] || $first == 0) { $ret.=" selected='selected'";$first=1; } $ret.=">{$r['qgNAME']}</option>"; } $ret.="\n</select>"; return $ret; } Next is for your globals.php include "config.php";function quest_dropdown($connection,$ddname="quests",$selected=-1) { global $db; $ret="<select name='$ddname' type='dropdown'>"; $q=$db->query("SELECT * FROM quests ORDER BY questNAME ASC"); if($selected == -1) { $first=0; } else { $first=1; } while($r=$db->fetch_row($q)) { $ret.="\n<option value='{$r['questID']}'"; if ($selected == $r['questID'] || $first == 0) { $ret.=" selected='selected'";$first=1; } $ret.=">{$r['questNAME']}</option>"; } $ret.="\n</select>"; return $ret; } function questgroup_dropdown($connection,$ddname="questgroup",$selected=-1) { global $db; $ret="<select name='$ddname' type='dropdown'>"; $q=$db->query("SELECT * FROM questgroups ORDER BY qgNAME ASC"); if($selected == -1) { $first=0; } else { $first=1; } while($r=$db->fetch_row($q)) { $ret.="\n<option value='{$r['qgID']}'"; if ($selected == $r['qgID'] || $first == 0) { $ret.=" selected='selected'";$first=1; } $ret.=">{$r['qgNAME']}</option>"; } Last but certainly not least open up your mainmenu.php and find { print "[url='explore.php']Explore[/url] [url='gym.php']Gym[/url] [url='criminal.php']Crimes[/url] [url='job.php']Your Job[/url] [url='education.php']Local School[/url] [url='hospital.php']Hospital ($hc)[/url] [url='jail.php']Jail ($jc)[/url] "; } somewhere in there, wherever you would like ppl to see it place [url='quest.php']Quests[/url] Make sure u line it up with the others its pretty simple. soon to come organized quests?! we'll see how it goes XD That should do it! load it all up and check you should have a quests in game and in your staff menu just like u do crimes! This is my first attempt coding anything and its pretty much based straight off the crimes but i hope its helpful, if there are any problems post back and ill see what i can do but im no pro >.< lol.
-
With some help from danny ive taken the crimes and transformed it into a quests so you can now have both. SQL TABLES CREATE TABLE `quests` ( `questID` INT( 11 ) NOT NULL AUTO_INCREMENT , `questNAME` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , `questBRAVE` INT( 11 ) NOT NULL DEFAULT '0', `questPERCFORM` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , `questSUCCESSMUNY` INT( 11 ) NOT NULL DEFAULT '0', `questSUCCESSCRYS` INT( 11 ) NOT NULL DEFAULT '0', `questSUCCESSITEM` INT( 11 ) NOT NULL DEFAULT '0', `questGROUP` INT( 11 ) NOT NULL DEFAULT '0', `questITEXT` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , `questSTEXT` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , `questFTEXT` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , `questXP` INT( 11 ) NOT NULL DEFAULT '0', PRIMARY KEY ( `questID` ) , FULLTEXT ( `questNAME` , `questPERCFORM` , `questITEXT` , `questSTEXT` , `questFTEXT` )) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci ---------------------------------------- CREATE TABLE `questgroups` ( `qgID` INT( 11 ) NOT NULL AUTO_INCREMENT , `qgNAME` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , `qgORDER` INT( 11 ) NOT NULL DEFAULT '0', PRIMARY KEY ( `qgID` ) ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci after creating your tables youll then need to create a quest.php with this <?php $macropage="quest.php"; include "globals.php"; if($ir['jail'] or $ir['hospital']) { die("This page cannot be accessed while in jail or hospital."); } $q2=$db->query("SELECT * FROM quests ORDER BY questBRAVE ASC"); while ($r2=$db->fetch_row($q2)) { $quests[]=$r2; } $q=$db->query("SELECT * FROM questgroups ORDER by qgORDER ASC"); print "[b]Quest Centre[/b] <table width='75%' cellspacing=1 class='table'><tr><th>quest</th><th>Cost</th><th>Do</th></tr>"; while($r=$db->fetch_row($q)) { print "<tr><td colspan='3' class='h'>{$r['qgNAME']}</td></tr>"; foreach($quests as $v) { if($v['questGROUP'] == $r['qgID']) { print "<tr><td>{$v['questNAME']}</td><td>{$v['questBRAVE']} Brave</td><td>[url='doquest.php?c={$v[']Do[/url]</td></tr>"; } } } print "</table>"; $h->endpage(); ?> Now for your doquest.php <?php $macropage="doquest.php?c={$_GET['c']}"; include "globals.php"; if($ir['jail'] or $ir['hospital']) { die("This page cannot be accessed while in jail or hospital."); } $_GET['c']=abs((int) $_GET['c']); if(!$_GET['c']) { print "Invalid quest"; } else { $q=mysql_query("SELECT * FROM quests WHERE questID={$_GET['c']}",$c); $r=mysql_fetch_array($q); if($ir['brave'] < $r['questBRAVE']) { print "You do not have enough Brave to perform this quest."; } else { $ec="\$sucrate=".str_replace(array("LEVEL","questXP","EXP","WILL","IQ"), array($ir['level'], $ir['questxp'], $ir['exp'], $ir['will'], $ir['IQ']),$r['questPERCFORM']).";"; eval($ec); print $r['questITEXT']; $ir['brave']-=$r['questBRAVE']; mysql_query("UPDATE users SET brave={$ir['brave']} WHERE userid=$userid",$c); if(rand(1,100) <= $sucrate) { print str_replace("{money}",$r['questSUCCESSMUNY'],$r['questSTEXT']); $ir['money']+=$r['questSUCCESSMUNY']; $ir['crystals']+=$r['questSUCCESSCRYS']; $ir['exp']+=(int) ($r['questSUCCESSMUNY']/8); mysql_query("UPDATE users SET money={$ir['money']}, crystals={$ir['crystals']}, exp={$ir['exp']},questxp=questxp+{$r['questXP']} WHERE userid=$userid",$c); if($r['questSUCCESSITEM']) { item_add($userid, $r['questSUCCESSITEM'], 1); } } else { if(rand(1, 2) == 1) { print $r['questFTEXT']; } else } print " [url='doquest.php?c={$_GET[']Try Again[/url] [url='quest.php']quests[/url]"; } } $h->endpage(); ?> Read next post for the rest!
-
Re: Good && Evil Thanks again for this, i was wonderin though after u put good or evil will it make a difference or will u have to make good only shop and evil only shop, and if so can u make it so that people can only recieve or use items if they are good or evil? Maybe we could initiate A karma shop where u can use - karma to buy some items and + karma for others, by choosing good or evil u can start with -10 or +10 to either side O.o? Just thinking outloud
-
Re: Some Questions and Ideas Thank you for the help i did it real quick before i left for work, after comming back i had a chance to read over it and found a bunch of small errors that i was able to fix and its now up and running! -- should i post again under something titled "quest mod" or is it so easy to do that everyone probably already knows it? haha
-
Re: Some Questions and Ideas i havent tried the karma or good/evil yet as im still working on quests but this is what i have for quests so far, please keep in mind ive never done this before haha. This is staff_quest.php that i made off of crimes <?php include "sglobals.php"; if($ir['user_level'] > 2) { die("403"); } //This contains course stuffs switch($_GET['action']) { case 'newquest': new_quest_form(); break; case 'newquestsub': new_quest_submit(); break; case 'editquest': edit_quest_begin(); break; case 'editquestform': edit_quest_form(); break; case 'editquestsub': edit_quest_sub(); break; case 'delquest': delquest(); break; case 'newquestgroup': new_questgroup_form(); break; case 'newquestgroupsub': new_questgroup_submit(); break; case 'editquestgroup': edit_questgroup_begin(); break; case 'editquestgroupform': edit_questgroup_form(); break; case 'editquestgroupsub': edit_questgroup_sub(); break; case 'delquestgroup': delquestgroup(); break; case 'reorder': reorder_questgroups(); break; default: print "Error: This script requires an action."; break; } function new_quest_form() { global $ir, $c, $db; print "Adding a new quest. <form action='staff_quests.php?action=newquestsub' method='post'> Name: <input type='text' name='name' /> Brave Cost: <input type='text' name='brave' /> Success % Formula: <input type='text' name='percform' value='((WILL*0.8)/2.5)+(LEVEL/4)' /> Success Money: <input type='text' name='money' /> Success Crystals: <input type='text' name='crys' /> Success Item: ".item2_dropdown($c, 'item')." Group: ".questgroup_dropdown($c,'group')." Initial Text: <textarea rows=4 cols=40 name='itext' /></textarea> Success Text: <textarea rows=4 cols=40 name='stext' /></textarea> Failure Text: <textarea rows=4 cols=40 name='ftext' /></textarea> quest XP Given: <input type='text' name='questxp' /> <input type='submit' value='Create quest' /></form>"; } function new_quest_submit() { global $ir,$c,$userid, $db; if($_POST['itemon'] != "on") { $_POST['item']=0; } $db->query("INSERT INTO quests (questNAME, questBRAVE, questPERCFORM, questSUCCESSMUNY, questSUCCESSCRYS, questSUCCESSITEM, questGROUP, questITEXT, questSTEXT, questFTEXT, questJTEXT, questXP) VALUES( '{$_POST['name']}', '{$_POST['brave']}', '{$_POST['percform']}', '{$_POST['money']}', {$_POST['crys']}, {$_POST['item']}, '{$_POST['group']}', '{$_POST['itext']}', '{$_POST['stext']}', '{$_POST['ftext']}', {$_POST['questxp']})"); print "quest created!"; stafflog_add("Created quest {$_POST['name']}"); } function edit_quest_begin() { global $ir,$c,$h,$userid,$db; print "<h3>Editing quest</h3> You can edit any aspect of this quest. <form action='staff_quests.php?action=editquestform' method='post'> quest: ".quest_dropdown($c,'quest')." <input type='submit' value='Edit quest' /></form>"; } function edit_quest_form() { global $ir,$c,$h,$userid,$db; $d=$db->query("SELECT * FROM quests WHERE questID={$_POST['quest']}"); $itemi=$db->fetch_row($d); print "<h3>Editing quest</h3> <form action='staff_quests.php?action=editquestsub' method='post'> <input type='hidden' name='questID' value='{$_POST['quest']}' /> Name: <input type='text' name='questNAME' value='{$itemi['questNAME']}' /> Brave Cost: <input type='text' name='questBRAVE' value='{$itemi['questBRAVE']}' /> Success % Formula: <input type='text' name='questPERCFORM' value='{$itemi['questPERCFORM']}' /> Success Money: <input type='text' name='questSUCCESSMUNY' value='{$itemi['questSUCCESSMUNY']}' /> Success Crystals: <input type='text' name='questSUCCESSCRYS' value='{$itemi['questSUCCESSCRYS']}' /> Success Item: ".item2_dropdown($c, 'questSUCCESSITEM', $itemi['questSUCCESSITEM'])." Group: ".questgroup_dropdown($c,'questGROUP', $itemi['questGROUP'])." Initial Text: <textarea rows=4 cols=40 name='questITEXT' />{$itemi['questITEXT']}'</textarea> Success Text: <textarea rows=4 cols=40 name='questSTEXT' />{$itemi['questSTEXT']}</textarea> Failure Text: <textarea rows=4 cols=40 name='questFTEXT' />{$itemi['questFTEXT']} </textarea> quest XP Given: <input type='text' name='questXP' value='{$itemi['questXP']}' /> <input type='submit' value='Edit quest' /></form>"; } function edit_quest_sub() { global $ir,$c,$h,$userid, $db; $db->query("UPDATE quests SET questNAME='{$_POST['questNAME']}', questBRAVE='{$_POST['questBRAVE']}', questPERCFORM='{$_POST['questPERCFORM']}', questSUCCESSMUNY='{$_POST['questSUCCESSMUNY']}', questSUCCESSCRYS='{$_POST['questSUCCESSCRYS']}', questSUCCESSITEM='{$_POST['questSUCCESSITEM']}', questGROUP='{$_POST['questGROUP']}', questITEXT='{$_POST['questITEXT']}', questSTEXT='{$_POST['questSTEXT']}', questFTEXT='{$_POST['questFTEXT']}', questXP={$_POST['questXP']} WHERE questID={$_POST['questID']}"); print "quest edited..."; stafflog_add("Edited quest {$_POST['questNAME']}"); } function delquest() { global $ir,$c,$h,$userid, $db; switch ($_GET['step']) { default: echo "<h3>Deleting quest</h3> Here you can delete a quest. <form action='staff_quests.php?action=delquest&step=2' method='post'> quest: ".quest_dropdown($c,'quest')." <input type='submit' value='Delete quest' /></form>"; break; case 2: $target = $_POST['quest']; $d=$db->query("SELECT questNAME FROM quests WHERE questID='$target'"); $itemi=$db->fetch_row($d); print "<h3>Confirm</h3> Delete quest - ".$itemi["questNAME"]."? <form action='staff_quests.php?action=delquest&step=3' method='post'> <input type='hidden' name='questID' value='$target' /> <input type='submit' name='yesorno' value='Yes' /> <input type='submit' name='yesorno' value='No' onclick=\"window.location='staff_quests.php?action=delquest';\" /></form>"; break; case 3: $target = $_POST['questID']; if($_POST['yesorno']=='No') { die("quest not deleted. [url='staff_quests.php?action=delquest']>Back to main delete quests page.[/url]"); } if ($_POST['yesorno'] != ("No" || "Yes")) die('Eh'); $d=$db->query("SELECT questNAME FROM quests WHERE questID='$target'"); $itemi=$db->fetch_row($d); $db->query("DELETE FROM quests WHERE questID='$target'"); echo "quest {$itemi['questNAME']} Deleted. [url='staff_quests.php?action=delquest']>Back to main delete quests page.[/url]"; stafflog_add("Deleted quest {$itemi['questNAME']}"); break; } } function new_questgroup_form() { global $ir, $c,$db; print "Adding a new quest group. <form action='staff_quests.php?action=newquestgroupsub' method='post'> Name: <input type='text' name='cgNAME' /> Order Number: <input type='text' name='cgORDER' /> <input type='submit' value='Create quest Group' /></form>"; } function new_questgroup_submit() { global $ir,$c,$userid,$db; if(!isset($_POST['cgNAME']) || !isset($_POST['cgORDER'])) { print "You missed one or more of the required fields. Please go back and try again. [url='staff_quests.php?action=newquestgroup']> Back[/url]"; $h->endpage(); exit; } $db->query("INSERT INTO `questgroups` (`cgNAME`, `cgORDER`) VALUES('{$_POST['cgNAME']}','{$_POST['cgORDER']}')"); print "quest Group created!"; stafflog_add("Created quest Group {$_POST['cgNAME']}"); } function edit_questgroup_begin() { global $ir,$c,$h,$userid,$db; print "<h3>Editing A quest Group</h3> <form action='staff_quests.php?action=editquestgroupform' method='post'> quest Group: ".questgroup_dropdown($c,'questGROUP')." <input type='submit' value='Edit quest Group' /></form>"; } function edit_questgroup_form() { global $ir,$c,$h,$userid,$db; $d=$db->query("SELECT * FROM questgroups WHERE cgID={$_POST['questGROUP']}"); $itemi=$db->fetch_row($d); print "<h3>Editing quest Group</h3> <form action='staff_quests.php?action=editquestgroupsub' method='post'> <input type='hidden' name='cgID' value='{$_POST['questGROUP']}' /> Name: <input type='text' name='cgNAME' value='{$itemi['cgNAME']}' /> Order Number: <input type='text' name='cgORDER' value='{$itemi['cgORDER']}' /> <input type='submit' value='Edit quest Group' /></form>"; } function edit_questgroup_sub() { global $ir,$c,$h,$userid, $db; if(!isset($_POST['cgORDER']) || !isset($_POST['cgNAME'])) { print "You missed one or more of the required fields. Please go back and try again. [url='staff_quests.php?action=editquestgroup']> Back[/url]"; $h->endpage(); exit; } else { $db->query("UPDATE questgroups SET cgNAME='{$_POST['cgNAME']}', cgORDER='{$_POST['cgORDER']}' WHERE cgID='{$_POST['cgID']}'"); print "quest Group edited..."; stafflog_add("Edited quest Group {$_POST['cgNAME']}"); } } function delquestgroup() { global $ir,$c,$h,$userid, $db; switch ($_GET['step']) { default: echo "<h3>Deleting quest Group</h3> <script type='text/javascript'> function checkme() { if(document.theform.questGROUP.value==document.theform.questGROUP2.value) { alert('You cannot select the same quest group to move the quests to.'); return false; } return true; } </script> <form action='staff_quests.php?action=delquestgroup&step=2' method='post' name='theform' onsubmit='return checkme();'> quest Group: ".questgroup_dropdown($c,'questGROUP')." Move quests in deleted group to: ".questgroup_dropdown($c, 'questGROUP2')." <input type='submit' value='Delete quest Group' /></form>"; break; case 2: $target = $_POST['questGROUP']; $target2 = $_POST['questGROUP2']; if($target==$target2) { die("You cannot select the same quest group to move the quests to."); } $d=$db->query("SELECT cgNAME FROM questgroups WHERE cgID='$target'"); $itemi=$db->fetch_row($d); print "<h3>Confirm</h3> Delete quest group - ".$itemi["cgNAME"]."? <form action='staff_quests.php?action=delquestgroup&step=3' method='post'> <input type='hidden' name='cgID' value='$target' /> <input type='hidden' name='cgID2' value='$target2' /> <input type='submit' name='yesorno' value='Yes' /> <input type='submit' name='yesorno' value='No' onclick=\"window.location='staff_quests.php?action=delquestgroup';\" /></form>"; break; case 3: $target = $_POST['cgID']; $target2 = $_POST['cgID2']; if($_POST['yesorno']=='No') { die("quest Group not deleted."); } if ($_POST['yesorno'] != ("No" || "Yes")) die('This shouldnt happen'); $d=$db->query("SELECT cgNAME FROM questgroups WHERE cgID='$target'"); $itemi=$db->fetch_row($d); $db->query("DELETE FROM questgroups WHERE cgID='{$_POST['cgID']}'"); $db->query("UPDATE quests SET questGROUP={$target2} WHERE questGROUP={$target}"); stafflog_add("Deleted quest group {$itemi['cgNAME']}"); echo "quest Group deleted."; break; } } function reorder_questgroups() { global $db,$ir,$c,$h,$userid; if($_POST['submit']) { unset($_POST['submit']); $used=array(); foreach($_POST as $v) { if(in_array($v, $used)) { print "You have used the same order number twice! Go back and try again."; $h->endpage(); exit; } $used[]=$v; } foreach($_POST as $k => $v) { $cg=str_replace("order","", $k); if(is_numeric($cg)) { $db->query("UPDATE questgroups SET cgORDER={$v} WHERE cgID={$cg}"); } } print "quest group order updated!"; stafflog_add("Reordered quest groups"); } else { $q=$db->query("SELECT * FROM questgroups ORDER BY cgORDER ASC, cgID ASC"); $rows=$db->num_rows($q); $i=0; print "<h3>Re-ordering quest Groups</h3><hr /> <table width='80%' cellspacing='1' class='table'> <tr> <th>quest Group</th> <th>Order</th> </tr> <form action='staff_quests.php?action=reorder' method='post'> <input type='hidden' name='submit' value='1' />"; while($r=$db->fetch_row($q)) { $i++; print "<tr> <td>{$r['cgNAME']}</td> <td><select name='order{$r['cgID']}' type='dropdown'>"; for($j=1;$j<=$rows;$j++) { if($j == $i) { print "<option value='{$j}' selected='selected'>{$j}</option>"; } else { print "<option value='{$j}'>{$j}</option>"; } } print "</select></td></tr>"; } print "<tr> <td colspan='2' align='center'><input type='submit' value='Reorder' /></td> </tr></form></table>"; } } function report_clear() { global $db,$ir,$c,$h,$userid; if($ir['user_level'] > 3) { die("403"); } $_GET['ID'] = abs((int) $_GET['ID']); stafflog_add("Cleared player report ID {$_GET['ID']}"); $db->query("DELETE FROM preports WHERE prID={$_GET['ID']}"); print "Report cleared and deleted! [url='staff_users.php?action=reportsview']> Back[/url]"; } $h->endpage(); ?> Here is what i added under smenu.php right below the crimes list <hr />[b]Quests[/b] > [url='staff_quests.php?action=newquest']Create New Quest[/url] > [url='staff_cquests.php?action=editquest']Edit Quest[/url] > [url='staff_quests.php?action=delquest']Delete Quest[/url] > [url='staff_quests.php?action=newquestgroup']Create New Quest Group[/url] > [url='staff_quests.php?action=editquestgroup']Edit Quest Group[/url] > [url='staff_quests.php?action=delquestgroup']Delete Quest Group[/url] > [url='staff_quests.php?action=reorder']Reorder Quest Groups[/url] And this is my quests.php file also based from crimes but slightly modified as ive taken jail time out of quests <?php $macropage="quest.php"; include "globals.php"; if($ir['jail'] or $ir['hospital']) { die("This page cannot be accessed while in jail or hospital."); } $q2=$db->query("SELECT * FROM quest ORDER BY questBRAVE ASC"); while ($r2=$db->fetch_row($q2)) { $quests[]=$r2; } $q=$db->query("SELECT * FROM questgroups ORDER by cgORDER ASC"); print "[b]Quest Centre[/b] <table width='75%' cellspacing=1 class='table'><tr><th>quest</th><th>Cost</th><th>Do</th></tr>"; while($r=$db->fetch_row($q)) { print "<tr><td colspan='3' class='h'>{$r['cgNAME']}</td></tr>"; foreach($quests as $v) { if($v['questGROUP'] == $r['cgID']) { print "<tr><td>{$v['questNAME']}</td><td>{$v['questBRAVE']} Brave</td><td>[url='doquest.php?c={$v[']Do[/url]</td></tr>"; } } } print "</table>"; $h->endpage(); ?> for the mysql end i simply went through and created quests table and questgroups table the same as crimes was created minus the jailtime and all the jail stuff, the quest menu in the staffmenu is there and i can click on it but then i get this error - Fatal error: Call to undefined function questgroup_dropdown() in /home/reaction/public_html/ionicdestiny/staff_quests.php on line 36 -- How do i fix this, and if theres anything else im missing plz feel free to critisize lol this is just m yfirst attempt
-
Re: Some Questions and Ideas thanks guys ill defin. give it a try and post back with the results!
-
Re: Some Questions and Ideas Yeah ive been fiddling with that im pretty sure i can finish that one on my own, i was more interested in making the good/evil thing. Like u can only get certain weapons and powers by being good or evil any ideas?
-
Hi, im VERY new to all this haha im not a coder and dont pretend to be. I know just enough to edit and install premade stuff to an extent :/. Anyway after looking through 40pages here and all 16 in paid mods i had a few questions and a couple ideas as well sorry if this is the wrong place im rather tired and have looked around this seemd the most appropriate. I have MCCODES v2 and its just the basic stuff added a city and some items and wpns just barely started creation. I noticed that CRIMES is the only "quest" like application on the game and wanted to create one just like it but for quests and have a good/bad side type deal, as in you can do crimes to get evil rep and quests to recieve good. Ive tried copying the crimes and re-writing all the names and tables for quests and goin through my files but even though ive been trying i dont understand it at all :/ if anyone can help out or have any mods that would help fit this plz post back - thx.