/** * BuildingPage.php * * @version 1.0 * @copyright 2009 by MadnessRed for XNova Redesigned */ function BuildingPage($a = 0, $b = 0) { global $lang, $resource, $reslist, $pricelist, $dpath, $game_config, $_GET, $user, $planetrow; CheckPlanetUsedFields($planetrow); if (!$_GET['page']) { return false; die; } // Tables des batiments possibles par type de planete if ($_GET['page'] == 'station') { $Allowed[1] = array(14, 15, 21, 31, 33, 34, 44); $Allowed[3] = array(14, 21, 34, 41, 42, 43); } elseif ($_GET['page'] == 'resources') { $Allowed[1] = array(1, 2, 3, 4, 12, 212, 22, 23, 24); $Allowed[3] = array(212, 22, 23, 24); } else { die("Hacking attempt"); } //Right, lets see what he has an generate him an image. $imgnum = ''; if ($planetrow[$resource[1]] > 0) { $imgnum .= "_1"; } if ($planetrow[$resource[2]] > 0) { $imgnum .= "_2"; } if ($planetrow[$resource[3]] > 0) { $imgnum .= "_3"; } if ($planetrow[$resource[4]] > 0) { $imgnum .= "_4"; } // Boucle d'interpretation des eventuelles commandes if (isset($_GET['cmd'])) { // On passe une commande $bThisIsCheated = false; $bDoItNow = false; $TheCommand = $_GET['cmd']; $Element = $_GET['building']; $ListID = $_GET['listid']; if (isset($Element)) { if (!strchr($Element, " ")) { if (!strchr($Element, ",")) { if (in_array(trim($Element), $Allowed[$planetrow['planet_type']])) { $bDoItNow = true; } else { //$bThisIsCheated = true; $bDoItNow = true; } } else { $bThisIsCheated = true; } } else { $bThisIsCheated = true; } } elseif (isset($ListID)) { $bDoItNow = true; } if ($bDoItNow == true) { switch ($TheCommand) { case 'cancel': //Remove last queue item RemoveFromQueue(); break; case 'remove': //Remove a specific queue item RemoveFromQueue($ListID); break; case 'insert': //Insert into the queue a build $fields_rem = $planetrow['field_max'] - $planetrow['field_current'] + $planetrow[$resource[33]] * 5; if ($fields_rem >= 0) { AddToQueue($Element, 1); } else { echo $fields_rem . " < 0"; die("Hacking Attempt!"); } break; case 'destroy': //Add a deconstrction to the queue AddToQueue($Element, -1); break; } // switch } elseif ($bThisIsCheated == true) { //ResetThisFuckingCheater ( $user['id'] ); } //If they want axah_section if ($_GET['axah_box']) { $q = ShowQueue(false); makeAXAH($q['buildlist']); die; } } $Queue = ShowQueue(true); // On enregistre ce que l'on a modifi� dans planet ! BuildingSavePlanetRecord($planetrow); // On enregistre ce que l'on a eventuellement modifi� dans users BuildingSaveUserRecord($user); $max_qs = MAX_BUILDING_QUEUE_SIZE; if ($max_qs > 0) { //fine :) } else { $max_qs = 10; } if ($Queue['length'] < $max_qs) { $CanBuildElement = true; } else { $CanBuildElement = false; } if ($_GET['page'] == 'station') { if ($planetrow['planet_type'] == 3) { $SubTemplate = gettemplate('buildings/station-moon_buttonz'); } else { $SubTemplate = gettemplate('buildings/station_buttonz'); } } elseif ($_GET['page'] == 'resources') { $SubTemplate = gettemplate('buildings/resources_buttonz'); } else { die("Hacking attempt"); } $parse = array(); $infopg = array(); foreach ($lang['names'] as $Element => $ElementName) { if (!$planetrow['planet_type']) { die("no planet type"); } if (in_array($Element, $Allowed[$planetrow['planet_type']]) || $_GET['page'] == 'station') { if (@in_array($Element, $Allowed[$planetrow['planet_type']])) { if (!IsTechnologieAccessible($user, $planetrow, $Element)) { $parse['state_' . $Element] = "off"; $parse['mes_' . $Element] = "Requirements are not met"; $parse['canbuild_' . $Element] = ""; } elseif (!IsElementBuyable($user, $planetrow, $Element, true, false) && $Queue['length'] == 0) { $parse['state_' . $Element] = "disabled"; $parse['mes_' . $Element] = "Not enough resources!"; $parse['canbuild_' . $Element] = ""; } elseif (!$CanBuildElement) { $parse['state_' . $Element] = "disabled"; $parse['mes_' . $Element] = "Queue is full!"; $parse['canbuild_' . $Element] = ""; } else { $parse['state_' . $Element] = "on"; $parse['mes_' . $Element] = ""; $parse['canbuild_' . $Element] = "\n\t\t\t\t\t\t<a class=\"fastBuild tips\" href=\"#\" onclick=\"loadpage('./?page=" . $_GET['page'] . "&cmd=insert&building={$Element}&id={$Element}',document.title,document.body.id);\">\n\t\t\t\t\t\t\t<img src=\"" . GAME_SKIN . "/img/layout/sofort_bauen.gif\" height=\"14\" width=\"22\">\n\t\t\t\t\t\t</a>"; } } else { $parse['state_' . $Element] = "off"; $parse['mes_' . $Element] = "Not availble"; $parse['canbuild_' . $Element] = ""; } $parse['name_' . $Element] = $ElementName; $parse['count_' . $Element] = $planetrow[$resource[$Element]]; } } //Countdowns if ($planetrow['b_building'] > 0) { $BuildQueue = explode(";", $planetrow['b_building_id']); $CurrBuild = explode(",", $BuildQueue[0]); $parse['countdown_' . $CurrBuild[0]] = "\n\t\t\t\t\t\t\t\t\t<div class=\"construction\">\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"pusher\" style=\"height: 80px; margin-bottom: -80px;\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"time\" id=\"resource\">" . parsecountdown($planetrow['b_building']) . "</span>\n\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t</div>\n"; } $BuildingPage = parsetemplate($SubTemplate, $parse); $parse = $lang; $Element = idstring($_GET['id']); $ElementName = $lang['names'][$Element]; // Faut il afficher la liste de construction ?? if ($Queue['length'] > 0) { $parse['BuildList'] = $Queue['buildlist']; } else { $parse['BuildList'] = ""; } $de_planettype = PlanetType($planetrow['image']); $parse['type'] = $de_planettype['type']; if ($_GET['page'] == 'station') { $parse['bg'] = HEADER_CACHE . "station/" . $parse['type'] . ".png"; } elseif ($_GET['page'] == 'resources') { if (url_exists(HEADER_CACHE . "resources/" . $parse['type'] . $imgnum . ".png")) { $parse['bg'] = HEADER_CACHE . "resources/" . $parse['type'] . $imgnum . ".png"; } else { $parse['bg'] = HEADER_CACHE . "resources/default.png"; } } else { die("Hacking attempt"); } $parse['hideres'] = "display:none;"; $parse['hidenorm'] = ""; $parse['planetname'] = $planetrow['name']; if (!$Element) { if ($_GET['mode'] == "resources") { $parse['hideres'] = ""; $parse['hidenorm'] = "display:none;"; } } else { if (!is_array($Allowed[$planetrow['planet_type']])) { $message = $user['username'] . " (" . intval($user['id']) . ") does not have a propper planet_type, so \$Allowed[\$planetrow['planet_type']] was not an array, causing the error which is most likely directly below this."; trigger_error($message, E_USER_NOTICE); } if (in_array($Element, $Allowed[$planetrow['planet_type']])) { //Something else $HaveRessources = IsElementBuyable($user, $planetrow, $Element, true, false); $parse['i'] = $Element; $parse['dpath'] = $dpath; $BuildingLevel = $planetrow[$resource[$Element]]; $parse['nivel'] = $BuildingLevel == 0 ? "" : " (" . $lang['level'] . " " . $BuildingLevel . ")"; $parse['n'] = $ElementName; $parse['descriptions'] = $lang['res']['descriptions'][$Element]; $ElementBuildTime = BuildingTime($Element, $BuildingLevel + 1, $planetrow); $parse['time'] = ShowBuildTime($ElementBuildTime); $parse['price'] = GetElementPrice($user, $planetrow, $Element); $parse['rest_price'] = GetRestPrice($user, $planetrow, $Element); $parse['click'] = ''; $NextBuildLevel = $planetrow[$resource[$Element]] + 1; $CurrentMaxFields = CalculateMaxPlanetFields($planetrow); if ($planetrow["field_current"] < $CurrentMaxFields - $Queue['lenght']) { $RoomIsOk = true; } else { $RoomIsOk = false; } if ($Element == 31) { // Sp�cial Laboratoire if ($user["b_tech_planet"] != 0 && $game_config['BuildLabWhileRun'] != 1) { // Variable qui contient le parametre // On verifie si on a le droit d'evoluer pendant les recherches (Setting dans config) $parse['click'] = "<font color=#FF0000>" . $lang['in_working'] . "</font>"; } } if (IsTechnologieAccessible($user, $planetrow, $Element)) { if ($parse['click'] != '') { // Bin on ne fait rien, vu que l'on l'a deja fait au dessus !! } elseif ($RoomIsOk && $CanBuildElement) { if ($Queue['lenght'] == 0) { if ($NextBuildLevel == 1) { if ($HaveRessources == true) { $parse['click'] = "<a href=\"./?page=" . $_GET['page'] . "&cmd=insert&building=" . $Element . "&id=" . $Element . "\"><font color=#00FF00>" . $lang['BuildFirstLevel'] . "</font></a>"; $infopg['build_link'] = "./?page=" . $_GET['page'] . "&cmd=insert&building=" . $Element . "&id=" . $Element; $infopg['build_text'] = $lang['BuildFirstLevel']; } else { $parse['click'] = "<font color=#FF0000>4" . $lang['BuildFirstLevel'] . "</font>"; $infopg['build_text'] = $lang['BuildFirstLevel']; } } else { if ($HaveRessources == true) { $parse['click'] = "<a href=\"./?page=" . $_GET['page'] . "&cmd=insert&building=" . $Element . "&id=" . $Element . "\"><font color=#00FF00>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font></a>"; $infopg['build_link'] = "./?page=" . $_GET['page'] . "&cmd=insert&building=" . $Element . "&id=" . $Element; $infopg['build_text'] = $lang['BuildNextLevel'] . " " . $NextBuildLevel; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; $infopg['build_text'] = $lang['BuildNextLevel'] . " " . $NextBuildLevel; } } } else { $parse['click'] = "<a href=\"./?page=" . $_GET['page'] . "&cmd=insert&building=" . $Element . "&id=" . $Element . "\"><font color=#00FF00>" . $lang['InBuildQueue'] . "</font></a>"; $infopg['build_link'] = "./?page=" . $_GET['page'] . "&cmd=insert&building=" . $Element . "&id=" . $Element; $infopg['build_text'] = $lang['InBuildQueue']; } } elseif ($RoomIsOk && !$CanBuildElement) { if ($NextBuildLevel == 1) { $parse['click'] = "<font color=#FF0000>2" . $lang['BuildFirstLevel'] . "</font>"; $infopg['build_text'] = $lang['BuildFirstLevel']; } else { $parse['click'] = "<font color=#FF0000>1" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; $infopg['build_text'] = $lang['BuildNextLevel'] . " " . $NextBuildLevel; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['NoMoreSpace'] . "</font>"; $infopg['build_text'] = $lang['NoMoreSpace']; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['NotAccessible'] . "</font>"; $infopg['build_text'] = $lang['NotAccessible']; } //Building Info if ($infopg['build_link']) { $infopg['buildit_class'] = "build-it"; $infopg['build_text'] = "Improve"; } else { $infopg['buildit_class'] = "build-it_disabled"; $infopg['build_text'] = "In queue"; } $infopg['id'] = $Element; $infopg['name'] = $ElementName; $infopg['level'] = $planetrow[$resource[$Element]]; if ($planetrow[$resource[$Element]] < 1) { $infopg['display_destroy'] = "style=\"display:none;\""; } $infopg['td_url'] = "./?page=" . $_GET['page'] . "&cmd=destroy&id=" . $Element . "&building=" . $Element; $infopg['title'] = "Tear down"; $infopg['level1'] = $infopg['level'] + 1; $infopg['duration'] = pretty_time($ElementBuildTime); $infopg['shortdesc'] = $lang['sdesc'][$Element]; $infopg['skin'] = $user['skin']; $infopg['cost_m'] = 1 * floor($pricelist[$Element]['metal'] * pow($pricelist[$Element]['factor'], $planetrow[$resource[$Element]])); $infopg['cost_c'] = 1 * floor($pricelist[$Element]['crystal'] * pow($pricelist[$Element]['factor'], $planetrow[$resource[$Element]])); $infopg['cost_d'] = 1 * floor($pricelist[$Element]['deuterium'] * pow($pricelist[$Element]['factor'], $planetrow[$resource[$Element]])); if ($infopg['cost_m'] > $planetrow['metal'] && $infopg['cost_m'] > 0) { $infopg['missing_resource_m'] = "missing_resource"; } if ($infopg['cost_c'] > $planetrow['crystal'] && $infopg['cost_c'] > 0) { $infopg['missing_resource_c'] = "missing_resource"; } if ($infopg['cost_d'] > $planetrow['deuterium'] && $infopg['cost_d'] > 0) { $infopg['missing_resource_d'] = "missing_resource"; } $infopg['sh_cost_m'] = KMnumber($infopg['cost_m'], 0, 'up'); $infopg['sh_cost_c'] = KMnumber($infopg['cost_c'], 0, 'up'); $infopg['sh_cost_d'] = KMnumber($infopg['cost_d'], 0, 'up'); $infopg['cost_m'] = pretty_number($infopg['cost_m']); $infopg['cost_c'] = pretty_number($infopg['cost_c']); $infopg['cost_d'] = pretty_number($infopg['cost_d']); $infopg['page'] = $_GET['page']; $parse['info'] = parsetemplate(gettemplate('buildings/info'), $infopg); $parse['extra'] = "style=\"display:none\""; if ($_GET['axah_section'] == '1') { makeAXAH($parse['info']); die; } } } $parse['planet_field_current'] = $planetrow["field_current"]; $parse['planet_field_max'] = $planetrow['field_max'] + $planetrow[$resource[33]] * 5; $parse['field_libre'] = $parse['planet_field_max'] - $planetrow['field_current']; $parse['buttonz'] = $BuildingPage; $parse['BuildingsList'] = $BuildingPage; if ($_GET['page'] == 'station') { $page = parsetemplate(gettemplate('buildings/station'), $parse); $title = $lang['Facilities']; } elseif ($_GET['page'] == 'resources') { //Resources screen $parse['resources_section'] = BuildRessourcePage($user, $planetrow, $parse['hideres']); $page = parsetemplate(gettemplate('buildings/resources'), $parse); $title = $lang['Resources']; } else { die("Hacking attempt"); } if ($_GET['axah']) { makeAXAH($page); } else { displaypage($page, $title); } }
/** * BatimentBuildingPage.php * * @version 1.1 * @copyright 2008 by Chlorel for XNova */ function ProductionBuildingPage(&$CurrentPlanet, $CurrentUser) { global $lang, $resource, $reslist, $pricelist, $phpEx, $dpath, $game_config, $_GET; CheckPlanetUsedFields($CurrentPlanet); // Tables des batiments possibles par type de planete $Allowed['1'] = array(1, 2, 3, 4, 12, 212, 22, 23, 24); $Allowed['3'] = array(212, 22, 23, 24); //Right, lets see what he has an generate him an image. $imgnum = ''; if ($CurrentPlanet[$resource[1]] > 0) { $imgnum .= "_1"; } if ($CurrentPlanet[$resource[2]] > 0) { $imgnum .= "_2"; } if ($CurrentPlanet[$resource[3]] > 0) { $imgnum .= "_3"; } if ($CurrentPlanet[$resource[4]] > 0) { $imgnum .= "_4"; } // Boucle d'interpretation des eventuelles commandes if (isset($_GET['cmd'])) { // On passe une commande $bThisIsCheated = false; $bDoItNow = false; $TheCommand = $_GET['cmd']; $Element = $_GET['building']; $ListID = $_GET['listid']; if (isset($Element)) { if (!strchr($Element, " ")) { if (!strchr($Element, ",")) { if (in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) { $bDoItNow = true; } else { //$bThisIsCheated = true; $bDoItNow = true; } } else { $bThisIsCheated = true; } } else { $bThisIsCheated = true; } } elseif (isset($ListID)) { $bDoItNow = true; } if ($bDoItNow == true) { switch ($TheCommand) { case 'cancel': // Interrompre le premier batiment de la queue CancelBuildingFromQueue($CurrentPlanet, $CurrentUser); break; case 'remove': // Supprimer un element de la queue (mais pas le premier) // $RemID -> element de la liste a supprimer RemoveBuildingFromQueue($CurrentPlanet, $CurrentUser, $ListID); break; case 'insert': // Insere un element dans la queue $fields_rem = $CurrentPlanet['field_max'] - $CurrentPlanet['field_current'] + $CurrentPlanet[$resource[33]] * 5; if ($fields_rem >= 0) { AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, true); } else { echo $fields_rem . " < 0"; die("Hacking Attempt!"); } break; case 'destroy': // Detruit un batiment deja construit sur la planete ! AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, false); break; default: break; } // switch } elseif ($bThisIsCheated == true) { ResetThisFuckingCheater($CurrentUser['id']); } } SetNextQueueElementOnTop($CurrentPlanet, $CurrentUser); $Queue = ShowBuildingQueue($CurrentPlanet, $CurrentUser); // On enregistre ce que l'on a modifi� dans planet ! BuildingSavePlanetRecord($CurrentPlanet); // On enregistre ce que l'on a eventuellement modifi� dans users BuildingSaveUserRecord($CurrentUser); $max_qs = MAX_BUILDING_QUEUE_SIZE; if ($max_qs > 0) { //fine :) } else { $max_qs = 10; } if ($Queue['lenght'] < $max_qs) { $CanBuildElement = true; } else { $CanBuildElement = false; } $SubTemplate = gettemplate('buildings_res_buttonz'); $parse = array(); $infopg = array(); foreach ($lang['tech'] as $Element => $ElementName) { if (in_array($Element, $Allowed[1])) { if (in_array($Element, $Allowed[$CurrentPlanet['planet_type']])) { if (!IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { $parse['state_' . $Element] = "off"; $parse['mes_' . $Element] = "Requirements are not met"; } elseif (!IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false)) { $parse['state_' . $Element] = "disabled"; $parse['mes_' . $Element] = "Not enough resources!"; } else { $parse['state_' . $Element] = "on"; $parse['mes_' . $Element] = ""; } } else { $parse['state_' . $Element] = "off"; $parse['mes_' . $Element] = "Not availble"; } $parse['name_' . $Element] = $ElementName; $parse['count_' . $Element] = $CurrentPlanet[$resource[$Element]]; } } $BuildingPage = parsetemplate($SubTemplate, $parse); $parse = $lang; $Element = idstring($_GET['id']); $ElementName = $lang['tech'][$Element]; // Faut il afficher la liste de construction ?? if ($Queue['lenght'] > 0) { $parse['BuildListScript'] = ''; //$parse['BuildListScript'] = InsertBuildListScript ( "buildings" ); $parse['BuildList'] = $Queue['buildlist']; } else { $parse['BuildListScript'] = ""; $parse['BuildList'] = ""; } $de_planettype = PlanetType($CurrentPlanet['image']); $parse['type'] = $de_planettype['type']; $parse['bg'] = GAME_SKIN . "/img/header/resources/" . $parse['type'] . $imgnum . ".png"; $parse['hideres'] = "display:none;"; $parse['hidenorm'] = ""; if (!$Element) { $parse['bg'] = GAME_SKIN . "/img/header/resources/" . $parse['type'] . $imgnum . ".png"; if ($_GET['mode'] == "resources") { $parse['hideres'] = ""; $parse['hidenorm'] = "display:none;"; $parse['resources_section'] = BuildRessourcePage($CurrentUser, $CurrentPlanet); } } else { if (in_array($Element, $Allowed[$CurrentPlanet['planet_type']])) { //Something else $HaveRessources = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false); $parse['i'] = $Element; $parse['dpath'] = $dpath; $BuildingLevel = $CurrentPlanet[$resource[$Element]]; $parse['nivel'] = $BuildingLevel == 0 ? "" : " (" . $lang['level'] . " " . $BuildingLevel . ")"; $parse['n'] = $ElementName; $parse['descriptions'] = $lang['res']['descriptions'][$Element]; $ElementBuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element); $parse['time'] = ShowBuildTime($ElementBuildTime); $parse['price'] = GetElementPrice($CurrentUser, $CurrentPlanet, $Element); $parse['rest_price'] = GetRestPrice($CurrentUser, $CurrentPlanet, $Element); $parse['click'] = ''; $CurrentMaxFields = CalculateMaxPlanetFields($CurrentPlanet); if ($CurrentPlanet["field_current"] < $CurrentMaxFields - $Queue['lenght']) { $RoomIsOk = true; } else { $RoomIsOk = false; } if ($Element == 31) { // Sp�cial Laboratoire if ($CurrentUser["b_tech_planet"] != 0 && $game_config['BuildLabWhileRun'] != 1) { // Variable qui contient le parametre // On verifie si on a le droit d'evoluer pendant les recherches (Setting dans config) $parse['click'] = "<font color=#FF0000>" . $lang['in_working'] . "</font>"; } } if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { if ($parse['click'] != '') { // Bin on ne fait rien, vu que l'on l'a deja fait au dessus !! } elseif ($RoomIsOk && $CanBuildElement) { if ($Queue['lenght'] == 0) { if ($NextBuildLevel == 1) { if ($HaveRessources == true) { $parse['click'] = "<a href=\"./?page=resources&cmd=insert&building=" . $Element . "&id=" . $Element . "\"><font color=#00FF00>" . $lang['BuildFirstLevel'] . "</font></a>"; $infopg['build_link'] = "./?page=resources&cmd=insert&building=" . $Element . "&id=" . $Element; $infopg['build_text'] = $lang['BuildFirstLevel']; } else { $parse['click'] = "<font color=#FF0000>4" . $lang['BuildFirstLevel'] . "</font>"; $infopg['build_text'] = $lang['BuildFirstLevel']; } } else { if ($HaveRessources == true) { $parse['click'] = "<a href=\"./?page=resources&cmd=insert&building=" . $Element . "&id=" . $Element . "\"><font color=#00FF00>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font></a>"; $infopg['build_link'] = "./?page=resources&cmd=insert&building=" . $Element . "&id=" . $Element; $infopg['build_text'] = $lang['BuildNextLevel'] . " " . $NextBuildLevel; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; $infopg['build_text'] = $lang['BuildNextLevel'] . " " . $NextBuildLevel; } } } else { $parse['click'] = "<a href=\"./?page=resources&cmd=insert&building=" . $Element . "&id=" . $Element . "\"><font color=#00FF00>" . $lang['InBuildQueue'] . "</font></a>"; $infopg['build_link'] = "./?page=resources&cmd=insert&building=" . $Element . "&id=" . $Element; $infopg['build_text'] = $lang['InBuildQueue']; } } elseif ($RoomIsOk && !$CanBuildElement) { if ($NextBuildLevel == 1) { $parse['click'] = "<font color=#FF0000>2" . $lang['BuildFirstLevel'] . "</font>"; $infopg['build_text'] = $lang['BuildFirstLevel']; } else { $parse['click'] = "<font color=#FF0000>1" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; $infopg['build_text'] = $lang['BuildNextLevel'] . " " . $NextBuildLevel; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['NoMoreSpace'] . "</font>"; $infopg['build_text'] = $lang['NoMoreSpace']; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['NotAccessible'] . "</font>"; $infopg['build_text'] = $lang['NotAccessible']; } //$parse['bg'] = GAME_SKIN."/img/header/resources/ice.png"; $parse['gebaeude_inf'] = "<br /><blockquote style=\"margin-left: 15px; margin-right: 15px; filter:alpha(opacity=75); -moz-opacity:.75; opacity:.75; background-color: #000000;\">\r\n\t\t\t<div style=\"margin-left: 10px; margin-right: 10px;\">\r\n\t\t\t<table width=\"100%\"><tr>\r\n\t\t\t\t<td width=\"130\"><img src=\"" . $dpath . "/gebaeude/" . $parse['i'] . ".gif\" width=\"120\" border=\"0\" alt=\"" . $parse['n'] . "\" /></td>\r\n\t\t\t\t<td style=\"margin-left: 10px;\">\r\n\t\t\t\t<div style=\"text-align: center;\"><!--<a href=\"infos.php?gid=" . $parse['i'] . "\">-->" . $parse['n'] . "<!--</a>--></div>" . "<div style=\"text-align: left;\">" . $parse['nivel'] . "<br />" . $parse['descriptions'] . "<br /><br />" . $parse['price'] . $parse['time'] . $parse['rest_price'] . "<br /></div>" . "<div style=\"text-align: right;\">" . $parse['click'] . "</div>\r\n\t\t\t\t</td>\r\n\t\t\t</tr></table>\r\n\t\t\t</div>\r\n\t\t\t</blockquote>"; //Building Info if ($infopg['build_link']) { $infopg['buildit_class'] = "build-it"; $infopg['build_text'] = "Improve"; } else { $infopg['buildit_class'] = "build-it_disabled"; $infopg['build_text'] = "In queue"; } $infopg['id'] = $Element; $infopg['name'] = $ElementName; $infopg['level'] = $CurrentPlanet[$resource[$Element]]; if ($CurrentPlanet[$resource[$Element]] < 1) { $infopg['display_destroy'] = "style=\"display:none;\""; } $infopg['td_url'] = "./?page=" . $_GET['page'] . "&cmd=destroy&building=" . $Element; $infopg['title'] = "Tear down"; $infopg['level1'] = $infopg['level'] + 1; $infopg['duration'] = pretty_time($ElementBuildTime); $infopg['shortdesc'] = $lang['res']['descriptions'][$Element]; $infopg['skin'] = $CurrentUser['skin']; $infopg['cost_m'] = 1 * floor($pricelist[$Element]['metal'] * pow($pricelist[$Element]['factor'], $CurrentPlanet[$resource[$Element]])); $infopg['cost_c'] = 1 * floor($pricelist[$Element]['crystal'] * pow($pricelist[$Element]['factor'], $CurrentPlanet[$resource[$Element]])); $infopg['cost_d'] = 1 * floor($pricelist[$Element]['deuterium'] * pow($pricelist[$Element]['factor'], $CurrentPlanet[$resource[$Element]])); if ($infopg['cost_m'] > $CurrentPlanet['metal'] && $infopg['cost_m'] > 0) { $infopg['missing_resource_m'] = "missing_resource"; } if ($infopg['cost_c'] > $CurrentPlanet['crystal'] && $infopg['cost_c'] > 0) { $infopg['missing_resource_c'] = "missing_resource"; } if ($infopg['cost_d'] > $CurrentPlanet['deuterium'] && $infopg['cost_d'] > 0) { $infopg['missing_resource_d'] = "missing_resource"; } $infopg['sh_cost_m'] = KMnumber($infopg['cost_m'], 0, 'up'); $infopg['sh_cost_c'] = KMnumber($infopg['cost_c'], 0, 'up'); $infopg['sh_cost_d'] = KMnumber($infopg['cost_d'], 0, 'up'); $infopg['cost_m'] = pretty_number($infopg['cost_m']); $infopg['cost_c'] = pretty_number($infopg['cost_c']); $infopg['cost_d'] = pretty_number($infopg['cost_d']); $infopg['page'] = $_GET['page']; $parse['info'] = parsetemplate(gettemplate('buildings/info'), $infopg); $parse['extra'] = "style=\"display:none\""; } } $parse['planet_field_current'] = $CurrentPlanet["field_current"]; $parse['planet_field_max'] = $CurrentPlanet['field_max'] + $CurrentPlanet[$resource[33]] * 5; $parse['field_libre'] = $parse['planet_field_max'] - $CurrentPlanet['field_current']; $parse['buttonz'] = $BuildingPage; $page .= parsetemplate(gettemplate('buildings/resources'), $parse); displaypage($page, $lang['Builds']); }
$cost = $darkmattercosts[250]; } else { $amount = 100000; $cost = $darkmattercosts[100]; } switch ($_GET['action']) { case 'success': // Order was successful... if (intval($_GET['id']) == $user['id']) { $username = $user['username']; } else { $username = '******' . intval($_GET['id']); } echo "<html><head><title>Success</title></head><body><h3>Thank you for your order.</h3>"; //foreach ($_POST as $key => $value) { echo "$key: $value<br>"; } echo KMnumber($_GET['amount']) . " will be added to the account " . $username . " in universe " . UNIVERSE . ". If this is wrong contact a GO immediently.<br />"; echo "<a href=\"./?s=" . UNIVERSE . "\">Continue</a>"; echo "</body></html>"; break; case 'cancel': // Order was canceled... echo "<html><head><title>Canceled</title></head><body><h3>The order was canceled.</h3><br />"; echo "<a href=\"./?s=" . UNIVERSE . "\">Continue</a>"; echo "</body></html>"; break; case 'ipn': // Paypal is calling page for IPN validation... /* It's important to remember that paypal calling this script. There is no output here. This is where you validate the IPN data and if it's valid, update your database to signify that the user has payed. If
function NewHeader($bodyid) { global $planetrow, $user, $onload, $dpath, $game_config, $resource, $_GET, $lang, $cid; getLang('menu'); $parse = $lang; $parse['bodyid'] = $bodyid; //Top Menu $parse['forum_url'] = $game_config['forum_url']; $parse['game_name'] = $game_config['game_name']; //Basics $de_planettype = PlanetType($planetrow['image']); $parse['type'] = $de_planettype['type']; $parse['de_type'] = $de_planettype; $parse['de_string'] = $planetrow['image']; $parse['user_name'] = $user['username']; $parse['skin'] = $user['skin']; $parse['dpath'] = $user['dpath']; $parse['dpath'] = $dpath; //Moon extention if ($planetrow['planet_type'] == 3) { $parse['planet_ext'] = '-moon'; } else { $parse['planet_ext'] = ''; } if ($user['authlevel'] > 1) { $parse['adminlink'] = '<li><a href="./?page=admin">' . $lang['Amdin'] . '</a></li>'; } //To get planet sub type (01 to 10) well will remove all except numbers. To remove the leading zeros, times by 1. $parse['subtype'] = $de_planettype['subtype']; //Messages if (strlen($user['messages']) > 0) { $messages = explode(",", $user['messages']); $mess = 0; foreach ($messages as $c) { $mess += $c; } if ($mess > 0) { $parse['showmail'] = 'visible'; $parse['messages_count'] = pretty_number($mess); } else { $parse['showmail'] = 'hidden'; } } else { $parse['showmail'] = 'hidden'; } //Officers for ($offi = 601; $offi <= 605; $offi++) { //echo $user[$resource[$offi]]."-"; if ($user[$resource[$offi] . "_exp"] < time()) { $parse["un" . $offi] = "_un"; $parse["hire" . $offi] = "Hire " . $lang['names'][$offi]; } else { $parse["un" . $offi] = ""; //$parse["hire".$offi] = "Expires: ".date($lang['daymonth']."/y H:i",$user[$resource[$offi]."_exp"]); $remain = $user[$resource[$offi] . "_exp"] - time(); if ($remain >= 86400) { $parse["hire" . $offi] = $lang['expiresin'] . " " . floor($remain / 86400) . " " . $lang['days']; } elseif ($remain >= 3600) { $parse["hire" . $offi] = $lang['expiresin'] . " " . floor($remain / 3600) . " " . $lang['hours']; } } } //M/C/D/DM $parse['metal'] = pretty_number($planetrow['metal'] * 1); $parse['crystal'] = pretty_number($planetrow['crystal'] * 1); $parse['deut'] = pretty_number($planetrow['deuterium'] * 1); $parse['kmetal'] = KMnumber($planetrow['metal'] * 1); $parse['kcrystal'] = KMnumber($planetrow['crystal'] * 1); $parse['kdeut'] = KMnumber($planetrow['deuterium'] * 1); $parse['energy'] = KMnumber($planetrow['energy_used'] + $planetrow['energy_max']); $parse['energy_green'] = " color=\"green\""; if ($parse['energy'] <= 0) { $parse['energy_red'] = " color=\"red\""; $parse['energy_green'] = " color=\"red\""; } $parse['energy_used'] = pretty_number(floor($planetrow['energy_used'] * -1)); $parse['energy_max'] = pretty_number(floor($planetrow['energy_max'] * 1)); $parse['matter'] = KMnumber(floor($user['matter']) * DARK_MATTER_FACTOR * 1); $parse['players'] = USER_RANK; $fl_tbl = GetFleetInfo($user, $planet); if ($fl_tbl) { $parse['fleet_table'] = $fl_tbl[0]; $parse['eventboxdisplay'] = 'block'; } else { $parse['eventboxdisplay'] = 'none'; } if ($fl_tbl[1] > 0) { $parse['attack_alert'] = 'visible'; } else { $parse['attack_alert'] = 'hidden'; } $parse['onload'] = $onload; $parse['note_show'] = "none"; $parse['desc_show'] = "none"; if ($_GET['message'] && $_GET['etype']) { $parse['ncont'] = $_GET['message']; $parse['nhead'] = $_GET['title']; $parse[$_GET['etype'] . '_show'] = "float"; $parse['go_ok'] = $_GET['to']; $parse['go_yes'] = $_GET['ifyes']; $parse['go_no'] = $_GET['ifno']; //$parse['errorbox'] = parsetemplate(gettemplate('redesigned/errorbox'),$parse); } $part = parsetemplate(gettemplate('redesigned/header'), $parse); //echo $part; return $part; }
function DefensesBuildingPage(&$CurrentPlanet, $CurrentUser) { global $lang, $resource, $phpEx, $dpath, $_POST, $reslist, $pricelist; if (isset($_POST['fmenge'])) { // On vient de Cliquer ' Construire ' // Et y a une liste de doléances // Ici, on sait precisement ce qu'on aimerait bien construire ... // Gestion de la place disponible dans les silos ! $Missiles[502] = $CurrentPlanet[$resource[502]]; $Missiles[503] = $CurrentPlanet[$resource[503]]; $SiloSize = $CurrentPlanet[$resource[44]]; $MaxMissiles = $SiloSize * 10; // On prend les missiles deja dans la queue de fabrication aussi (ca aide) $BuildQueue = $CurrentPlanet['b_hangar_id']; $BuildArray = explode(";", $BuildQueue); for ($QElement = 0; $QElement < count($BuildArray); $QElement++) { $ElmentArray = explode(",", $BuildArray[$QElement]); if ($ElmentArray[502] != 0) { $Missiles[502] += $ElmentArray[502]; } elseif ($ElmentArray[503] != 0) { $Missiles[503] += $ElmentArray[503]; } } foreach ($_POST as $Element => $Count) { $Element = idstring($Element); if (in_array($Element, $reslist['fleet'])) { $Element = intval($Element); $Count = intval($Count); if ($Count > MAX_FLEET_OR_DEFS_PER_ROW) { $Count = MAX_FLEET_OR_DEFS_PER_ROW; } if ($Count != 0) { // Cas particulier (Petit Bouclier et Grand Bouclier // ne peuvent exister qu'une seule et unique fois $InQueue = strpos($CurrentPlanet['b_hangar_id'], $Element . ","); $IsBuild = $CurrentPlanet[$resource[407]] >= 1 ? true : false; if ($Element == 407 || $Element == 408) { if ($InQueue === false && !$IsBuild) { $Count = 1; } } // On verifie si on a les technologies necessaires a la construction de l'element if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { // On verifie combien on sait faire de cet element au max $MaxElements = GetMaxConstructibleElements($Element, $CurrentPlanet); // Testons si on a de la place pour ces nouveaux missiles ! if ($Element == 502 || $Element == 503) { // Cas particulier des missiles $ActuMissiles = $Missiles[502] + 2 * $Missiles[503]; $MissilesSpace = $MaxMissiles - $ActuMissiles; if ($Element == 502) { if ($Count > $MissilesSpace) { $Count = $MissilesSpace; } } else { if ($Count > floor($MissilesSpace / 2)) { $Count = floor($MissilesSpace / 2); } } if ($Count > $MaxElements) { $Count = $MaxElements; } $Missiles[$Element] += $Count; } else { // Si pas assez de ressources, on ajuste le nombre d'elements if ($Count > $MaxElements) { $Count = $MaxElements; } } $Ressource = GetElementRessources($Element, $Count); $BuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element); if ($Count >= 1) { $CurrentPlanet['metal'] -= $Ressource['metal']; $CurrentPlanet['crystal'] -= $Ressource['crystal']; $CurrentPlanet['deuterium'] -= $Ressource['deuterium']; $CurrentPlanet['b_hangar_id'] .= "" . $Element . "," . $Count . ";"; } } } } } } // ------------------------------------------------------------------------------------------------------- // S'il n'y a pas de Chantier ... if ($CurrentPlanet[$resource[21]] == 0) { $shipyard = false; } else { $shipyard = true; } // ------------------------------------------------------------------------------------------------------- // Construction de la page du Chantier (car si j'arrive ici ... c'est que j'ai tout ce qu'il faut pour ... $TabIndex = 0; $PageTable = ""; $SubTemplate = gettemplate('buildings/defense_buttonz'); $parse = array(); $infopg = array(); foreach ($lang['tech'] as $Element => $ElementName) { if (in_array($Element, $reslist['defense'])) { if (!IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { $parse['state_' . $Element] = "off"; $parse['mes_' . $Element] = "Requirements are not met"; } elseif (!IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false)) { $parse['state_' . $Element] = "disabled"; $parse['mes_' . $Element] = "Not enough resources!"; } else { $parse['state_' . $Element] = "on"; $parse['mes_' . $Element] = ""; } $parse['name_' . $Element] = $ElementName; $parse['count_' . $Element] = $CurrentPlanet[$resource[$Element]]; } else { $parse['state_' . $Element] = "off"; $parse['mes_' . $Element] = "Not availble"; } } $Buttonz = parsetemplate($SubTemplate, $parse); $parse = $lang; $Element = idstring($_GET['id']); $ElementName = $lang['tech'][$Element]; if (!$Element) { $parse['bg'] = "../img/headerCache/station/" . $parse['type'] . ".png"; } else { if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element) && IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false)) { $infopg['build_link'] = '#" onclick="document.forms.shipyard.submit()'; } //Building Info if ($infopg['build_link']) { $infopg['buildit_class'] = "build-it"; $infopg['build_text'] = "Build"; } else { $infopg['buildit_class'] = "build-it_disabled"; $infopg['build_text'] = "Build"; } $infopg['id'] = $Element; $infopg['name'] = $ElementName; $infopg['level'] = $CurrentPlanet[$resource[$Element]]; if ($CurrentPlanet[$resource[$Element]] < 1) { $infopg['display_destroy'] = "style=\"display:none;\""; } $infopg['td_url'] = "./?page=" . $_GET['page'] . "&cmd=destroy&id=" . $Element . "&building=" . $Element; $infopg['title'] = "Tear down"; $infopg['level1'] = $infopg['level'] + 1; $infopg['duration'] = pretty_time(GetBuildingTime($CurrentUser, $CurrentPlanet, $Element)); $infopg['shortdesc'] = $lang['res']['descriptions'][$Element]; $infopg['skin'] = $CurrentUser['skin']; $infopg['cost_m'] = $pricelist[$Element]['metal']; $infopg['cost_c'] = $pricelist[$Element]['crystal']; $infopg['cost_d'] = $pricelist[$Element]['deuterium']; if ($infopg['cost_m'] > $CurrentPlanet['metal'] && $infopg['cost_m'] > 0) { $infopg['missing_resource_m'] = "missing_resource"; } if ($infopg['cost_c'] > $CurrentPlanet['crystal'] && $infopg['cost_c'] > 0) { $infopg['missing_resource_c'] = "missing_resource"; } if ($infopg['cost_d'] > $CurrentPlanet['deuterium'] && $infopg['cost_d'] > 0) { $infopg['missing_resource_d'] = "missing_resource"; } $infopg['sh_cost_m'] = KMnumber($infopg['cost_m'], 0, 'up'); $infopg['sh_cost_c'] = KMnumber($infopg['cost_c'], 0, 'up'); $infopg['sh_cost_d'] = KMnumber($infopg['cost_d'], 0, 'up'); $infopg['cost_m'] = pretty_number($infopg['cost_m']); $infopg['cost_c'] = pretty_number($infopg['cost_c']); $infopg['cost_d'] = pretty_number($infopg['cost_d']); $infopg['page'] = $_GET['page']; $parse['info'] = parsetemplate(gettemplate('buildings/sy_info'), $infopg); $parse['extra'] = "style=\"display:none\""; } $parse['buttonz'] = $Buttonz; $page = parsetemplate(gettemplate('buildings/shipyard'), $parse); displaypage($page, $lang['Defense']); }
/** * officers.php * * @version 1.2 * @copyright 2009 By MadnessRed for XNova Redesigned */ function ShowOfficierPage(&$CurrentUser) { global $lang, $resource, $reslist, $_GET; includeLang('officier'); includeLang('infos'); getLang('premium'); //Officer costs. $week_cost = 10000; //Cost for one week $three_month_cost = 100000; //Cost for 3 months $factor = DARK_MATTER_FACTOR; //Old system, you can un-comment and use if you want /* //refers,lvl_minier,lvl_raid,off_spent $CurrentUser['rpg_points'] = (($CurrentUser['refers'] + $CurrentUser['lvl_minier'] + $CurrentUser['lvl_raid']) / $factor); doquery("UPDATE {{table}} SET `rpg_points` = '".$CurrentUser['rpg_points']."' WHERE `id` = '". $CurrentUser['id'] ."';", 'users'); $offipts = ($CurrentUser['rpg_points'] - $CurrentUser['off_spent']) * $factor; $av2buy = floor($CurrentUser['rpg_points'] - $CurrentUser['off_spent']); */ $av2buy = $CurrentUser['matter']; // Si recrutement d'un officier if ($_GET['mode'] == 2) { if ($av2buy >= $week_cost) { $Selected = idstring($_GET['offi']); if (in_array($Selected, $reslist['officier'])) { $Result = IsOfficierAccessible($CurrentUser, $Selected); if ($Result == 1) { if ($_GET['time'] == "1") { $CurrentUser[$resource[$Selected] . "_exp"] = time() + 60 * 60 * 24 * 7; //$CurrentUser['off_spent'] += 1; $CurrentUser['matter'] -= $week_cost; } elseif ($_GET['time'] == "2" && $av2buy >= $three_month_cost) { $CurrentUser[$resource[$Selected] . "_exp"] = time() + 60 * 60 * 24 * 30 * 3; //$CurrentUser['off_spent'] += 10; $CurrentUser['matter'] -= $three_month_cost; } elseif ($_GET['time'] == "2") { $stop = true; } if (!$stop) { $QryUpdateUser = "******" . $CurrentUser['matter'] . "', "; //$QryUpdateUser .= "`".$resource[$Selected]."` = '". $CurrentUser[$resource[$Selected]] ."', "; $QryUpdateUser .= "`" . $resource[$Selected] . "_exp` = '" . $CurrentUser[$resource[$Selected] . "_exp"] . "' "; $QryUpdateUser .= "WHERE `id` = '" . $CurrentUser['id'] . "';"; doquery($QryUpdateUser, 'users') or die(mysql_error()); $Message = $lang['success']; } else { $Message = $lang['NoPoints']; } } elseif ($Result == -1) { if ($_GET['time'] == "1") { $CurrentUser[$resource[$Selected] . "_exp"] += 60 * 60 * 24 * 7; //$CurrentUser['off_spent'] += 1; $CurrentUser['matter'] -= $week_cost; } elseif ($_GET['time'] == "2" && $av2buy >= $three_month_cost) { $CurrentUser[$resource[$Selected] . "_exp"] += 60 * 60 * 24 * 30 * 3; //$CurrentUser['off_spent'] += 10; $CurrentUser['matter'] -= $three_month_cost; } elseif ($_GET['time'] == "2") { $stop = true; } if (!$stop) { $QryUpdateUser = "******" . $CurrentUser['matter'] . "', "; //$QryUpdateUser .= "`".$resource[$Selected]."` = '". $CurrentUser[$resource[$Selected]] ."', "; $QryUpdateUser .= "`" . $resource[$Selected] . "_exp` = '" . $CurrentUser[$resource[$Selected] . "_exp"] . "' "; $QryUpdateUser .= "WHERE `id` = '" . $CurrentUser['id'] . "';"; doquery($QryUpdateUser, 'users') or die(mysql_error()); $Message = $lang['success']; } else { $Message = $lang['NoPoints']; } } elseif ($Result == 0) { $Message = $lang['Noob']; } } else { $Message = $lang['NonExist'] . " (" . $Selected . ")"; } } else { $Message = $lang['NoPoints']; } info($Message, $lang['Officier'], "./?page=premium&offi=" . $Selected); die; } else { // Pas de recrutement d'officier $TPL = gettemplate('buildings/officers'); $MatterTPL = gettemplate('buildings/off_matter'); $InfoTPL = gettemplate('buildings/off_info'); $IconTPL = gettemplate('buildings/off_icon'); $parse = $lang; $parse['avl2buy'] = KMnumber($av2buy); $parse['offis'] = ''; foreach ($reslist['officier'] as $n => $off) { $row = $lang; //The item $row['n'] = $n + 2; $row['id'] = $off; $row['name'] = $lang['names'][$off]; //Availble? $Result = IsOfficierAccessible($CurrentUser, $off); if ($Result == 0) { $row['class'] = 'off'; } else { $row['class'] = 'on'; } //How long have we got left? $expires = $CurrentUser[$resource[$off] . "_exp"]; $oneday = 60 * 60 * 24; $onehour = 60 * 60; $timeleft = $expires - time(); if ($timeleft > $oneday) { $hiredfor = floor($timeleft / $oneday) . " " . $lang['days'] . "."; } elseif ($timeleft > $onehour) { $hiredfor = floor($timeleft / $onehour) . " " . $lang['hours'] . "."; } elseif ($timeleft > 0) { $hiredfor = floor($timeleft / 60) . " " . $lang['mins'] . "."; } else { $hiredfor = 'X'; } $row['remaining'] = $lang['activefor'] . " " . $hiredfor; //$row['name'] = $ //Icons if ($timeleft > 0) { $row['gotgfx'] = 'check'; } else { $row['gotgfx'] = 'none'; } $parse['offis'] .= parsetemplate($IconTPL, $row); /* $bloc['off_id'] = $Officier; $bloc['off_tx_lvl'] = $lang['ttle'][$Officier]; if($CurrentUser[$resource[$Officier]] > 0){ $bloc['off_lvl'] = " : ".$lang['hireduntil']." ".$hiredfor; }else{ $bloc['off_lvl'] = ""; } $bloc['off_desc'] = $lang['Desc'][$Officier]; if ($Result == 1) { $bloc['off_link'] = "<a href=\"officier.php?mode=2&time=1&offi=".$Officier."\"><font color=\"#00ff00\">". $lang['link'][1]."</font><br /><br />"; $bloc['off_link'] .= "<a href=\"officier.php?mode=2&time=2&offi=".$Officier."\"><font color=\"#00ff00\">". $lang['link'][2]."</font>"; } else { $bloc['off_link'] = $lang['Maxlvl']; } $parse['disp_off_tbl'] .= parsetemplate( $RowTPL, $bloc ); */ } if (idstring($_GET['offi']) == '600') { $parse['remove'] = 'style="display:none;"'; $parse['info'] = parsetemplate($MatterTPL, $parse); } elseif (in_array(idstring($_GET['offi']), $reslist['officier'])) { $info = $lang; $info['offi'] = $_GET['offi']; $info['id'] = 0; foreach ($reslist['officier'] as $n => $off) { if ($off == $_GET['offi']) { $info['id'] = $n + 2; } } $info['oneweekcost'] = pretty_number($week_cost); $info['threemonthcost'] = pretty_number($three_month_cost); $info['name'] = $lang['info'][$_GET['offi']]['name']; $info['long_desc'] = $lang['info'][$_GET['offi']]['description']; $info['sdesc'] = $lang['res']['descriptions'][$_GET['offi']]; $parse['remove'] = 'style="display:none;"'; $parse['info'] = parsetemplate($InfoTPL, $info); } else { $parse['info'] = ''; } $page = parsetemplate($TPL, $parse); } return $page; }
} } foreach ($reslist['tech'] as $id) { //Research $array['research'][$id]['n'] = $lang['names'][$id]; $array['research'][$id][$n] = KMnumber($user[$resource[$id]]); } foreach ($reslist['fleet'] as $id) { //Shipyard $array['shipyard'][$id]['n'] = $lang['names'][$id]; $array['shipyard'][$id][$n] = KMnumber($p[$resource[$id]]); } foreach ($reslist['defense'] as $id) { //Defense $array['defense'][$id]['n'] = $lang['names'][$id]; $array['defense'][$id][$n] = KMnumber($p[$resource[$id]]); } } for ($no = $n; $no < 3; $no++) { $parse['planets'] .= ' <td class="planetbg"> <div id="planetname[' . $no . ']" class="planetname"></div> <div id="planet[' . $no . ']" class="planet"></div> <div id="coords[' . $no . ']" class="coords"></div> <div id="" class="fields tips"><span id="space[' . $no . ']"></span></div> <div class="clearfloat"></div> </td>'; } $rowsTPL = ' <tr class="resource">
function FleetBuildingPage(&$CurrentPlanet, $CurrentUser) { global $lang, $resource, $phpEx, $dpath, $_POST, $reslist, $pricelist; echo "["; print_r($_POST); echo "]"; if (isset($_POST['fmenge'])) { // On vient de Cliquer ' Construire ' // Et y a une liste de dol�ances $AddedInQueue = false; // Ici, on sait precisement ce qu'on aimerait bien construire ... foreach ($_POST as $Element => $Count) { $Element = idstring($Element); if (in_array($Element, $reslist['fleet'])) { $Element = intval($Element); $Count = intval($Count); if ($Count > MAX_FLEET_OR_DEFS_PER_ROW) { $Count = MAX_FLEET_OR_DEFS_PER_ROW; } if ($Count > 0) { // On verifie si on a les technologies necessaires a la construction de l'element if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { // On verifie combien on sait faire de cet element au max $MaxElements = GetMaxConstructibleElements($Element, $CurrentPlanet); // Si pas assez de ressources, on ajuste le nombre d'elements if ($Count > $MaxElements) { $Count = $MaxElements; } $Ressource = GetElementRessources($Element, $Count); $BuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element); if ($Count >= 1) { $CurrentPlanet['metal'] -= $Ressource['metal']; $CurrentPlanet['crystal'] -= $Ressource['crystal']; $CurrentPlanet['deuterium'] -= $Ressource['deuterium']; $CurrentPlanet['b_hangar_id'] .= "" . $Element . "," . $Count . ";"; } } } } } } // ------------------------------------------------------------------------------------------------------- // S'il n'y a pas de Chantier ... if ($CurrentPlanet[$resource[21]] == 0) { $shipyard = false; } else { $shipyard = true; } // ------------------------------------------------------------------------------------------------------- // Now for the building part. $TabIndex = 0; $SubTemplate = gettemplate('buildings/shipyard_buttonz'); $parse = array(); $infopg = array(); foreach ($lang['tech'] as $Element => $ElementName) { if (in_array($Element, $reslist['fleet'])) { if (!IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { $parse['state_' . $Element] = "off"; $parse['mes_' . $Element] = "Requirements are not met"; } elseif (!IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false)) { $parse['state_' . $Element] = "disabled"; $parse['mes_' . $Element] = "Not enough resources!"; } else { $parse['state_' . $Element] = "on"; $parse['mes_' . $Element] = ""; } $parse['name_' . $Element] = $ElementName; $parse['count_' . $Element] = KMnumber($CurrentPlanet[$resource[$Element]]); } else { $parse['state_' . $Element] = "off"; $parse['mes_' . $Element] = "Not availble"; } } $Buttonz = parsetemplate($SubTemplate, $parse); $parse = $lang; $Element = idstring($_GET['id']); $ElementName = $lang['tech'][$Element]; if (!$Element) { $parse['bg'] = "../img/headerCache/station/" . $parse['type'] . ".png"; } else { if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element) && IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false)) { $infopg['build_link'] = '#" onclick="Javascript: document.getElementById(\'shipyard\').submit()'; } die("!!!!!!!!!!!!!"); //Building Info if ($infopg['build_link']) { $infopg['buildit_class'] = "build-it"; $infopg['build_text'] = "Build"; } else { $infopg['buildit_class'] = "build-it_disabled"; $infopg['build_text'] = "Build"; } $infopg['id'] = $Element; $infopg['name'] = $ElementName; $infopg['level'] = $CurrentPlanet[$resource[$Element]]; if ($CurrentPlanet[$resource[$Element]] < 1) { $infopg['display_destroy'] = "style=\"display:none;\""; } $infopg['td_url'] = "./?page=" . $_GET['page'] . "&cmd=destroy&id=" . $Element . "&building=" . $Element; $infopg['title'] = "Tear down"; $infopg['level1'] = $infopg['level'] + 1; $infopg['duration'] = pretty_time(GetBuildingTime($CurrentUser, $CurrentPlanet, $Element)); $infopg['shortdesc'] = $lang['res']['descriptions'][$Element]; $infopg['skin'] = $CurrentUser['skin']; $infopg['cost_m'] = $pricelist[$Element]['metal']; $infopg['cost_c'] = $pricelist[$Element]['crystal']; $infopg['cost_d'] = $pricelist[$Element]['deuterium']; if ($infopg['cost_m'] > $CurrentPlanet['metal'] && $infopg['cost_m'] > 0) { $infopg['missing_resource_m'] = "missing_resource"; } if ($infopg['cost_c'] > $CurrentPlanet['crystal'] && $infopg['cost_c'] > 0) { $infopg['missing_resource_c'] = "missing_resource"; } if ($infopg['cost_d'] > $CurrentPlanet['deuterium'] && $infopg['cost_d'] > 0) { $infopg['missing_resource_d'] = "missing_resource"; } $infopg['sh_cost_m'] = KMnumber($infopg['cost_m'], 0, 'up'); $infopg['sh_cost_c'] = KMnumber($infopg['cost_c'], 0, 'up'); $infopg['sh_cost_d'] = KMnumber($infopg['cost_d'], 0, 'up'); $infopg['cost_m'] = pretty_number($infopg['cost_m']); $infopg['cost_c'] = pretty_number($infopg['cost_c']); $infopg['cost_d'] = pretty_number($infopg['cost_d']); $infopg['page'] = $_GET['page']; $parse['info'] = parsetemplate(gettemplate('buildings/sy_info'), $infopg); $parse['extra'] = "style=\"display:none\""; } $parse['buttonz'] = $Buttonz; $page = parsetemplate(gettemplate('buildings/shipyard'), $parse); displaypage($page, $lang['Fleet']); }
function ResearchPage(&$CurrentPlanet, $CurrentUser, $InResearch, $ThePlanet) { global $lang, $resource, $reslist, $pricelist, $phpEx, $dpath, $game_config, $_GET; CheckPlanetUsedFields($CurrentPlanet); // Boucle d'interpretation des eventuelles commandes if (isset($_GET['cmd'])) { $TheCommand = $_GET['cmd']; $Techno = idstring($_GET['tech']); if (is_numeric($Techno)) { if (in_array($Techno, $reslist['tech'])) { // Bon quand on arrive ici ... On sait deja qu'on a une technologie valide if (is_array($ThePlanet)) { $WorkingPlanet = $ThePlanet; } else { $WorkingPlanet = $CurrentPlanet; } switch ($TheCommand) { case 'cancel': if ($ThePlanet['b_tech_id'] == $Techno) { $costs = GetBuildingPrice($CurrentUser, $WorkingPlanet, $Techno); $WorkingPlanet['metal'] += $costs['metal']; $WorkingPlanet['crystal'] += $costs['crystal']; $WorkingPlanet['deuterium'] += $costs['deuterium']; $WorkingPlanet['b_tech_id'] = 0; $WorkingPlanet["b_tech"] = 0; $CurrentUser['b_tech_planet'] = 0; $UpdateData = true; $InResearch = false; } break; case 'search': if (IsTechnologieAccessible($CurrentUser, $WorkingPlanet, $Techno) && IsElementBuyable($CurrentUser, $WorkingPlanet, $Techno) && !$InResearch) { $costs = GetBuildingPrice($CurrentUser, $WorkingPlanet, $Techno); $WorkingPlanet['metal'] -= $costs['metal']; $WorkingPlanet['crystal'] -= $costs['crystal']; $WorkingPlanet['deuterium'] -= $costs['deuterium']; $WorkingPlanet["b_tech_id"] = $Techno; $WorkingPlanet["b_tech"] = time() + GetBuildingTime($CurrentUser, $WorkingPlanet, $Techno); $CurrentUser["b_tech_planet"] = $WorkingPlanet["id"]; $UpdateData = true; $InResearch = true; } break; } if ($UpdateData == true) { $QryUpdatePlanet = "UPDATE {{table}} SET "; $QryUpdatePlanet .= "`b_tech_id` = '" . $WorkingPlanet['b_tech_id'] . "', "; $QryUpdatePlanet .= "`b_tech` = '" . $WorkingPlanet['b_tech'] . "', "; $QryUpdatePlanet .= "`metal` = '" . $WorkingPlanet['metal'] . "', "; $QryUpdatePlanet .= "`crystal` = '" . $WorkingPlanet['crystal'] . "', "; $QryUpdatePlanet .= "`deuterium` = '" . $WorkingPlanet['deuterium'] . "' "; $QryUpdatePlanet .= "WHERE "; $QryUpdatePlanet .= "`id` = '" . $WorkingPlanet['id'] . "';"; doquery($QryUpdatePlanet, 'planets'); $QryUpdateUser = "******"; $QryUpdateUser .= "`b_tech_planet` = '" . $CurrentUser['b_tech_planet'] . "' "; $QryUpdateUser .= "WHERE "; $QryUpdateUser .= "`id` = '" . $CurrentUser['id'] . "';"; doquery($QryUpdateUser, 'users'); } if (is_array($ThePlanet)) { $ThePlanet = $WorkingPlanet; } else { $CurrentPlanet = $WorkingPlanet; if ($TheCommand == 'search') { $ThePlanet = $CurrentPlanet; } } } } else { $bContinue = false; } } $TechScrTPL = gettemplate('buildings_research_script'); $SubTemplate = gettemplate('buildings/research_buttonz'); $parse = array(); $infopg = array(); foreach ($lang['names'] as $Tech => $TechName) { if ($Tech > 105 && $Tech <= 199) { if (!IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Tech)) { $parse['state_' . $Tech] = "off"; $parse['mes_' . $Tech] = "Requirements are not met"; } elseif (!IsElementBuyable($CurrentUser, $CurrentPlanet, $Tech)) { $parse['state_' . $Tech] = "disabled"; $parse['mes_' . $Tech] = "Not enough resources!"; } else { $parse['state_' . $Tech] = "on"; $parse['mes_' . $Tech] = ""; } } else { $parse['state_' . $Tech] = "off"; $parse['mes_' . $Tech] = "Not availble"; } $parse['name_' . $Tech] = $TechName; $parse['count_' . $Tech] = $CurrentUser[$resource[$Tech]]; } //Anything currently building? if ($CurrentUser['b_tech_planet']) { $WorkingPlanet = doquery("SELECT `id`,`name`,`b_tech_id`,`b_tech` FROM {{table}} WHERE `id` = '" . $CurrentUser['b_tech_planet'] . "';", 'planets', true); //Whats currently building $curbuild = $WorkingPlanet['b_tech_id']; $parse['countdown_' . $curbuild] = "\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"pusher\" id=\"b_research" . $curbuild . "\" style=\"height:80px;margin-bottom:-80px;\">\n\r\n\t\t\t\t\t\t\t\t\t\t\t<a><span class=\"time\" id=\"test\" name=\"zeit\">" . parsecountdown($WorkingPlanet['b_tech']) . "</span></a>\n\r\n\t\t\t\t\t\t\t\t\t\t</div>\n"; } else { $curbuild = 0; } $Buttonz = parsetemplate($SubTemplate, $parse); $parse = $lang; $Element = idstring($_GET['id']); $ElementName = $lang['names'][$Element]; $de_planettype = PlanetType($CurrentPlanet['image']); $parse['type'] = $de_planettype['type']; if ($Element) { if (in_array($Element, $reslist['tech'])) { /* $RowParse['dpath'] = $dpath; $RowParse['tech_id'] = $Tech; $building_level = $CurrentUser[$resource[$Tech]]; $RowParse['tech_level'] = ($building_level == 0) ? "" : "( ". $lang['level']. " ".$building_level." )"; $RowParse['tech_name'] = $TechName; $RowParse['tech_descr'] = $lang['res']['descriptions'][$Tech]; $RowParse['tech_price'] = GetElementPrice($CurrentUser, $CurrentPlanet, $Tech); $SearchTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Tech); $RowParse['search_time'] = ShowBuildTime($SearchTime); $RowParse['tech_restp'] = $lang['Rest_ress'] ." ". GetRestPrice ($CurrentUser, $CurrentPlanet, $Tech, true); $CanBeDone = IsElementBuyable($CurrentUser, $CurrentPlanet, $Tech); */ $HaveRessources = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element); $parse['i'] = $Element; $BuildingLevel = $CurrentPlanet[$resource[$Element]]; $parse['nivel'] = $BuildingLevel == 0 ? "" : " (" . $lang['level'] . " " . $BuildingLevel . ")"; $parse['n'] = $ElementName; $parse['descriptions'] = $lang['res']['descriptions'][$Element]; $ElementBuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element); $parse['time'] = ShowBuildTime($ElementBuildTime); $parse['price'] = GetElementPrice($CurrentUser, $CurrentPlanet, $Element); $parse['rest_price'] = GetRestPrice($CurrentUser, $CurrentPlanet, $Element); $parse['click'] = ''; $buildlink = "./?page=research&cmd=search&id=" . $Element . "&tech=" . $Element; if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { if ($NextBuildLevel == 1) { if ($HaveRessources == true) { $infopg['build_link'] = $buildlink; $infopg['build_text'] = $lang['BuildFirstLevel']; } else { $infopg['build_text'] = $lang['BuildFirstLevel']; } } else { if ($HaveRessources == true) { $infopg['build_link'] = $buildlink; $infopg['build_text'] = $lang['BuildNextLevel'] . " " . $NextBuildLevel; } else { $infopg['build_text'] = $lang['BuildNextLevel'] . " " . $NextBuildLevel; } } } elseif ($InResearch) { $parse['click'] = "<font color=#FF0000>" . $lang['InResearch'] . "</font>"; $infopg['build_text'] = $lang['InResearch']; } else { $parse['click'] = "<font color=#FF0000>" . $lang['NotAccessible'] . "</font>"; $infopg['build_text'] = $lang['NotAccessible']; } //Building Info if ($infopg['build_link']) { $infopg['buildit_class'] = "build-it"; $infopg['build_text'] = $lang['Improve']; } elseif ($InResearch) { $infopg['buildit_class'] = "build-it_disabled"; $infopg['build_text'] = $lang['InResearch']; } else { $infopg['buildit_class'] = "build-it_disabled"; $infopg['build_text'] = $lang['NotAccessible']; } $infopg['id'] = $Element; $infopg['name'] = $ElementName; $infopg['level'] = $CurrentUser[$resource[$Element]]; //Current research if ($curbuild == $Element) { $infopg['td_url'] = "./?page=" . $_GET['page'] . "&cmd=cancel&id=" . $Element . "&tech=" . $Element; if ($WorkingPlanet['id'] == $CurrentPlanet['id']) { $infopg['title'] = "Cancel"; } else { //$infopg['title'] = "Cancel on ".$WorkingPlanet['name']; $infopg['title'] = "Cancel"; } } else { $infopg['display_destroy'] = "style=\"display:none;\""; } $infopg['level1'] = $infopg['level'] + 1; $infopg['duration'] = pretty_time($ElementBuildTime); $infopg['shortdesc'] = $lang['sdesc'][$Element]; $infopg['skin'] = $CurrentUser['skin']; $infopg['cost_m'] = 1 * floor($pricelist[$Element]['metal'] * pow($pricelist[$Element]['factor'], $CurrentUser[$resource[$Element]])); $infopg['cost_c'] = 1 * floor($pricelist[$Element]['crystal'] * pow($pricelist[$Element]['factor'], $CurrentUser[$resource[$Element]])); $infopg['cost_d'] = 1 * floor($pricelist[$Element]['deuterium'] * pow($pricelist[$Element]['factor'], $CurrentUser[$resource[$Element]])); if ($infopg['cost_m'] > $CurrentPlanet['metal'] && $infopg['cost_m'] > 0) { $infopg['missing_resource_m'] = "missing_resource"; } if ($infopg['cost_c'] > $CurrentPlanet['crystal'] && $infopg['cost_c'] > 0) { $infopg['missing_resource_c'] = "missing_resource"; } if ($infopg['cost_d'] > $CurrentPlanet['deuterium'] && $infopg['cost_d'] > 0) { $infopg['missing_resource_d'] = "missing_resource"; } $infopg['sh_cost_m'] = KMnumber($infopg['cost_m'], 0, 'up'); $infopg['sh_cost_c'] = KMnumber($infopg['cost_c'], 0, 'up'); $infopg['sh_cost_d'] = KMnumber($infopg['cost_d'], 0, 'up'); $infopg['cost_m'] = pretty_number($infopg['cost_m']); $infopg['cost_c'] = pretty_number($infopg['cost_c']); $infopg['cost_d'] = pretty_number($infopg['cost_d']); $infopg['page'] = $_GET['page']; $parse['info'] = parsetemplate(gettemplate('buildings/info'), $infopg); $parse['extra'] = "style=\"display:none\""; if ($_GET['axah_section'] == '1') { makeAXAH($parse['info']); die; } } } $parse['buttonz'] = $Buttonz; $parse['planetname'] = $CurrentPlanet['name']; $page .= parsetemplate(gettemplate('buildings/research'), $parse); if ($_GET['axah']) { makeAXAH($page); } else { displaypage($page, $lang['Research']); } }
/** * ShipyardBuildingPage.php * * @version 1.0 * @copyright 2009 By MadnessRed for XNova Redesigned */ function ShipyardPage(&$CurrentPlanet, $CurrentUser, $area) { global $lang, $resource, $phpEx, $dpath, $_GET, $reslist, $pricelist; if ($_GET['fmenge'] > 0) { // On vient de Cliquer ' Construire ' // Et y a une liste de dol�ances $AddedInQueue = false; // What an how much are they making? $Element = intval(idstring($_GET['fmenge'])); $Count = intval(idstring($_GET[$Element])); if (in_array($Element, $reslist[$area])) { //Check if it exaceeds the max amount we allow them to build in one go (XNova code) if ($Count > MAX_FLEET_OR_DEFS_PER_ROW) { $Count = MAX_FLEET_OR_DEFS_PER_ROW; } $InQueue = 0; $QueueSize = 0; foreach (explode(";", $CurrentPlanet['b_hangar_id']) as $temp) { if (strlen($temp) > 0) { $q = explode(",", $temp); $QueueSize += $q[1]; if ($q[0] = $Element) { $InQueue += $q[1]; } } } //If there is a maximum allowed if ($pricelist[$Element]['max'] > 0) { if ($Count + $InQueue + $CurrentPlanet[$resource[$Element]] > $pricelist[$Element]['max']) { $Count = $pricelist[$Element]['max'] - $CurrentPlanet[$resource[$Element]] - $InQueue; } } //And missiles... if ($Element == 502 || $Element == 503) { } if ($Count > 0) { // On verifie si on a les technologies necessaires a la construction de l'element if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { // On verifie combien on sait faire de cet element au max $MaxElements = GetMaxConstructibleElements($Element, $CurrentPlanet); // Si pas assez de ressources, on ajuste le nombre d'elements if ($Count > $MaxElements) { $Count = $MaxElements; } $Ressource = GetElementRessources($Element, $Count); $BuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element); if ($Count >= 1) { //echo "". $Element .",". $Count .";"; $CurrentPlanet['metal'] -= $Ressource['metal']; $CurrentPlanet['crystal'] -= $Ressource['crystal']; $CurrentPlanet['deuterium'] -= $Ressource['deuterium']; $CurrentPlanet['b_hangar_id'] .= "" . $Element . "," . $Count . ";"; } } } } if ($QueueSize == 0) { $CurrentPlanet['b_hangar_lastupdate'] = time(); $CurrentPlanet['b_hangar'] = 0; } //now do those changes... doquery("UPDATE {{table}} SET `metal` = '" . $CurrentPlanet['metal'] . "', `crystal` = '" . $CurrentPlanet['crystal'] . "', `deuterium` = '" . $CurrentPlanet['deuterium'] . "', `b_hangar_id` = '" . $CurrentPlanet['b_hangar_id'] . "', `b_hangar` = '" . $CurrentPlanet['b_hangar'] . "', `b_hangar_lastupdate` = '" . $CurrentPlanet['b_hangar_lastupdate'] . "' WHERE `id` = '" . $CurrentPlanet['id'] . "' ;", 'planets'); } // ------------------------------------------------------------------------------------------------------- // S'il n'y a pas de Chantier ... if ($CurrentPlanet[$resource[21]] == 0) { $shipyard = false; } else { $shipyard = true; } // ------------------------------------------------------------------------------------------------------- // Now for the building part. $TabIndex = 0; if ($area == 'fleet') { $SubTemplate = gettemplate('buildings/shipyard_buttonz'); $Template = gettemplate('buildings/shipyard'); $Title = $lang['Shipyard']; } elseif ($area == 'defense') { $SubTemplate = gettemplate('buildings/defense_buttonz'); $Template = gettemplate('buildings/defense'); $Title = $lang['Defense']; } $parse = array(); $infopg = array(); if (!in_array($Element, $reslist[$area]) || $_GET['axah_section'] != '1') { foreach ($lang['tech'] as $Element => $ElementName) { if (in_array($Element, $reslist[$area])) { if (!IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { $parse['state_' . $Element] = "off"; $parse['mes_' . $Element] = "Requirements are not met"; } elseif (!IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false)) { $parse['state_' . $Element] = "disabled"; $parse['mes_' . $Element] = "Not enough resources!"; } else { $parse['state_' . $Element] = "on"; $parse['mes_' . $Element] = ""; } $parse['name_' . $Element] = $ElementName; $parse['count_' . $Element] = $CurrentPlanet[$resource[$Element]]; } else { $parse['state_' . $Element] = "off"; $parse['mes_' . $Element] = "Not availble"; } } $Buttonz = parsetemplate($SubTemplate, $parse); } $parse = $lang; $Element = idstring($_GET['id']); $ElementName = $lang['tech'][$Element]; if (in_array($Element, $reslist[$area])) { if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element) && IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false)) { $infopg['build_link'] = './?page=' . $_GET['page'] . '&id=' . $Element . '&fmenge=' . $Element . '&' . $Element . '='; //$infopg['build_link'] = '#" onclick="document.forms.shipyard.submit()'; } //Building Info if ($infopg['build_link']) { $infopg['buildit_class'] = "build-it"; $infopg['build_text'] = "Build"; } else { $infopg['buildit_class'] = "build-it_disabled"; $infopg['build_text'] = "Build"; } $infopg['id'] = $Element; $infopg['name'] = $ElementName; $infopg['level'] = $CurrentPlanet[$resource[$Element]]; $infopg['duration'] = pretty_time(GetBuildingTime($CurrentUser, $CurrentPlanet, $Element)); $infopg['shortdesc'] = $lang['res']['descriptions'][$Element]; $infopg['skin'] = $CurrentUser['skin']; $infopg['cost_m'] = $pricelist[$Element]['metal']; $infopg['cost_c'] = $pricelist[$Element]['crystal']; $infopg['cost_d'] = $pricelist[$Element]['deuterium']; if ($infopg['cost_m'] > $CurrentPlanet['metal'] && $infopg['cost_m'] > 0) { $infopg['missing_resource_m'] = "missing_resource"; } if ($infopg['cost_c'] > $CurrentPlanet['crystal'] && $infopg['cost_c'] > 0) { $infopg['missing_resource_c'] = "missing_resource"; } if ($infopg['cost_d'] > $CurrentPlanet['deuterium'] && $infopg['cost_d'] > 0) { $infopg['missing_resource_d'] = "missing_resource"; } $infopg['sh_cost_m'] = KMnumber($infopg['cost_m'], 0, 'up'); $infopg['sh_cost_c'] = KMnumber($infopg['cost_c'], 0, 'up'); $infopg['sh_cost_d'] = KMnumber($infopg['cost_d'], 0, 'up'); $infopg['cost_m'] = pretty_number($infopg['cost_m']); $infopg['cost_c'] = pretty_number($infopg['cost_c']); $infopg['cost_d'] = pretty_number($infopg['cost_d']); $infopg['page'] = $_GET['page']; $parse['info'] = parsetemplate(gettemplate('buildings/sy_info'), $infopg); $parse['extra'] = "style=\"display:none\""; if ($_GET['axah_section'] == '1') { makeAXAH($parse['info']); die; } } $parse['buttonz'] = $Buttonz; $parse['planetname'] = $CurrentPlanet['name']; $page = parsetemplate($Template, $parse); if ($_GET['axah']) { makeAXAH($page); } else { displaypage($page, $Title); } }