function DoRessBeam($CurrentUser, $CurrentPlanet) { global $lang, $resource; includeLang('infos'); if ($_POST) { $RestString = GetNextJumpWaitTimePlanet($CurrentPlanet); $NextJumpTime = $RestString['value']; $JumpTime = time(); // Dit monsieur, j'ai le droit de sauter ??? if ($NextJumpTime == 0) { // Dit monsieur, ou je veux aller ca existe ??? $TargetPlanet = $_POST['jmpto']; $TargetGate = doquery("SELECT `id`, `ressgate`, `last_beam_time` FROM {{table}} WHERE `id` = '" . $TargetPlanet . "';", 'planets', true); // Dit monsieur, ou je veux aller y a une porte de saut ??? if ($TargetGate['ressgate'] > 0) { $RestString = GetNextJumpWaitTimePlanet($TargetGate); $NextDestTime = $RestString['value']; // Dit monsieur, chez toi aussi peut y avoir un saut ??? if ($NextDestTime == 0) { //Recourcenüberprüfung ob nur ganze Zahl $metal = 0; $crystal = 0; $deut = 0; $appol = 0; $metal = $_POST['res1']; $crystal = $_POST['res2']; $deut = $_POST['res3']; $appol = $_POST['res4']; if (!ctype_digit($metal)) { message($lang['no_er_ress']); } else { round($_POST['res1']); } if (!ctype_digit($crystal)) { message($lang['no_er_ress']); } else { round($_POST['res2']); } if (!ctype_digit($deut)) { message($lang['no_er_ress']); } else { round($_POST['res3']); } if (!ctype_digit($appol)) { message($lang['no_er_ress']); } else { round($_POST['res4']); } //Überprüfung Ende // Planeten aktualisieren und erneut auslesen if ($_POST['res1'] > $CurrentPlanet['metal']) { message($lang['nfo_ress_emty_m']); } if ($_POST['res2'] > $CurrentPlanet['crystal']) { message($lang['nfo_ress_emty_c']); } if ($_POST['res3'] > $CurrentPlanet['deuterium']) { message($lang['nfo_ress_emty_d']); } if ($_POST['res4'] > $CurrentPlanet['appolonium']) { message($lang['nfo_ress_emty_a']); } // Dit monsieur, y avait quelque chose a envoyer ??? if ($_POST['res1'] != 0 or $_POST['res2'] != 0 or $_POST['res3'] != 0 or $_POST['res4'] != 0) { // Abziehen vom Ausgangsplaneten ! $QryUpdateOri = "UPDATE {{table}} SET "; $QryUpdateOri .= "`metal` = `metal` - '" . $metal . "', "; $QryUpdateOri .= "`crystal` = `crystal` - '" . $crystal . "', "; $QryUpdateOri .= "`deuterium` = `deuterium` - '" . $deut . "', "; $QryUpdateOri .= "`appolonium` = `appolonium` - '" . $appol . "', "; $QryUpdateOri .= "`last_beam_time` = '" . $JumpTime . "' "; $QryUpdateOri .= "WHERE "; $QryUpdateOri .= "`id` = '" . $CurrentPlanet['id'] . "';"; doquery($QryUpdateOri, 'planets'); // Hinzurechnen zum anderen Planeten ! $QryUpdateDes = "UPDATE {{table}} SET "; $QryUpdateDes .= "`metal` = `metal` + '" . $metal . "', "; $QryUpdateDes .= "`crystal` = `crystal` + '" . $crystal . "', "; $QryUpdateDes .= "`deuterium` = `deuterium` + '" . $deut . "', "; $QryUpdateDes .= "`appolonium` = `appolonium` + '" . $appol . "', "; $QryUpdateDes .= "`last_beam_time` = '" . $JumpTime . "' "; $QryUpdateDes .= "WHERE "; $QryUpdateDes .= "`id` = '" . $TargetGate['id'] . "';"; doquery($QryUpdateDes, 'planets'); // Deplacement vers la lune d'arrivée $QryUpdateUsr = "******"; $QryUpdateUsr .= "`current_planet` = '" . $TargetGate['id'] . "' "; $QryUpdateUsr .= "WHERE "; $QryUpdateUsr .= "`id` = '" . $CurrentUser['id'] . "';"; doquery($QryUpdateUsr, 'users'); $CurrentPlanet['last_beam_time'] = $JumpTime; $RestString = GetNextJumpWaitTimePlanet($CurrentPlanet); $RetMessage = $lang['gate_jump_done'] . " - " . $RestString['string']; } else { $RetMessage = $lang['gate_wait_data']; } } else { $RetMessage = $lang['gate_wait_dest'] . " - " . $RestString['string']; } } else { $RetMessage = $lang['gate_no_dest_g']; } } else { $RetMessage = $lang['gate_wait_star'] . " - " . $RestString['string']; } } else { $RetMessage = $lang['gate_wait_data']; } return $RetMessage; }
function ShowBuildingInfoPage($CurrentUser, $CurrentPlanet, $BuildID) { global $dpath, $lang, $resource, $pricelist, $CombatCaps; includeLang('infos'); $GateTPL = ''; $DestroyTPL = ''; $TableHeadTPL = ''; $parse = $lang; // Données de base $parse['dpath'] = $dpath; $parse['name'] = $lang['info'][$BuildID]['name']; $parse['image'] = $BuildID; $parse['description'] = $lang['info'][$BuildID]['description']; if ($BuildID >= 1 && $BuildID <= 4) { // Cas des mines $PageTPL = gettemplate('info_buildings_table'); $DestroyTPL = gettemplate('info_buildings_destroy'); $TableHeadTPL = "<tr><td class=\"c\">{nfo_level}</td><td class=\"c\">{nfo_prod_p_hour}</td><td class=\"c\">{nfo_difference}</td><td class=\"c\">{nfo_used_energy}</td><td class=\"c\">{nfo_difference}</td></tr>"; $TableTPL = "<tr><th>{build_lvl}</th><th>{build_prod} {build_gain}</th><th>{build_prod_diff}</th><th>{build_need}</th><th>{build_need_diff}</th></tr>"; } elseif ($BuildID == 11) { // Centrale Solaire $PageTPL = gettemplate('info_buildings_table'); $DestroyTPL = gettemplate('info_buildings_destroy'); $TableHeadTPL = "<tr><td class=\"c\">{nfo_level}</td><td class=\"c\">{nfo_prod_energy}</td><td class=\"c\">{nfo_difference}</td></tr>"; $TableTPL = "<tr><th>{build_lvl}</th><th>{build_prod} {build_gain}</th><th>{build_prod_diff}</th></tr>"; } elseif ($BuildID == 12) { // Centrale Fusion $PageTPL = gettemplate('info_buildings_table'); $DestroyTPL = gettemplate('info_buildings_destroy'); $TableHeadTPL = "<tr><td class=\"c\">{nfo_level}</td><td class=\"c\">{nfo_prod_energy}</td><td class=\"c\">{nfo_difference}</td><td class=\"c\">{nfo_used_deuter}</td><td class=\"c\">{nfo_difference}</td></tr>"; $TableTPL = "<tr><th>{build_lvl}</th><th>{build_prod} {build_gain}</th><th>{build_prod_diff}</th><th>{build_need}</th><th>{build_need_diff}</th></tr>"; } elseif ($BuildID >= 14 && $BuildID <= 32) { // Batiments Generaux $PageTPL = gettemplate('info_buildings_general'); $DestroyTPL = gettemplate('info_buildings_destroy'); } elseif ($BuildID == 33) { // Batiments Terraformer $PageTPL = gettemplate('info_buildings_general'); } elseif ($BuildID == 34) { // Dépot d'alliance $PageTPL = gettemplate('info_buildings_general'); $DestroyTPL = gettemplate('info_buildings_destroy'); } elseif ($BuildID == 41) { // Batiments lunaires $PageTPL = gettemplate('info_buildings_general'); } elseif ($BuildID == 42) { // Phalange $PageTPL = gettemplate('info_buildings_table'); $TableHeadTPL = "<tr><td class=\"c\">{nfo_level}</td><td class=\"c\">{nfo_range}</td></tr>"; $TableTPL = "<tr><th>{build_lvl}</th><th>{build_range}</th></tr>"; $DestroyTPL = gettemplate('info_buildings_destroy'); } elseif ($BuildID == 43) { // Sprungtor $PageTPL = gettemplate('info_buildings_general'); $GateTPL = gettemplate('gate_fleet_table'); $DestroyTPL = gettemplate('info_buildings_destroy'); } elseif ($BuildID == 44) { // Silo de missiles $PageTPL = gettemplate('info_buildings_general'); $DestroyTPL = gettemplate('info_buildings_destroy'); } elseif ($BuildID == 45) { // Mondtransformer $PageTPL = gettemplate('info_buildings_general'); $PageTPL .= gettemplate('mondtransformer'); $DestroyTPL = gettemplate('info_buildings_destroy'); } elseif ($BuildID == 46) { // Resstransmiter $PageTPL = gettemplate('info_buildings_general'); $GateTPL = gettemplate('gate_ress_table'); $DestroyTPL = gettemplate('info_buildings_destroy'); } elseif ($BuildID >= 106 && $BuildID <= 199) { // Laboratoire $PageTPL = gettemplate('info_buildings_general'); } elseif ($BuildID >= 202 && $BuildID <= 220) { // Flotte $PageTPL = gettemplate('info_buildings_fleet'); $parse['element_typ'] = $lang['tech'][200]; $parse['rf_info_to'] = ShowRapidFireTo($BuildID); // Rapid Fire vers $parse['rf_info_fr'] = ShowRapidFireFrom($BuildID); // Rapid Fire de $parse['hull_pt'] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']); // Points de Structure $parse['shield_pt'] = pretty_number($CombatCaps[$BuildID]['shield']); // Points de Bouclier $parse['attack_pt'] = pretty_number($CombatCaps[$BuildID]['attack']); // Points d'Attaque $parse['capacity_pt'] = pretty_number($pricelist[$BuildID]['capacity']); // Capacitée de fret $parse['base_speed'] = pretty_number($pricelist[$BuildID]['speed']); // Vitesse de base $parse['base_conso'] = pretty_number($pricelist[$BuildID]['consumption']); // Consommation de base if ($BuildID == 202) { $parse['upd_speed'] = "<font color=\"yellow\">(" . pretty_number($pricelist[$BuildID]['speed2']) . ")</font>"; // Vitesse rééquipée $parse['upd_conso'] = "<font color=\"yellow\">(" . pretty_number($pricelist[$BuildID]['consumption2']) . ")</font>"; // Consommation apres rééquipement } elseif ($BuildID == 211) { $parse['upd_speed'] = "<font color=\"yellow\">(" . pretty_number($pricelist[$BuildID]['speed2']) . ")</font>"; // Vitesse rééquipée } } elseif ($BuildID >= 401 && $BuildID <= 410) { // Defenses $PageTPL = gettemplate('info_buildings_defense'); $parse['element_typ'] = $lang['tech'][400]; $parse['rf_info_to'] = ShowRapidFireTo($BuildID); // Rapid Fire vers $parse['rf_info_fr'] = ShowRapidFireFrom($BuildID); // Rapid Fire de $parse['hull_pt'] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']); // Points de Structure $parse['shield_pt'] = pretty_number($CombatCaps[$BuildID]['shield']); // Points de Bouclier $parse['attack_pt'] = pretty_number($CombatCaps[$BuildID]['attack']); // Points d'Attaque } elseif ($BuildID >= 502 && $BuildID <= 503) { // Misilles $PageTPL = gettemplate('info_buildings_defense'); $parse['element_typ'] = $lang['tech'][400]; $parse['hull_pt'] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']); // Points de Structure $parse['shield_pt'] = pretty_number($CombatCaps[$BuildID]['shield']); // Points de Bouclier $parse['attack_pt'] = pretty_number($CombatCaps[$BuildID]['attack']); // Points d'Attaque } elseif ($BuildID >= 601 && $BuildID <= 615) { // Officiers $PageTPL = gettemplate('info_officiers_general'); } // ---- Tableau d'evolution if ($TableHeadTPL != '') { $parse['table_head'] = parsetemplate($TableHeadTPL, $lang); $parse['table_data'] = ShowProductionTable($CurrentUser, $CurrentPlanet, $BuildID, $TableTPL); } // La page principale $page = parsetemplate($PageTPL, $parse); if ($BuildID == 43) { if ($GateTPL != '') { if ($CurrentPlanet[$resource[$BuildID]] > 0) { $RestString = GetNextJumpWaitTime($CurrentPlanet); $parse['gate_start_link'] = BuildPlanetAdressLink($CurrentPlanet); if ($RestString['value'] != 0) { $parse['gate_time_script'] = InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], true); $parse['gate_wait_time'] = "<div id=\"bxx" . "Gate" . "1" . "\"></div>"; $parse['gate_script_go'] = InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], false); } else { $parse['gate_time_script'] = ""; $parse['gate_wait_time'] = ""; $parse['gate_script_go'] = ""; } $parse['gate_dest_moons'] = BuildJumpableMoonCombo($CurrentUser, $CurrentPlanet); $parse['gate_fleet_rows'] = BuildFleetListRows($CurrentPlanet); $page .= parsetemplate($GateTPL, $parse); } } } elseif ($BuildID == 46) { if ($GateTPL != '') { $parse['gate_start_moon'] = $lang['gate_start2_moon']; $parse['gate_dest_moon'] = $lang['gate_dest2_moon']; $parse['gate_use_gate'] = $lang['gate_use2_gate']; $parse['gate_ship_sel'] = $lang['gate_ship2_sel']; $parse['gate_ship_dispo'] = $lang['gate_shipt2_dispo']; $parse['gate_jump_btn'] = $lang['gate_jump2_btn']; $parse['gate_jump_done'] = $lang['gate_jump2_done']; $parse['gate_wait_dest'] = $lang['gate_wait2_dest']; $parse['gate_no_dest_g'] = $lang['gate_no2_dest_g']; $parse['gate_wait_star'] = $lang['gate_wait2_star']; $parse['gate_wait_data'] = $lang['gate_wait2_data']; if ($CurrentPlanet[$resource[$BuildID]] > 0) { $RestString = GetNextJumpWaitTimePlanet($CurrentPlanet); $parse['gate_start_link'] = BuildPlanetAdressLink($CurrentPlanet); if ($RestString['value'] != 0) { $parse['gate_time_script'] = InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], true); $parse['gate_wait_time'] = "<div id=\"bxx" . "Gate" . "1" . "\"></div>"; $parse['gate_script_go'] = InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], false); } else { $parse['gate_time_script'] = ""; $parse['gate_wait_time'] = ""; $parse['gate_script_go'] = ""; } $parse['gate_dest_moons'] = BuildJumpablePlanetCombo($CurrentUser, $CurrentPlanet); //$parse['gate_units_rows'] = BuildUnitsListRows ( $CurrentPlanet ); $page .= parsetemplate($GateTPL, $parse); } } } if ($DestroyTPL != '') { if ($CurrentPlanet[$resource[$BuildID]] > 0) { // ---- Destruction $NeededRessources = GetBuildingPrice($CurrentUser, $CurrentPlanet, $BuildID, true, true); $DestroyTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $BuildID) / 2; $parse['destroyurl'] = "buildings.php?cmd=destroy&building=" . $BuildID; // Non balisé les balises sont dans le tpl $parse['levelvalue'] = $CurrentPlanet[$resource[$BuildID]]; // Niveau du batiment a detruire $parse['nfo_metal'] = $lang['Metal']; $parse['nfo_crysta'] = $lang['Crystal']; $parse['nfo_deuter'] = $lang['Deuterium']; $parse['nfo_appolonium'] = $lang['Appolonium']; $parse['metal'] = pretty_number($NeededRessources['metal']); // Cout en metal de la destruction $parse['crystal'] = pretty_number($NeededRessources['crystal']); // Cout en cristal de la destruction $parse['deuterium'] = pretty_number($NeededRessources['deuterium']); // Cout en deuterium de la destruction $parse['appolonium'] = pretty_number($NeededRessources['appolonium']); // Cout en deuterium de la destruction $parse['destroytime'] = pretty_time($DestroyTime); // Durée de la destruction // L'insert de destruction $page .= parsetemplate($DestroyTPL, $parse); } } return $page; }