/** * ShowTopNavigationBar.php * * @version 1 * @copyright 2008 By Chlorel for XNova */ function ShowTopNavigationBar($CurrentUser, $CurrentPlanet) { global $lang, $_GET, $game_config; if ($CurrentUser) { if (!$CurrentPlanet) { $CurrentPlanet = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $CurrentUser['current_planet'] . "';", 'planets', true); } // Actualisation des ressources de la planete if ($CurrentUser['urlaubs_modus'] == 0) { PlanetResourceUpdate($CurrentUser, $CurrentPlanet, time()); } else { //doquery ( "UPDATE {{table}} SET `last_update` = ".time()." WHERE id_owner = ".$CurrentUser['id'],"planets"); doquery("UPDATE {{table}} SET `deuterium_sintetizer_porcent` = 0, `metal_mine_porcent` = 0, `crystal_mine_porcent` = 0 WHERE id_owner = " . $CurrentUser['id'], "planets"); } $NavigationTPL = gettemplate('topnav'); $dpath = !$CurrentUser["dpath"] ? DEFAULT_SKINPATH : $CurrentUser["dpath"]; $parse = $lang; $parse['dpath'] = $dpath; $parse['image'] = $CurrentPlanet['image']; $parse['show_umod_notice'] = $CurrentUser['urlaubs_modus'] ? '<table width="100%" style="border: 1px solid red; text-align:center;"><tr><td>Urlaubsmodus bis ' . date('d.m.Y h:i:s', $CurrentUser['urlaubs_modus_time']) . '</td></tr></table>' : ''; // Genearation de la combo des planetes du joueur $parse['planetlist'] = ''; $ThisUsersPlanets = SortUserPlanets($CurrentUser); while ($CurPlanet = mysql_fetch_array($ThisUsersPlanets)) { if ($CurPlanet["destruyed"] == 0) { $parse['planetlist'] .= "\n<option "; if ($CurPlanet['id'] == $CurrentUser['current_planet']) { // Bon puisque deja on s'y trouve autant le marquer $parse['planetlist'] .= "selected=\"selected\" "; } $parse['planetlist'] .= "value=\"?cp=" . $CurPlanet['id'] . ""; $parse['planetlist'] .= "&mode=" . $_GET['mode']; $parse['planetlist'] .= "&re=0\">"; // Nom et coordonnées de la planete $parse['planetlist'] .= "" . $CurPlanet['name']; $parse['planetlist'] .= " [" . $CurPlanet['galaxy'] . ":"; $parse['planetlist'] .= "" . $CurPlanet['system'] . ":"; $parse['planetlist'] .= "" . $CurPlanet['planet']; $parse['planetlist'] .= "] </option>"; } } $energy = $CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"] . "/" . pretty_number($CurrentPlanet["energy_max"]); // Energie if ($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"] < 0) { $parse['energy'] = colorRed($energy); } else { $parse['energy'] = $energy; } // Metal $metal = pretty_number($CurrentPlanet["metal"]); if ($CurrentPlanet["metal"] > $CurrentPlanet["metal_max"]) { $parse['metal'] = colorRed($metal); } else { $parse['metal'] = $metal; } // Cristal $crystal = pretty_number($CurrentPlanet["crystal"]); if ($CurrentPlanet["crystal"] > $CurrentPlanet["crystal_max"]) { $parse['crystal'] = colorRed($crystal); } else { $parse['crystal'] = $crystal; } // Deuterium $deuterium = pretty_number($CurrentPlanet["deuterium"]); if ($CurrentPlanet["deuterium"] > $CurrentPlanet["deuterium_max"]) { $parse['deuterium'] = colorRed($deuterium); } else { $parse['deuterium'] = $deuterium; } // JAVASCRIPT REALTIME RESS $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $CurrentPlanet["energy_used"]) - $parse['energy_basic_income'])); // Metal maximo if ($CurrentPlanet["metal_max"] * MAX_OVERFLOW < $CurrentPlanet["metal"]) { $parse['metal_max'] = '<font color="#ff0000">'; } else { $parse['metal_max'] = '<font color="#00ff00">'; } $parse['metal_max'] .= pretty_number($CurrentPlanet["metal_max"] / 1) . " {$lang['']}</font>"; // Cristal maximo if ($CurrentPlanet["crystal_max"] * MAX_OVERFLOW < $CurrentPlanet["crystal"]) { $parse['crystal_max'] = '<font color="#ff0000">'; } else { $parse['crystal_max'] = '<font color="#00ff00">'; } $parse['crystal_max'] .= pretty_number($CurrentPlanet["crystal_max"] / 1) . " {$lang['']}"; // Deuterio maximo if ($CurrentPlanet["deuterium_max"] * MAX_OVERFLOW < $CurrentPlanet["deuterium"]) { $parse['deuterium_max'] = '<font color="#ff0000">'; } else { $parse['deuterium_max'] = '<font color="#00ff00">'; } $parse['deuterium_max'] .= pretty_number($CurrentPlanet["deuterium_max"] / 1) . " {$lang['']}"; if ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) >= 0) { $plevel = 0; } elseif ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $plevel = floor($CurrentPlanet['energy_max'] / abs($CurrentPlanet['energy_used']) * 100); } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $plevel = 0; } else { $plevel = 100; } if ($plevel > 100) { $plevel = 100; } $parse['metal_perhour'] .= $CurrentPlanet['metal_perhour'] * 0.01 * $plevel + $game_config['metal_basic_income'] * $game_config['resource_multiplier']; $parse['crystal_perhour'] .= $CurrentPlanet['crystal_perhour'] * 0.01 * $plevel + $game_config['crystal_basic_income'] * $game_config['resource_multiplier']; $parse['deuterium_perhour'] .= $CurrentPlanet['deuterium_perhour'] * 0.01 * $plevel + $game_config['deuterium_basic_income'] * $game_config['resource_multiplier']; $parse['metalh'] .= round($CurrentPlanet["metal"]); $parse['crystalh'] .= round($CurrentPlanet["crystal"]); $parse['deuteriumh'] .= round($CurrentPlanet["deuterium"]); $parse['metal_mmax'] .= $CurrentPlanet["metal_max"] * MAX_OVERFLOW; $parse['crystal_mmax'] .= $CurrentPlanet["crystal_max"] * MAX_OVERFLOW; $parse['deuterium_mmax'] .= $CurrentPlanet["deuterium_max"] * MAX_OVERFLOW; // JAVASCRIPT REALTIME RESS ENDE // Message if ($CurrentUser['new_message'] > 0) { $parse['message'] = "<a href=\"messages.php\">[ " . $CurrentUser['new_message'] . " ]</a>"; } else { $parse['message'] = "0"; } // Le tout passe dans la template $TopBar = parsetemplate($NavigationTPL, $parse); } else { $TopBar = ""; } return $TopBar; }
function BuildRessourcePage($CurrentUser, $CurrentPlanet, $hide = '') { global $lang, $ProdGrid, $resource, $reslist, $game_config, $_POST; includeLang('resources'); if ($user['urlaubs_modus'] == 1) { message($lang['Vacation_mode'], $lang['Error'], "overview.php", 1); } $Caps = ProductionRate($CurrentUser, $CurrentPlanet); //print_r($Caps); $RessBodyTPL = gettemplate('resources'); $RessRowTPL = gettemplate('resources_row'); // Si c'est une lune ... pas de ressources produites if ($CurrentPlanet['planet_type'] == 3) { $game_config['metal_basic_income'] = 0; $game_config['crystal_basic_income'] = 0; $game_config['deuterium_basic_income'] = 0; $game_config['appolonium_basic_income'] = $game_config['appolonium_basic_income']; } if ($CurrentPlanet['planet_type'] == 1) { $game_config['appolonium_basic_income'] = 0; } $ValidList['percent'] = array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100); $SubQry = ""; if ($_POST) { foreach ($_POST as $Field => $Value) { $FieldName = $Field . "_porcent"; if (isset($CurrentPlanet[$FieldName])) { if (!in_array($Value, $ValidList['percent'])) { header("Location: ./?s=" . UNI . "&page=resources&mode=resources"); exit; } $Value = $Value / 10; $CurrentPlanet[$FieldName] = $Value; $SubQry .= ", `" . $FieldName . "` = '" . $Value . "'"; } } } $parse = $lang; $parse['production_level'] = 100; $post_porcent = $Caps['production_factor']; // ------------------------------------------------------------------------------------------------------- // Mise a jour de l'espace de stockage $CurrentPlanet['metal_max'] = $Caps['metal_max']; $CurrentPlanet['crystal_max'] = $Caps['crystal_max']; $CurrentPlanet['deuterium_max'] = $Caps['deuterium_max']; $CurrentPlanet['appolonium_max'] = $Caps['appolonium_max']; // ------------------------------------------------------------------------------------------------------- $parse['resource_row'] = ""; $CurrentPlanet['metal_perhour'] = $Caps['metal_perhour']; $CurrentPlanet['crystal_perhour'] = $Caps['crystal_perhour']; $CurrentPlanet['deuterium_perhour'] = $Caps['deuterium_perhour']; $CurrentPlanet['appolonium_perhour'] = $Caps['appolonium_perhour']; $CurrentPlanet['energy_max'] = $Caps['energy_max']; $CurrentPlanet['energy_used'] = $Caps['energy_used']; $countforalt = 0; foreach ($reslist['prod'] as $ProdID) { $ignore = array(22, 23, 24, 25); if (!in_array($ProdID, $ignore)) { $countforalt++; $metal = $Caps[$ProdID]['metal_perhour']; $crystal = $Caps[$ProdID]['crystal_perhour']; $deuterium = $Caps[$ProdID]['deuterium_perhour']; $appolonium = $Caps[$ProdID]['appolonium_perhour']; $energy = $Caps[$ProdID]['energy_max'] + $Caps[$ProdID]['energy_used']; $Field = $resource[$ProdID] . "_porcent"; $CurrRow = array(); $CurrRow['name'] = $resource[$ProdID]; $CurrRow['porcent'] = $CurrentPlanet[$Field]; for ($Option = 10; $Option >= 0; $Option--) { $OptValue = $Option * 10; if ($Option == $CurrRow['porcent']) { $OptSelected = " selected=selected"; } else { $OptSelected = ""; } $CurrRow['option'] .= "<option value=\"" . $OptValue . "\"" . $OptSelected . ">" . $OptValue . "%</option>"; } $CurrRow['type'] = $lang['tech'][$ProdID]; $CurrRow['level'] = $ProdID > 200 ? $lang['quantity'] : $lang['level']; $CurrRow['level_type'] = $CurrentPlanet[$resource[$ProdID]]; $CurrRow['metal_type'] = pretty_number($metal); $CurrRow['crystal_type'] = pretty_number($crystal); $CurrRow['deuterium_type'] = pretty_number($deuterium); $CurrRow['appolonium_type'] = pretty_number($appolonium); $CurrRow['energy_type'] = pretty_number($energy); $CurrRow['metal_type'] = colorNumber($CurrRow['metal_type']); $CurrRow['crystal_type'] = colorNumber($CurrRow['crystal_type']); $CurrRow['deuterium_type'] = colorNumber($CurrRow['deuterium_type']); $CurrRow['appolonium_type'] = colorNumber($CurrRow['appolonium_type']); $CurrRow['energy_type'] = colorNumber($CurrRow['energy_type']); $CurrRow['alt'] = ""; if ($countforalt % 2 == 0) { $CurrRow['alt'] = "alt"; } $parse['resource_row'] .= parsetemplate($RessRowTPL, $CurrRow); } } $parse['Production_of_resources_in_the_planet'] = str_replace('%s', $CurrentPlanet['name'], $lang['Production_of_resources_in_the_planet']); if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) { $parse['production_level'] = 0; } elseif ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $parse['production_level'] = floor($CurrentPlanet['energy_max'] / (0 - $CurrentPlanet['energy_used']) * 100); } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $parse['production_level'] = 0; } else { $parse['production_level'] = 100; } if ($parse['production_level'] > 100) { $parse['production_level'] = 100; } $parse['metal_basic_income'] = $game_config['metal_basic_income'] * $game_config['resource_multiplier']; $parse['crystal_basic_income'] = $game_config['crystal_basic_income'] * $game_config['resource_multiplier']; $parse['deuterium_basic_income'] = $game_config['deuterium_basic_income'] * $game_config['resource_multiplier']; $parse['appolonium_basic_income'] = $game_config['appolonium_basic_income'] * $game_config['resource_multiplier']; $parse['energy_basic_income'] = $game_config['energy_basic_income'] * $game_config['resource_multiplier']; if ($CurrentPlanet['metal_max'] < $CurrentPlanet['metal']) { $parse['metal_max'] = "<font color=\"#ff0000\">"; } else { $parse['metal_max'] = "<font color=\"#00ff00\">"; } $parse['metal_max'] .= pretty_number($CurrentPlanet['metal_max'] / 1000) . " " . $lang['k'] . "</font>"; if ($CurrentPlanet['crystal_max'] < $CurrentPlanet['crystal']) { $parse['crystal_max'] = "<font color=\"#ff0000\">"; } else { $parse['crystal_max'] = "<font color=\"#00ff00\">"; } $parse['crystal_max'] .= pretty_number($CurrentPlanet['crystal_max'] / 1000) . " " . $lang['k'] . "</font>"; if ($CurrentPlanet['deuterium_max'] < $CurrentPlanet['deuterium']) { $parse['deuterium_max'] = "<font color=\"#ff0000\">"; } else { $parse['deuterium_max'] = "<font color=\"#00ff00\">"; } $parse['deuterium_max'] .= pretty_number($CurrentPlanet['deuterium_max'] / 1000) . " " . $lang['k'] . "</font>"; if ($CurrentPlanet['appolonium_max'] < $CurrentPlanet['appolonium']) { $parse['appolonium_max'] = "<font color=\"#ff0000\">"; } else { $parse['appolonium_max'] = "<font color=\"#00ff00\">"; } $parse['appolonium_max'] .= pretty_number($CurrentPlanet['appolonium_max'] / 1000) . " " . $lang['k'] . "</font>"; $parse['metal_total'] = colorNumber(pretty_number(floor($CurrentPlanet['metal_perhour'] * 0.01 * $parse['production_level'] + $parse['metal_basic_income']))); $parse['crystal_total'] = colorNumber(pretty_number(floor($CurrentPlanet['crystal_perhour'] * 0.01 * $parse['production_level'] + $parse['crystal_basic_income']))); $parse['deuterium_total'] = colorNumber(pretty_number(floor($CurrentPlanet['deuterium_perhour'] * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income']))); $parse['appolonium_total'] = colorNumber(pretty_number(floor($CurrentPlanet['appolonium_perhour'] * 0.01 * $parse['production_level'] + $parse['appolonium_basic_income']))); $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $parse['energy_basic_income'] + $CurrentPlanet['energy_used']))); $parse['daily_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24); $parse['weekly_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 7); $parse['monthly_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 30); $parse['daily_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24); $parse['weekly_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 7); $parse['monthly_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 30); $parse['daily_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24); $parse['weekly_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 7); $parse['monthly_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 30); $parse['daily_appolonium'] = floor($CurrentPlanet['appolonium_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['appolonium_basic_income'] * 24); $parse['weekly_appolonium'] = floor($CurrentPlanet['appolonium_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['appolonium_basic_income'] * 24 * 7); $parse['monthly_appolonium'] = floor($CurrentPlanet['appolonium_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['appolonium_basic_income'] * 24 * 30); $parse['daily_metal'] = colorNumber(pretty_number($parse['daily_metal'])); $parse['weekly_metal'] = colorNumber(pretty_number($parse['weekly_metal'])); $parse['monthly_metal'] = colorNumber(pretty_number($parse['monthly_metal'])); $parse['daily_crystal'] = colorNumber(pretty_number($parse['daily_crystal'])); $parse['weekly_crystal'] = colorNumber(pretty_number($parse['weekly_crystal'])); $parse['monthly_crystal'] = colorNumber(pretty_number($parse['monthly_crystal'])); $parse['daily_deuterium'] = colorNumber(pretty_number($parse['daily_deuterium'])); $parse['weekly_deuterium'] = colorNumber(pretty_number($parse['weekly_deuterium'])); $parse['monthly_deuterium'] = colorNumber(pretty_number($parse['monthly_deuterium'])); $parse['daily_appolonium'] = colorNumber(pretty_number($parse['daily_appolonium'])); $parse['weekly_appolonium'] = colorNumber(pretty_number($parse['weekly_appolonium'])); $parse['monthly_appolonium'] = colorNumber(pretty_number($parse['monthly_appolonium'])); $parse['metal_storage'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100) . $lang['o/o']; $parse['crystal_storage'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100) . $lang['o/o']; $parse['deuterium_storage'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100) . $lang['o/o']; $parse['appolonium_storage'] = floor($CurrentPlanet['appolonium'] / $CurrentPlanet['appolonium_max'] * 100) . $lang['o/o']; $parse['metal_storage_bar'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100 * 2.5); $parse['crystal_storage_bar'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100 * 2.5); $parse['deuterium_storage_bar'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100 * 2.5); $parse['appolonium_storage_bar'] = floor($CurrentPlanet['appolonium'] / $CurrentPlanet['appolonium_max'] * 100 * 2.5); if ($parse['metal_storage_bar'] > 100 * 2.5) { $parse['metal_storage_bar'] = 250; $parse['metal_storage_barcolor'] = '#C00000'; } elseif ($parse['metal_storage_bar'] > 80 * 2.5) { $parse['metal_storage_barcolor'] = '#C0C000'; } else { $parse['metal_storage_barcolor'] = '#00C000'; } if ($parse['crystal_storage_bar'] > 100 * 2.5) { $parse['crystal_storage_bar'] = 250; $parse['crystal_storage_barcolor'] = '#C00000'; } elseif ($parse['crystal_storage_bar'] > 80 * 2.5) { $parse['crystal_storage_barcolor'] = '#C0C000'; } else { $parse['crystal_storage_barcolor'] = '#00C000'; } if ($parse['deuterium_storage_bar'] > 100 * 2.5) { $parse['deuterium_storage_bar'] = 250; $parse['deuterium_storage_barcolor'] = '#C00000'; } elseif ($parse['deuterium_storage_bar'] > 80 * 2.5) { $parse['deuterium_storage_barcolor'] = '#C0C000'; } else { $parse['deuterium_storage_barcolor'] = '#00C000'; } if ($parse['appolonium_storage_bar'] > 100 * 2.5) { $parse['appolonium_storage_bar'] = 250; $parse['appolonium_storage_barcolor'] = '#C00000'; } elseif ($parse['appolonium_storage_bar'] > 80 * 2.5) { $parse['appolonium_storage_barcolor'] = '#C0C000'; } else { $parse['appolonium_storage_barcolor'] = '#00C000'; } $parse['production_level_bar'] = $parse['production_level'] * 2.5; $parse['production_level'] = "{$parse['production_level']}%"; $parse['production_level_barcolor'] = '#00ff00'; $QryUpdatePlanet = "UPDATE {{table}} SET "; $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "' "; $QryUpdatePlanet .= $SubQry; $QryUpdatePlanet .= "WHERE "; $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "';"; doquery($QryUpdatePlanet, 'planets'); //To show or not to show? $parse['hideres'] = $hide; $page = parsetemplate($RessBodyTPL, $parse); return $page; }
function BuildRessourcePage($CurrentUser, $CurrentPlanet) { global $pricelist, $lang, $ProdGrid, $resource, $reslist, $game_config, $_POST; includeLang('resources'); if ($user['urlaubs_modus'] == 1) { message($lang['Vacation_mode'], $lang['Error'], "overview.php", 1); } $RessBodyTPL = gettemplate('resources'); $RessRowTPL = gettemplate('resources_row'); // Si c'est une lune ... pas de ressources produites if ($CurrentPlanet['planet_type'] == 3) { $game_config['metal_basic_income'] = 0; $game_config['crystal_basic_income'] = 0; $game_config['deuterium_basic_income'] = 0; } $ValidList['percent'] = array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100); $SubQry = ""; if ($_POST) { foreach ($_POST as $Field => $Value) { $FieldName = $Field . "_porcent"; if (isset($CurrentPlanet[$FieldName])) { if (!in_array($Value, $ValidList['percent'])) { header("Location: overview.php"); exit; } $Value = $Value / 10; $CurrentPlanet[$FieldName] = $Value; $SubQry .= ", `" . $FieldName . "` = '" . $Value . "'"; } } } $parse = $lang; $parse['production_level'] = 100; if ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) <= 0) { $post_porcent = 0; } elseif ($CurrentPlanet['energy_max'] == 0) { $post_porcent = 0; } elseif ($CurrentPlanet['energy_max'] > 0 && $CurrentPlanet['energy_used'] + $CurrentPlanet['energy_max'] < 0) { $post_porcent = $CurrentPlanet['energy_max'] / abs($CurrentPlanet['energy_used']) * 100; } else { $post_porcent = 100; } if ($post_porcent > 100) { $post_porcent = 100; } // ------------------------------------------------------------------------------------------------------- // Mise a jour de l'espace de stockage $CurrentPlanet['metal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[22]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5); $CurrentPlanet['crystal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[23]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5); $CurrentPlanet['deuterium_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[24]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5); // ------------------------------------------------------------------------------------------------------- $parse['resource_row'] = ""; $CurrentPlanet['metal_perhour'] = 0; $CurrentPlanet['crystal_perhour'] = 0; $CurrentPlanet['deuterium_perhour'] = 0; $CurrentPlanet['energy_max'] = 0; $CurrentPlanet['energy_used'] = 0; $CurrentPlanet['deuterium_used'] = 0; $energy_tech_bonus = 0; $energy_offi = 0; $metal_offi = 0; $crystal_offi = 0; $deuterium_offi = 0; $BuildTemp = $CurrentPlanet['temp_max']; foreach ($reslist['prod'] as $ProdID) { if ($CurrentPlanet[$resource[$ProdID]] > 0 && isset($ProdGrid[$ProdID])) { $BuildLevelFactor = $CurrentPlanet[$resource[$ProdID] . "_porcent"]; $BuildLevel = $CurrentPlanet[$resource[$ProdID]]; $metal = eval($ProdGrid[$ProdID]['formule']['metal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05); $metal_offi += eval($ProdGrid[$ProdID]['formule']['metal']) * $game_config['resource_multiplier'] * ($CurrentUser['rpg_geologue'] * 0.05); $crystal = eval($ProdGrid[$ProdID]['formule']['crystal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05); $crystal_offi += eval($ProdGrid[$ProdID]['formule']['crystal']) * $game_config['resource_multiplier'] * ($CurrentUser['rpg_geologue'] * 0.05); $deuterium = eval($ProdGrid[$ProdID]['formule']['deuterium']) * $game_config['resource_multiplier']; $energy = eval($ProdGrid[$ProdID]['formule']['energy']); if ($energy > 0) { $energy_offi += $energy * ($CurrentUser['rpg_ingenieur'] * 0.05); $energy_tech_bonus += $energy * ($CurrentUser['energy_tech'] * 0.01); $energy *= 1 + ($CurrentUser['rpg_ingenieur'] * 0.05 + $CurrentUser['energy_tech'] * 0.01); $CurrentPlanet['energy_max'] += $energy; } else { $CurrentPlanet['energy_used'] += $energy; } $CurrentPlanet['metal_perhour'] += $metal; $CurrentPlanet['crystal_perhour'] += $crystal; if ($deuterium < 0) { $CurrentPlanet['deuterium_used'] = $deuterium; } else { $deuterium_offi += $deuterium * ($CurrentUser['rpg_geologue'] * 0.05); $deuterium *= 1 + $CurrentUser['rpg_geologue'] * 0.05; $CurrentPlanet['deuterium_perhour'] += $deuterium; $deuterium *= 0.01 * $post_porcent; } $metal = $metal * 0.01 * $post_porcent; $crystal = $crystal * 0.01 * $post_porcent; $Field = $resource[$ProdID] . "_porcent"; $CurrRow = array(); $CurrRow['name'] = $resource[$ProdID]; $CurrRow['porcent'] = $CurrentPlanet[$Field]; for ($Option = 10; $Option >= 0; $Option--) { $OptValue = $Option * 10; if ($Option == $CurrRow['porcent']) { $OptSelected = " selected=selected"; } else { $OptSelected = ""; } $CurrRow['option'] .= "<option value=\"" . $OptValue . "\"" . $OptSelected . ">" . $OptValue . "%</option>"; } $CurrRow['type'] = $lang['tech'][$ProdID]; $CurrRow['level'] = $ProdID > 200 ? $lang['quantity'] : $lang['level']; $CurrRow['level_type'] = $CurrentPlanet[$resource[$ProdID]]; $CurrRow['metal_type'] = colorNumber(pretty_number(floor($metal))); $CurrRow['crystal_type'] = colorNumber(pretty_number(floor($crystal))); $CurrRow['deuterium_type'] = colorNumber(pretty_number(zround($deuterium))); $CurrRow['energy_type'] = colorNumber(pretty_number(zround($energy))); $parse['resource_row'] .= parsetemplate($RessRowTPL, $CurrRow); } } $parse['Production_of_resources_in_the_planet'] = str_replace('%s', $CurrentPlanet['name'], $lang['Production_of_resources_in_the_planet']); if ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) >= 0) { $parse['production_level'] = 0; } elseif ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $parse['production_level'] = $CurrentPlanet['energy_max'] / abs($CurrentPlanet['energy_used']) * 100; } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $parse['production_level'] = 0; } else { $parse['production_level'] = 100; } if ($parse['production_level'] > 100) { $parse['production_level'] = 100; } $parse['metal_basic_income'] = $game_config['metal_basic_income'] * $game_config['resource_multiplier']; $parse['crystal_basic_income'] = $game_config['crystal_basic_income'] * $game_config['resource_multiplier']; $parse['deuterium_basic_income'] = $game_config['deuterium_basic_income'] * $game_config['resource_multiplier']; $parse['energy_basic_income'] = $game_config['energy_basic_income'] * $game_config['resource_multiplier']; if ($CurrentUser['energy_tech'] > 0) { $parse['energy_tech_bonus'] = '(+<font color="yellow">' . pretty_number(zround($energy_tech_bonus)) . '</font>)'; } else { $parse['energy_tech_bonus'] = '<font color="yellow">-</font>'; } if ($CurrentUser['rpg_geologue'] > 0) { $parse['metal_offi_bonus'] = '(+<font color="yellow">' . pretty_number(zround($metal_offi)) . '</font>)'; $parse['crystal_offi_bonus'] = '(+<font color="yellow">' . pretty_number(zround($crystal_offi)) . '</font>)'; $parse['deuterium_offi_bonus'] = '(+<font color="yellow">' . pretty_number(zround($deuterium_offi)) . '</font>)'; } else { $parse['metal_offi_bonus'] = '<font color="yellow">-</font>'; $parse['crystal_offi_bonus'] = '<font color="yellow">-</font>'; $parse['deuterium_offi_bonus'] = '<font color="yellow">-</font>'; } if ($CurrentUser['rpg_ingenieur'] > 0) { $parse['energy_offi_bonus'] = '(+<font color="yellow">' . pretty_number(zround($energy_offi)) . '</font>)'; } else { $parse['energy_offi_bonus'] = '<font color="yellow">-</font>'; } if ($CurrentPlanet['metal_max'] < $CurrentPlanet['metal']) { $parse['metal_max'] = "<font color=\"#ff0000\">"; } else { $parse['metal_max'] = "<font color=\"#00ff00\">"; } $parse['metal_max'] .= pretty_number($CurrentPlanet['metal_max'] / 1000) . " " . $lang['k'] . "</font>"; if ($CurrentPlanet['crystal_max'] < $CurrentPlanet['crystal']) { $parse['crystal_max'] = "<font color=\"#ff0000\">"; } else { $parse['crystal_max'] = "<font color=\"#00ff00\">"; } $parse['crystal_max'] .= pretty_number($CurrentPlanet['crystal_max'] / 1000) . " " . $lang['k'] . "</font>"; if ($CurrentPlanet['deuterium_max'] < $CurrentPlanet['deuterium']) { $parse['deuterium_max'] = "<font color=\"#ff0000\">"; } else { $parse['deuterium_max'] = "<font color=\"#00ff00\">"; } $parse['deuterium_max'] .= pretty_number($CurrentPlanet['deuterium_max'] / 1000) . " " . $lang['k'] . "</font>"; $parse['metal_total'] = colorNumber(pretty_number(floor($CurrentPlanet['metal_perhour'] * 0.01 * $parse['production_level'] + $parse['metal_basic_income']))); $parse['crystal_total'] = colorNumber(pretty_number(floor($CurrentPlanet['crystal_perhour'] * 0.01 * $parse['production_level'] + $parse['crystal_basic_income']))); $parse['deuterium_total'] = colorNumber(pretty_number(zround($CurrentPlanet['deuterium_perhour'] * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] + $CurrentPlanet['deuterium_used']))); $parse['energy_total'] = colorNumber(pretty_number(zround($CurrentPlanet['energy_max'] + $parse['energy_basic_income'] + $CurrentPlanet['energy_used']))); $value['daily_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24); $value['weekly_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 7); $value['monthly_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 30); $value['daily_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24); $value['weekly_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 7); $value['monthly_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 30); $value['daily_deuterium'] = zround($CurrentPlanet['deuterium_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 + $CurrentPlanet['deuterium_used'] * 24); $value['weekly_deuterium'] = zround($CurrentPlanet['deuterium_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 7 + $CurrentPlanet['deuterium_used'] * 24 * 7); $value['monthly_deuterium'] = zround($CurrentPlanet['deuterium_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 30 + $CurrentPlanet['deuterium_used'] * 24 * 30); $parse['daily_metal'] = colorNumber(pretty_number($value['daily_metal'])); $parse['weekly_metal'] = colorNumber(pretty_number($value['weekly_metal'])); $parse['monthly_metal'] = colorNumber(pretty_number($value['monthly_metal'])); $parse['daily_crystal'] = colorNumber(pretty_number($value['daily_crystal'])); $parse['weekly_crystal'] = colorNumber(pretty_number($value['weekly_crystal'])); $parse['monthly_crystal'] = colorNumber(pretty_number($value['monthly_crystal'])); $parse['daily_deuterium'] = colorNumber(pretty_number($value['daily_deuterium'])); $parse['weekly_deuterium'] = colorNumber(pretty_number($value['weekly_deuterium'])); $parse['monthly_deuterium'] = colorNumber(pretty_number($value['monthly_deuterium'])); $parse['metal_storage'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100) . $lang['o/o']; $parse['crystal_storage'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100) . $lang['o/o']; $parse['deuterium_storage'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100) . $lang['o/o']; $parse['metal_storage_bar'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100 * 2.5); $parse['crystal_storage_bar'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100 * 2.5); $parse['deuterium_storage_bar'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100 * 2.5); if ($parse['metal_storage_bar'] > 100 * 2.5) { $parse['metal_storage_bar'] = 250; $parse['metal_storage_barcolor'] = '#C00000'; } elseif ($parse['metal_storage_bar'] > 80 * 2.5) { $parse['metal_storage_barcolor'] = '#C0C000'; } else { $parse['metal_storage_barcolor'] = '#00C000'; } if ($parse['crystal_storage_bar'] > 100 * 2.5) { $parse['crystal_storage_bar'] = 250; $parse['crystal_storage_barcolor'] = '#C00000'; } elseif ($parse['crystal_storage_bar'] > 80 * 2.5) { $parse['crystal_storage_barcolor'] = '#C0C000'; } else { $parse['crystal_storage_barcolor'] = '#00C000'; } if ($parse['deuterium_storage_bar'] > 100 * 2.5) { $parse['deuterium_storage_bar'] = 250; $parse['deuterium_storage_barcolor'] = '#C00000'; } elseif ($parse['deuterium_storage_bar'] > 80 * 2.5) { $parse['deuterium_storage_barcolor'] = '#C0C000'; } else { $parse['deuterium_storage_barcolor'] = '#00C000'; } $parse['production_level_bar'] = $parse['production_level'] * 2.5; $parse['production_level'] = "{$parse['production_level']}%"; $parse['production_level_barcolor'] = '#00ff00'; $QryUpdatePlanet = "UPDATE {{table}} SET "; $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "' "; $QryUpdatePlanet .= $SubQry; $QryUpdatePlanet .= "WHERE "; $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "';"; doquery($QryUpdatePlanet, 'planets'); // Ship and deffend produktion calculate script // new writen and fixed by Mori for Xnova 2009 (Team Rocket) ////////////////Fleets//////////////// $c = 202; //value from first ship from table $m = 218; //end and last ship while ($c <= $m) { $Spm = $pricelist[$c]['metal']; // Met. price from ship $c $Spc = $pricelist[$c]['crystal']; // crys. price from ship $c $Spd = $pricelist[$c]['deuterium']; // Deut. price from ship $c $Xdprom = @floor($value['daily_metal'] / $Spm); $Xdproc = @floor($value['daily_crystal'] / $Spc); $Xdprod = @floor($value['daily_deuterium'] / $Spd); $Xwprom = @floor($value['weekly_metal'] / $Spm); $Xwproc = @floor($value['weekly_crystal'] / $Spc); $Xwprod = @floor($value['weekly_deuterium'] / $Spd); $Xmprom = @floor($value['monthly_metal'] / $Spm); $Xmproc = @floor($value['monthly_crystal'] / $Spc); $Xmprod = @floor($value['monthly_deuterium'] / $Spd); if ($Spm > 0 and $Spc == 0 and $Spd == 0) { $xsd = $Xdprom; $xsw = $Xwprom; $xsm = $Xmprom; } elseif ($Spm == 0 and $Spc > 0 and $Spd == 0) { $xsd = $Xdproc; $xsw = $Xwproc; $xsm = $Xmproc; } elseif ($Spm > 0 and $Spc > 0 and $Spd == 0) { $xmind = min($Xdprom, $Xdproc); $xminw = min($Xwprom, $Xwproc); $xminm = min($Xmprom, $Xmproc); $xsd = $xmind; $xsw = $xminw; $xsm = $xminm; } elseif ($Spm > 0 and $Spc > 0 and $Spd > 0) { $xmind = min($Xdprom, $Xdproc, $Xdprod); $xminw = min($Xwprom, $Xwproc, $Xwprod); $xminm = min($Xmprom, $Xmproc, $Xmprod); $xsd = $xmind; $xsw = $xminw; $xsm = $xminm; } elseif ($Spm == 0 and $Spc > 0 and $Spd > 0) { $xmind = min($Xdproc, $Xdprod); $xminw = min($Xwproc, $Xwprod); $xminm = min($Xmproc, $Xmprod); $xsd = $xmind; $xsw = $xminw; $xsm = $xminm; } else { $xsd = '<font color=red>0</font>'; $xsw = '<font color=red>0</font>'; $xsm = '<font color=red>0</font>'; } if ($xsd < 0 or $xsw < 0 or $xsm < 0) { $xsd = 0; $xsw = 0; $xsm = 0; } $parse['predu_fleet'] .= "<tr>"; $parse['predu_fleet'] .= "<th>" . $lang['tech'][$c] . "</th>"; $parse['predu_fleet'] .= "<th>" . $xsd . "</th>"; $parse['predu_fleet'] .= "<th>" . $xsw . "</th>"; $parse['predu_fleet'] .= "<th>" . $xsm . "</th>"; $parse['predu_fleet'] .= "</tr>"; $c++; } ////////////////Deffends//////////////// $c = 401; //targed from first deffend fro table $m = 503; //end and last deffend while ($c <= $m) { $Spm = $pricelist[$c]['metal']; // Met. price from deffend $c $Spc = $pricelist[$c]['crystal']; // crys. price from deffend $c $Spd = $pricelist[$c]['deuterium']; // Deut. price from deffend $c $Xdprom = @floor($value['daily_metal'] / $Spm); $Xdproc = @floor($value['daily_crystal'] / $Spc); $Xdprod = @floor($value['daily_deuterium'] / $Spd); $Xwprom = @floor($value['weekly_metal'] / $Spm); $Xwproc = @floor($value['weekly_crystal'] / $Spc); $Xwprod = @floor($value['weekly_deuterium'] / $Spd); $Xmprom = @floor($value['monthly_metal'] / $Spm); $Xmproc = @floor($value['monthly_crystal'] / $Spc); $Xmprod = @floor($value['monthly_deuterium'] / $Spd); if ($Spm > 0 and $Spc == 0 and $Spd == 0) { $xsd = $Xdprom; $xsw = $Xwprom; $xsm = $Xmprom; } elseif ($Spm == 0 and $Spc > 0 && $Spd == 0) { $xsd = $Xdproc; $xsw = $Xwproc; $xsm = $Xmproc; } elseif ($Spm > 0 and $Spc > 0 and $Spd == 0) { $xmind = min($Xdprom, $Xdproc); $xminw = min($Xwprom, $Xwproc); $xminm = min($Xmprom, $Xmproc); $xsd = $xmind; $xsw = $xminw; $xsm = $xminm; } elseif ($Spm > 0 and $Spc > 0 and $Spd > 0) { $xmind = min($Xdprom, $Xdproc, $Xdprod); $xminw = min($Xwprom, $Xwproc, $Xwprod); $xminm = min($Xmprom, $Xmproc, $Xmprod); $xsd = $xmind; $xsw = $xminw; $xsm = $xminm; } elseif ($Spm == 0 and $Spc > 0 and $Spd > 0) { $xmind = min($Xdproc, $Xdprod); $xminw = min($Xwproc, $Xwprod); $xminm = min($Xmproc, $Xmprod); $xsd = $xmind; $xsw = $xminw; $xsm = $xminm; } else { $xsd = '<font color=red>0</font>'; $xsw = '<font color=red>0</font>'; $xsm = '<font color=red>0</font>'; } if ($xsd < 0 or $xsw < 0 or $xsm < 0) { $xsd = 0; $xsw = 0; $xsm = 0; } $parse['predu_def'] .= "<tr>"; $parse['predu_def'] .= "<th>" . $lang['tech'][$c] . "</th>"; $parse['predu_def'] .= "<th>" . $xsd . "</th>"; $parse['predu_def'] .= "<th>" . $xsw . "</th>"; $parse['predu_def'] .= "<th>" . $xsm . "</th>"; $parse['predu_def'] .= "</tr>"; if ($c == 408) { $c = 502; } else { $c++; } } $page = parsetemplate($RessBodyTPL, $parse); return $page; }
function echo_topnav() { global $user, $planetrow, $galaxyrow, $mode, $messageziel, $gid, $lang; if (!$user) { return; } //if(!$planetrow){ $planetrow = doquery("SELECT * FROM {{table}} WHERE id ={$user['current_planet']}","planets",true);} //if(!$planetrow) $planetrow = (array)LWCore::getPlanet(); //if($planetrow['galaxy'] == 3 && $planetrow['system'] == 139) echo print_r($planetrow, true).'<br /><br />'; calculate_resources_planet($planetrow); //Actualizacion de rutina //if(!$galaxyrow){ $galaxyrow = doquery("SELECT * FROM {{table}} WHERE id_planet = '".$planetrow["id"]."'","galaxy",true);} $dpath = !$user["dpath"] ? DEFAULT_SKINPATH : $user["dpath"]; //-[Arrays]------------------------------------------------ $parse = $lang; $parse['dpath'] = $dpath; $parse['image'] = $planetrow['image']; /* pequeño loop para agregar todos los planetas disponibles del mismo jugador... */ $parse['planetlist'] = ''; //pedimos todos los planetas que coincidan con el id del due�. $planets_list = doquery("SELECT id,name,galaxy,system,planet FROM {{table}} WHERE id_owner='{$user['id']}' ORDER BY sortID ASC", "planets"); while ($p = mysql_fetch_array($planets_list)) { /* Cuando alguien selecciona destruir planeta, hay un tiempo en el que se vacia el slot del planeta, es mas que nada para dar tiempo a posible problema de hackeo o robo de cuenta. */ if ($p["destruyed"] == 0) { //$pos_galaxy = doquery("SELECT * FROM {{table}} WHERE id_planet = {$p[id]}","galaxy",true); $parse['planetlist'] .= "<option "; if ($p["id"] == $user["current_planet"]) { $parse['planetlist'] .= 'selected="selected" '; } //Se selecciona el planeta actual $parse['planetlist'] .= 'value="?cp=' . $p['id']; if (isset($_GET['mode'])) { $parse['planetlist'] .= '&mode=' . $_GET['mode']; } if (isset($_GET['gid'])) { $parse['planetlist'] .= '&gid=' . $_GET['gid']; } if (isset($_GET['messageziel'])) { $parse['planetlist'] .= '&messageziel=' . $_GET['messageziel']; } $parse['planetlist'] .= '&re=0">'; //Nombre [galaxy:system:planet] $parse['planetlist'] .= "{$p['name']} [{$p['galaxy']}:{$p['system']}:{$p['planet']}]</option>"; } } /* Muestra los recursos, e indica si estos sobrepasan la capacidad de los almacenes */ $resourceProducer = LWCore::getPlanet()->getProductionHandler()->getProductorObject('resource'); $energyProd = $resourceProducer->getProduction('energy'); $energy = pretty_number(($energyProd[1] - $energyProd[0]) * -3600) . "/" . pretty_number($energyProd[0] * 3600); //energy if ($energyProd[1] > $energyProd[0]) { $parse['energy'] = colorRed($energy); } else { $parse['energy'] = $energy; } //metal $metal = pretty_number(LWCore::getPlanet()->metal); $red = false; if ($resourceProducer->getProduction('metal') < 0) { if (LWCore::getPlanet()->metal < $resourceProducer->getSignificantLimit('metal')) { $red = true; } } else { if (LWCore::getPlanet()->metal > $resourceProducer->getSignificantLimit('metal')) { $red = true; } } if ($red) { $parse['metal'] = colorRed($metal); } else { $parse['metal'] = $metal; } //cristal $crystal = pretty_number(LWCore::getPlanet()->crystal); $red = false; if ($resourceProducer->getProduction('crystal') < 0) { if (LWCore::getPlanet()->crystal < $resourceProducer->getSignificantLimit('crystal')) { $red = true; } } else { if (LWCore::getPlanet()->crystal > $resourceProducer->getSignificantLimit('crystal')) { $red = true; } } if ($red) { $parse['crystal'] = colorRed($crystal); } else { $parse['crystal'] = $crystal; } //deuterium $deuterium = pretty_number(LWCore::getPlanet()->deuterium); $red = false; if ($resourceProducer->getProduction('deuterium') < 0) { if (LWCore::getPlanet()->deuterium < $resourceProducer->getSignificantLimit('deuterium')) { $red = true; } } else { if (LWCore::getPlanet()->deuterium > $resourceProducer->getSignificantLimit('deuterium')) { $red = true; } } if ($red) { $parse['deuterium'] = colorNumber($deuterium); } else { $parse['deuterium'] = $deuterium; } //esto es un hecho! echo parsetemplate(gettemplate('topnav'), $parse); }
//Total de los recursos $parse['metal_total'] = colorNumber(floor($planetrow['metal_perhour'] * 0.01 * $parse['production_level'])); $parse['crystal_total'] = colorNumber(floor($planetrow['crystal_perhour'] * 0.01 * $parse['production_level'])); $parse['deuterium_total'] = colorNumber(floor($planetrow['deuterium_perhour'] * 0.01 * $parse['production_level'])); $parse['energy_total'] = colorNumber(floor($planetrow['energy_max'] - $planetrow["energy_used"])); //tabla de valores extendidos //colores de la tabla... no muy necesario creo yo... $parse['daily_metal'] = colorNumber(number_format(floor($planetrow["metal_perhour"] * 24), 0, ",", ".")); $parse['weekly_metal'] = colorNumber(number_format(floor($planetrow["metal_perhour"] * 24 * 7), 0, ",", ".")); $parse['monthly_metal'] = colorNumber(number_format(floor($planetrow["metal_perhour"] * 24 * 30), 0, ",", ".")); $parse['daily_crystal'] = colorNumber(number_format(floor($planetrow["crystal_perhour"] * 24), 0, ",", ".")); $parse['weekly_crystal'] = colorNumber(number_format(floor($planetrow["crystal_perhour"] * 24 * 7), 0, ",", ".")); $parse['monthly_crystal'] = colorNumber(number_format(floor($planetrow["crystal_perhour"] * 24 * 30), 0, ",", ".")); $parse['daily_deuterium'] = colorNumber(number_format(floor($planetrow["deuterium_perhour"] * 24), 0, ",", ".")); $parse['weekly_deuterium'] = colorNumber(number_format(floor($planetrow["deuterium_perhour"] * 24 * 7), 0, ",", ".")); $parse['monthly_deuterium'] = colorNumber(number_format(floor($planetrow["deuterium_perhour"] * 24 * 30), 0, ",", ".")); //Porcentajes de minerias llenas $parse['metal_storage'] = floor($planetrow["metal"] / $planetrow["metal_max"] * 100) . $lang['o/o']; $parse['crystal_storage'] = floor($planetrow["crystal"] / $planetrow["crystal_max"] * 100) . $lang['o/o']; $parse['deuterium_storage'] = floor($planetrow["deuterium"] / $planetrow["deuterium_max"] * 100) . $lang['o/o']; //Las barras de porcentaje $parse['metal_storage_bar'] = floor($planetrow["metal"] / $planetrow["metal_max"] * 100) * 2.5; $parse['crystal_storage_bar'] = floor($planetrow["crystal"] / $planetrow["crystal_max"] * 100) * 2.5; $parse['deuterium_storage_bar'] = floor($planetrow["deuterium"] / $planetrow["deuterium_max"] * 100) * 2.5; //Color de la barra de metal if ($parse['metal_storage_bar'] > 100 * 2.5) { $parse['metal_storage_bar'] = 250; $parse['metal_storage_barcolor'] = '#C00000'; } elseif ($parse['metal_storage_bar'] > 80 * 2.5) { $parse['metal_storage_barcolor'] = '#C0C000'; } else {
/** * BuildRessourcePage.php * * @version 1.0 * @copyright 2008 by ShadoV for XNova */ function BuildRessourcePage($CurrentUser, $CurrentPlanet) { global $lang, $ProdGrid, $resource, $reslist, $game_config, $_POST; CheckPlanetUsedFields($CurrentPlanet); $RessBodyTPL = gettemplate('resources'); $RessRowTPL = gettemplate('resources_row'); // Si c'est une lune ... pas de ressources produites if ($CurrentPlanet['planet_type'] == 3) { $game_config['metal_basic_income'] = 0; $game_config['crystal_basic_income'] = 0; $game_config['deuterium_basic_income'] = 0; } $ValidList['percent'] = array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100); $SubQry = ""; if ($_POST) { foreach ($_POST as $Field => $Value) { $FieldName = $Field . "_porcent"; if (isset($CurrentPlanet[$FieldName])) { if (!in_array($Value, $ValidList['percent'])) { header("Location: ?action=internalHome"); exit; } $Values = $Value / 10; $CurrentPlanet[$FieldName] = $Values; $SubQry .= ", `" . $FieldName . "` = '" . $Values . "'"; } } } $parse = $lang; $production_level = 100; if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) { $post_porcent = 0; if ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $post_porcent = floor($CurrentPlanet['energy_max'] / abs($CurrentPlanet['energy_used']) * 100); } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $post_porcent = 0; } } else { $post_porcent = 100; } if ($post_porcent > 100) { $post_porcent = 100; } // ------------------------------------------------------------------------------------------------------- // Mise a jour de l'espace de stockage $CurrentPlanet['metal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[22]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5); $CurrentPlanet['crystal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[23]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5); $CurrentPlanet['deuterium_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[24]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5); // ------------------------------------------------------------------------------------------------------- $parse['resource_row'] = ""; $CurrentPlanet['metal_perhour'] = 0; $CurrentPlanet['crystal_perhour'] = 0; $CurrentPlanet['deuterium_perhour'] = 0; $CurrentPlanet['energy_max'] = 0; $CurrentPlanet['energy_used'] = 0; $BuildTemp = $CurrentPlanet['temp_max']; foreach ($reslist['prod'] as $ProdID) { if ($CurrentPlanet[$resource[$ProdID]] > 0 && isset($ProdGrid[$ProdID])) { $BuildLevelFactor = $CurrentPlanet[$resource[$ProdID] . "_porcent"]; $BuildLevel = $CurrentPlanet[$resource[$ProdID]]; $metal = floor(eval($ProdGrid[$ProdID]['formule']['metal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05)); $crystal = floor(eval($ProdGrid[$ProdID]['formule']['crystal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05)); $deuterium = floor(eval($ProdGrid[$ProdID]['formule']['deuterium']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05)); $energy = floor(eval($ProdGrid[$ProdID]['formule']['energy']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_ingenieur'] * 0.05)); if ($energy > 0) { $CurrentPlanet['energy_max'] += $energy; } else { $CurrentPlanet['energy_used'] += $energy; } $CurrentPlanet['metal_perhour'] += $metal; $CurrentPlanet['crystal_perhour'] += $crystal; $CurrentPlanet['deuterium_perhour'] += $deuterium; $metal_ref = $metal * 0.01 * $post_porcent; $crystal_ref = $crystal * 0.01 * $post_porcent; $deuterium_ref = $deuterium * 0.01 * $post_porcent; $energy_ref = $energy; $Field = $resource[$ProdID] . "_porcent"; $CurrRow = array(); $CurrRow['name'] = $resource[$ProdID]; $CurrRow['porcent'] = $CurrentPlanet[$Field]; for ($Option = 10; $Option >= 0; $Option--) { $OptValue = $Option * 10; if ($Option == $CurrRow['porcent']) { $OptSelected = " selected=selected"; } else { $OptSelected = ""; } $CurrRow['option'] .= "<option value=\"" . $OptValue . "\"" . $OptSelected . ">" . $OptValue . "%</option>"; } $CurrRow['type'] = $lang['tech'][$ProdID]; $CurrRow['level'] = $ProdID > 200 ? $lang['quantity'] : $lang['level']; $CurrRow['level_type'] = $CurrentPlanet[$resource[$ProdID]]; $metal_type = pretty_number(abs($metal_ref)); $crystal_type = pretty_number(abs($crystal_ref)); $deuterium_type = pretty_number(abs($deuterium_ref)); $CurrRow['energy_type'] = pretty_number($energy_ref); $CurrRow['metal_type'] = colorNumber($metal_type); $CurrRow['crystal_type'] = colorNumber($crystal_type); $CurrRow['deuterium_type'] = colorNumber($deuterium_type); if (abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $CurrRow['energy_type'] = colorNumber($CurrRow['energy_type'] * -1); } elseif (abs($CurrentPlanet['energy_used']) > 0 && $CurrentPlanet['energy_max'] == 0) { $CurrRow['energy_type'] = colorNumber($CurrRow['energy_type'] * -1); } else { $CurrRow['energy_type'] = colorNumber($CurrRow['energy_type']); } if ($CurrRow['type'] == "M") { $CurrRow['energy_type'] = colorNumber($CurrRow['energy_type'] * -1); } $parse['resource_row'] .= parsetemplate($RessRowTPL, $CurrRow); } } $parse['Production_of_resources_in_the_planet'] = str_replace('%s', $CurrentPlanet['name'], $lang['Production_of_resources_in_the_planet']); if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) { $production_level = 0; } elseif ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $production_level = floor($CurrentPlanet['energy_max'] / abs($CurrentPlanet['energy_used']) * 100); } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $production_level = 0; } else { $production_level = 100; } if ($production_level > 100) { $production_level = 100; } $parse['metal_basic_income'] = $game_config['metal_basic_income'] * $game_config['resource_multiplier']; $parse['crystal_basic_income'] = $game_config['crystal_basic_income'] * $game_config['resource_multiplier']; $parse['deuterium_basic_income'] = $game_config['deuterium_basic_income'] * $game_config['resource_multiplier']; $parse['energy_basic_income'] = $game_config['energy_basic_income'] * $game_config['resource_multiplier']; if ($CurrentPlanet['metal_max'] < $CurrentPlanet['metal']) { $parse['metal_max'] = "<font color=\"#ff0000\">"; } else { $parse['metal_max'] = "<font color=\"#00ff00\">"; } $parse['metal_max'] .= pretty_number($CurrentPlanet['metal_max'] / 1000) . " " . $lang['k'] . "</font>"; if ($CurrentPlanet['crystal_max'] < $CurrentPlanet['crystal']) { $parse['crystal_max'] = "<font color=\"#ff0000\">"; } else { $parse['crystal_max'] = "<font color=\"#00ff00\">"; } $parse['crystal_max'] .= pretty_number($CurrentPlanet['crystal_max'] / 1000) . " " . $lang['k'] . "</font>"; if ($CurrentPlanet['deuterium_max'] < $CurrentPlanet['deuterium']) { $parse['deuterium_max'] = "<font color=\"#ff0000\">"; } else { $parse['deuterium_max'] = "<font color=\"#00ff00\">"; } $parse['deuterium_max'] .= pretty_number($CurrentPlanet['deuterium_max'] / 1000) . " " . $lang['k'] . "</font>"; $metal_total = abs(floor($CurrentPlanet['metal_perhour'] * 0.01 * $production_level)) + $parse['metal_basic_income']; $crystal_total = abs(floor($CurrentPlanet['crystal_perhour'] * 0.01 * $production_level)) + $parse['crystal_basic_income']; $deuterium_total = abs(floor($CurrentPlanet['deuterium_perhour'] * 0.01 * $production_level)) + $parse['deuterium_basic_income']; $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $parse['energy_basic_income'] + $CurrentPlanet['energy_used']))); $parse['metal_total'] = colorNumber(pretty_number($metal_total)); $parse['crystal_total'] = colorNumber(pretty_number($crystal_total)); $parse['deuterium_total'] = colorNumber(pretty_number($deuterium_total)); $parse['daily_metal'] = colorNumber(pretty_number($metal_total * 24)); $parse['weekly_metal'] = colorNumber(pretty_number($metal_total * 24 * 7)); $parse['monthly_metal'] = colorNumber(pretty_number($metal_total * 24 * 30)); $parse['daily_crystal'] = colorNumber(pretty_number($crystal_total * 24)); $parse['weekly_crystal'] = colorNumber(pretty_number($crystal_total * 24 * 7)); $parse['monthly_crystal'] = colorNumber(pretty_number($crystal_total * 24 * 30)); $parse['daily_deuterium'] = colorNumber(pretty_number($deuterium_total * 24)); $parse['weekly_deuterium'] = colorNumber(pretty_number($deuterium_total * 24 * 7)); $parse['monthly_deuterium'] = colorNumber(pretty_number($deuterium_total * 24 * 30)); $parse['metal_storage'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100) . $lang['o/o']; $parse['crystal_storage'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100) . $lang['o/o']; $parse['deuterium_storage'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100) . $lang['o/o']; $parse['metal_storage_bar'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100 * 2.5); $parse['crystal_storage_bar'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100 * 2.5); $parse['deuterium_storage_bar'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100 * 2.5); if ($parse['metal_storage_bar'] > 100 * 2.5) { $parse['metal_storage_bar'] = 250; $parse['metal_storage_barcolor'] = '#C00000'; } elseif ($parse['metal_storage_bar'] > 80 * 2.5) { $parse['metal_storage_barcolor'] = '#C0C000'; } else { $parse['metal_storage_barcolor'] = '#00C000'; } if ($parse['crystal_storage_bar'] > 100 * 2.5) { $parse['crystal_storage_bar'] = 250; $parse['crystal_storage_barcolor'] = '#C00000'; } elseif ($parse['crystal_storage_bar'] > 80 * 2.5) { $parse['crystal_storage_barcolor'] = '#C0C000'; } else { $parse['crystal_storage_barcolor'] = '#00C000'; } if ($parse['deuterium_storage_bar'] > 100 * 2.5) { $parse['deuterium_storage_bar'] = 250; $parse['deuterium_storage_barcolor'] = '#C00000'; } elseif ($parse['deuterium_storage_bar'] > 80 * 2.5) { $parse['deuterium_storage_barcolor'] = '#C0C000'; } else { $parse['deuterium_storage_barcolor'] = '#00C000'; } $parse['production_level_bar'] = $production_level * 2.5; $parse['production_level'] = "{$production_level}%"; $parse['production_level_barcolor'] = '#00ff00'; $QryUpdatePlanet = "UPDATE {{table}} SET "; $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "' "; $QryUpdatePlanet .= $SubQry; $QryUpdatePlanet .= "WHERE "; $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "';"; doquery($QryUpdatePlanet, 'planets'); $page = parsetemplate($RessBodyTPL, $parse); display($page, ''); }
if ($gid == 12) { $page .= colorNumber(pretty_number(-($res['energy'] - $dif['energy']))) . '</th><th>'; } else { $page .= colorNumber(pretty_number($res['energy'] - $dif['energy'])) . '</th><th>'; } } elseif ($planetrow[$resource[$gid]] + $level > $planetrow[$resource[$gid]]) { $page .= $planetrow[$resource[$gid]] + $level . '</th><th>'; if ($gid != 4) { $page .= pretty_number($res['res']) . '</th><th>'; $page .= colorNumber(pretty_number($res['res'] - $dif['res'])) . '</th><th>'; } $page .= pretty_number($res['energy']) . '</th><th>'; if ($gid == 12) { $page .= colorNumber(pretty_number(-($res['energy'] - $dif['energy']))) . '</th><th>'; } else { $page .= colorNumber(pretty_number($res['energy'] - $dif['energy'])) . '</th><th>'; } } else { $page .= '<font color="#FF0000">'; $page .= $planetrow[$resource[$gid]] + $level . '</font></th><th>'; if ($gid != 4) { $page .= pretty_number($res['res']) . '</th><th>'; $page .= pretty_number($res['res'] - $dif['res']) . '</th><th>'; } $page .= pretty_number($res['energy']) . '</th><th>'; $page .= pretty_number($res['energy'] - $dif['energy']) . '</th><th>'; } $page .= '</th></tr>'; $level++; } $page .= '</table>';
public function __construct(&$CurrentPlanet, $CurrentUser) { global $ProdGrid, $lang, $resource, $reslist, $phpEx, $dpath, $game_config, $_GET, $xgp_root; include_once $xgp_root . 'includes/functions/IsTechnologieAccessible.' . $phpEx; include_once $xgp_root . 'includes/functions/GetElementPrice.' . $phpEx; include_once $xgp_root . 'includes/functions/CheckPlanetUsedFields.' . $phpEx; CheckPlanetUsedFields($CurrentPlanet); $parse = $lang; $Allowed['1'] = array(1, 2, 3, 4, 12, 14, 15, 21, 22, 23, 24, 31, 33, 34, 44); $Allowed['3'] = array(12, 14, 21, 22, 23, 24, 34, 41, 42, 43); if (isset($_GET['cmd'])) { $bDoItNow = false; $TheCommand = $_GET['cmd']; $Element = $_GET['building']; $ListID = $_GET['listid']; if (!in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) { unset($Element); } if (isset($Element)) { if (!strchr($Element, ",") && !strchr($Element, " ") && !strchr($Element, "+") && !strchr($Element, "*") && !strchr($Element, "~") && !strchr($Element, "=") && !strchr($Element, ";") && !strchr($Element, "'") && !strchr($Element, "#") && !strchr($Element, "-") && !strchr($Element, "_") && !strchr($Element, "[") && !strchr($Element, "]") && !strchr($Element, ".") && !strchr($Element, ":")) { if (in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) { $bDoItNow = true; } } else { header("location:game.php?page=buildings"); } } elseif (isset($ListID)) { $bDoItNow = true; } if ($Element == 31 && $CurrentUser["b_tech_planet"] != 0) { $bDoItNow = false; } if (($Element == 21 or $Element == 14 or $Element == 15) && $CurrentPlanet["b_hangar"] != 0) { $bDoItNow = false; } if ($bDoItNow == true) { switch ($TheCommand) { case 'cancel': $this->CancelBuildingFromQueue($CurrentPlanet, $CurrentUser); break; case 'remove': $this->RemoveBuildingFromQueue($CurrentPlanet, $CurrentUser, $ListID); break; case 'insert': $this->AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, true); break; case 'destroy': $this->AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, false); break; } } if ($_GET['r'] == 'overview') { header('location:game.php?page=overview'); } else { header("Location: game.php?page=buildings&mode=buildings"); } } SetNextQueueElementOnTop($CurrentPlanet, $CurrentUser); // $Queue = $this->ShowBuildingQueue($CurrentPlanet, $CurrentUser); // OLD CODE // START FIX BY JSTAR $Sprice = array(); $Queue = $this->ShowBuildingQueue($CurrentPlanet, $CurrentUser, $Sprice); // END FIX BY JSTAR $this->BuildingSavePlanetRecord($CurrentPlanet); if ($Queue['lenght'] < MAX_BUILDING_QUEUE_SIZE) { $CanBuildElement = true; } else { $CanBuildElement = false; } $BuildingPage = ""; $zaehler = 1; foreach ($lang['tech'] as $Element => $ElementName) { if (in_array($Element, $Allowed[$CurrentPlanet['planet_type']])) { $CurrentMaxFields = CalculateMaxPlanetFields($CurrentPlanet); if ($CurrentPlanet["field_current"] < $CurrentMaxFields - $Queue['lenght']) { $RoomIsOk = true; } else { $RoomIsOk = false; } if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { $HaveRessources = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false); $parse = array(); $parse = $lang; $parse['dpath'] = $dpath; $parse['i'] = $Element; $BuildingLevel = $CurrentPlanet[$resource[$Element]]; $parse['nivel'] = $BuildingLevel == 0 ? "" : " (" . $lang['bd_lvl'] . " " . $BuildingLevel . ")"; // ENERGIA AL LADO DE LOS EDIFICIOS ##################################################### $BuildLevelFactor = 10; $BuildTemp = $CurrentPlanet['temp_max']; $CurrentBuildtLvl = $BuildingLevel; $BuildLevel = $CurrentBuildtLvl > 0 ? $CurrentBuildtLvl : 1; $EnergyTechLevel = $CurrentUser["energy_tech"]; $Prod[4] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); $ActualNeed = floor($Prod[4]); $BuildLevel++; $Prod[4] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); $EnergyNeed = colorNumber(pretty_number(floor($Prod[4] - $ActualNeed))); if ($Element >= 1 && $Element <= 3) { $parse['energia'] = "(" . "<font color=#FF0000>" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")"; $BuildLevel = 0; } elseif ($Element == 4 || $Element == 12) { $parse['energia'] = "(" . "<font color=#00FF00>+" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")"; $BuildLevel = 0; } // FIN DE LA ENERGIA AL LADO DE LOS EDIFICIOS ############################################## $parse['n'] = $ElementName; $parse['descriptions'] = $lang['res']['descriptions'][$Element]; /* OLD CODE ---------------------------------------------------- OLD CODE ------------------------------------- // $ElementBuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element); $parse['time'] = ShowBuildTime($ElementBuildTime); $parse['price'] = GetElementPrice($CurrentUser, $CurrentPlanet, $Element); OLD CODE ---------------------------------------------------- OLD CODE ------------------------------------- // */ // START FIX BY JSTAR $really_lvl = isset($Sprice[$Element]) ? $Sprice[$Element] : $BuildingLevel; $ElementBuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element, $really_lvl); $parse['price'] = GetElementPrice($CurrentUser, $CurrentPlanet, $Element, true, $really_lvl); $parse['time'] = ShowBuildTime($ElementBuildTime); // END FIX BY JSTAR $parse['click'] = ''; $NextBuildLevel = $CurrentPlanet[$resource[$Element]] + 1; if ($RoomIsOk && $CanBuildElement) { if ($Queue['lenght'] == 0) { if ($NextBuildLevel == 1) { if ($HaveRessources == true) { $parse['click'] = "<a href=\"game.php?page=buildings&cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['bd_build'] . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['bd_build'] . "</font>"; } } else { if ($HaveRessources == true) { $parse['click'] = "<a href=\"game.php?page=buildings&cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['bd_build_next_level'] . $NextBuildLevel . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['bd_build_next_level'] . $NextBuildLevel . "</font>"; } } } else { $parse['click'] = "<a href=\"game.php?page=buildings&cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['bd_add_to_list'] . "</font></a>"; } } elseif ($RoomIsOk && !$CanBuildElement) { if ($NextBuildLevel == 1) { $parse['click'] = "<font color=#FF0000>" . $lang['bd_build'] . "</font>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['bd_build_next_level'] . $NextBuildLevel . "</font>"; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['bd_no_more_fields'] . "</font>"; } if ($siguiente == 2) { $parse['cerrartr'] = "</tr>"; $siguiente = 0; } else { $siguiente++; } $BuildingPage .= parsetemplate(gettemplate('buildings/buildings_builds_row'), $parse); if ($Element == 31 && $CurrentUser["b_tech_planet"] != 0) { $parse['click'] = "<font color=#FF0000>" . $lang['bd_working'] . "</font>"; } if (($Element == 21 or $Element == 14 or $Element == 15) && $CurrentPlanet["b_hangar"] != 0) { $parse['click'] = "<font color=#FF0000>" . $lang['bd_working'] . "</font>"; } } } } if ($Queue['lenght'] > 0) { include $xgp_root . 'includes/functions/InsertBuildListScript.' . $phpEx; $parse['BuildListScript'] = InsertBuildListScript("buildings"); $parse['BuildList'] = $Queue['buildlist']; } else { $parse['BuildListScript'] = ""; $parse['BuildList'] = ""; } $parse['BuildingsList'] = $BuildingPage; $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']; display(parsetemplate(gettemplate('buildings/buildings_builds'), $parse)); }
function BuildRessourcePage($CurrentUser, $CurrentPlanet) { global $lang, $ProdGrid, $resource, $reslist, $game_config, $_POST; includeLang('resources'); $RessBodyTPL = gettemplate('resources'); $RessRowTPL = gettemplate('resources_row'); $userInVacation = $CurrentUser['urlaubs_modus'] == 1 ? true : false; if ($CurrentPlanet['planet_type'] == 3 || $userInVacation == true) { message($lang['Ressource_PageNotAllowed'], $lang['Ressource_NotDisponible'], 'overview.php'); } $ValidList['percent'] = array(100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0); $SubQry = ""; if ($_POST) { foreach ($_POST as $Field => $Value) { $FieldName = $Field . "_porcent"; if (isset($CurrentPlanet[$FieldName])) { if (!in_array($Value, $ValidList['percent'])) { header("Location: overview.php"); exit; } $Value = $Value / 10; $CurrentPlanet[$FieldName] = $Value; $SubQry .= ", `" . $FieldName . "` = '" . $Value . "'"; } } } $parse = $lang; // ------------------------------------------------------------------------------------------------------- // Mise a jour de l'espace de stockage $CurrentPlanet['metal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[22]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5); $CurrentPlanet['crystal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[23]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5); $CurrentPlanet['deuterium_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[24]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5); // ------------------------------------------------------------------------------------------------------- // Calcul du % de production et mise � jour des ressources $CurrentPlanet = PlanetResourceUpdate($user, $CurrentPlanet, time()); // -------------------------------------------------------------------------------------------------------- $parse['resource_row'] = ""; $CurrentPlanet['metal_perhour'] = 0; $CurrentPlanet['crystal_perhour'] = 0; $CurrentPlanet['deuterium_perhour'] = 0; $CurrentPlanet['energy_max'] = 0; $CurrentPlanet['energy_used'] = 0; $BuildTemp = $CurrentPlanet['temp_max']; foreach ($reslist['prod'] as $ProdID) { if ($CurrentPlanet[$resource[$ProdID]] > 0 && isset($ProdGrid[$ProdID])) { $BuildLevelFactor = $CurrentPlanet[$resource[$ProdID] . "_porcent"]; $BuildLevel = $CurrentPlanet[$resource[$ProdID]]; $metal = floor(eval($ProdGrid[$ProdID]['formule']['metal']) * ($CurrentPlanet['porcent'] / 100) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05)); $crystal = floor(eval($ProdGrid[$ProdID]['formule']['crystal']) * ($CurrentPlanet['porcent'] / 100) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05)); $deuterium = floor(eval($ProdGrid[$ProdID]['formule']['deuterium']) * ($CurrentPlanet['porcent'] / 100) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05)); $energy = floor(eval($ProdGrid[$ProdID]['formule']['energy']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_ingenieur'] * 0.05)); if ($energy > 0) { $CurrentPlanet['energy_max'] += $energy; } else { $CurrentPlanet['energy_used'] += $energy; } $CurrentPlanet['metal_perhour'] += $metal; $CurrentPlanet['crystal_perhour'] += $crystal; $CurrentPlanet['deuterium_perhour'] += $deuterium; $CurrRow = array(); $CurrRow['name'] = $resource[$ProdID]; $CurrRow['porcent'] = $BuildLevelFactor; foreach ($ValidList['percent'] as $Option) { $OptSelected = $Option / 10 == $CurrRow['porcent'] ? ' selected=selected' : ''; $CurrRow['option'] .= "<option value=\"" . $Option . "\"" . $OptSelected . ">" . $Option . "%</option>"; } $CurrRow['type'] = $lang['tech'][$ProdID]; $CurrRow['level'] = $ProdID > 200 ? $lang['quantity'] : $lang['level']; $CurrRow['level_type'] = $CurrentPlanet[$resource[$ProdID]]; $CurrRow['metal_type'] = colorNumber(pretty_number($metal)); $CurrRow['crystal_type'] = colorNumber(pretty_number($crystal)); $CurrRow['deuterium_type'] = colorNumber(pretty_number($deuterium)); $CurrRow['energy_type'] = colorNumber(pretty_number($energy)); $parse['resource_row'] .= parsetemplate($RessRowTPL, $CurrRow); } } $parse['Production_of_resources_in_the_planet'] = str_replace('%s', $CurrentPlanet['name'], $lang['Production_of_resources_in_the_planet']); $parse['production_level'] = $CurrentPlanet['porcent']; $parse['metal_basic_income'] = $game_config['metal_basic_income'] * $game_config['resource_multiplier']; $parse['crystal_basic_income'] = $game_config['crystal_basic_income'] * $game_config['resource_multiplier']; $parse['deuterium_basic_income'] = $game_config['deuterium_basic_income'] * $game_config['resource_multiplier']; $parse['energy_basic_income'] = $game_config['energy_basic_income'] * $game_config['resource_multiplier']; if ($CurrentPlanet['metal_max'] < $CurrentPlanet['metal']) { $parse['metal_max'] = "<font color=\"#ff0000\">"; } else { $parse['metal_max'] = "<font color=\"#00ff00\">"; } $parse['metal_max'] .= pretty_number($CurrentPlanet['metal_max'] / 1000) . " " . $lang['k'] . "</font>"; if ($CurrentPlanet['crystal_max'] < $CurrentPlanet['crystal']) { $parse['crystal_max'] = "<font color=\"#ff0000\">"; } else { $parse['crystal_max'] = "<font color=\"#00ff00\">"; } $parse['crystal_max'] .= pretty_number($CurrentPlanet['crystal_max'] / 1000) . " " . $lang['k'] . "</font>"; if ($CurrentPlanet['deuterium_max'] < $CurrentPlanet['deuterium']) { $parse['deuterium_max'] = "<font color=\"#ff0000\">"; } else { $parse['deuterium_max'] = "<font color=\"#00ff00\">"; } $parse['deuterium_max'] .= pretty_number($CurrentPlanet['deuterium_max'] / 1000) . " " . $lang['k'] . "</font>"; $parse['metal_total'] = colorNumber(pretty_number($CurrentPlanet['metal_perhour'] + $parse['metal_basic_income'])); $parse['crystal_total'] = colorNumber(pretty_number($CurrentPlanet['crystal_perhour'] + $parse['crystal_basic_income'])); $parse['deuterium_total'] = colorNumber(pretty_number($CurrentPlanet['deuterium_perhour'] + $parse['deuterium_basic_income'])); $parse['energy_total'] = colorNumber(pretty_number($CurrentPlanet['energy_max'] + $parse['energy_basic_income'] + $CurrentPlanet['energy_used'])); $parse['daily_metal'] = floor(($CurrentPlanet['metal_perhour'] + $parse['metal_basic_income']) * 24); $parse['weekly_metal'] = floor($parse['daily_metal'] * 7); $parse['monthly_metal'] = floor($parse['daily_metal'] * 30); $parse['daily_crystal'] = floor(($CurrentPlanet['crystal_perhour'] + $parse['crystal_basic_income']) * 24); $parse['weekly_crystal'] = floor($parse['daily_crystal'] * 7); $parse['monthly_crystal'] = floor($parse['daily_crystal'] * 30); $parse['daily_deuterium'] = floor(($CurrentPlanet['deuterium_perhour'] + $parse['deuterium_basic_income']) * 24); $parse['weekly_deuterium'] = floor($parse['daily_deuterium'] * 7); $parse['monthly_deuterium'] = floor($parse['daily_deuterium'] * 30); $parse['daily_metal'] = colorNumber(pretty_number($parse['daily_metal'])); $parse['weekly_metal'] = colorNumber(pretty_number($parse['weekly_metal'])); $parse['monthly_metal'] = colorNumber(pretty_number($parse['monthly_metal'])); $parse['daily_crystal'] = colorNumber(pretty_number($parse['daily_crystal'])); $parse['weekly_crystal'] = colorNumber(pretty_number($parse['weekly_crystal'])); $parse['monthly_crystal'] = colorNumber(pretty_number($parse['monthly_crystal'])); $parse['daily_deuterium'] = colorNumber(pretty_number($parse['daily_deuterium'])); $parse['weekly_deuterium'] = colorNumber(pretty_number($parse['weekly_deuterium'])); $parse['monthly_deuterium'] = colorNumber(pretty_number($parse['monthly_deuterium'])); $parse['metal_storage'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100) . $lang['o/o']; $parse['crystal_storage'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100) . $lang['o/o']; $parse['deuterium_storage'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100) . $lang['o/o']; $parse['metal_storage_bar'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100 * 2.5); $parse['crystal_storage_bar'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100 * 2.5); $parse['deuterium_storage_bar'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100 * 2.5); if ($parse['metal_storage_bar'] > 100 * 2.5) { $parse['metal_storage_bar'] = 250; $parse['metal_storage_barcolor'] = '#C00000'; } elseif ($parse['metal_storage_bar'] > 80 * 2.5) { $parse['metal_storage_barcolor'] = '#C0C000'; } else { $parse['metal_storage_barcolor'] = '#00C000'; } if ($parse['crystal_storage_bar'] > 100 * 2.5) { $parse['crystal_storage_bar'] = 250; $parse['crystal_storage_barcolor'] = '#C00000'; } elseif ($parse['crystal_storage_bar'] > 80 * 2.5) { $parse['crystal_storage_barcolor'] = '#C0C000'; } else { $parse['crystal_storage_barcolor'] = '#00C000'; } if ($parse['deuterium_storage_bar'] > 100 * 2.5) { $parse['deuterium_storage_bar'] = 250; $parse['deuterium_storage_barcolor'] = '#C00000'; } elseif ($parse['deuterium_storage_bar'] > 80 * 2.5) { $parse['deuterium_storage_barcolor'] = '#C0C000'; } else { $parse['deuterium_storage_barcolor'] = '#00C000'; } $parse['production_level_bar'] = $parse['production_level'] * 2.5; $parse['production_level'] = "{$parse['production_level']}%"; $parse['production_level_barcolor'] = '#00ff00'; $sql = <<<SQL \t\t\tUPDATE {{table}} \t\t\tSET \t\t\t\t`energy_max` = '{$CurrentPlanet['energy_max']}' \t\t\t\t{$SubQry} \t\t\tWHERE \t\t\t\t`id` = '{$CurrentPlanet['id']}' SQL; doquery($sql, 'planets'); $page = parsetemplate($RessBodyTPL, $parse); return $page; }
function ShowResourcesPage($CurrentUser, $CurrentPlanet) { global $lang, $ProdGrid, $resource, $reslist, $game_config; $parse = $lang; if ($CurrentPlanet['planet_type'] == 3) { $game_config['metal_basic_income'] = 0; $game_config['crystal_basic_income'] = 0; $game_config['deuterium_basic_income'] = 0; $game_config['darkmatter_basic_income'] = 0; } $ValidList['percent'] = array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100); $SubQry = ""; if ($_POST) { foreach ($_POST as $Field => $Value) { $FieldName = $Field . "_porcent"; if (isset($CurrentPlanet[$FieldName])) { if (!in_array($Value, $ValidList['percent'])) { header("Location: game.php?page=ressources"); exit; } $Value = $Value / 10; $CurrentPlanet[$FieldName] = $Value; $SubQry .= ", `" . $FieldName . "` = '" . $Value . "'"; } } } $parse['production_level'] = 100; if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) { $post_porcent = 0; } elseif ($CurrentPlanet['energy_max'] > 0 && $CurrentPlanet['energy_used'] + $CurrentPlanet['energy_max'] < 0) { $post_porcent = floor($CurrentPlanet['energy_max'] / ($CurrentPlanet['energy_used'] * -1) * 100); } else { $post_porcent = 100; } if ($post_porcent > 100) { $post_porcent = 100; } $CurrentPlanet['metal_max'] = (BASE_STORAGE_SIZE + 50000 * (roundUp(pow(1.6, $CurrentPlanet[$resource[22]])) - 1)) * (1 + $CurrentUser['rpg_stockeur'] * STOCKEUR); $CurrentPlanet['crystal_max'] = (BASE_STORAGE_SIZE + 50000 * (roundUp(pow(1.6, $CurrentPlanet[$resource[23]])) - 1)) * (1 + $CurrentUser['rpg_stockeur'] * STOCKEUR); $CurrentPlanet['deuterium_max'] = (BASE_STORAGE_SIZE + 50000 * (roundUp(pow(1.6, $CurrentPlanet[$resource[24]])) - 1)) * (1 + $CurrentUser['rpg_stockeur'] * STOCKEUR); $CurrentPlanet['darkmatter_max'] = (BASE_STORAGE_SIZE + 50000 * (roundUp(pow(1.6, $CurrentPlanet[$resource[25]])) - 1)) * (1 + $CurrentUser['rpg_stockeur'] * STOCKEUR); $parse['resource_row'] = ""; $CurrentPlanet['metal_perhour'] = 0; $CurrentPlanet['crystal_perhour'] = 0; $CurrentPlanet['deuterium_perhour'] = 0; $CurrentPlanet['darkmatter_perhour'] = 0; $CurrentPlanet['energy_max'] = 0; $CurrentPlanet['energy_used'] = 0; $BuildTemp = $CurrentPlanet['temp_max']; foreach ($reslist['prod'] as $ProdID) { if ($CurrentPlanet[$resource[$ProdID]] > 0 && isset($ProdGrid[$ProdID])) { $BuildLevelFactor = $CurrentPlanet[$resource[$ProdID] . "_porcent"]; $BuildLevel = $CurrentPlanet[$resource[$ProdID]]; $metal = floor(eval($ProdGrid[$ProdID]['formule']['metal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * GEOLOGUE)); $crystal = floor(eval($ProdGrid[$ProdID]['formule']['crystal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * GEOLOGUE)); $deuterium = floor(eval($ProdGrid[$ProdID]['formule']['deuterium']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * GEOLOGUE)); $darkmatter = floor(eval($ProdGrid[$ProdID]['formule']['darkmatter']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * GEOLOGUE)); if ($ProdID >= 4) { $energy = floor(eval($ProdGrid[$ProdID]['formule']['energy']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_ingenieur'] * INGENIEUR)); } else { $energy = floor(eval($ProdGrid[$ProdID]['formule']['energy']) * $game_config['resource_multiplier']); } if ($energy > 0) { $CurrentPlanet['energy_max'] += $energy; } else { $CurrentPlanet['energy_used'] += $energy; } $CurrentPlanet['metal_perhour'] += $metal; $CurrentPlanet['crystal_perhour'] += $crystal; $CurrentPlanet['deuterium_perhour'] += $deuterium; $CurrentPlanet['darkmatter_perhour'] += $darkmatter; $metal = $metal * 0.01 * $post_porcent; $crystal = $crystal * 0.01 * $post_porcent; $deuterium = $deuterium * 0.01 * $post_porcent; $darkmatter = $darkmatter * 0.01 * $post_porcent; $energy = $energy * 0.01 * $post_porcent; $Field = $resource[$ProdID] . "_porcent"; $CurrRow = array(); $CurrRow['name'] = $resource[$ProdID]; $CurrRow['porcent'] = $CurrentPlanet[$Field]; for ($Option = 10; $Option >= 0; $Option--) { $OptValue = $Option * 10; if ($Option == $CurrRow['porcent']) { $OptSelected = " selected=selected"; } else { $OptSelected = ""; } $CurrRow['option'] .= "<option value=\"" . $OptValue . "\"" . $OptSelected . ">" . $OptValue . "%</option>"; } $CurrRow['type'] = $lang['tech'][$ProdID]; $CurrRow['level'] = $ProdID > 200 ? $lang['rs_amount'] : $lang['rs_lvl']; $CurrRow['level_type'] = $CurrentPlanet[$resource[$ProdID]]; $CurrRow['metal_type'] = pretty_number($metal); $CurrRow['crystal_type'] = pretty_number($crystal); $CurrRow['deuterium_type'] = pretty_number($deuterium); $CurrRow['darkmatter_type'] = pretty_number($darkmatter); $CurrRow['energy_type'] = pretty_number($energy); $CurrRow['metal_type'] = colorNumber($CurrRow['metal_type']); $CurrRow['crystal_type'] = colorNumber($CurrRow['crystal_type']); $CurrRow['deuterium_type'] = colorNumber($CurrRow['deuterium_type']); $CurrRow['darkmatter_type'] = colorNumber($CurrRow['darkmatter_type']); $CurrRow['energy_type'] = colorNumber($CurrRow['energy_type']); $parse['resource_row'] .= parsetemplate(gettemplate('resources/resources_row'), $CurrRow); } } $parse['Production_of_resources_in_the_planet'] = str_replace('%s', $CurrentPlanet['name'], $lang['rs_production_on_planet']); if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) { $parse['production_level'] = 0; } elseif ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $parse['production_level'] = floor($CurrentPlanet['energy_max'] / ($CurrentPlanet['energy_used'] * -1) * 100); } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $parse['production_level'] = 0; } else { $parse['production_level'] = 100; } if ($parse['production_level'] > 100) { $parse['production_level'] = 100; } $parse['metal_basic_income'] = $game_config['metal_basic_income'] * $game_config['resource_multiplier']; $parse['crystal_basic_income'] = $game_config['crystal_basic_income'] * $game_config['resource_multiplier']; $parse['deuterium_basic_income'] = $game_config['deuterium_basic_income'] * $game_config['resource_multiplier']; $parse['darkmatter_basic_income'] = $game_config['darkmatter_basic_income'] * $game_config['resource_multiplier']; $parse['energy_basic_income'] = $game_config['energy_basic_income'] * $game_config['resource_multiplier']; if ($CurrentPlanet['metal_max'] < $CurrentPlanet['metal']) { $parse['metal_max'] = "<font color=\"#ff0000\">"; } else { $parse['metal_max'] = "<font color=\"#00ff00\">"; } $parse['metal_max'] .= pretty_number($CurrentPlanet['metal_max'] / 1000) . "k</font>"; if ($CurrentPlanet['crystal_max'] < $CurrentPlanet['crystal']) { $parse['crystal_max'] = "<font color=\"#ff0000\">"; } else { $parse['crystal_max'] = "<font color=\"#00ff00\">"; } $parse['crystal_max'] .= pretty_number($CurrentPlanet['crystal_max'] / 1000) . "k</font>"; if ($CurrentPlanet['deuterium_max'] < $CurrentPlanet['deuterium']) { $parse['deuterium_max'] = "<font color=\"#ff0000\">"; } else { $parse['deuterium_max'] = "<font color=\"#00ff00\">"; } $parse['deuterium_max'] .= pretty_number($CurrentPlanet['deuterium_max'] / 1000) . "k</font>"; if ($CurrentPlanet['darkmatter_max'] < $CurrentPlanet['darkmatter']) { $parse['darkmatter_max'] = "<font color=\"#ff0000\">"; } else { $parse['darkmatter_max'] = "<font color=\"#00ff00\">"; } $parse['darkmatter_max'] .= pretty_number($CurrentPlanet['darkmatter_max'] / 1000) . "k</font>"; $parse['metal_total'] = colorNumber(pretty_number(floor(($CurrentPlanet['metal_perhour'] * 0.01 * $parse['production_level'] + $parse['metal_basic_income']) * $game_config['resource_multiplier']))); $parse['crystal_total'] = colorNumber(pretty_number(floor(($CurrentPlanet['crystal_perhour'] * 0.01 * $parse['production_level'] + $parse['crystal_basic_income']) * $game_config['resource_multiplier']))); $parse['deuterium_total'] = colorNumber(pretty_number(floor(($CurrentPlanet['deuterium_perhour'] * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income']) * $game_config['resource_multiplier']))); $parse['darkmatter_total'] = colorNumber(pretty_number(floor(($CurrentPlanet['darkmatter_perhour'] * 0.01 * $parse['production_level'] + $parse['darkmatter_basic_income']) * $game_config['resource_multiplier']))); $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $parse['energy_basic_income'] + $CurrentPlanet['energy_used']))); $parse['daily_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['metal_basic_income'] * $game_config['resource_multiplier'] * 24); $parse['weekly_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['metal_basic_income'] * $game_config['resource_multiplier'] * 24 * 7); $parse['daily_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['crystal_basic_income'] * $game_config['resource_multiplier'] * 24); $parse['weekly_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['crystal_basic_income'] * $game_config['resource_multiplier'] * 24 * 7); $parse['daily_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['deuterium_basic_income'] * $game_config['resource_multiplier'] * 24); $parse['weekly_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['deuterium_basic_income'] * $game_config['resource_multiplier'] * 24 * 7); $parse['daily_darkmatter'] = floor($CurrentPlanet['darkmatter_perhour'] * 24 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['darkmatter_basic_income'] * $game_config['resource_multiplier'] * 24); $parse['weekly_darkmatter'] = floor($CurrentPlanet['darkmatter_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['darkmatter_basic_income'] * $game_config['resource_multiplier'] * 24 * 7); $parse['daily_metal'] = colorNumber(pretty_number($parse['daily_metal'])); $parse['weekly_metal'] = colorNumber(pretty_number($parse['weekly_metal'])); $parse['daily_crystal'] = colorNumber(pretty_number($parse['daily_crystal'])); $parse['weekly_crystal'] = colorNumber(pretty_number($parse['weekly_crystal'])); $parse['daily_deuterium'] = colorNumber(pretty_number($parse['daily_deuterium'])); $parse['weekly_deuterium'] = colorNumber(pretty_number($parse['weekly_deuterium'])); $parse['daily_darkmatter'] = colorNumber(pretty_number($parse['daily_darkmatter'])); $parse['weekly_darkmatter'] = colorNumber(pretty_number($parse['weekly_darkmatter'])); $QryUpdatePlanet = "UPDATE {{table}} SET "; $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "' "; $QryUpdatePlanet .= $SubQry; $QryUpdatePlanet .= "WHERE "; $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "';"; doquery($QryUpdatePlanet, 'planets'); return display(parsetemplate(gettemplate('resources/resources'), $parse)); }
public function __construct() { global $USER, $PLANET, $dpath, $LNG, $resource, $pricelist, $reslist, $CombatCaps, $ProdGrid, $CONF; $BuildID = request_var('gid', 0); $template = new template(); $template->page_header(); $template->page_footer(); if (in_array($BuildID, $reslist['prod']) && $BuildID != 212) { $BuildLevelFactor = 10; $BuildTemp = $PLANET['temp_max']; $CurrentBuildtLvl = $PLANET[$resource[$BuildID]]; $BuildEnergy = $USER[$resource[113]]; $BuildLevel = $CurrentBuildtLvl > 0 ? $CurrentBuildtLvl : 1; $Prod[1] = floor(eval($ProdGrid[$BuildID]['formule']['metal']) * $CONF['resource_multiplier']) * (1 + $USER['rpg_geologue'] * GEOLOGUE); $Prod[2] = floor(eval($ProdGrid[$BuildID]['formule']['crystal']) * $CONF['resource_multiplier']) * (1 + $USER['rpg_geologue'] * GEOLOGUE); $Prod[3] = floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $CONF['resource_multiplier']) * (1 + $USER['rpg_geologue'] * GEOLOGUE); $BuildStartLvl = max($CurrentBuildtLvl - 2, 1); if ($BuildID >= 4) { $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']) * (1 + $USER['rpg_ingenieur'] * INGENIEUR); } else { $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']); } $ActualProd = floor($Prod[$BuildID]); if ($BuildID != 12) { $ActualNeed = floor($Prod[4]); } else { $ActualNeed = floor($Prod[3]); } $ProdFirst = 0; for ($BuildLevel = $BuildStartLvl; $BuildLevel < $BuildStartLvl + 15; $BuildLevel++) { $Prod[1] = floor(eval($ProdGrid[$BuildID]['formule']['metal']) * $CONF['resource_multiplier']); $Prod[2] = floor(eval($ProdGrid[$BuildID]['formule']['crystal']) * $CONF['resource_multiplier']); $Prod[3] = floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $CONF['resource_multiplier']); if ($BuildID >= 4) { $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']); } else { $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']); } $bloc['build_lvl'] = $CurrentBuildtLvl == $BuildLevel ? "<font color=\"#ff0000\">" . $BuildLevel . "</font>" : $BuildLevel; if ($BuildID != 12) { $prod = pretty_number(floor($Prod[$BuildID])); $prod_diff = colorNumber(pretty_number(floor($Prod[$BuildID] - $ActualProd))); $need = colorNumber(pretty_number(floor($Prod[4]))); $need_diff = colorNumber(pretty_number(floor($Prod[4] - $ActualNeed))); } else { $prod = pretty_number(floor($Prod[4])); $prod_diff = colorNumber(pretty_number(floor($Prod[4] - $ActualProd))); $need = colorNumber(pretty_number(floor($Prod[3]))); $need_diff = colorNumber(pretty_number(floor($Prod[3] - $ActualNeed))); } if ($ProdFirst == 0) { if ($BuildID != 12) { $ProdFirst = floor($Prod[$BuildID]); } else { $ProdFirst = floor($Prod[4]); } } $ProductionTable[] = array('BuildLevel' => $BuildLevel, 'prod' => $prod, 'prod_diff' => $prod_diff, 'need' => $need, 'need_diff' => $need_diff); } } elseif (in_array($BuildID, $reslist['fleet'])) { for ($Type = 200; $Type < 500; $Type++) { if ($CombatCaps[$BuildID]['sd'][$Type] > 1) { $RapidFire['to'][$LNG['tech'][$Type]] = $CombatCaps[$BuildID]['sd'][$Type]; } if ($CombatCaps[$Type]['sd'][$BuildID] > 1) { $RapidFire['from'][$LNG['tech'][$Type]] = $CombatCaps[$Type]['sd'][$BuildID]; } } $FleetInfo[$LNG['in_struct_pt']] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']); $FleetInfo[$LNG['in_shield_pt']] = pretty_number($CombatCaps[$BuildID]['shield']); $FleetInfo[$LNG['in_attack_pt']] = pretty_number($CombatCaps[$BuildID]['attack']); $FleetInfo[$LNG['in_capacity']] = pretty_number($pricelist[$BuildID]['capacity']); $FleetInfo[$LNG['in_base_speed']][] = pretty_number($pricelist[$BuildID]['speed']); $FleetInfo[$LNG['in_consumption']][] = pretty_number($pricelist[$BuildID]['consumption']); $FleetInfo[$LNG['in_base_speed']][] = pretty_number($pricelist[$BuildID]['speed2']); $FleetInfo[$LNG['in_consumption']][] = pretty_number($pricelist[$BuildID]['consumption2']); } elseif (in_array($BuildID, $reslist['defense'])) { for ($Type = 200; $Type < 500; $Type++) { if ($CombatCaps[$BuildID]['sd'][$Type] > 1) { $RapidFire['to'][$LNG['tech'][$Type]] = $CombatCaps[$BuildID]['sd'][$Type]; } if ($CombatCaps[$Type]['sd'][$BuildID] > 1) { $RapidFire['from'][$LNG['tech'][$Type]] = $CombatCaps[$Type]['sd'][$BuildID]; } } $FleetInfo[$LNG['in_struct_pt']] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']); $FleetInfo[$LNG['in_shield_pt']] = pretty_number($CombatCaps[$BuildID]['shield']); $FleetInfo[$LNG['in_attack_pt']] = pretty_number($CombatCaps[$BuildID]['attack']); } elseif ($BuildID == 43 && $PLANET[$resource[43]] > 0) { $GateFleetList['jump'] = $this->DoFleetJump(); $RestString = $this->GetNextJumpWaitTime($PLANET); if ($RestString['value'] != 0) { include_once ROOT_PATH . 'includes/functions/InsertJavaScriptChronoApplet.' . PHP_EXT; $template->assign_vars(array('gate_time_script' => InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], true), 'gate_script_go' => InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], false))); } $GateFleetList['start_link'] = BuildPlanetAdressLink($PLANET); $GateFleetList['moons'] = $this->BuildJumpableMoonCombo($USER, $PLANET); $GateFleetList['fleets'] = $this->BuildFleetListRows($PLANET); } $template->assign_vars(array('id' => $BuildID, 'name' => $LNG['info'][$BuildID]['name'], 'image' => $BuildID, 'description' => $LNG['info'][$BuildID]['description'], 'ProductionTable' => $ProductionTable, 'RapidFire' => $RapidFire, 'Level' => $CurrentBuildtLvl, 'FleetInfo' => $FleetInfo, 'GateFleetList' => $GateFleetList, 'in_jump_gate_jump' => $LNG['in_jump_gate_jump'], 'gate_ship_dispo' => $LNG['in_jump_gate_available'], 'in_level' => $LNG['in_level'], 'in_prod_p_hour' => $LNG['in_prod_p_hour'], 'in_difference' => $LNG['in_difference'], 'in_used_energy' => $LNG['in_used_energy'], 'in_prod_energy' => $LNG['in_prod_energy'], 'in_used_deuter' => $LNG['in_used_deuter'], 'in_rf_again' => $LNG['in_rf_again'], 'in_rf_from' => $LNG['in_rf_from'], 'in_jump_gate_select_ships' => $LNG['in_jump_gate_select_ships'], 'in_jump_gate_start_moon' => $LNG['in_jump_gate_start_moon'], 'in_jump_gate_finish_moon' => $LNG['in_jump_gate_finish_moon'], 'in_jump_gate_wait_time' => $LNG['in_jump_gate_wait_time'])); $template->show('info_overview.tpl'); }
/** * ShowTopNavigationBar.php * * @version 1 * @copyright 2008 By Chlorel for XNova */ function ShowTopNavigationBar($CurrentUser, $CurrentPlanet) { global $lang, $_GET; if ($CurrentUser) { if (!$CurrentPlanet) { $CurrentPlanet = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $CurrentUser['current_planet'] . "';", 'planets', true); } // Actualisation des ressources de la planete PlanetResourceUpdate($CurrentUser, $CurrentPlanet, time()); $NavigationTPL = gettemplate('topnav'); $dpath = !$CurrentUser["dpath"] ? DEFAULT_SKINPATH : $CurrentUser["dpath"]; $parse = $lang; $parse['dpath'] = $dpath; $parse['image'] = $CurrentPlanet['image']; // Genearation de la combo des planetes du joueur $parse['planetlist'] = ''; $ThisUsersPlanets = SortUserPlanets($CurrentUser); while ($CurPlanet = mysql_fetch_array($ThisUsersPlanets)) { if ($CurPlanet["destruyed"] == 0) { $parse['planetlist'] .= "\n<option "; if ($CurPlanet['id'] == $CurrentUser['current_planet']) { // Bon puisque deja on s'y trouve autant le marquer $parse['planetlist'] .= "selected=\"selected\" "; } $parse['planetlist'] .= "value=\"?cp=" . $CurPlanet['id'] . ""; $parse['planetlist'] .= "&mode=" . $_GET['mode']; $parse['planetlist'] .= "&re=0\">"; // Nom et coordonnées de la planete $parse['planetlist'] .= "" . $CurPlanet['name']; $parse['planetlist'] .= " [" . $CurPlanet['galaxy'] . ":"; $parse['planetlist'] .= "" . $CurPlanet['system'] . ":"; $parse['planetlist'] .= "" . $CurPlanet['planet']; $parse['planetlist'] .= "] </option>"; } } //*by sbdx //$energy = pretty_number($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"]) . "/" . pretty_number($CurrentPlanet["energy_max"]); $energy = $CurrentPlanet["energy_used"]; // Energie $parse["energy_max"] = pretty_number($CurrentPlanet["energy_max"]); if ($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"] < 0) { $parse['energy'] = colorRed(pretty_number(abs($energy))); } else { $parse['energy'] = pretty_number(abs($energy)); } // Metal $metal = pretty_number($CurrentPlanet["metal"]); if ($CurrentPlanet["metal"] > $CurrentPlanet["metal_max"]) { $parse['metal'] = colorRed($metal); } else { $parse['metal'] = $metal; } // Cristal $crystal = pretty_number($CurrentPlanet["crystal"]); if ($CurrentPlanet["crystal"] > $CurrentPlanet["crystal_max"]) { $parse['crystal'] = colorRed($crystal); } else { $parse['crystal'] = $crystal; } // Deuterium $deuterium = pretty_number($CurrentPlanet["deuterium"]); if ($CurrentPlanet["deuterium"] > $CurrentPlanet["deuterium_max"]) { $parse['deuterium'] = colorRed($deuterium); } else { $parse['deuterium'] = $deuterium; } // Max Energie $energy_max = pretty_number($CurrentPlanet["energy_max"]); if ($CurrentPlanet["energy_max"] > $CurrentPlanet["energy_max"]) { $parse['energy_max'] = colorRed($energy_max); } else { $parse['energy_max'] = $energy_max; } $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $CurrentPlanet["energy_used"])) - $parse['energy_basic_income']); // Metal maximo if ($CurrentPlanet["metal_max"] < $CurrentPlanet["metal"]) { $parse['metal_max'] = '<font color="#ff0000">'; } else { $parse['metal_max'] = '<font color="#00ff00">'; } $parse['metal_max'] .= pretty_number($CurrentPlanet["metal_max"] / 1) . " {$lang['']}</font>"; // Cristal maximo if ($CurrentPlanet["crystal_max"] < $CurrentPlanet["crystal"]) { $parse['crystal_max'] = '<font color="#ff0000">'; } else { $parse['crystal_max'] = '<font color="#00ff00">'; } $parse['crystal_max'] .= pretty_number($CurrentPlanet["crystal_max"] / 1) . " {$lang['']}"; // Deuterio maximo if ($CurrentPlanet["deuterium_max"] < $CurrentPlanet["deuterium"]) { $parse['deuterium_max'] = '<font color="#ff0000">'; } else { $parse['deuterium_max'] = '<font color="#00ff00">'; } $parse['deuterium_max'] .= pretty_number($CurrentPlanet["deuterium_max"] / 1) . " {$lang['']}"; // Message if ($CurrentUser['new_message'] > 0) { $parse['message'] = "<a href=\"messages.php\"><blink>[ " . $CurrentUser['new_message'] . " ]</blink></a>"; } else { $parse['message'] = "0"; } // Le tout passe dans la template $TopBar = parsetemplate($NavigationTPL, $parse); } else { $TopBar = ""; } return $TopBar; }
$parse['monthly_metal'] = round($planetrow["metal_perhour"] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 30); $parse['daily_crystal'] = round($planetrow["crystal_perhour"] * 24 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24); $parse['weekly_crystal'] = floor($planetrow["crystal_perhour"] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 7); $parse['monthly_crystal'] = floor($planetrow["crystal_perhour"] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 30); $parse['daily_deuterium'] = floor($planetrow["deuterium_perhour"] * 24 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24); $parse['weekly_deuterium'] = floor($planetrow["deuterium_perhour"] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 7); $parse['monthly_deuterium'] = floor($planetrow["deuterium_perhour"] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 30); $parse['daily_metal'] = colorNumber(pretty_number($parse["daily_metal"])); $parse['weekly_metal'] = colorNumber(pretty_number($parse["weekly_metal"])); $parse['monthly_metal'] = colorNumber(pretty_number($parse["monthly_metal"])); $parse['daily_crystal'] = colorNumber(pretty_number($parse["daily_crystal"])); $parse['weekly_crystal'] = colorNumber(pretty_number($parse["weekly_crystal"])); $parse['monthly_crystal'] = colorNumber(pretty_number($parse["monthly_crystal"])); $parse['daily_deuterium'] = colorNumber(pretty_number($parse["daily_deuterium"])); $parse['weekly_deuterium'] = colorNumber(pretty_number($parse["weekly_deuterium"])); $parse['monthly_deuterium'] = colorNumber(pretty_number($parse["monthly_deuterium"])); //Porcentajes de minerias llenas $parse['metal_storage'] = floor($planetrow["metal"] / $planetrow["metal_max"] * 100) . $lang['o/o']; $parse['crystal_storage'] = floor($planetrow["crystal"] / $planetrow["crystal_max"] * 100) . $lang['o/o']; $parse['deuterium_storage'] = floor($planetrow["deuterium"] / $planetrow["deuterium_max"] * 100) . $lang['o/o']; //Las barras de porcentaje $parse['metal_storage_bar'] = floor($planetrow["metal"] / $planetrow["metal_max"] * 100) * 2.5; $parse['crystal_storage_bar'] = floor($planetrow["crystal"] / $planetrow["crystal_max"] * 100) * 2.5; $parse['deuterium_storage_bar'] = floor($planetrow["deuterium"] / $planetrow["deuterium_max"] * 100) * 2.5; //Color de la barra de metal if ($parse['metal_storage_bar'] > 100 * 2.5) { $parse['metal_storage_bar'] = 250; $parse['metal_storage_barcolor'] = '#C00000'; } elseif ($parse['metal_storage_bar'] > 80 * 2.5) { $parse['metal_storage_barcolor'] = '#C0C000'; } else {
function echo_topnav() { global $user, $planetrow, $galaxyrow, $mode, $messageziel, $gid, $lang; if (!$user) { return; } if (!$planetrow) { $planetrow = doquery("SELECT * FROM {{table}} WHERE id ={$user['current_planet']}", "planets", true); } calculate_resources_planet($planetrow); //Actualizacion de rutina //if(!$galaxyrow){ $galaxyrow = doquery("SELECT * FROM {{table}} WHERE id_planet = '".$planetrow["id"]."'","galaxy",true);} $dpath = !$user["dpath"] ? DEFAULT_SKINPATH : $user["dpath"]; //-[Arrays]------------------------------------------------ $parse = $lang; $parse['dpath'] = $dpath; $parse['image'] = $planetrow['image']; /* pequeño loop para agregar todos los planetas disponibles del mismo jugador... */ ?> <script language="JavaScript" src="scripts/flotten.js"></script> <script language="JavaScript" src="scripts/ocnt.js"></script> <script type="text/javascript" src="scripts/jquery.js"></script> <script type="text/javascript" src="scripts/thickbox.js"></script> <link rel="stylesheet" href="scripts/thickbox.css" type="text/css" media="screen" /> <?php $parse['planetlist'] = ''; //pedimos todos los planetas que coincidan con el id del due�. $planets_list = doquery("SELECT id,name,galaxy,system,planet FROM {{table}} WHERE id_owner='{$user['id']}'", "planets"); while ($p = mysql_fetch_array($planets_list)) { /* Cuando alguien selecciona destruir planeta, hay un tiempo en el que se vacia el slot del planeta, es mas que nada para dar tiempo a posible problema de hackeo o robo de cuenta. */ if ($p["destruyed"] == 0) { //$pos_galaxy = doquery("SELECT * FROM {{table}} WHERE id_planet = {$p[id]}","galaxy",true); $parse['planetlist'] .= "<option "; if ($p["id"] == $user["current_planet"]) { $parse['planetlist'] .= 'selected="selected" '; } //Se selecciona el planeta actual $parse['planetlist'] .= "value=\"?cp={$p['id']}&mode={$mode}&gid={$gid}&messageziel={$messageziel}&re=0\">"; //Nombre [galaxy:system:planet] $parse['planetlist'] .= "{$p['name']} [{$p['galaxy']}:{$p['system']}:{$p['planet']}]</option>"; } } /* Muestra los recursos, e indica si estos sobrepasan la capacidad de los almacenes */ $energy = pretty_number($planetrow["energy_max"] - $planetrow["energy_used"]) . "/" . pretty_number($planetrow["energy_max"]); //energy if ($planetrow["energy_max"] - $planetrow["energy_used"] < 0) { $parse['energy'] = colorRed($energy); } else { $parse['energy'] = $energy; } //metal $metal = pretty_number($planetrow["metal"]); if ($planetrow["metal"] > $planetrow["metal_max"]) { $parse['metal'] = colorRed($metal); } else { $parse['metal'] = $metal; } //cristal $crystal = pretty_number($planetrow["crystal"]); if ($planetrow["crystal"] > $planetrow["crystal_max"]) { $parse['crystal'] = colorRed($crystal); } else { $parse['crystal'] = $crystal; } //deuterium $deuterium = pretty_number($planetrow["deuterium"]); if ($planetrow["deuterium"] > $planetrow["deuterium_max"]) { $parse['deuterium'] = colorNumber($deuterium); } else { $parse['deuterium'] = $deuterium; } //esto es un hecho! echo parsetemplate(gettemplate('topnav'), $parse); }
/** * ShowTopNavigationBar.php * * @version 1 * @copyright 2008 By Chlorel for XNova */ function ShowTopNavigationBar($CurrentUser, $CurrentPlanet) { global $lang, $_GET, $game_config; if ($CurrentUser) { if (!$CurrentPlanet) { $CurrentPlanet = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $CurrentUser['current_planet'] . "';", 'planets', true); } // Aktualisieren der Planeten Ress PlanetResourceUpdate($CurrentUser, $CurrentPlanet, time()); $NavigationTPL = gettemplate('topnav'); $dpath = !$CurrentUser["dpath"] ? DEFAULT_SKINPATH : $CurrentUser["dpath"]; $parse = $lang; $parse['dpath'] = $dpath; $parse['image'] = $CurrentPlanet['image']; // Genearation de la combo des planetes du joueur $parse['planetlist'] = ''; $ThisUsersPlanets = SortUserPlanets($CurrentUser); while ($CurPlanet = mysql_fetch_array($ThisUsersPlanets)) { if ($CurPlanet["destruyed"] == 0) { $parse['planetlist'] .= "\n<option "; if ($CurPlanet['id'] == $CurrentUser['current_planet']) { // Bon puisque deja on s'y trouve autant le marquer $parse['planetlist'] .= "selected=\"selected\" "; } $parse['planetlist'] .= "value=\"?cp=" . $CurPlanet['id'] . ""; $parse['planetlist'] .= "&mode=" . $_GET['mode']; $parse['planetlist'] .= "&re=0\">"; // Nom et coordonnées de la planete $parse['planetlist'] .= "" . $CurPlanet['name']; $parse['planetlist'] .= " [" . $CurPlanet['galaxy'] . ":"; $parse['planetlist'] .= "" . $CurPlanet['system'] . ":"; $parse['planetlist'] .= "" . $CurPlanet['planet']; $parse['planetlist'] .= "] </option>"; } } if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) { $production_level = 0; } elseif ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $production_level = floor($CurrentPlanet['energy_max'] / abs($CurrentPlanet['energy_used']) * 100); } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $production_level = 0; } else { $production_level = 100; } if ($production_level > 100) { $production_level = 100; } $energy = pretty_number($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"]) . "/" . pretty_number($CurrentPlanet["energy_max"]); // Energie if ($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"] < 0) { $parse['energy'] = colorRed($energy); } else { $parse['energy'] = $energy; } // Metal $parse['metal'] = pretty_number($CurrentPlanet["metal"]); $parse['metal_js'] = str_replace(".", "", pretty_number($CurrentPlanet["metal"])); if ($CurrentPlanet["metal"] >= $CurrentPlanet["metal_max"]) { $parse['metal_per_hour'] = 0; } else { $metal = abs(floor($CurrentPlanet['metal_perhour'] * 0.01 * $production_level)) + $game_config['metal_basic_income'] * $game_config['resource_multiplier']; $parse['metal_per_hour'] = $metal / 3600; } // Cristal $parse['crystal'] = pretty_number($CurrentPlanet["crystal"]); $parse['crystal_js'] = str_replace(".", "", pretty_number($CurrentPlanet["crystal"])); if ($CurrentPlanet["crystal"] >= $CurrentPlanet["crystal_max"]) { $parse['crystal_per_hour'] = 0; } else { $crystal = abs(floor($CurrentPlanet['crystal_perhour'] * 0.01 * $production_level)) + $game_config['crystal_basic_income'] * $game_config['resource_multiplier']; $parse['crystal_per_hour'] = $crystal / 3600; } // Deuterium $parse['deuterium'] = pretty_number($CurrentPlanet["deuterium"]); $parse['deuterium_js'] = str_replace(".", "", pretty_number($CurrentPlanet["deuterium"])); if ($CurrentPlanet["deuterium"] >= $CurrentPlanet["deuterium_max"]) { $parse['deuterium_per_hour'] = 0; } else { $deuterium = abs(floor($CurrentPlanet['deuterium_perhour'] * 0.01 * $production_level)) + $game_config['deuterium_basic_income'] * $game_config['resource_multiplier']; $parse['deuterium_per_hour'] = $deuterium / 3600; } // Max Energie $energy_max = pretty_number($CurrentPlanet["energy_max"]); if ($CurrentPlanet["energy_max"] > $CurrentPlanet["energy_max"]) { $parse['energy_max'] = colorRed($energy_max); } else { $parse['energy_max'] = $energy_max; } $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $CurrentPlanet["energy_used"])) - $parse['energy_basic_income']); $parse['speed'] = $game_config['resource_multiplier']; // Metal maximum if ($CurrentPlanet["metal_max"] < $CurrentPlanet["metal"]) { $parse['metal_max'] = '<font color="#ff0000">'; } else { $parse['metal_max'] = '<font color="#00ff00">'; } $parse['metal_max'] .= pretty_number($CurrentPlanet["metal_max"] / 1) . " {$lang['']}</font>"; $parse['metal_max_js'] = str_replace(".", "", pretty_number($CurrentPlanet["metal_max"])); // Cristal maximum if ($CurrentPlanet["crystal_max"] < $CurrentPlanet["crystal"]) { $parse['crystal_max'] = '<font color="#ff0000">'; } else { $parse['crystal_max'] = '<font color="#00ff00">'; } $parse['crystal_max'] .= pretty_number($CurrentPlanet["crystal_max"] / 1) . " {$lang['']}</font>"; $parse['crystal_max_js'] = str_replace(".", "", pretty_number($CurrentPlanet["crystal_max"])); // Deuterium maximum if ($CurrentPlanet["deuterium_max"] < $CurrentPlanet["deuterium"]) { $parse['deuterium_max'] = '<font color="#ff0000">'; } else { $parse['deuterium_max'] = '<font color="#00ff00">'; } $parse['deuterium_max'] .= pretty_number($CurrentPlanet["deuterium_max"] / 1) . " {$lang['']}</font>"; $parse['deuterium_max_js'] = str_replace(".", "", pretty_number($CurrentPlanet["deuterium_max"])); // Message if ($CurrentUser['new_message'] > 0) { $parse['message'] = "<a href=\"?action=internalMessages\" style=\"text-decoration:blink\">[ " . $CurrentUser['new_message'] . " ]</a>"; } else { $parse['message'] = "0"; } // Le tout passe dans la template $TopBar = parsetemplate($NavigationTPL, $parse); } else { $TopBar = ""; } return $TopBar; }
public function __construct() { global $USER, $PLANET, $dpath, $LNG, $resource, $pricelist, $reslist, $CombatCaps, $ProdGrid, $CONF, $OfficerInfo; $BuildID = request_var('gid', 0); $template = new template(); $template->isPopup(true); if (in_array($BuildID, $reslist['prod']) && $BuildID != 212) { $BuildLevelFactor = 10; $BuildTemp = $PLANET['temp_max']; $CurrentBuildtLvl = $PLANET[$resource[$BuildID]]; $BuildEnergy = $USER[$resource[113]]; /*$BuildLevel = ($CurrentBuildtLvl > 0) ? $CurrentBuildtLvl : 1; $Prod[1] = (floor(eval($ProdGrid[$BuildID]['formule']['metal']) * $CONF['resource_multiplier']) * (1 + (TIMESTAMP - $USER[$resource[703]] <= 0) ? ($ExtraDM[703]['add']) : 0)); $Prod[2] = (floor(eval($ProdGrid[$BuildID]['formule']['crystal']) * $CONF['resource_multiplier']) * (1 + (TIMESTAMP - $USER[$resource[703]] <= 0) ? ($ExtraDM[703]['add']) : 0)); $Prod[7] = (floor(eval($ProdGrid[$BuildID]['formule']['norio']) * $CONF['resource_multiplier']) * (1 + (TIMESTAMP - $USER[$resource[703]] <= 0) ? ($ExtraDM[703]['add']) : 0)); $Prod[3] = (floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $CONF['resource_multiplier']) * (1 + (TIMESTAMP - $USER[$resource[703]] <= 0) ? ($ExtraDM[703]['add']) : 0)); $Prod[4] = (floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']) * (1 + (TIMESTAMP - $USER[$resource[704]] <= 0) ? ($ExtraDM[704]['add']) : 0)); $Prod[12] = (floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']));*/ $BuildLevel = max($CurrentBuildtLvl, 1); $Prod[1] = round(eval($ProdGrid[$BuildID]['formule']['metal']) * $CONF['resource_multiplier']); $Prod[2] = round(eval($ProdGrid[$BuildID]['formule']['crystal']) * $CONF['resource_multiplier']); $Prod[7] = round(eval($ProdGrid[$BuildID]['formule']['norio']) * $CONF['resource_multiplier']); $Prod[3] = round(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $CONF['resource_multiplier']); $Prod[4] = round(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']); $Prod[12] = round(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']); $BuildStartLvl = max($CurrentBuildtLvl - 2, 1); $ActualProd = floor($Prod[$BuildID]); $ActualNeed = $BuildID != 12 ? floor($Prod[4]) : floor($Prod[3]); $ProdFirst = 0; for ($BuildLevel = $BuildStartLvl; $BuildLevel < $BuildStartLvl + 15; $BuildLevel++) { /*$Prod[1] = floor(eval($ProdGrid[$BuildID]['formule']['metal']) * $CONF['resource_multiplier']); $Prod[2] = floor(eval($ProdGrid[$BuildID]['formule']['crystal']) * $CONF['resource_multiplier']); $Prod[3] = floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $CONF['resource_multiplier']); $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']); $Prod[7] = floor(eval($ProdGrid[$BuildID]['formule']['norio']) * $CONF['resource_multiplier']); $Prod[12] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']);*/ $Prod[1] = round(eval($ProdGrid[$BuildID]['formule']['metal']) * $CONF['resource_multiplier']); $Prod[2] = round(eval($ProdGrid[$BuildID]['formule']['crystal']) * $CONF['resource_multiplier']); $Prod[3] = round(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $CONF['resource_multiplier']); $Prod[7] = round(eval($ProdGrid[$BuildID]['formule']['norio']) * $CONF['resource_multiplier']); $Prod[4] = round(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']); $Prod[12] = round(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']); $NeesRess = $BuildID != 12 ? floor($Prod[4]) : floor($Prod[3]); $prod = pretty_number(floor($Prod[$BuildID])); $prod_diff = colorNumber(pretty_number(floor($Prod[$BuildID] - $ActualProd))); $need = colorNumber(pretty_number(floor($NeesRess))); $need_diff = colorNumber(pretty_number(floor($NeesRess - $ActualNeed))); if ($ProdFirst == 0) { $ProdFirst = floor($Prod[$BuildID]); } $ProductionTable[] = array('BuildLevel' => $BuildLevel, 'prod' => $prod, 'prod_diff' => $prod_diff, 'need' => $need, 'need_diff' => $need_diff); } } elseif (in_array($BuildID, $reslist['fleet'])) { for ($Type = 200; $Type < 500; $Type++) { if ($CombatCaps[$BuildID]['sd'][$Type] > 1) { $RapidFire['to'][$LNG['tech'][$Type]] = $CombatCaps[$BuildID]['sd'][$Type]; } if ($CombatCaps[$Type]['sd'][$BuildID] > 1) { $RapidFire['from'][$LNG['tech'][$Type]] = $CombatCaps[$Type]['sd'][$BuildID]; } } $FleetInfo[$LNG['in_struct_pt']] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal'] + $pricelist[$BuildID]['norio']); $FleetInfo[$LNG['in_shield_pt']] = pretty_number($CombatCaps[$BuildID]['shield']); $FleetInfo[$LNG['in_attack_pt']] = pretty_number($CombatCaps[$BuildID]['attack']); $FleetInfo[$LNG['in_capacity']] = pretty_number($pricelist[$BuildID]['capacity']); $FleetInfo[$LNG['in_base_speed']][] = pretty_number($pricelist[$BuildID]['speed']); $FleetInfo[$LNG['in_consumption']][] = pretty_number($pricelist[$BuildID]['consumption']); $FleetInfo[$LNG['in_base_speed']][] = pretty_number($pricelist[$BuildID]['speed2']); $FleetInfo[$LNG['in_consumption']][] = pretty_number($pricelist[$BuildID]['consumption2']); } elseif (in_array($BuildID, $reslist['defense'])) { for ($Type = 200; $Type < 500; $Type++) { if ($CombatCaps[$BuildID]['sd'][$Type] > 1) { $RapidFire['to'][$LNG['tech'][$Type]] = $CombatCaps[$BuildID]['sd'][$Type]; } if ($CombatCaps[$Type]['sd'][$BuildID] > 1) { $RapidFire['from'][$LNG['tech'][$Type]] = $CombatCaps[$Type]['sd'][$BuildID]; } } $FleetInfo[$LNG['in_struct_pt']] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal'] + $pricelist[$BuildID]['norio']); $FleetInfo[$LNG['in_shield_pt']] = pretty_number($CombatCaps[$BuildID]['shield']); $FleetInfo[$LNG['in_attack_pt']] = pretty_number($CombatCaps[$BuildID]['attack']); } elseif ($BuildID == 43 && $PLANET[$resource[43]] > 0) { $template->loadscript('flotten.js'); $GateFleetList['jump'] = $this->DoFleetJump(); $RestString = $this->GetNextJumpWaitTime($PLANET); if ($RestString['value'] != 0) { include_once ROOT_PATH . 'includes/functions/InsertJavaScriptChronoApplet.php'; $template->assign_vars(array('gate_time_script' => InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], true), 'gate_script_go' => InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], false))); } $GateFleetList['start_link'] = BuildPlanetAdressLink($PLANET); $GateFleetList['moons'] = $this->BuildJumpableMoonCombo($USER, $PLANET); $GateFleetList['fleets'] = $this->BuildFleetListRows($PLANET); } if (in_array($BuildID, $reslist['officier'])) { $description = $OfficerInfo[$BuildID]['info'] ? sprintf($LNG['info'][$BuildID]['description'], is_float($OfficerInfo[$BuildID]['info']) ? $OfficerInfo[$BuildID]['info'] * 100 : $OfficerInfo[$BuildID]['info'], $pricelist[$BuildID]['max']) : sprintf($LNG['info'][$BuildID]['description'], $pricelist[$BuildID]['max']); } else { $description = $LNG['info'][$BuildID]['description']; } $template->assign_vars(array('id' => $BuildID, 'name' => $LNG['info'][$BuildID]['name'], 'image' => $BuildID, 'description' => $description, 'ProductionTable' => $ProductionTable, 'RapidFire' => $RapidFire, 'Level' => $CurrentBuildtLvl, 'FleetInfo' => $FleetInfo, 'GateFleetList' => $GateFleetList, 'in_jump_gate_jump' => $LNG['in_jump_gate_jump'], 'gate_ship_dispo' => $LNG['in_jump_gate_available'], 'in_level' => $LNG['in_level'], 'in_prod_p_hour' => $LNG['in_prod_p_hour'], 'in_difference' => $LNG['in_difference'], 'in_used_energy' => $LNG['in_used_energy'], 'in_prod_energy' => $LNG['in_prod_energy'], 'in_used_deuter' => $LNG['in_used_deuter'], 'in_rf_again' => $LNG['in_rf_again'], 'in_rf_from' => $LNG['in_rf_from'], 'in_jump_gate_select_ships' => $LNG['in_jump_gate_select_ships'], 'in_jump_gate_start_moon' => $LNG['in_jump_gate_start_moon'], 'in_jump_gate_finish_moon' => $LNG['in_jump_gate_finish_moon'], 'in_jump_gate_wait_time' => $LNG['in_jump_gate_wait_time'])); $template->show('info_overview.tpl'); }
/** * BatimentBuildingPage.php * * @version 1.1 * @copyright 2008 by Chlorel for XNova * * fix by vomi, zeus (team xorbit) for XNova */ function BatimentBuildingPage(&$CurrentPlanet, $CurrentUser) { global $ProdGrid, $lang, $resource, $reslist, $phpEx, $dpath, $game_config, $_GET; CheckPlanetUsedFields($CurrentPlanet); // Tables des batiments possibles par type de planete $Allowed['1'] = array(1, 2, 3, 4, 12, 14, 15, 21, 22, 23, 24, 31, 33, 34, 44); $Allowed['3'] = array(12, 14, 21, 22, 23, 24, 34, 41, 42, 43); // Boucle d'interpretation des eventuelles commandes if ($CurrentUser['urlaubs_modus'] == 0) { if (isset($_GET['cmd'])) { // On passe une commande $bDoItNow = false; $TheCommand = $_GET['cmd']; $Gebaude = false; if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $_GET['building'])) { $Gebaude = IsElementBuyable($CurrentUser, $CurrentPlanet, $_GET['building'], true, false); } //Gebäude-Cheat-Fix Wolle1989 //ändern für andere Bannzeiten in Sekunden $bannzeit = 60; // so lassen $time = time(); $bantime = $time + $bannzeit; $Gebaude = false; if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $_GET['building'])) { $Gebaude = IsElementBuyable($CurrentUser, $CurrentPlanet, $_GET['building'], true, false); } $Element = $_GET['building']; if (!$Gebaude) { doquery("UPDATE {{table}} SET bana='1', banaday='{$bantime}' WHERE id='{$CurrentUser['id']}'", "users"); doquery("INSERT INTO {{table}} SET\r\n\t\t\t\t`who` = '{$CurrentUser['username']}',\r\n\t\t\t\t`theme`= 'Cheatversuch',\r\n\t\t\t\t`who2` = '{$CurrentUser['id']}',\r\n\t\t\t\t`time` = '{$time}',\r\n\t\t\t\t`longer` = '{$bantime}',\r\n\t\t\t\t`author` = 'SYSTEM: B',\r\n\t\t\t\t`email` = 'n'", 'banned'); message($lang['CHEATATTEMPT'], $lang['CHEATATTEMPT_TITLE']); die; } $ListID = $_GET['listid']; if (isset($Element)) { if (!strchr($Element, ",")) { if (in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) { $bDoItNow = true; } } } elseif (isset($ListID)) { $bDoItNow = true; } //Hier wird geprüft ob ein ; in die URL(GET)Geschrieben wurde foreach ($_GET as $check_url) { if (eregi(";", $check_url)) { die($lang['ANTICHEAT_MESSAGE']); } } //Hier wird gescheckt ob ein user das zeichen ; in einen INPUT schreibt foreach ($_POST as $check_pos) { if (eregi(";", $check_post, $check_url)) { die($lang['ANTICHEAT_MESSAGE']); } } 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 AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, true); break; case 'destroy': // Detruit un batiment deja construit sur la planete ! AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, false); break; default: break; } // switch } } } 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); if ($Queue['lenght'] < MAX_BUILDING_QUEUE_SIZE) { $CanBuildElement = true; } else { $CanBuildElement = false; } $SubTemplate = gettemplate('buildings_builds_row'); $BuildingPage = ""; foreach ($lang['tech'] as $Element => $ElementName) { if (in_array($Element, $Allowed[$CurrentPlanet['planet_type']])) { $CurrentMaxFields = CalculateMaxPlanetFields($CurrentPlanet); if ($CurrentPlanet["field_current"] < $CurrentMaxFields - $Queue['lenght']) { $RoomIsOk = true; } else { $RoomIsOk = false; } if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { $HaveRessources = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false); $parse = array(); $parse['dpath'] = $dpath; $parse['i'] = $Element; $BuildingLevel = $CurrentPlanet[$resource[$Element]]; $parse['nivel'] = $BuildingLevel == 0 ? "" : " (" . $lang['level'] . " " . $BuildingLevel . ")"; // show energy on BuildingPage $BuildLevelFactor = $CurrentPlanet[$resource[$Element] . "_porcent"]; $BuildTemp = $CurrentPlanet['temp_max']; $CurrentBuildtLvl = $BuildingLevel; $BuildLevel = $CurrentBuildtLvl > 0 ? $CurrentBuildtLvl : 1; $Prod[4] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); $ActualNeed = floor($Prod[4]); $BuildLevel++; $Prod[4] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); $EnergyNeed = colorNumber(pretty_number(floor($Prod[4] - $ActualNeed))); if ($Element >= 1 && $Element <= 3) { $parse['build_need_diff'] = "(" . "<font color=#FF0000>" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")"; $BuildLevel = 0; } elseif ($Element == 4 || $Element == 12) { $parse['build_need_diff'] = "(" . "<font color=#00FF00>+" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")"; $BuildLevel = 0; } // end of 'show energy on BuildingPage' $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'] = ''; $NextBuildLevel = $CurrentPlanet[$resource[$Element]] + 1; if ($Element == 31) { // Special 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 ($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=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['BuildFirstLevel'] . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildFirstLevel'] . "</font>"; } } else { if ($HaveRessources == true) { $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; } } } else { if ($HaveRessources == true) { $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['InBuildQueue'] . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['InBuildQueue'] . "</font>"; } } } elseif ($RoomIsOk && !$CanBuildElement) { if ($NextBuildLevel == 1) { $parse['click'] = "<font color=#FF0000>" . $lang['BuildFirstLevel'] . "</font>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['NoMoreSpace'] . "</font>"; } $BuildingPage .= parsetemplate($SubTemplate, $parse); } } } $parse = $lang; // Faut il afficher la liste de construction ?? if ($Queue['lenght'] > 0) { $parse['BuildListScript'] = InsertBuildListScript("buildings"); $parse['BuildList'] = $Queue['buildlist']; } else { $parse['BuildListScript'] = ""; $parse['BuildList'] = ""; } $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['BuildingsList'] = $BuildingPage; $page .= parsetemplate(gettemplate('buildings_builds'), $parse); display($page, $lang['Builds']); }
/** * BatimentBuildingPage.php * * @version 1.1 * @copyright 2008 by Chlorel for XNova */ function BatimentBuildingPage(&$CurrentPlanet, $CurrentUser) { global $ProdGrid, $lang, $resource, $reslist, $phpEx, $dpath, $game_config, $_GET, $user; CheckPlanetUsedFields($CurrentPlanet); PlanetResourceUpdate($CurrentUser, $CurrentPlanet, time()); // Was gebaut werden darf in Abhängikeit zum gewählten Volk. switch ($user['volk']) { case "A": $Allowed['1'] = array(1, 2, 3, 11, 12, 14, 15, 21, 22, 23, 24, 25, 26, 27, 31, 33, 34, 44); $Allowed['3'] = array(4, 12, 14, 15, 21, 25, 26, 34, 41, 42, 43); break; case "B": $Allowed['1'] = array(1, 2, 3, 11, 12, 14, 15, 21, 22, 23, 24, 25, 26, 31, 33, 34, 44, 45); $Allowed['3'] = array(4, 12, 14, 15, 21, 25, 26, 34, 41, 42, 43); break; case "C": $Allowed['1'] = array(1, 2, 3, 11, 12, 14, 15, 21, 22, 23, 24, 25, 26, 31, 33, 34, 44, 46); $Allowed['3'] = array(4, 12, 14, 15, 21, 25, 26, 34, 41, 42, 43, 46); break; } //Werte auf null setzen $bThisIsCheated = 0; $bDoItNow = 0; $TheCommand = 0; $Element = 0; $ListID = 0; // 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 (!strchr($Element, ";")) { if (in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) { $bDoItNow = true; } else { $bThisIsCheated = true; } } else { $bThisIsCheated = true; } } else { $bThisIsCheated = true; } } else { $bThisIsCheated = true; } } elseif (isset($ListID)) { $bDoItNow = true; } if ($bDoItNow == true) { $Element = abs($Element); 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 AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, true); 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']); } sleep(1); // es wird 1 sekunde geschlafen } 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); if ($Queue['lenght'] < MAX_BUILDING_QUEUE_SIZE) { $CanBuildElement = true; } else { $CanBuildElement = false; } $SubTemplate = gettemplate('buildings_builds_row'); $BuildingPage = ""; $zaehler = 1; foreach ($lang['tech'] as $Element => $ElementName) { if (in_array($Element, $Allowed[$CurrentPlanet['planet_type']])) { $CurrentMaxFields = CalculateMaxPlanetFields($CurrentPlanet); if ($CurrentPlanet['field_current'] < $CurrentMaxFields - $Queue['lenght']) { $RoomIsOk = true; } else { $RoomIsOk = false; } if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { $HaveRessources = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false); $parse = array(); $parse['dpath'] = $dpath; $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'] = ''; $NextBuildLevel = $CurrentPlanet[$resource[$Element]] + 1; // show energy on BuildingPage //================================ $BuildLevelFactor = $CurrentPlanet[$resource[$Element] . "_porcent"]; $BuildTemp = $CurrentPlanet['temp_max']; $CurrentBuildtLvl = $BuildingLevel; $BuildLevel = $CurrentBuildtLvl > 0 ? $CurrentBuildtLvl : 1; $Prod[3] = floor(eval($ProdGrid[$Element]['formule']['deuterium']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[11] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); if ($Element != 12) { $ActualNeed = floor($Prod[11]); } else { $ActualNeed = floor($Prod[3]); } $BuildLevel++; $Prod[3] = floor(eval($ProdGrid[$Element]['formule']['deuterium']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[11] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); if ($Element != 12) { $bloc['build_prod'] = pretty_number(floor($Prod[$BuildID])); $bloc['build_prod_diff'] = colorNumber(pretty_number(floor($Prod[$BuildID] - $ActualProd))); $bloc['build_need'] = colorNumber(pretty_number(floor($Prod[11]))); $EnergyNeed = colorNumber(pretty_number(floor($Prod[11] - $ActualNeed))); } else { $bloc['build_prod'] = pretty_number(floor($Prod[11])); $bloc['build_prod_diff'] = colorNumber(pretty_number(floor($Prod[11] - $ActualProd))); $bloc['build_need'] = colorNumber(pretty_number(floor($Prod[3]))); $EnergyNeed = colorNumber(pretty_number(floor($Prod[3] - $ActualNeed))); } if ($Element >= 1 && $Element <= 4) { $parse['build_need_diff'] = "(" . "<font color=#FF0000>" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")"; $BuildLevel = 0; } elseif ($Element == 11 || $Element == 12) { $parse['build_need_diff'] = "(" . "<font color=#00FF00>+" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")"; $BuildLevel = 0; } //================================ 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 ($Element == 15) { // Spezialgebäude Nanitenfabrik if ($CurrentPlanet['robot_factory'] <= 9) { // On verifie si on a le droit d'evoluer pendant les recherches (Setting dans config) $parse['click'] = "<font color=#FF0000>" . $lang['no Nani'] . "</font>"; } } if ($Element == 45) { // Spezialgebäude Mondtransformer if ($CurrentPlanet['mondtransformer'] == 1) { // Es darf nur ein Mondtransformer pro Planet gebaut werden $parse['click'] = "<font color=#FF0000>" . $lang['only_one_mondtransformer'] . "</font>"; } } 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=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['BuildFirstLevel'] . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildFirstLevel'] . "</font>"; } } else { if ($HaveRessources == true) { $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; } } } else { $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['InBuildQueue'] . "</font></a>"; } } elseif ($RoomIsOk && !$CanBuildElement) { if ($NextBuildLevel == 1) { $parse['click'] = "<font color=#FF0000>" . $lang['BuildFirstLevel'] . "</font>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['NoMoreSpace'] . "</font>"; } if ($zaehler % 3 == 0) { $parse['trclose'] = '</tr>'; $zaehler++; } else { $parse['trclose'] = ''; $zaehler++; } $BuildingPage .= parsetemplate($SubTemplate, $parse); } } } $parse = $lang; // Faut il afficher la liste de construction ?? if ($Queue['lenght'] > 0) { $parse['BuildListScript'] = InsertBuildListScript("buildings"); $parse['BuildList'] = $Queue['buildlist']; } else { $parse['BuildListScript'] = ""; $parse['BuildList'] = ""; } $parse['planet_field_current'] = $CurrentPlanet['field_current']; $parse['planet_field_max'] = $CurrentPlanet['field_max']; $parse['field_libre'] = $parse['planet_field_max'] - $CurrentPlanet['field_current']; $parse['BuildingsList'] = $BuildingPage; $page .= parsetemplate(gettemplate('buildings_builds'), $parse); display($page, $lang['Builds']); }
/** * 2Moons * Copyright (C) 2011 Slaver * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * @package 2Moons * @author Slaver <*****@*****.**> * @copyright 2009 Lucky <*****@*****.**> (XGProyecto) * @copyright 2011 Slaver <*****@*****.**> (Fork/2Moons) * @license http://www.gnu.org/licenses/gpl.html GNU GPLv3 License * @version 1.3 (2011-01-21) * @link http://code.google.com/p/2moons/ */ function ShowResourcesPage() { global $LNG, $ProdGrid, $resource, $reslist, $CONF, $db, $ExtraDM, $USER, $PLANET, $OfficerInfo; if ($PLANET['planet_type'] == 3 || $USER['urlaubs_modus'] == 1) { $CONF['metal_basic_income'] = 0; $CONF['crystal_basic_income'] = 0; $CONF['deuterium_basic_income'] = 0; } $SubQry = ""; if ($_POST && $USER['urlaubs_modus'] == 0) { foreach ($_POST as $Field => $Value) { $FieldName = $Field . "_porcent"; if (isset($PLANET[$FieldName]) && in_array($Value, $reslist['procent'])) { $Value = $Value / 10; $PLANET[$FieldName] = $Value; $SubQry .= ", `" . $FieldName . "` = '" . $Value . "'"; } } if (isset($SubQry)) { $QryUpdatePlanet = "UPDATE " . PLANETS . " SET "; $QryUpdatePlanet .= "`id` = '" . $PLANET['id'] . "' "; $QryUpdatePlanet .= $SubQry; $QryUpdatePlanet .= "WHERE "; $QryUpdatePlanet .= "`id` = '" . $PLANET['id'] . "';"; $db->query($QryUpdatePlanet); } redirectTo("game.php?page=resources"); exit; } $PlanetRess = new ResourceUpdate(); $PlanetRess->CalcResource(); $PlanetRess->SavePlanetToDB(); $template = new template(); if ($PLANET['energy_max'] == 0 && $PLANET['energy_used'] > 0) { $post_porcent = 0; } elseif ($PLANET['energy_max'] > 0 && abs($PLANET['energy_used']) > $PLANET['energy_max']) { $post_porcent = floor($PLANET['energy_max'] / ($PLANET['energy_used'] * -1) * 100); } elseif ($PLANET['energy_max'] == 0 && abs($PLANET['energy_used']) > $PLANET['energy_max']) { $post_porcent = 0; } else { $post_porcent = 100; } if ($post_porcent > 100) { $post_porcent = 100; } $BuildTemp = $PLANET['temp_max']; $BuildEnergy = $USER[$resource[113]]; $metal = array(); $crystal = array(); $deuterium = array(); $deu_en = array(); $energy = array(); $energy_en = array(); foreach ($reslist['prod'] as $ProdID) { if ($PLANET[$resource[$ProdID]] > 0 && isset($ProdGrid[$ProdID])) { $BuildLevelFactor = $PLANET[$resource[$ProdID] . "_porcent"]; $BuildLevel = $PLANET[$resource[$ProdID]]; $metal[$ProdID] = floor(eval($ProdGrid[$ProdID]['formule']['metal']) * (0.01 * $post_porcent) * $CONF['resource_multiplier']); $crystal[$ProdID] = floor(eval($ProdGrid[$ProdID]['formule']['crystal']) * (0.01 * $post_porcent) * $CONF['resource_multiplier']); if ($ProdID < 4) { $deuterium[$ProdID] = floor(eval($ProdGrid[$ProdID]['formule']['deuterium']) * (0.01 * $post_porcent) * $CONF['resource_multiplier']); $energy[$ProdID] = floor(eval($ProdGrid[$ProdID]['formule']['energy']) * $CONF['resource_multiplier']); } else { if ($ProdID == 12 && $PLANET['deuterium'] == 0) { continue; } $deu_en[$ProdID] = floor(eval($ProdGrid[$ProdID]['formule']['deuterium']) * $CONF['resource_multiplier']); $energy_en[$ProdID] = floor(eval($ProdGrid[$ProdID]['formule']['energy']) * $CONF['resource_multiplier']); } $thisdeu = isset($deuterium[$ProdID]) ? $deuterium[$ProdID] : $deu_en[$ProdID]; $thisenergy = isset($energy[$ProdID]) ? $energy[$ProdID] : $energy_en[$ProdID]; $CurrPlanetList[] = array('name' => $resource[$ProdID], 'type' => $LNG['tech'][$ProdID], 'level' => $ProdID > 200 ? $LNG['rs_amount'] : $LNG['rs_lvl'], 'level_type' => $PLANET[$resource[$ProdID]], 'metal_type' => colorNumber(pretty_number($metal[$ProdID])), 'crystal_type' => colorNumber(pretty_number($crystal[$ProdID])), 'deuterium_type' => colorNumber(pretty_number($thisdeu)), 'energy_type' => colorNumber(pretty_number($thisenergy)), 'optionsel' => $PLANET[$resource[$ProdID] . "_porcent"] * 10); } } $metal_total = $PLANET['metal_perhour'] + $CONF['metal_basic_income'] * $CONF['resource_multiplier']; $crystal_total = $PLANET['crystal_perhour'] + $CONF['crystal_basic_income'] * $CONF['resource_multiplier']; $deuterium_total = $PLANET['deuterium_perhour'] + $CONF['deuterium_basic_income'] * $CONF['resource_multiplier']; $energy_total = $PLANET['energy_max'] + $CONF['energy_basic_income'] * $CONF['resource_multiplier'] - abs($PLANET['energy_used']); foreach ($reslist['procent'] as $procent) { $OptionSelector[$procent] = $procent . "%"; } $template->assign_vars(array('bonus_metal' => colorNumber(pretty_number(array_sum($metal) * ($USER['rpg_geologue'] * $OfficerInfo[601]['info'] + $USER['metal_proc_tech'] * 0.02 + (TIMESTAMP - $USER[$resource[703]] <= 0 ? $ExtraDM[703]['add'] : 0)))), 'bonus_crystal' => colorNumber(pretty_number(array_sum($crystal) * ($USER['rpg_geologue'] * $OfficerInfo[601]['info'] + $USER['crystal_proc_tech'] * 0.02 + (TIMESTAMP - $USER[$resource[703]] <= 0 ? $ExtraDM[703]['add'] : 0)))), 'bonus_deuterium' => colorNumber(pretty_number(array_sum($deuterium) * ($USER['rpg_geologue'] * $OfficerInfo[601]['info'] + $USER['deuterium_proc_tech'] * 0.02 + (TIMESTAMP - $USER[$resource[703]] <= 0 ? $ExtraDM[703]['add'] : 0)))), 'bonus_energy' => colorNumber(pretty_number(array_sum($energy_en) * ($USER['rpg_ingenieur'] * $OfficerInfo[603]['info'] + (TIMESTAMP - $USER[$resource[704]] <= 0 ? $ExtraDM[704]['add'] : 0)))), 'CurrPlanetList' => $CurrPlanetList, 'Production_of_resources_in_the_planet' => str_replace('%s', $PLANET['name'], $LNG['rs_production_on_planet']), 'metal_basic_income' => $CONF['metal_basic_income'] * $CONF['resource_multiplier'], 'crystal_basic_income' => $CONF['crystal_basic_income'] * $CONF['resource_multiplier'], 'deuterium_basic_income' => $CONF['deuterium_basic_income'] * $CONF['resource_multiplier'], 'energy_basic_income' => $CONF['energy_basic_income'] * $CONF['resource_multiplier'], 'metalmax' => colorNumber($PLANET['metal_max'] / 1000, pretty_number($PLANET['metal_max'] / 1000) . "k"), 'crystalmax' => colorNumber($PLANET['crystal_max'] / 1000, pretty_number($PLANET['crystal_max'] / 1000) . "k"), 'deuteriummax' => colorNumber($PLANET['deuterium_max'] / 1000, pretty_number($PLANET['deuterium_max'] / 1000) . "k"), 'metal_total' => colorNumber(pretty_number($metal_total)), 'crystal_total' => colorNumber(pretty_number($crystal_total)), 'option' => $OptionSelector, 'deuterium_total' => colorNumber(pretty_number($deuterium_total)), 'energy_total' => colorNumber(pretty_number($energy_total)), 'daily_metal' => colorNumber(pretty_number(floor($metal_total * 24))), 'weekly_metal' => colorNumber(pretty_number(floor($metal_total * 24 * 7))), 'daily_crystal' => colorNumber(pretty_number(floor($crystal_total * 24))), 'weekly_crystal' => colorNumber(pretty_number(floor($crystal_total * 24 * 7))), 'daily_deuterium' => colorNumber(pretty_number(floor($deuterium_total * 24))), 'weekly_deuterium' => colorNumber(pretty_number(floor($deuterium_total * 24 * 7))), 'Metal' => $LNG['Metal'], 'Crystal' => $LNG['Crystal'], 'Deuterium' => $LNG['Deuterium'], 'Energy' => $LNG['Energy'], 'rs_basic_income' => $LNG['rs_basic_income'], 'rs_storage_capacity' => $LNG['rs_storage_capacity'], 'rs_sum' => $LNG['rs_sum'], 'rs_daily' => $LNG['rs_daily'], 'rs_weekly' => $LNG['rs_weekly'], 'rs_calculate' => $LNG['rs_calculate'], 'rs_ress_bonus' => $LNG['rs_ress_bonus'])); $template->show("resources_overview.tpl"); }
/** * ShowTopNavigationsBar.php * @Licence GNU (GPL) * @version 1.0 * @copyright 2009 * @Team Space Beginner * **/ function ShowTopNavigationBar($CurrentUser, $CurrentPlanet) { global $lang, $_GET, $game_config, $dpath; includeLang('menu'); if ($CurrentUser) { if (!$CurrentPlanet) { $CurrentPlanet = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $CurrentUser['current_planet'] . "';", 'planets', true); } if ($CurrentPlanet["metal"] < 0) { $CurrentPlanet["metal"] = 1; } if ($CurrentPlanet["crystal"] < 0) { $CurrentPlanet["crystal"] = 1; } if ($CurrentPlanet["deuterium"] < 0) { $CurrentPlanet["deuterium"] = 1; } if ($CurrentPlanet["appolonium"] < 0) { $CurrentPlanet["appolonium"] = 1; } if ($CurrentUser['urlaubs_modus'] == 0) { PlanetResourceUpdate($CurrentUser, $CurrentPlanet, time()); } else { doquery("UPDATE {{table}} SET `deuterium_sintetizer_porcent` = 0,`appolonium_mine_porcent` = 0, `metal_mine_porcent` = 0, `crystal_mine_porcent` = 0 WHERE id_owner = " . $CurrentUser['id'], "planets"); } $NavigationTPL = gettemplate('menu/menu'); $dpath = !$CurrentUser["dpath"] ? DEFAULT_SKINPATH : $CurrentUser["dpath"]; $parse = $lang; $parse['dpath'] = $dpath; $parse['image'] = $CurrentPlanet['image']; $parse['username'] = $CurrentUser['username']; $parse['user-id'] = $CurrentUser['id']; $parse['user-zone'] = $CurrentUser['angriffszone']; $parse['name'] = $game_config['game_name']; $parse['nummer'] = $game_config['VERSION']; $parse['forum_url'] = $game_config['forum_url']; $parse['lm_tx_serv'] = $game_config['resource_multiplier']; $parse['lm_tx_game'] = $game_config['game_speed'] / 2500; $parse['lm_tx_fleet'] = $game_config['fleet_speed'] / 2500; $parse['lm_tx_queue'] = MAX_FLEET_OR_DEFS_PER_ROW; $parse['show_umod_notice'] = $CurrentUser['urlaubs_modus'] ? '<table width="100%" style="border: 1px solid red; text-align:center;"><tr><td>Urlaubsmodus</td></tr></table>' : ''; $parse['show_attacklock_notice'] = $game_config['attack_disabled'] ? '<table width="100%" style="border: 3px solid red; text-align:center;text-decoration:blink;color: #ff0000;"><tr><td>Angriffsperre aktiviert Informationen im Forum</td></tr></table>' : ''; switch ($CurrentUser['volk']) { case "A": switch ($CurrentUser['avatar']) { case "0": $parse['volk'] = "<img src=\"./styl/image/volk/volk_01.jpg\" style=\"height:33px; width:33px;\" alt=\"\">"; break; case "A": $parse['volk'] = "<img src=\"./styl/image/volk/volk_01.jpg\" style=\"height:33px; width:33px;\" alt=\"\">"; break; default: $parse['volk'] = "<img src=\"" . $CurrentUser['avatar'] . "\" style=\"height:33px; width:33px;\" alt=\"\">"; break; } $parse['volk1'] = "" . $lang['menu']['401'] . ""; break; case "B": switch ($CurrentUser['avatar']) { case "0": $parse['volk'] = "<img src=\"./styl/image/volk/volk_02.jpg\" style=\"height:33px; width:33px;\" alt=\"\">"; break; case "B": $parse['volk'] = "<img src=\"./styl/image/volk/volk_02.jpg\" style=\"height:33px; width:33px;\" alt=\"\">"; break; default: $parse['volk'] = "<img src=\"" . $CurrentUser['avatar'] . "\" style=\"height:33px; width:33px;\" alt=\"\">"; break; } $parse['volk1'] = "" . $lang['menu']['402'] . ""; break; case "C": switch ($CurrentUser['avatar']) { case "0": $parse['volk'] = "<img src=\"./styl/image/volk/volk_03.jpg\" style=\"height:33px; width:33px;\" alt=\"\">"; break; case "C": $parse['volk'] = "<img src=\"./styl/image/volk/volk_03.jpg\" style=\"height:33px; width:33px;\" alt=\"\">"; break; default: $parse['volk'] = "<img src=\"" . $CurrentUser['avatar'] . "\" style=\"height:33px; width:33px;\" alt=\"\">"; break; } $parse['volk1'] = "" . $lang['menu']['403'] . ""; break; case "0": $parse['volk'] = "<img src=\"./styl/image/volk/volk_04.png\" style=\"height:33px; width:33px;\" alt=\"\">"; $parse['volk1'] = "" . $lang['menu']['404'] . ""; break; } if ($CurrentUser['authlevel'] > 0) { $parse['ADMIN_LINK'] = "<a href=\"admin/index.php\" target=\"_blank\"><font size=\"1\" color=\"red\"><b>" . $lang['menu']['506'] . "</b></font></a> -"; } else { $parse['ADMIN_LINK'] = ""; } $OnlineUsers = doquery("SELECT COUNT(*) FROM {{table}} WHERE onlinetime>='" . (time() - 15 * 60) . "'", 'users', 'true'); if ($CurrentUser['authlevel'] > 0) { $parse['NumberMembersOnline'] = "" . $lang['menu']['900'] . "" . $lang['menu']['501'] . " " . $OnlineUsers[0] . ""; } else { $parse['NumberMembersOnline'] = ""; } $Consulta = mysql_fetch_row(doquery("SELECT COUNT(*) FROM {{table}} ", "messages")); if ($CurrentUser['authlevel'] > 0) { $parse['cantmessa'] = "" . $lang['menu']['502'] . " " . $Consulta[0] . ""; } else { $parse['cantmessa'] = ""; } $Consulta = mysql_fetch_row(doquery("SELECT COUNT(*) FROM {{table}}", "supp")); if ($CurrentUser['authlevel'] > 0) { $parse['cantsupp'] = "" . $lang['menu']['504'] . " " . $Consulta[0] . ""; } else { $parse['cantsupp'] = ""; } $Consulta = mysql_fetch_row(doquery("SELECT COUNT(*) FROM {{table}}", "errors")); if ($CurrentUser['authlevel'] > 0) { $parse['canterror'] = "" . $lang['menu']['505'] . " " . $Consulta[0] . "" . $lang['menu']['901'] . ""; } else { $parse['canterror'] = ""; } if ($game_config['angriffszone'] == 1) { $parse['info_01'] = "" . $lang['menu']['300'] . ""; } else { $parse['info_01'] = "" . $lang['menu']['301'] . ""; } if ($game_config['over'] == 1) { $parse['1be_aa'] = "<a href=\"overview.php\" target=\"_self\"> " . $lang['menu']['101'] . "</a>"; } else { $parse['1be_aa'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['gala'] == 1) { $parse['1be_ab'] = "<a href=\"galaxy.php?mode=0\" target=\"_self\"> " . $lang['menu']['102'] . "</a>"; } else { $parse['1be_ab'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['fleet'] == 1) { $parse['1be_ac'] = "<a href=\"fleet.php\" target=\"_self\"> " . $lang['menu']['103'] . "</a>"; } else { $parse['1be_ac'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['mess'] == 1) { $parse['1be_ad'] = "<a href=\"messages.php\" target=\"_self\"> " . $lang['menu']['104'] . "</a>"; } else { $parse['1be_ad'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['gebau'] == 1) { $parse['2be_aa'] = "<a href=\"buildings.php\" target=\"_self\"> " . $lang['menu']['105'] . "</a>"; } else { $parse['2be_aa'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['forsch'] == 1) { $parse['2be_ab'] = "<a href=\"buildings.php?mode=research\" target=\"_self\"> " . $lang['menu']['106'] . "</a>"; } else { $parse['2be_ab'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['armada'] == 1) { $parse['2be_ac'] = "<a href=\"buildings.php?mode=fleet\" target=\"_self\"> " . $lang['menu']['107'] . "</a>"; } else { $parse['2be_ac'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['abwehr'] == 1) { $parse['2be_ad'] = "<a href=\"buildings.php?mode=defense\" target=\"_self\"> " . $lang['menu']['108'] . "</a>"; } else { $parse['2be_ad'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['officier'] == 1) { $parse['3be_aa'] = "<a href=\"officier.php\" target=\"_self\"> " . $lang['menu']['109'] . "</a>"; } else { $parse['3be_aa'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['marchand'] == 1) { $parse['3be_ab'] = "<a href=\"marchand.php\" target=\"_self\"> " . $lang['menu']['110'] . "</a>"; } else { $parse['3be_ab'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['annonce'] == 1) { $parse['3be_ac'] = "<a href=\"annonce.php\" target=\"_self\"> " . $lang['menu']['111'] . "</a>"; } else { $parse['3be_ac'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['schrotti'] == 1) { $parse['3be_ad'] = "<a href=\"schrotti.php\" target=\"_self\"> " . $lang['menu']['112'] . "</a>"; } else { $parse['3be_ad'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['imperium'] == 1) { $parse['4be_aa'] = "<a href=\"imperium.php\" target=\"_self\"> " . $lang['menu']['113'] . "</a>"; } else { $parse['4be_aa'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['alliance'] == 1) { $parse['4be_ab'] = "<a href=\"alliance.php\" target=\"_self\"> " . $lang['menu']['114'] . "</a>"; } else { $parse['4be_ab'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['resources'] == 1) { $parse['4be_ac'] = "<a href=\"resources.php\" target=\"_self\"> " . $lang['menu']['115'] . "</a>"; } else { $parse['4be_ac'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['techtree'] == 1) { $parse['4be_ad'] = "<a href=\"techtree.php\" target=\"_self\"> " . $lang['menu']['116'] . "</a>"; } else { $parse['4be_ad'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['reco'] == 1) { $parse['1be_ba'] = "<a href=\"records.php\" target=\"_self\"> " . $lang['menu']['201'] . "</a>"; } else { $parse['1be_ba'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['stat'] == 1) { $parse['1be_bb'] = "<a href=\"game.php?page=stat\" target=\"_self\"> " . $lang['menu']['202'] . "</a>"; } else { $parse['1be_bb'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['topk'] == 1) { $parse['1be_bc'] = "<a href=\"game.php?page=ruhm\" target=\"_self\"> " . $lang['menu']['203'] . "</a>"; } else { $parse['1be_bc'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['simu'] == 1) { $parse['1be_bd'] = "<a href=\"simulator.php\" target=\"_self\"> " . $lang['menu']['204'] . "</a>"; } else { $parse['1be_bd'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['note'] == 1) { $parse['2be_ba'] = "<a href=\"notes.php\" target=\"_self\"> " . $lang['menu']['205'] . "</a>"; } else { $parse['2be_ba'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['budd'] == 1) { $parse['2be_bb'] = "<a href=\"buddy.php\" target=\"_self\"> " . $lang['menu']['206'] . "</a>"; } else { $parse['2be_bb'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['chat'] == 1) { $parse['2be_bc'] = "<a href=\"chat.php\" target=\"_self\"> " . $lang['menu']['207'] . "</a>"; } else { $parse['2be_bc'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['sear'] == 1) { $parse['2be_bd'] = "<a href=\"search.php\" target=\"_self\"> " . $lang['menu']['208'] . "</a>"; } else { $parse['2be_bd'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['decl'] == 1) { $parse['3be_ba'] = "<a href=\"add_declare.php\" target=\"_self\"> " . $lang['menu']['209'] . "</a>"; } else { $parse['3be_ba'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['rule'] == 1) { $parse['3be_bb'] = "<a href=\"rules.html\" target=\"_self\"> " . $lang['menu']['210'] . "</a>"; } else { $parse['3be_bb'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['conn'] == 1) { $parse['3be_bc'] = "<a href=\"contact.php\" target=\"_self\"> " . $lang['menu']['211'] . "</a>"; } else { $parse['3be_bc'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['supp'] == 1) { $parse['3be_bd'] = "<a href=\"support.php\" target=\"_self\"> " . $lang['menu']['212'] . "</a>"; } else { $parse['3be_bd'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['bann'] == 1) { $parse['4be_ba'] = "<a href=\"banned.php\" target=\"_self\"> " . $lang['menu']['213'] . "</a>"; } else { $parse['4be_ba'] = " <u>" . $lang['menu']['500'] . "</u>"; } if ($game_config['opti'] == 1) { $parse['4be_bb'] = "<a href=\"options.php\" target=\"_self\"> " . $lang['menu']['214'] . "</a>"; } else { $parse['4be_bb'] = " <u>" . $lang['menu']['500'] . "</u>"; } $parse['planetlist'] = ''; $ThisUsersPlanets = SortUserPlanets($CurrentUser); while ($CurPlanet = mysql_fetch_array($ThisUsersPlanets)) { if ($CurPlanet["destruyed"] == 0) { $parse['planetlist'] .= "\n<option "; if ($CurPlanet['id'] == $CurrentUser['current_planet']) { $parse['planetlist'] .= "selected=\"selected\" "; } $parse['planetlist'] .= "value=\"?cp=" . $CurPlanet['id'] . ""; $parse['planetlist'] .= "&mode=" . $_GET['mode']; $parse['planetlist'] .= "&re=0\">"; $parse['planetlist'] .= " [" . $CurPlanet['galaxy'] . ":"; $parse['planetlist'] .= "" . $CurPlanet['system'] . ":"; $parse['planetlist'] .= "" . $CurPlanet['planet']; $parse['planetlist'] .= "] </option>"; } } $parse['planet_name'] = "" . $CurrentPlanet['name']; $energy = pretty_number($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"]) . "/" . pretty_number($CurrentPlanet["energy_max"]); if ($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"] < 0) { $parse['energy'] = colorRed($energy); } else { $parse['energy'] = $energy; } $metal = pretty_number($CurrentPlanet["metal"]); if ($CurrentPlanet["metal"] > $CurrentPlanet["metal_max"]) { $parse['metal'] = colorRed($metal); } else { $parse['metal'] = $metal; } $crystal = pretty_number($CurrentPlanet["crystal"]); if ($CurrentPlanet["crystal"] > $CurrentPlanet["crystal_max"]) { $parse['crystal'] = colorRed($crystal); } else { $parse['crystal'] = $crystal; } $deuterium = pretty_number($CurrentPlanet["deuterium"]); if ($CurrentPlanet["deuterium"] > $CurrentPlanet["deuterium_max"]) { $parse['deuterium'] = colorRed($deuterium); } else { $parse['deuterium'] = $deuterium; } $appolonium = pretty_number($CurrentPlanet["appolonium"]); if ($CurrentPlanet["appolonium"] > $CurrentPlanet["appolonium_max"]) { $parse['appolonium'] = colorRed($appolonium); } else { $parse['appolonium'] = $appolonium; } $energy_max = pretty_number($CurrentPlanet["energy_max"] + $CurrentPlanet['energy_max'] / 100 * $CurrentUser['energy_tech']); if ($CurrentPlanet["energy_max"] > $CurrentPlanet["energy_max"]) { $parse['energy_max'] = colorRed($energy_max); } else { $parse['energy_max'] = $energy_max; } $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $CurrentPlanet['energy_used'] + $CurrentPlanet['energy_max'] / 100 * $CurrentUser['energy_tech']))); if ($CurrentPlanet["metal_max"] < $CurrentPlanet["metal"]) { $parse['metal_max'] = '<font color="#ff0000">'; } else { $parse['metal_max'] = '<font color="#00ff00">'; } $parse['metal_max'] .= pretty_number($CurrentPlanet["metal_max"]) . " {$lang['']}</font>"; if ($CurrentPlanet["crystal_max"] < $CurrentPlanet["crystal"]) { $parse['crystal_max'] = '<font color="#ff0000">'; } else { $parse['crystal_max'] = '<font color="#00ff00">'; } $parse['crystal_max'] .= pretty_number($CurrentPlanet["crystal_max"]) . " {$lang['']}</font>"; if ($CurrentPlanet["deuterium_max"] < $CurrentPlanet["deuterium"]) { $parse['deuterium_max'] = '<font color="#ff0000">'; } else { $parse['deuterium_max'] = '<font color="#00ff00">'; } $parse['deuterium_max'] .= pretty_number($CurrentPlanet["deuterium_max"]) . " {$lang['']}</font>"; if ($CurrentPlanet["appolonium_max"] < $CurrentPlanet["appolonium"]) { $parse['appolonium_max'] = '<font color="#ff0000">'; } else { $parse['appolonium_max'] = '<font color="#00ff00">'; } $parse['appolonium_max'] .= pretty_number($CurrentPlanet["appolonium_max"]) . " {$lang['']}</font>"; $parse['metal_perhour'] .= $CurrentPlanet["metal_perhour"] + $game_config['metal_basic_income'] * $game_config['resource_multiplier']; $parse['crystal_perhour'] .= $CurrentPlanet["crystal_perhour"] + $game_config['crystal_basic_income'] * $game_config['resource_multiplier']; $parse['deuterium_perhour'] .= $CurrentPlanet["deuterium_perhour"] + $game_config['deuterium_basic_income'] * $game_config['resource_multiplier']; $parse['appolonium_perhour'] .= $CurrentPlanet["appolonium_perhour"] + $game_config['appolonium_basic_income'] * $game_config['resource_multiplier']; $parse['metalh'] .= round($CurrentPlanet["metal"]); $parse['crystalh'] .= round($CurrentPlanet["crystal"]); $parse['deuteriumh'] .= round($CurrentPlanet["deuterium"]); $parse['appoloniumh'] .= round($CurrentPlanet["appolonium"]); $parse['metal_mmax'] .= $CurrentPlanet["metal_max"] * MAX_OVERFLOW; $parse['crystal_mmax'] .= $CurrentPlanet["crystal_max"] * MAX_OVERFLOW; $parse['deuterium_mmax'] .= $CurrentPlanet["deuterium_max"] * MAX_OVERFLOW; $parse['appolonium_mmax'] .= $CurrentPlanet["appolonium_max"] * MAX_OVERFLOW; if ($CurrentUser['new_message'] > 0) { $parse['message'] = "<a href=\"messages.php\"><img src=\"./images/info.gif\" style=\"height:33px; width:33px;\" alt=\"info.gif\"/></a>"; } else { $parse['message'] = ""; } $TopBar = parsetemplate($NavigationTPL, $parse); } else { $TopBar = ""; } return $TopBar; }
function BuildRessourcePage($CurrentUser, $CurrentPlanet) { global $pricelist, $lang, $ProdGrid, $resource, $reslist, $game_config, $_POST; includeLang('resources'); if ($user['urlaubs_modus'] == 1) { message($lang['Vacation_mode'], $lang['Error'], "overview.php", 1); } $RessBodyTPL = gettemplate('resources'); $RessRowTPL = gettemplate('resources_row'); // Si c'est une lune ... pas de ressources produites if ($CurrentPlanet['planet_type'] == 3) { $game_config['metal_basic_income'] = 0; $game_config['crystal_basic_income'] = 0; $game_config['deuterium_basic_income'] = 0; } $ValidList['percent'] = array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100); $SubQry = ""; if ($_POST) { foreach ($_POST as $Field => $Value) { $FieldName = $Field . "_porcent"; if (isset($CurrentPlanet[$FieldName])) { if (!in_array($Value, $ValidList['percent'])) { header("Location: overview.php"); exit; } $Value = $Value / 10; $CurrentPlanet[$FieldName] = $Value; $SubQry .= ", `" . $FieldName . "` = '" . $Value . "'"; } } } $parse = $lang; $parse['production_level'] = 100; if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) { $post_porcent = 0; } elseif ($CurrentPlanet['energy_max'] > 0 && $CurrentPlanet['energy_used'] + $CurrentPlanet['energy_max'] < 0) { $post_porcent = floor($CurrentPlanet['energy_max'] / $CurrentPlanet['energy_used'] * 100); } else { $post_porcent = 100; } if ($post_porcent > 100) { $post_porcent = 100; } // ------------------------------------------------------------------------------------------------------- // Mise a jour de l'espace de stockage $CurrentPlanet['metal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[22]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5); $CurrentPlanet['crystal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[23]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5); $CurrentPlanet['deuterium_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[24]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5); // ------------------------------------------------------------------------------------------------------- $parse['resource_row'] = ""; $CurrentPlanet['metal_perhour'] = 0; $CurrentPlanet['crystal_perhour'] = 0; $CurrentPlanet['deuterium_perhour'] = 0; $CurrentPlanet['energy_max'] = 0; $CurrentPlanet['energy_used'] = 0; $BuildTemp = $CurrentPlanet['temp_max']; foreach ($reslist['prod'] as $ProdID) { if ($CurrentPlanet[$resource[$ProdID]] > 0 && isset($ProdGrid[$ProdID])) { $BuildLevelFactor = $CurrentPlanet[$resource[$ProdID] . "_porcent"]; $BuildLevel = $CurrentPlanet[$resource[$ProdID]]; $metal = floor(eval($ProdGrid[$ProdID]['formule']['metal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05)); $crystal = floor(eval($ProdGrid[$ProdID]['formule']['crystal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05)); $deuterium = floor(eval($ProdGrid[$ProdID]['formule']['deuterium']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05)); $energy = floor(eval($ProdGrid[$ProdID]['formule']['energy']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_ingenieur'] * 0.05)); if ($energy > 0) { $CurrentPlanet['energy_max'] += $energy; } else { $CurrentPlanet['energy_used'] += $energy; } $CurrentPlanet['metal_perhour'] += $metal; $CurrentPlanet['crystal_perhour'] += $crystal; $CurrentPlanet['deuterium_perhour'] += $deuterium; $metal = $metal * 0.01 * $post_porcent; $crystal = $crystal * 0.01 * $post_porcent; $deuterium = $deuterium * 0.01 * $post_porcent; $energy = $energy * 0.01 * $post_porcent; $Field = $resource[$ProdID] . "_porcent"; $CurrRow = array(); $CurrRow['name'] = $resource[$ProdID]; $CurrRow['porcent'] = $CurrentPlanet[$Field]; for ($Option = 10; $Option >= 0; $Option--) { $OptValue = $Option * 10; if ($Option == $CurrRow['porcent']) { $OptSelected = " selected=selected"; } else { $OptSelected = ""; } $CurrRow['option'] .= "<option value=\"" . $OptValue . "\"" . $OptSelected . ">" . $OptValue . "%</option>"; } $CurrRow['type'] = $lang['tech'][$ProdID]; $CurrRow['level'] = $ProdID > 200 ? $lang['quantity'] : $lang['level']; $CurrRow['level_type'] = $CurrentPlanet[$resource[$ProdID]]; $CurrRow['metal_type'] = pretty_number($metal); $CurrRow['crystal_type'] = pretty_number($crystal); $CurrRow['deuterium_type'] = pretty_number($deuterium); $CurrRow['energy_type'] = pretty_number($energy); $CurrRow['metal_type'] = colorNumber($CurrRow['metal_type']); $CurrRow['crystal_type'] = colorNumber($CurrRow['crystal_type']); $CurrRow['deuterium_type'] = colorNumber($CurrRow['deuterium_type']); $CurrRow['energy_type'] = colorNumber($CurrRow['energy_type']); $parse['resource_row'] .= parsetemplate($RessRowTPL, $CurrRow); } } $parse['Production_of_resources_in_the_planet'] = str_replace('%s', $CurrentPlanet['name'], $lang['Production_of_resources_in_the_planet']); if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) { $parse['production_level'] = 0; } elseif ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $parse['production_level'] = floor($CurrentPlanet['energy_max'] / $CurrentPlanet['energy_used'] * 100); } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) { $parse['production_level'] = 0; } else { $parse['production_level'] = 100; } if ($parse['production_level'] > 100) { $parse['production_level'] = 100; } $parse['metal_basic_income'] = $game_config['metal_basic_income'] * $game_config['resource_multiplier']; $parse['crystal_basic_income'] = $game_config['crystal_basic_income'] * $game_config['resource_multiplier']; $parse['deuterium_basic_income'] = $game_config['deuterium_basic_income'] * $game_config['resource_multiplier']; $parse['energy_basic_income'] = $game_config['energy_basic_income'] * $game_config['resource_multiplier']; if ($CurrentPlanet['metal_max'] < $CurrentPlanet['metal']) { $parse['metal_max'] = "<font color=\"#ff0000\">"; } else { $parse['metal_max'] = "<font color=\"#00ff00\">"; } $parse['metal_max'] .= pretty_number($CurrentPlanet['metal_max'] / 1000) . " " . $lang['k'] . "</font>"; if ($CurrentPlanet['crystal_max'] < $CurrentPlanet['crystal']) { $parse['crystal_max'] = "<font color=\"#ff0000\">"; } else { $parse['crystal_max'] = "<font color=\"#00ff00\">"; } $parse['crystal_max'] .= pretty_number($CurrentPlanet['crystal_max'] / 1000) . " " . $lang['k'] . "</font>"; if ($CurrentPlanet['deuterium_max'] < $CurrentPlanet['deuterium']) { $parse['deuterium_max'] = "<font color=\"#ff0000\">"; } else { $parse['deuterium_max'] = "<font color=\"#00ff00\">"; } $parse['deuterium_max'] .= pretty_number($CurrentPlanet['deuterium_max'] / 1000) . " " . $lang['k'] . "</font>"; $parse['metal_total'] = colorNumber(pretty_number(floor($CurrentPlanet['metal_perhour'] * 0.01 * $parse['production_level'] + $parse['metal_basic_income']))); $parse['crystal_total'] = colorNumber(pretty_number(floor($CurrentPlanet['crystal_perhour'] * 0.01 * $parse['production_level'] + $parse['crystal_basic_income']))); $parse['deuterium_total'] = colorNumber(pretty_number(floor($CurrentPlanet['deuterium_perhour'] * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income']))); $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $parse['energy_basic_income'] + $CurrentPlanet['energy_used']))); $parse['daily_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24); $parse['weekly_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 7); $parse['monthly_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 30); $parse['daily_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24); $parse['weekly_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 7); $parse['monthly_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 30); $parse['daily_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24); $parse['weekly_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 7); $parse['monthly_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 30); $parse['daily_metal'] = colorNumber(pretty_number($parse['daily_metal'])); $parse['weekly_metal'] = colorNumber(pretty_number($parse['weekly_metal'])); $parse['monthly_metal'] = colorNumber(pretty_number($parse['monthly_metal'])); $parse['daily_crystal'] = colorNumber(pretty_number($parse['daily_crystal'])); $parse['weekly_crystal'] = colorNumber(pretty_number($parse['weekly_crystal'])); $parse['monthly_crystal'] = colorNumber(pretty_number($parse['monthly_crystal'])); $parse['daily_deuterium'] = colorNumber(pretty_number($parse['daily_deuterium'])); $parse['weekly_deuterium'] = colorNumber(pretty_number($parse['weekly_deuterium'])); $parse['monthly_deuterium'] = colorNumber(pretty_number($parse['monthly_deuterium'])); $parse['metal_storage'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100) . $lang['o/o']; $parse['crystal_storage'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100) . $lang['o/o']; $parse['deuterium_storage'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100) . $lang['o/o']; $parse['metal_storage_bar'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100 * 2.5); $parse['crystal_storage_bar'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100 * 2.5); $parse['deuterium_storage_bar'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100 * 2.5); if ($parse['metal_storage_bar'] > 100 * 2.5) { $parse['metal_storage_bar'] = 250; $parse['metal_storage_barcolor'] = '#C00000'; } elseif ($parse['metal_storage_bar'] > 80 * 2.5) { $parse['metal_storage_barcolor'] = '#C0C000'; } else { $parse['metal_storage_barcolor'] = '#00C000'; } if ($parse['crystal_storage_bar'] > 100 * 2.5) { $parse['crystal_storage_bar'] = 250; $parse['crystal_storage_barcolor'] = '#C00000'; } elseif ($parse['crystal_storage_bar'] > 80 * 2.5) { $parse['crystal_storage_barcolor'] = '#C0C000'; } else { $parse['crystal_storage_barcolor'] = '#00C000'; } if ($parse['deuterium_storage_bar'] > 100 * 2.5) { $parse['deuterium_storage_bar'] = 250; $parse['deuterium_storage_barcolor'] = '#C00000'; } elseif ($parse['deuterium_storage_bar'] > 80 * 2.5) { $parse['deuterium_storage_barcolor'] = '#C0C000'; } else { $parse['deuterium_storage_barcolor'] = '#00C000'; } $parse['production_level_bar'] = $parse['production_level'] * 2.5; $parse['production_level'] = "{$parse['production_level']}%"; $parse['production_level_barcolor'] = '#00ff00'; $QryUpdatePlanet = "UPDATE {{table}} SET "; $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "' "; $QryUpdatePlanet .= $SubQry; $QryUpdatePlanet .= "WHERE "; $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "';"; doquery($QryUpdatePlanet, 'planets'); ///////////////Naves//////////////// $c = 202; //Contador inicio naves $m = 218; //final while ($c <= $m) { //naves $pemd = $pricelist[$c]['metal']; //precio de la nave $pecd = $pricelist[$c]['crystal']; //precio de la nave $pedd = $pricelist[$c]['deuterium']; //precio de la nave //recursos $recursosmetaldia = floor($CurrentPlanet['metal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24); $recursosmetalsemana = floor($CurrentPlanet['metal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 7); $recursosmetalmes = floor($CurrentPlanet['metal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 30); $recursoscristaldia = floor($CurrentPlanet['crystal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24); $recursoscristalsemana = floor($CurrentPlanet['crystal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 7); $recursoscristalmes = floor($CurrentPlanet['crystal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 30); $recursosdeudia = floor($CurrentPlanet['deuterium_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24); $recursosdeusemana = floor($CurrentPlanet['deuterium_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 7); $recursosdeumes = floor($CurrentPlanet['deuterium_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 30); //Calculamos //por dia $xmdia = @floor($recursosmetaldia / $pemd); //por dia $xcdia = @floor($recursoscristaldia / $pecd); //por dia $xddia = @floor($recursosdeudia / $pedd); //por dia //por mes $xmmes = @floor($recursosmetalmes / $pemd); //por mes $xcmes = @floor($recursoscristalmes / $pecd); //por mes $xdmes = @floor($recursosdeumes / $pedd); //por mes if ($xmdia > 0) { $ahimetal = "1"; $xdia = $xcdia; } else { $ahimetal = "0"; } if ($xcdia > 0) { $ahicristal = "1"; $xdia = $xcdia; } else { $ahicristal = "0"; } if ($xddia > 0) { $ahideuterio = "1"; $xdia = $xddia; } else { $ahideuterio = "0"; } //casos de por dia //Caso 1 if ($ahimetal == 1 and $ahicristal == 1 and $ahideuterio == 0) { //Si existe cristal y metal if ($xmdia <= $xcdia) { //si metal es menor o igual que el cristal $xdia = $xmdia; //ponemos los que son ya } else { //si el cristal es menor que el metal $xdia = $xcdia; //ponemos los que son } //Fin } //Fin caso 1 //Caso 2 if ($ahimetal == 1 and $ahicristal == 1 and $ahideuterio == 1) { //Si existe cristal y metal if ($xmdia <= $xcdia) { //si metal es menor o igual que el cristal $xdia = $xmdia; //ponemos los que son ya if ($xmdia <= $xddia) { //Si es menor o igual que el deuterio $xdia = $xmdia; //ponemos de nuevo los que son } else { //si el deuterio es mayor if ($xddia > 0) { //y deuterio es mayor que 0 (en recursos para producirlo) $xdia = $xddia; //ponemos los que son } //Fin } //Fin final } else { //si el cristal es menor que el metal $xdia = $xcdia; //ponemos los que son if ($xcdia <= $xddia) { //si es menor o igual que el deuterio $xdia = $xcdia; // ponemos ls que son } else { //si no if ($xddia > 0) { //y el deuterio es mayor $xdia = $xddia; //ponemos los que son } //Fin } //Fin } //Fin } //Fin caso 2 //Caso 3 if ($ahimetal == 1 and $ahicristal == 0 and $ahideuterio == 1) { //Si existe cristal y metal if ($xmdia <= $xddia) { //si metal es menor o igual que el deuterio $xdia = $xmdia; //ponemos los que son ya } else { //si el deuterio es menor que el metal $xdia = $xddia; //ponemos los que son } //Fin } //Fin caso 3 //Caso 4 if ($ahimetal == 0 and $ahicristal == 1 and $ahideuterio == 1) { //Si existe cristal y metal if ($xcdia <= $xddia) { //si cristal es menor o igual que el deuterio $xdia = $xcdia; //ponemos los que son ya } else { //si el deuterio es menor que el metal $xdia = $xddia; //ponemos los que son } //Fin } //Fin caso 4 //caso 5 if ($ahimetal == 1 and $ahicristal == 0 and $ahideuterio == 0) { $xdia = $xmdia; } //caso 6 if ($ahimetal == 0 and $ahicristal == 1 and $ahideuterio == 0) { $xdia = $xcdia; } //caso 7 if ($ahimetal == 0 and $ahicristal == 0 and $ahideuterio == 1) { $xdia = $xddia; } //Fin de por dia $xsemana = floor($xdia * 7); $xmes = floor($xdia * 30); $parse['predu_fleet'] .= "<tr>"; $parse['predu_fleet'] .= "<th>" . $lang['tech'][$c] . "</th>"; $parse['predu_fleet'] .= "<th>" . $xdia . "</th>"; $parse['predu_fleet'] .= "<th>" . $xsemana . "</th>"; $parse['predu_fleet'] .= "<th>" . $xmes . "</th>"; $parse['predu_fleet'] .= "</tr>"; $c++; } ////////////////Defensas//////////////// $c = 401; //Contador inicio naves $m = 503; //final while ($c <= $m) { //naves $pemd = $pricelist[$c]['metal']; //precio de la nave $pecd = $pricelist[$c]['crystal']; //precio de la nave $pedd = $pricelist[$c]['deuterium']; //precio de la nave //recursos $recursosmetaldia = floor($CurrentPlanet['metal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24); $recursosmetalsemana = floor($CurrentPlanet['metal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 7); $recursosmetalmes = floor($CurrentPlanet['metal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 30); $recursoscristaldia = floor($CurrentPlanet['crystal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24); $recursoscristalsemana = floor($CurrentPlanet['crystal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 7); $recursoscristalmes = floor($CurrentPlanet['crystal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 30); $recursosdeudia = floor($CurrentPlanet['deuterium_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24); $recursosdeusemana = floor($CurrentPlanet['deuterium_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 7); $recursosdeumes = floor($CurrentPlanet['deuterium_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 30); //Calculamos //por dia $xmdia = @floor($recursosmetaldia / $pemd); //por dia $xcdia = @floor($recursoscristaldia / $pecd); //por dia $xddia = @floor($recursosdeudia / $pedd); //por dia //por mes $xmmes = @floor($recursosmetalmes / $pemd); //por mes $xcmes = @floor($recursoscristalmes / $pecd); //por mes $xdmes = @floor($recursosdeumes / $pedd); //por mes if ($xmdia > 0) { $ahimetal = "1"; $xdia = $xcdia; } else { $ahimetal = "0"; } if ($xcdia > 0) { $ahicristal = "1"; $xdia = $xcdia; } else { $ahicristal = "0"; } if ($xddia > 0) { $ahideuterio = "1"; $xdia = $xddia; } else { $ahideuterio = "0"; } //casos de por dia //Caso 1 if ($ahimetal == 1 and $ahicristal == 1 and $ahideuterio == 0) { //Si existe cristal y metal if ($xmdia <= $xcdia) { //si metal es menor o igual que el cristal $xdia = $xmdia; //ponemos los que son ya } else { //si el cristal es menor que el metal $xdia = $xcdia; //ponemos los que son } //Fin } //Fin caso 1 //Caso 2 if ($ahimetal == 1 and $ahicristal == 1 and $ahideuterio == 1) { //Si existe cristal y metal if ($xmdia <= $xcdia) { //si metal es menor o igual que el cristal $xdia = $xmdia; //ponemos los que son ya if ($xmdia <= $xddia) { //Si es menor o igual que el deuterio $xdia = $xmdia; //ponemos de nuevo los que son } else { //si el deuterio es mayor if ($xddia > 0) { //y deuterio es mayor que 0 (en recursos para producirlo) $xdia = $xddia; //ponemos los que son } //Fin } //Fin final } else { //si el cristal es menor que el metal $xdia = $xcdia; //ponemos los que son if ($xcdia <= $xddia) { //si es menor o igual que el deuterio $xdia = $xcdia; // ponemos ls que son } else { //si no if ($xddia > 0) { //y el deuterio es mayor $xdia = $xddia; //ponemos los que son } //Fin } //Fin } //Fin } //Fin caso 2 //Caso 3 if ($ahimetal == 1 and $ahicristal == 0 and $ahideuterio == 1) { //Si existe cristal y metal if ($xmdia <= $xddia) { //si metal es menor o igual que el deuterio $xdia = $xmdia; //ponemos los que son ya } else { //si el deuterio es menor que el metal $xdia = $xddia; //ponemos los que son } //Fin } //Fin caso 3 //Caso 4 if ($ahimetal == 0 and $ahicristal == 1 and $ahideuterio == 1) { //Si existe cristal y metal if ($xcdia <= $xddia) { //si cristal es menor o igual que el deuterio $xdia = $xcdia; //ponemos los que son ya } else { //si el deuterio es menor que el metal $xdia = $xddia; //ponemos los que son } //Fin } //Fin caso 4 //caso 5 if ($ahimetal == 1 and $ahicristal == 0 and $ahideuterio == 0) { $xdia = $xmdia; } //caso 6 if ($ahimetal == 0 and $ahicristal == 1 and $ahideuterio == 0) { $xdia = $xcdia; } //caso 7 if ($ahimetal == 0 and $ahicristal == 0 and $ahideuterio == 1) { $xdia = $xddia; } //Fin de por dia $xsemana = floor($xdia * 7); $xmes = floor($xdia * 30); $parse['predu_def'] .= "<tr>"; $parse['predu_def'] .= "<th>" . $lang['tech'][$c] . "</th>"; $parse['predu_def'] .= "<th>" . $xdia . "</th>"; $parse['predu_def'] .= "<th>" . $xsemana . "</th>"; $parse['predu_def'] .= "<th>" . $xmes . "</th>"; $parse['predu_def'] .= "</tr>"; if ($c == 408) { $c = 502; } else { $c++; } } $page = parsetemplate($RessBodyTPL, $parse); return $page; }
/** * ShowTopNavigationBar.php * * @version 1 * @copyright 2008 By Chlorel for XNova */ function ShowTopNavigationBar($CurrentUser, $CurrentPlanet) { global $lang, $_GET, $game_config; if ($CurrentUser) { if (!$CurrentPlanet) { $CurrentPlanet = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $CurrentUser['current_planet'] . "';", 'planets', true); } //Rohstoffe von -Rohstoffen wieder hoch setzen if ($CurrentPlanet["metal"] < 0) { $CurrentPlanet["metal"] = 1000000; } else { } if ($CurrentPlanet["crystal"] < 0) { $CurrentPlanet["crystal"] = 1000000; } else { } if ($CurrentPlanet["deuterium"] < 0) { $CurrentPlanet["deuterium"] = 1000000; } else { } // Actualisation des ressources de la planete if ($CurrentUser['urlaubs_modus'] == 0) { PlanetResourceUpdate($CurrentUser, $CurrentPlanet, time()); } else { doquery("UPDATE {{table}} SET `deuterium_sintetizer_porcent` = 0, `metal_mine_porcent` = 0, `crystal_mine_porcent` = 0 WHERE id_owner = " . $CurrentUser['id'], "planets"); } $NavigationTPL = gettemplate('topnav'); $dpath = !$CurrentUser["dpath"] ? DEFAULT_SKINPATH : $CurrentUser["dpath"]; $parse = $lang; $parse['dpath'] = $dpath; $parse['image'] = $CurrentPlanet['image']; $parse['show_umod_notice'] = $CurrentUser['urlaubs_modus'] ? '<table width="100%" style="border: 1px solid red; text-align:center;"><tr><td>Urlaubsmodus</td></tr></table>' : ''; $parse['show_attacklock_notice'] = $game_config['attack_disabled'] ? '<table width="100%" style="border: 3px solid red; text-align:center;text-decoration:blink;color: #ff0000;"><tr><td>Angriffsperre aktiviert nähere Informationen im Forum</td></tr></table>' : ''; // Genearation de la combo des planetes du joueur $parse['planetlist'] = ''; $ThisUsersPlanets = SortUserPlanets($CurrentUser); while ($CurPlanet = mysql_fetch_array($ThisUsersPlanets)) { if ($CurPlanet["destruyed"] == 0) { $parse['planetlist'] .= "\n<option "; if ($CurPlanet['id'] == $CurrentUser['current_planet']) { // Bon puisque deja on s'y trouve autant le marquer $parse['planetlist'] .= "selected=\"selected\" "; } $parse['planetlist'] .= "value=\"?cp=" . $CurPlanet['id'] . ""; $parse['planetlist'] .= "&mode=" . $_GET['mode']; $parse['planetlist'] .= "&re=0\">"; // Nom et coordonnées de la planete $parse['planetlist'] .= "" . $CurPlanet['name']; $parse['planetlist'] .= " [" . $CurPlanet['galaxy'] . ":"; $parse['planetlist'] .= "" . $CurPlanet['system'] . ":"; $parse['planetlist'] .= "" . $CurPlanet['planet']; $parse['planetlist'] .= "] </option>"; } } $energy = pretty_number($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"]) . "/" . pretty_number($CurrentPlanet["energy_max"]); // Energie if ($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"] < 0) { $parse['energy'] = colorRed($energy); } else { $parse['energy'] = $energy; } // Metal $metal = pretty_number($CurrentPlanet["metal"]); if ($CurrentPlanet["metal"] > $CurrentPlanet["metal_max"]) { $parse['metal'] = colorRed($metal); } else { $parse['metal'] = $metal; } // Cristal $crystal = pretty_number($CurrentPlanet["crystal"]); if ($CurrentPlanet["crystal"] > $CurrentPlanet["crystal_max"]) { $parse['crystal'] = colorRed($crystal); } else { $parse['crystal'] = $crystal; } // Deuterium $deuterium = pretty_number($CurrentPlanet["deuterium"]); if ($CurrentPlanet["deuterium"] > $CurrentPlanet["deuterium_max"]) { $parse['deuterium'] = colorRed($deuterium); } else { $parse['deuterium'] = $deuterium; } // Max Energie $energy_max = pretty_number($CurrentPlanet["energy_max"]); if ($CurrentPlanet["energy_max"] > $CurrentPlanet["energy_max"]) { $parse['energy_max'] = colorRed($energy_max); } else { $parse['energy_max'] = $energy_max; } $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $CurrentPlanet["energy_used"])) - $parse['energy_basic_income']); // Metal maximo if ($CurrentPlanet["metal_max"] < $CurrentPlanet["metal"]) { $parse['metal_max'] = '<font color="#ff0000">'; } else { $parse['metal_max'] = '<font color="#00ff00">'; } $parse['metal_max'] .= pretty_number($CurrentPlanet["metal_max"] / 1) . " {$lang['']}</font>"; // Cristal maximo if ($CurrentPlanet["crystal_max"] < $CurrentPlanet["crystal"]) { $parse['crystal_max'] = '<font color="#ff0000">'; } else { $parse['crystal_max'] = '<font color="#00ff00">'; } $parse['crystal_max'] .= pretty_number($CurrentPlanet["crystal_max"] / 1) . " {$lang['']}"; // Deuterio maximo if ($CurrentPlanet["deuterium_max"] < $CurrentPlanet["deuterium"]) { $parse['deuterium_max'] = '<font color="#ff0000">'; } else { $parse['deuterium_max'] = '<font color="#00ff00">'; } $parse['deuterium_max'] .= pretty_number($CurrentPlanet["deuterium_max"] / 1) . " {$lang['']}"; $parse['metal_perhour'] .= $CurrentPlanet["metal_perhour"]; $parse['crystal_perhour'] .= $CurrentPlanet["crystal_perhour"]; $parse['deuterium_perhour'] .= $CurrentPlanet["deuterium_perhour"]; $parse['metalh'] .= round($CurrentPlanet["metal"]); $parse['crystalh'] .= round($CurrentPlanet["crystal"]); $parse['deuteriumh'] .= round($CurrentPlanet["deuterium"]); $parse['metal_mmax'] .= $CurrentPlanet["metal_max"]; $parse['crystal_mmax'] .= $CurrentPlanet["crystal_max"]; $parse['deuterium_mmax'] .= $CurrentPlanet["deuterium_max"]; // Message if ($CurrentUser['new_message'] > 0) { $parse['message'] = "<a href=\"messages.php\"><blink>[ " . $CurrentUser['new_message'] . " ]</blink></a>"; } else { $parse['message'] = "0"; } // Le tout passe dans la template $TopBar = parsetemplate($NavigationTPL, $parse); } else { $TopBar = ""; } return $TopBar; }
function ShowProductionTable($CurrentUser, $CurrentPlanet, $BuildID, $Template) { global $ProdGrid, $resource, $game_config; $BuildLevelFactor = $CurrentPlanet[$resource[$BuildID] . "_porcent"]; $BuildTemp = $CurrentPlanet['temp_max']; $CurrentBuildtLvl = $CurrentPlanet[$resource[$BuildID]]; $BuildLevel = $CurrentBuildtLvl > 0 ? $CurrentBuildtLvl : 1; $Prod[1] = floor(eval($ProdGrid[$BuildID]['formule']['metal']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[2] = floor(eval($ProdGrid[$BuildID]['formule']['crystal']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[3] = floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); $BuildLevel = ""; $ActualProd = floor($Prod[$BuildID]); if ($BuildID != 12) { $ActualNeed = floor($Prod[4]); } else { $ActualNeed = floor($Prod[3]); } $BuildStartLvl = $CurrentBuildtLvl - 2; if ($BuildStartLvl < 1) { $BuildStartLvl = 1; } $Table = ""; $ProdFirst = 0; for ($BuildLevel = $BuildStartLvl; $BuildLevel < $BuildStartLvl + 10; $BuildLevel++) { if ($BuildID != 42) { $Prod[1] = floor(eval($ProdGrid[$BuildID]['formule']['metal']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[2] = floor(eval($ProdGrid[$BuildID]['formule']['crystal']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[3] = floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); $bloc['build_lvl'] = $CurrentBuildtLvl == $BuildLevel ? "<font color=\"#ff0000\">" . $BuildLevel . "</font>" : $BuildLevel; if ($ProdFirst > 0) { if ($BuildID != 12) { $bloc['build_gain'] = "<font color=\"lime\">(" . pretty_number(floor($Prod[$BuildID] - $ProdFirst)) . ")</font>"; } else { $bloc['build_gain'] = "<font color=\"lime\">(" . pretty_number(floor($Prod[4] - $ProdFirst)) . ")</font>"; } } else { $bloc['build_gain'] = ""; } if ($BuildID != 12) { $bloc['build_prod'] = pretty_number(floor($Prod[$BuildID])); $bloc['build_prod_diff'] = colorNumber(pretty_number(floor($Prod[$BuildID] - $ActualProd))); $bloc['build_need'] = colorNumber(pretty_number(floor($Prod[4]))); $bloc['build_need_diff'] = colorNumber(pretty_number(floor($Prod[4] - $ActualNeed))); } else { $bloc['build_prod'] = pretty_number(floor($Prod[4])); $bloc['build_prod_diff'] = colorNumber(pretty_number(floor($Prod[4] - $ActualProd))); $bloc['build_need'] = colorNumber(pretty_number(floor($Prod[3]))); $bloc['build_need_diff'] = colorNumber(pretty_number(floor($Prod[3] - $ActualNeed))); } if ($ProdFirst == 0) { if ($BuildID != 12) { $ProdFirst = floor($Prod[$BuildID]); } else { $ProdFirst = floor($Prod[4]); } } } else { // Cas particulier de la phalange $bloc['build_lvl'] = $CurrentBuildtLvl == $BuildLevel ? "<font color=\"#ff0000\">" . $BuildLevel . "</font>" : $BuildLevel; $bloc['build_range'] = $BuildLevel * $BuildLevel - 1; } $Table .= parsetemplate($Template, $bloc); } return $Table; }
private function ShowProductionTable($CurrentUser, $CurrentPlanet, $BuildID) { global $ProdGrid, $resource, $db, $displays; if ($BuildID == 42) { $displays->newblock("phanlax"); } else { $displays->newblock("productions"); } $BuildLevelFactor = $CurrentPlanet[$resource[$BuildID] . "_porcent"]; $BuildTemp = $CurrentPlanet['temp_max']; $CurrentBuildtLvl = $CurrentPlanet[$resource[$BuildID]]; $BuildLevel = $CurrentBuildtLvl > 0 ? $CurrentBuildtLvl : 1; $Prod[1] = floor(eval($ProdGrid[$BuildID]['formule']['metal']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[2] = floor(eval($ProdGrid[$BuildID]['formule']['crystal']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[3] = floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); if ($BuildID >= 4) { $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); } else { $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $db->game_config['resource_multiplier']); } $ActualProd = floor($Prod[$BuildID]); if ($BuildID != 12) { $ActualNeed = floor($Prod[4]); } else { $ActualNeed = floor($Prod[3]); } $BuildStartLvl = $CurrentBuildtLvl - 2; if ($BuildStartLvl < 1) { $BuildStartLvl = 1; } $Table = ""; $ProdFirst = 0; if ($BuildID == 4) { $block = "production_list_sin"; } elseif ($BuildID != 42) { $displays->newblock("energy"); $block = "production_list_con"; $displays->gotoBlock("productions"); } for ($BuildLevel = $BuildStartLvl; $BuildLevel < $BuildStartLvl + 15; $BuildLevel++) { if ($BuildID != 42) { $displays->newblock($block); $Prod[1] = floor(eval($ProdGrid[$BuildID]['formule']['metal']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[2] = floor(eval($ProdGrid[$BuildID]['formule']['crystal']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[3] = floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); if ($BuildID >= 4) { $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); } else { $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $db->game_config['resource_multiplier']); } $bloc['build_lvl'] = $CurrentBuildtLvl == $BuildLevel ? "<font color=\"#ff0000\">" . $BuildLevel . "</font>" : $BuildLevel; if ($ProdFirst > 0) { if ($BuildID != 12) { $bloc['build_gain'] = "<font color=\"lime\">(" . pretty_number(floor($Prod[$BuildID] - $ProdFirst)) . ")</font>"; } else { $bloc['build_gain'] = "<font color=\"lime\">(" . pretty_number(floor($Prod[4] - $ProdFirst)) . ")</font>"; } } else { $bloc['build_gain'] = ""; } if ($BuildID != 12) { $bloc['build_prod'] = pretty_number(floor($Prod[$BuildID])); $bloc['build_prod_diff'] = colorNumber(pretty_number(floor($Prod[$BuildID] - $ActualProd))); $bloc['build_need'] = colorNumber(pretty_number(floor($Prod[4]))); $bloc['build_need_diff'] = colorNumber(pretty_number(floor($Prod[4] - $ActualNeed))); } else { $bloc['build_prod'] = pretty_number(floor($Prod[4])); $bloc['build_prod_diff'] = colorNumber(pretty_number(floor($Prod[4] - $ActualProd))); $bloc['build_need'] = colorNumber(pretty_number(floor($Prod[3]))); $bloc['build_need_diff'] = colorNumber(pretty_number(floor($Prod[3] - $ActualNeed))); } if ($ProdFirst == 0) { if ($BuildID != 12) { $ProdFirst = floor($Prod[$BuildID]); } else { $ProdFirst = floor($Prod[4]); } } } else { $displays->newblock("phanlax_list"); $bloc['build_lvl'] = $CurrentBuildtLvl == $BuildLevel ? "<font color=\"#ff0000\">" . $BuildLevel . "</font>" : $BuildLevel; $bloc['build_range'] = $BuildLevel * $BuildLevel - 1; } foreach ($bloc as $key => $value) { $displays->assign($key, $value); } } }