/** * MissionCaseTransport.php * * @version 1 * @copyright 2008 By Chlorel for XNova */ function MissionCaseTransport($FleetRow) { global $lang; $QryStartPlanet = "SELECT * FROM {{table}} "; $QryStartPlanet .= "WHERE "; $QryStartPlanet .= "`galaxy` = '" . $FleetRow['fleet_start_galaxy'] . "' AND "; $QryStartPlanet .= "`system` = '" . $FleetRow['fleet_start_system'] . "' AND "; $QryStartPlanet .= "`planet` = '" . $FleetRow['fleet_start_planet'] . "' AND "; $QryStartPlanet .= "`planet_type` = '" . $FleetRow['fleet_start_type'] . "';"; $StartPlanet = doquery($QryStartPlanet, 'planets', true); $StartName = $StartPlanet['name']; $StartOwner = $StartPlanet['id_owner']; $QryTargetPlanet = "SELECT * FROM {{table}} "; $QryTargetPlanet .= "WHERE "; $QryTargetPlanet .= "`galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND "; $QryTargetPlanet .= "`system` = '" . $FleetRow['fleet_end_system'] . "' AND "; $QryTargetPlanet .= "`planet` = '" . $FleetRow['fleet_end_planet'] . "' AND "; $QryTargetPlanet .= "`planet_type` = '" . $FleetRow['fleet_end_type'] . "';"; $TargetPlanet = doquery($QryTargetPlanet, 'planets', true); $TargetName = $TargetPlanet['name']; $TargetOwner = $TargetPlanet['id_owner']; if ($FleetRow['fleet_mess'] == 0) { if ($FleetRow['fleet_start_time'] < time()) { StoreGoodsToPlanet($FleetRow, false); $Message = sprintf($lang['sys_tran_mess_owner'], $TargetName, GetTargetAdressLink($FleetRow, ''), $FleetRow['fleet_resource_metal'], $lang['Metal'], $FleetRow['fleet_resource_crystal'], $lang['Crystal'], $FleetRow['fleet_resource_deuterium'], $lang['Deuterium'], $FleetRow['fleet_resource_appolonium'], $lang['Appolonium']); SendSimpleMessage($StartOwner, '', $FleetRow['fleet_start_time'], 5, $lang['sys_mess_tower'], $lang['sys_mess_transport'], $Message); if ($TargetOwner != $StartOwner) { $Message = sprintf($lang['sys_tran_mess_user'], $StartName, GetStartAdressLink($FleetRow, ''), $TargetName, GetTargetAdressLink($FleetRow, ''), $FleetRow['fleet_resource_metal'], $lang['Metal'], $FleetRow['fleet_resource_crystal'], $lang['Crystal'], $FleetRow['fleet_resource_deuterium'], $lang['Deuterium'], $FleetRow['fleet_resource_appolonium'], $lang['Appolonium']); SendSimpleMessage($TargetOwner, '', $FleetRow['fleet_start_time'], 5, $lang['sys_mess_tower'], $lang['sys_mess_transport'], $Message); } $QryUpdateFleet = "UPDATE {{table}} SET "; $QryUpdateFleet .= "`fleet_resource_metal` = '0' , "; $QryUpdateFleet .= "`fleet_resource_crystal` = '0' , "; $QryUpdateFleet .= "`fleet_resource_deuterium` = '0' , "; $QryUpdateFleet .= "`fleet_resource_appolonium` = '0' , "; $QryUpdateFleet .= "`fleet_mess` = '1' "; $QryUpdateFleet .= "WHERE `fleet_id` = '" . $FleetRow['fleet_id'] . "' "; $QryUpdateFleet .= "LIMIT 1 ;"; doquery($QryUpdateFleet, 'fleets'); } } else { if ($FleetRow['fleet_end_time'] < time()) { $Message = sprintf($lang['sys_tran_mess_back'], $StartName, GetStartAdressLink($FleetRow, '')); SendSimpleMessage($StartOwner, '', $FleetRow['fleet_end_time'], 5, $lang['sys_mess_tower'], $lang['sys_mess_fleetback'], $Message); RestoreFleetToPlanet($FleetRow, true); //Piratenangriff nach Zufallsprinzip $zufall = 0; $zufall = rand(1, 10); if ($zufall == 7) { Piratenangriff($FleetRow); $zufall = 0; } // Ende Piratenangriff doquery("DELETE FROM {{table}} WHERE fleet_id=" . $FleetRow["fleet_id"], 'fleets'); } } }
function MissionCaseColonisation($FleetRow) { global $lang, $resource, $game_config; $iPlanetCount = mysql_result(doquery("SELECT count(*) FROM {{table}} WHERE `id_owner` = '" . $FleetRow['fleet_owner'] . "' AND `planet_type` = '1'", 'planets'), 0); if ($FleetRow['fleet_mess'] == 0) { // Déjà, sommes nous a l'aller ?? $iGalaxyPlace = mysql_result(doquery("SELECT count(*) FROM {{table}} WHERE `galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND `system` = '" . $FleetRow['fleet_end_system'] . "' AND `planet` = '" . $FleetRow['fleet_end_planet'] . "';", 'galaxy'), 0); $TargetAdress = sprintf($lang['sys_adress_planet'], $FleetRow['fleet_end_galaxy'], $FleetRow['fleet_end_system'], $FleetRow['fleet_end_planet']); if ($iGalaxyPlace == 0) { // Y a personne qui s'y est mis avant que je ne debarque ! if ($iPlanetCount >= $game_config['max_player_planets']) { $TheMessage = $lang['sys_colo_arrival'] . $TargetAdress . $lang['sys_colo_maxcolo'] . $game_config['max_player_planets'] . $lang['sys_colo_planet']; SendSimpleMessage($FleetRow['fleet_owner'], '', $FleetRow['fleet_start_time'], 0, $lang['sys_colo_mess_from'], $lang['sys_colo_mess_report'], $TheMessage); doquery("UPDATE {{table}} SET `fleet_mess` = '1' WHERE `fleet_id` = " . $FleetRow["fleet_id"], 'fleets'); } else { $NewOwnerPlanet = CreateOnePlanetRecord($FleetRow['fleet_end_galaxy'], $FleetRow['fleet_end_system'], $FleetRow['fleet_end_planet'], $FleetRow['fleet_owner'], $lang['sys_colo_defaultname'], false); if ($NewOwnerPlanet == true) { StoreGoodsToPlanet($FleetRow, false); $TheMessage = $lang['sys_colo_arrival'] . $TargetAdress . $lang['sys_colo_allisok']; SendSimpleMessage($FleetRow['fleet_owner'], '', $FleetRow['fleet_start_time'], 0, $lang['sys_colo_mess_from'], $lang['sys_colo_mess_report'], $TheMessage); // Verifier ce que contient fleet_array (et le cas et cheant retirer un element '208' if ($FleetRow['fleet_amount'] == 1) { doquery("DELETE FROM {{table}} WHERE fleet_id=" . $FleetRow["fleet_id"], 'fleets'); } else { $CurrentFleet = explode(";", $FleetRow['fleet_array']); $NewFleet = ""; foreach ($CurrentFleet as $Item => $Group) { if ($Group != '') { $Class = explode(",", $Group); if ($Class[0] == 208) { if ($Class[1] > 1) { $NewFleet .= $Class[0] . "," . ($Class[1] - 1) . ";"; } } else { if ($Class[1] != 0) { $NewFleet .= $Class[0] . "," . $Class[1] . ";"; } } } } $QryUpdateFleet = "UPDATE {{table}} SET "; $QryUpdateFleet .= "`fleet_resource_metal` = '0' , "; $QryUpdateFleet .= "`fleet_resource_crystal` = '0' , "; $QryUpdateFleet .= "`fleet_resource_deuterium` = '0' , "; $QryUpdateFleet .= "`fleet_array` = '" . $NewFleet . "', "; $QryUpdateFleet .= "`fleet_amount` = `fleet_amount` - 1, "; $QryUpdateFleet .= "`fleet_mess` = '1' "; $QryUpdateFleet .= "WHERE `fleet_id` = '" . $FleetRow["fleet_id"] . "';"; doquery($QryUpdateFleet, 'fleets'); } } else { $TheMessage = $lang['sys_colo_arrival'] . $TargetAdress . $lang['sys_colo_badpos']; SendSimpleMessage($FleetRow['fleet_owner'], '', $FleetRow['fleet_start_time'], 0, $lang['sys_colo_mess_from'], $lang['sys_colo_mess_report'], $TheMessage); doquery("UPDATE {{table}} SET `fleet_mess` = '1' WHERE `fleet_id` = " . $FleetRow["fleet_id"], 'fleets'); } } } else { // Pas de bol coiffé sur le poteau ! $TheMessage = $lang['sys_colo_arrival'] . $TargetAdress . $lang['sys_colo_notfree']; SendSimpleMessage($FleetRow['fleet_owner'], '', $FleetRow['fleet_end_time'], 0, $lang['sys_colo_mess_from'], $lang['sys_colo_mess_report'], $TheMessage); // Mettre a jour la flotte pour qu'effectivement elle revienne ! doquery("UPDATE {{table}} SET `fleet_mess` = '1' WHERE `fleet_id` = " . $FleetRow["fleet_id"], 'fleets'); } } else { // Retour de flotte RestoreFleetToPlanet($FleetRow, true); doquery("DELETE FROM {{table}} WHERE fleet_id=" . $FleetRow["fleet_id"], 'fleets'); } }