public static function FleetAjax() { global $USER, $PLANET, $db, $resource, $LNG; $UserSpyProbes = $PLANET[$resource[210]]; $UserRecycles = $PLANET[$resource[209]]; $UserGRecycles = $PLANET[$resource[219]]; $UserDeuterium = $PLANET['deuterium']; $UserMissiles = $PLANET['interplanetary_misil']; $thisgalaxy = $PLANET['galaxy']; $thissystem = $PLANET['system']; $thisplanet = $PLANET['planet']; $thisplanettype = $PLANET['planet_type']; $galaxy = request_var('galaxy', 0); $system = request_var('system', 0); $planet = request_var('planet', 0); $planettype = request_var('planettype', 0); $mission = request_var('mission', 0); $CurrentFlyingFleets = parent::GetCurrentFleets($USER['id']); switch ($mission) { case 6: $SpyProbes = request_var('ships', 0); $SpyProbes = min($SpyProbes, $PLANET[$resource[210]]); if (empty($SpyProbes)) { exit($ResultMessage = "611; " . $LNG['fa_no_spios'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } $FleetArray = array(210 => $SpyProbes); break; case 8: $SRecycles = explode("|", request_var('ships', '')); $GRecycles = min($SRecycles[0], $PLANET[$resource[219]]); $Recycles = min($SRecycles[1], $PLANET[$resource[209]]); if (empty($Recycles) && empty($GRecycles)) { exit($ResultMessage = "611; " . $LNG['fa_no_recyclers'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } $FleetArray = array(219 => $GRecycles, 209 => $Recycles); break; default: exit("610; " . $LNG['fa_not_enough_probes'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); break; } parent::CleanFleetArray($FleetArray); if (empty($FleetArray)) { exit("610; " . $LNG['fa_not_enough_probes'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } if (parent::GetMaxFleetSlots($USER) <= $CurrentFlyingFleets) { $ResultMessage = "612; " . $LNG['fa_no_more_slots'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } if ($galaxy > MAX_GALAXY_IN_WORLD || $galaxy < 1) { $ResultMessage = "602; " . $LNG['fa_galaxy_not_exist'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } if ($system > MAX_SYSTEM_IN_GALAXY || $system < 1) { $ResultMessage = "602; " . $LNG['fa_system_not_exist'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } if ($planet > MAX_PLANET_IN_SYSTEM || $planet < 1) { $ResultMessage = "602; " . $LNG['fa_planet_not_exist'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } $QrySelectEnemy = "SELECT id_level, id_owner FROM " . PLANETS . " "; $QrySelectEnemy .= "WHERE "; $QrySelectEnemy .= "`galaxy` = '" . $galaxy . "' AND "; $QrySelectEnemy .= "`system` = '" . $system . "' AND "; $QrySelectEnemy .= "`planet` = '" . $planet . "' AND "; $QrySelectEnemy .= "`planet_type` = '" . $planettype . "';"; $TargetRow = $db->uniquequery($QrySelectEnemy); if ($TargetRow['id_level'] > $USER['authlevel'] && $mission == 6 && $CONF['adm_attack'] == 0) { exit("619; " . $LNG['fa_action_not_allowed'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } $TargetUser = GetUserByID($TargetRow['id_owner'], array('id', 'onlinetime', 'urlaubs_modus')); if ($USER['urlaubs_modus'] == 1) { $ResultMessage = "620; " . $LNG['fa_vacation_mode_current'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } if ($mission == 6) { $TargetVacat = $TargetUser['urlaubs_modus']; if ($TargetVacat) { $ResultMessage = "605; " . $LNG['fa_vacation_mode'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } $UserPoints = $USER; $User2Points = $db->uniquequery("SELECT `total_points` FROM " . STATPOINTS . " WHERE `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '" . $TargetRow['id_owner'] . "';"); $IsNoobProtec = CheckNoobProtec($UserPoints, $User2Points, $TargetUser['onlinetime']); if ($IsNoobProtec['NoobPlayer']) { exit("603; " . $LNG['fa_week_player'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } elseif ($IsNoobProtec['StrongPlayer']) { exit("604; " . $LNG['fa_strong_player'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } if (empty($TargetRow['id_owner'])) { $ResultMessage = "601; " . $LNG['fa_planet_not_exist'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } if ($TargetRow["id_owner"] == $PLANET["id_owner"]) { $ResultMessage = "618; " . $LNG['fa_not_spy_yourself'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } } $SpeedFactor = parent::GetGameSpeedFactor(); $Distance = parent::GetTargetDistance($thisgalaxy, $galaxy, $thissystem, $system, $thisplanet, $planet); $SpeedAllMin = parent::GetFleetMaxSpeed($FleetArray, $USER); $Duration = parent::GetMissionDuration(10, $SpeedAllMin, $Distance, $SpeedFactor, $USER); $consumption = parent::GetFleetConsumption($FleetArray, $Duration, $Distance, $SpeedAllMin, $USER, $SpeedFactor); $UserDeuterium -= $consumption; if ($UserDeuterium < 0) { exit("613; " . $LNG['fa_not_enough_fuel'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } elseif ($consumption > parent::GetFleetRoom($FleetArray)) { exit("613; " . $LNG['fa_no_fleetroom'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } $fleet['fly_time'] = $Duration; $fleet['start_time'] = $Duration + TIMESTAMP; $fleet['end_time'] = $Duration * 2 + TIMESTAMP; $FleetShipCount = 0; $FleetDBArray = ""; $FleetSubQRY = ""; foreach ($FleetArray as $Ship => $Count) { $FleetShipCount += $Count; $FleetDBArray .= $Ship . "," . $Count . ";"; $FleetSubQRY .= "`" . $resource[$Ship] . "` = `" . $resource[$Ship] . "` - " . $Count . " , "; } if (connection_aborted()) { exit; } $QryUpdate = "LOCK TABLE " . FLEETS . " WRITE, " . PLANETS . " WRITE;"; $QryUpdate .= "INSERT INTO " . FLEETS . " SET "; $QryUpdate .= "`fleet_owner` = '" . $USER['id'] . "', "; $QryUpdate .= "`fleet_mission` = '" . $mission . "', "; $QryUpdate .= "`fleet_amount` = '" . $FleetShipCount . "', "; $QryUpdate .= "`fleet_array` = '" . $FleetDBArray . "', "; $QryUpdate .= "`fleet_start_time` = '" . $fleet['start_time'] . "', "; $QryUpdate .= "`fleet_start_galaxy` = '" . $thisgalaxy . "', "; $QryUpdate .= "`fleet_start_system` = '" . $thissystem . "', "; $QryUpdate .= "`fleet_start_planet` = '" . $thisplanet . "', "; $QryUpdate .= "`fleet_start_type` = '" . $thisplanettype . "', "; $QryUpdate .= "`fleet_end_time` = '" . $fleet['end_time'] . "', "; $QryUpdate .= "`fleet_end_galaxy` = '" . $galaxy . "', "; $QryUpdate .= "`fleet_end_system` = '" . $system . "', "; $QryUpdate .= "`fleet_end_planet` = '" . $planet . "', "; $QryUpdate .= "`fleet_end_type` = '" . $planettype . "', "; $QryUpdate .= "`fleet_target_owner` = '" . $TargetRow['id_owner'] . "', "; $QryUpdate .= "`start_time` = '" . TIMESTAMP . "';"; $QryUpdate .= "UPDATE " . PLANETS . " SET "; $QryUpdate .= $FleetSubQRY; $QryUpdate .= "`deuterium` = '" . floattostring($UserDeuterium) . "' "; $QryUpdate .= "WHERE "; $QryUpdate .= "`id` = '" . $PLANET['id'] . "';"; $QryUpdate .= "UNLOCK TABLES;"; $db->multi_query($QryUpdate); $CurrentFlyingFleets++; $ResultMessage = "600; " . $LNG['fa_sending'] . " " . $FleetShipCount . " " . $LNG['tech'][$Ship] . " a " . $galaxy . ":" . $system . ":" . $planet . "...|"; $ResultMessage .= $CurrentFlyingFleets . " " . ($UserSpyProbes - $SpyProbes) . " " . ($UserRecycles - $Recycles) . " " . ($UserGRecycles - $GRecycles) . " " . $UserMissiles; die($ResultMessage); }