Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // First off, we need to make sure we're connected to the database!
- include ('mysql_connect.php');
- // Let's set an error for the links here.
- $error = "<div class=\"error\">You followed a bad link. Please go back and try again.</div>\n";
- // This is the text output array.
- // MAKE SURE THE URL VARIABLES ARE WHAT ARE IN THE DATABASE!
- // Make sure this is completely accurate!
- $buildElements = array(
- 'command' => 'Command Center',
- 'star' => 'Star Dock',
- 'library' => 'Library',
- 'barracks' => 'Barracks',
- );
- // Here are the levels that they can go up by.
- // Make sure this is completely accurate!
- $upgradeLevels = array(
- 'command' => 2,
- 'star' => 2,
- 'library' => 2,
- 'barracks' => 2,
- );
- // UPGRADE AMOUNTS!
- // This is the required amount of ORE needed to UPGRADE!
- // Make sure this is completely accurate!
- $oreUpgradeAmounts = array(
- 'command' => 900,
- 'star' => 500,
- 'library' => 750,
- 'barracks' => 800,
- );
- // This is the required amount of CREDITS needed to UPGRADE!
- // Make sure this is completely accurate!
- $creditUpgradeAmounts = array(
- 'command' => 2500,
- 'star' => 1000,
- 'library' => 1250,
- 'barracks' => 1500,
- );
- // This is the amount of STATUS POINTS added for UPGRADING!
- // Make sure this is completely accurate!
- $statusUpgradeAmounts = array(
- 'command' => 2250,
- 'star' => 750,
- 'library' => 1000,
- 'barracks' => 1250,
- );
- // BUILD AMOUNTS!
- // This is the required amount of ORE needed to BUILD!
- // Make sure this is completely accurate!
- $oreBuildAmounts = array(
- 'command' => 1800,
- 'star' => 1000,
- 'library' => 1200,
- 'barracks' => 1400,
- );
- // This is the required amount of CREDITS needed to BUILD!
- // Make sure this is completely accurate!
- $creditBuildAmounts = array(
- 'command' => 2500,
- 'star' => 1250,
- 'library' => 1500,
- 'barracks' => 2000,
- );
- // This is the amount of STATUS POINTS added for BUILDING!
- // Make sure this is completely accurate!
- $statusBuildAmounts = array(
- 'command' => 1500,
- 'star' => 800,
- 'library' => 1000,
- 'barracks' => 1400,
- );
- // So what we do first is that they actually have an action set
- if (isset($_GET['a'])){
- $action = $_GET['a'];
- // Now what building do they want to upgrade?
- if (isset($_GET['u']) && isset($_GET['l'])){
- $upgrade = $_GET['u'];
- $level = $_GET['l'];
- } else if (isset($_GET['s'])){
- $structure = $_GET['s'];
- }
- // So if the action is that they want to upgrade, and the upgraded
- // building is set, and the target level is there, then let's do it!
- if ($action == "upgrade" && isset($upgrade, $level)){
- // Notice the custom action?
- upgrade($upgrade, $level);
- // So if it's a building... let's do it!
- } else if ($action == "build" && isset($structure)){
- build($structure);
- } else {
- $message .= "<div class=\"error\">Unknown action or incomplete URL. Please go back and try again.</div>\n";
- }
- } else {
- // Alright, so they didn't have something set right, let's tell them they made a boo boo.
- $message .= $error;
- }
- // So the function is that they want to upgrade.
- function upgrade($upgrade, $level)
- {
- global $message, $content, $upgrade, $level, $buildElements, $oreUpgradeAmounts, $creditUpgradeAmounts, $statusUpgradeAmounts, $upgradeLevels;
- // Let's see if the building exsists!
- if(isset($buildElements[$_REQUEST['u']])){
- $upgradeText = $buildElements[$_REQUEST['u']];
- } else {
- $message .= "<div class=\"error\">No such building exsists. Please go back and try again</div>\n";
- return(0);
- }
- // Now we want to get the maximum level for the building in question.
- $upgradeLevel = $upgradeLevels[$_REQUEST['u']];
- // Now let's get the requred Ore, Credit and Status amounts and dump them into variables!
- $oreAmount = $oreUpgradeAmounts[$_REQUEST['u']];
- $creditAmount = $creditUpgradeAmounts[$_REQUEST['u']];
- $statusAmount = $statusUpgradeAmounts[$_REQUEST['u']];
- // Let's get the username from the session data
- $username = $_SESSION['user_name'];
- // Now we need to send a request to the server to get the user's amounts
- $query = mysql_query("SELECT * FROM `user` WHERE `user_name` = '". $username ."'");
- if (!$query) {
- $message .= "<div class=\"error\">MySQL error:<br />". mysql_error() ."</div>\n";
- return(0);
- }
- $result = mysql_fetch_assoc($query);
- // So let's make the ammounts into variables
- $credits = $result['credits'];
- $ore = $result['ore'];
- // Now we need to get the structures that are there
- $query = mysql_query("SELECT * FROM `structures` WHERE `structure_built_from` ='". $username ."'");
- if (!$query) {
- $message .= "<div class=\"error\">MySQL error:<br />". mysql_error() ."</div>\n";
- return(0);
- }
- $result = mysql_fetch_assoc($query);
- // Credit Check
- if($credits <= $creditAmount)
- {
- $message .= "<div class=\"error\">You don't have enough Credits to upgrade your " .$upgradeText. ".</div>\n";
- return(0);
- }
- // Ore Check
- if($ore <= $oreAmount)
- {
- $message .= "<div class=\"error\">You don't have enough Ore to upgrade your " .$upgradeText. ".</div>\n";
- return(0);
- }
- // Because only one set of results gets added into a variable, we hope that they've already built it!!
- $query = mysql_query("SELECT * FROM `structures` WHERE `structure_built_from` ='". $username ."' && `structure_name` = '".$upgradeText."'");
- if (!$query) {
- $message .= "<div class=\"error\">MySQL error:<br />". mysql_error() ."</div>\n";
- return(0);
- }
- $result = mysql_fetch_assoc($query);
- // Now sort the data we got. That there was a name of the unit and what level it is.
- $structure_name = $result['structure_name'];
- $structure_level = $result['structure_level'];
- // Structure Exsistance Check
- if($structure_name != $upgradeText)
- {
- $message .= "<div class=\"error\">You haven't built the " .$upgradeText. " yet!</div>\n";
- return(0);
- }
- // Structure Level Check
- if($structure_level >= $level)
- {
- $message .= "<div class=\"error\">You've already upgraded your " .$upgradeText. " to level " .$structure_level. ".</div>\n";
- return(0);
- }
- // Make sure they don't want to go over the level that's allowed!
- if ($level > $upgradeLevel){
- $message .= "<div class=\"error\">You can't upgrade any higher than level " .$upgradeLevel. " for the " .$upgradeText. "!</div>\n";
- return(0);
- }
- // Now this is where the magic starts!
- mysql_query("UPDATE `user` SET `credits` = `credits` - " .$creditAmount. ", `ore` = `ore` - " .$oreAmount. " WHERE `user_name` = '". $username ."' LIMIT 1");
- mysql_query("UPDATE `structures` SET `structure_level` = `structure_level` + 1, `status` = `status` + " .$statusAmount. " WHERE `structure_built_from` = '". $username ."' && `structure_name` = '" .$upgradeText. "' LIMIT 1");
- // Let them know it worked.
- $message .= "<div class=\"confirm\">You successfully upgraded your " . $upgradeText . " to level " . $level . "!</div>\n";
- // That's all done, so let's end it here!
- return(0);
- }
- // Ok, they wish to build something.
- function build($structure)
- {
- global $message, $content, $upgrade, $level, $buildElements, $oreBuildAmounts, $creditBuildAmounts, $statusBuildAmounts;
- // Let's see if the building exsists!
- if(isset($buildElements[$_REQUEST['s']])){
- $buildText = $buildElements[$_REQUEST['s']];
- } else {
- $message .= "<div class=\"error\">No such building exsists. Please go back and try again</div>\n";
- return(0);
- }
- // Now let's get the requred Ore, Credit and Status amounts and dump them into variables!
- $oreAmount = $oreBuildAmounts[$_REQUEST['s']];
- $creditAmount = $creditBuildAmounts[$_REQUEST['s']];
- $statusAmount = $statusBuildAmounts[$_REQUEST['s']];
- // Let's get the username from the session data
- $username = $_SESSION['user_name'];
- // Now we need to send a request to the server to get the user's amounts
- $query = mysql_query("SELECT * FROM `user` WHERE `user_name` = '". $username ."'");
- if (!$query) {
- $message .= "<div class=\"error\">MySQL error:<br />". mysql_error() ."</div>\n";
- return(0);
- }
- $result = mysql_fetch_assoc( $query );
- // So let's make the ammounts into variables
- $credits = $result['credits'];
- $ore = $result['ore'];
- $date = date("j/M/Y g:i:s A");
- // Credit Check
- if($credits <= $creditAmount)
- {
- $message .= "<div class=\"error\">You don't have enough Credits to build a " .$buildText. ".</div>\n";
- return(0);
- }
- // Ore Check
- if($ore <= $oreAmount)
- {
- $message .= "<div class=\"error\">You don't have enough Ore to build a " .$buildText. ".</div>\n";
- return(0);
- }
- // Now we need to get the structures that are there
- $query = mysql_query("SELECT * FROM `structures` WHERE `structure_built_from` = '". $username ."' && `structure_name` = '".$buildText."'");
- if (!$query) {
- $message .= "<div class=\"error\">MySQL error:<br />". mysql_error() ."</div>\n";
- return(0);
- }
- $result = mysql_fetch_assoc($query);
- // And again, make them into variables
- $structure_name = $result['structure_name'];
- // Structure Exsistance Check
- if($structure_name == $buildText)
- {
- $message .= "<div class=\"error\">You've already built the " .$buildText. "!</div>\n";
- return(0);
- }
- // Now this is where the magic starts!
- mysql_query("INSERT INTO `structures` (`structure_name`, `structure_level`, `structure_built_from`, `date`, `status`) VALUES ( '".$buildText."', '1', '".$username."', '".$date."', '".$statusAmount."')") && mysql_query("UPDATE `user` SET `credits` = `credits` - ".$creditAmount.", `ore` = `ore` - ".$oreAmount." WHERE `user_name` = '".$username."' LIMIT 1");
- // Let them know it worked.
- $message .= "<div class=\"confirm\">You successfully built a " . $buildText . "!</div>\n";
- // That's all done, so let's end it here!
- return(0);
- }
Add Comment
Please, Sign In to add comment