Пример #1
0
function tpl_parse_fleet_db($fleet, $index, $user_data = false)
{
    global $lang, $time_now, $user, $sn_data;
    if (!$user_data) {
        $user_data = $user;
    }
    if ($fleet['fleet_mess'] == 0 && $fleet['fleet_mission'] == 2) {
        $aks = doquery("SELECT * FROM {{aks}} WHERE id={$fleet['fleet_group']} LIMIT 1;", '', true);
    }
    $spy_level = $user['id'] == $fleet['fleet_owner'] ? 100 : $user[$sn_data[TECH_SPY]['name']] + $user[$sn_data[MRC_SPY]['name']];
    $return['fleet'] = array('NUMBER' => $index, 'ID' => $fleet['fleet_id'], 'OWNER' => $fleet['fleet_owner'], 'TARGET_OWNER' => $fleet['fleet_target_owner'], 'MESSAGE' => $fleet['fleet_mess'], 'MISSION' => $fleet['fleet_mission'], 'MISSION_NAME' => $lang['type_mission'][$fleet['fleet_mission']], 'ACS' => $aks['name'], 'AMOUNT' => $spy_level >= 4 ? pretty_number($fleet['fleet_amount']) . ($fleet['fleet_resource_metal'] + $fleet['fleet_resource_crystal'] + $fleet['fleet_resource_deuterium'] ? '+' : '') : '?', 'METAL' => $spy_level >= 8 ? $fleet['fleet_resource_metal'] : 0, 'CRYSTAL' => $spy_level >= 8 ? $fleet['fleet_resource_crystal'] : 0, 'DEUTERIUM' => $spy_level >= 8 ? $fleet['fleet_resource_deuterium'] : 0, 'START_TYPE_TEXT_SH' => $lang['sys_planet_type_sh'][$fleet['fleet_start_type']], 'START_COORDS' => "[{$fleet['fleet_start_galaxy']}:{$fleet['fleet_start_system']}:{$fleet['fleet_start_planet']}]", 'START_TIME_TEXT' => date(FMT_DATE_TIME, $fleet['fleet_end_time']), 'START_LEFT' => floor($fleet['fleet_end_time'] + 1 - $time_now), 'START_URL' => uni_render_coordinates_href($fleet, 'fleet_start_', 3), 'START_NAME' => $fleet['fleet_start_name'], 'END_TYPE_TEXT_SH' => $lang['sys_planet_type_sh'][$fleet['fleet_end_type']], 'END_COORDS' => "[{$fleet['fleet_end_galaxy']}:{$fleet['fleet_end_system']}:{$fleet['fleet_end_planet']}]", 'END_TIME_TEXT' => date(FMT_DATE_TIME, $fleet['fleet_start_time']), 'END_LEFT' => floor($fleet['fleet_start_time'] + 1 - $time_now), 'END_URL' => uni_render_coordinates_href($fleet, 'fleet_end_', 3), 'END_NAME' => $fleet['fleet_end_name'], 'STAY_TIME' => date(FMT_DATE_TIME, $fleet['fleet_end_stay']), 'STAY_LEFT' => floor($fleet['fleet_end_stay'] + 1 - $time_now), 'OV_LABEL' => $fleet['ov_label'], 'OV_TIME_TEXT' => date(FMT_DATE_TIME, $fleet['ov_time']), 'OV_LEFT' => floor($fleet['ov_time'] + 1 - $time_now), 'OV_THIS_PLANET' => $fleet['ov_this_planet']);
    $ship_list = explode(';', $fleet['fleet_array']);
    if ($spy_level >= 6) {
        foreach ($ship_list as $ship_record) {
            if ($ship_record) {
                $ship_data = explode(',', $ship_record);
                if ($spy_level >= 10) {
                    $return['ships'][$ship_data[0]] = array('ID' => $ship_data[0], 'NAME' => $lang['tech'][$ship_data[0]], 'AMOUNT' => $ship_data[1], 'CONSUMPTION' => GetShipConsumption($ship_data[0], $user_data), 'SPEED' => get_ship_speed($ship_data[0], $user_data), 'CAPACITY' => $sn_data[$ship_data[0]]['capacity']);
                } else {
                    $return['ships'][$ship_data[0]] = array('ID' => $ship_id++, 'NAME' => $lang['tech'][SHIP_FLEET], 'AMOUNT' => $ship_data[1], 'CONSUMPTION' => 0, 'SPEED' => 0, 'CAPACITY' => 0);
                }
            }
        }
    }
    return $return;
}
Пример #2
0
function GetFleetConsumption($FleetArray, $SpeedFactor, $MissionDuration, $MissionDistance, $FleetMaxSpeed, $Player)
{
    $consumption = 0;
    $basicConsumption = 0;
    foreach ($FleetArray as $Ship => $Count) {
        if ($Ship > 0) {
            $ShipSpeed = GetFleetMaxSpeed("", $Ship, $Player);
            $ShipConsumption = GetShipConsumption($Ship, $Player);
            $spd = 35000 / ($MissionDuration * $SpeedFactor - 10) * sqrt($MissionDistance * 10 / $ShipSpeed);
            $basicConsumption = $ShipConsumption * $Count;
            $consumption += $basicConsumption * $MissionDistance / 35000 * ($spd / 10 + 1) * ($spd / 10 + 1);
        }
    }
    $consumption = round($consumption) + 1;
    return $consumption;
}
Пример #3
0
$page .= "<input type=\"hidden\" name=\"system\"         value=\"" . $_POST["system"] . "\" />\n";
$page .= "<input type=\"hidden\" name=\"planet\"         value=\"" . $_POST["planet"] . "\" />\n";
$page .= "<input type=\"hidden\" name=\"thisplanettype\" value=\"" . $_POST["thisplanettype"] . "\" />\n";
$page .= "<input type=\"hidden\" name=\"planettype\"     value=\"" . $_POST["planettype"] . "\" />\n";
$page .= "<input type=\"hidden\" name=\"speedallsmin\"   value=\"" . $_POST["speedallsmin"] . "\" />\n";
$page .= "<input type=\"hidden\" name=\"speed\"          value=\"" . $_POST['speed'] . "\" />\n";
$page .= "<input type=\"hidden\" name=\"speedfactor\"    value=\"" . $_POST["speedfactor"] . "\" />\n";
$page .= "<input type=\"hidden\" name=\"usedfleet\"      value=\"" . $_POST["usedfleet"] . "\" />\n";
$page .= "<input type=\"hidden\" name=\"maxepedition\"   value=\"" . $_POST['maxepedition'] . "\" />\n";
$page .= "<input type=\"hidden\" name=\"curepedition\"   value=\"" . $_POST['curepedition'] . "\" />\n";
$page .= "<input type=\"hidden\" name=\"fleet_group\"    value=\"" . $_POST['fleet_group'] . "\" />\n";
$page .= "<input type=\"hidden\" name=\"acs_target_mr\"  value=\"" . $_POST['acs_target_mr'] . "\" />\n";
foreach ($fleetarray as $Ship => $Count) {
    $page .= "<input type=\"hidden\" name=\"ship" . $Ship . "\"        value=\"" . $Count . "\" />\n";
    $page .= "<input type=\"hidden\" name=\"capacity" . $Ship . "\"    value=\"" . $pricelist[$Ship]['capacity'] . "\" />\n";
    $page .= "<input type=\"hidden\" name=\"consumption" . $Ship . "\" value=\"" . GetShipConsumption($Ship, $user) . "\" />\n";
    $page .= "<input type=\"hidden\" name=\"speed" . $Ship . "\"       value=\"" . GetFleetMaxSpeed("", $Ship, $user) . "\" />\n";
}
$page .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"1\" width=\"519\">\n";
$page .= "<tbody>\n";
$page .= "<tr align=\"left\" height=\"20\">\n";
$page .= "<td class=\"c\" colspan=\"2\">" . $TableTitle . "</td>\n";
$page .= "</tr>\n";
$page .= "<tr align=\"left\" valign=\"top\">\n";
$page .= "<th width=\"50%\">\n";
$page .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"259\">\n";
$page .= "<tbody>\n";
$page .= "<tr height=\"20\">\n";
$page .= "<td class=\"c\" colspan=\"2\">" . $lang['fl_mission'] . "</td>\n";
$page .= "</tr>\n";
$page .= $MissionSelector;
Пример #4
0
function ShowFleet1Page($CurrentUser, $CurrentPlanet)
{
    global $resource, $pricelist, $reslist, $phpEx, $lang;
    $parse = $lang;
    $speed = array(10 => 100, 9 => 90, 8 => 80, 7 => 70, 6 => 60, 5 => 50, 4 => 40, 3 => 30, 2 => 20, 1 => 10);
    $g = $_POST['galaxy'];
    $s = $_POST['system'];
    $p = $_POST['planet'];
    $t = $_POST['planet_type'];
    if (!$g) {
        $g = $CurrentPlanet['galaxy'];
    }
    if (!$s) {
        $s = $CurrentPlanet['system'];
    }
    if (!$p) {
        $p = $CurrentPlanet['planet'];
    }
    if (!$t) {
        $t = $CurrentPlanet['planet_type'];
    }
    $FleetHiddenBlock = "";
    foreach ($reslist['fleet'] as $n => $i) {
        if ($i > 201 && $i < 217 && $_POST["ship{$i}"] > "0") {
            if ($_POST["ship{$i}"] > $CurrentPlanet[$resource[$i]] or !ctype_digit($_POST["ship{$i}"])) {
                header("location:game.php?page=fleet");
            } else {
                $fleet['fleetarray'][$i] = $_POST["ship{$i}"];
                $fleet['fleetlist'] .= $i . "," . $_POST["ship{$i}"] . ";";
                $fleet['amount'] += $_POST["ship{$i}"];
                $FleetHiddenBlock .= "<input type=\"hidden\" name=\"consumption" . $i . "\" value=\"" . GetShipConsumption($i, $CurrentUser) . "\" />";
                $FleetHiddenBlock .= "<input type=\"hidden\" name=\"speed" . $i . "\"       value=\"" . GetFleetMaxSpeed("", $i, $CurrentUser) . "\" />";
                $FleetHiddenBlock .= "<input type=\"hidden\" name=\"capacity" . $i . "\"    value=\"" . $pricelist[$i]['capacity'] . "\" />";
                $FleetHiddenBlock .= "<input type=\"hidden\" name=\"ship" . $i . "\"        value=\"" . $_POST["ship{$i}"] . "\" />";
                $speedalls[$i] = GetFleetMaxSpeed("", $i, $CurrentUser);
            }
        }
    }
    if (!$fleet['fleetlist']) {
        header("location:game." . $phpEx . "?page=fleet");
    } else {
        $speedallsmin = min($speedalls);
    }
    $parse['fleetblock'] = $FleetHiddenBlock;
    $parse['speedallsmin'] = $speedallsmin;
    $parse['fleetarray'] = str_rot13(base64_encode(serialize($fleet['fleetarray'])));
    $parse['galaxy'] = $CurrentPlanet['galaxy'];
    $parse['system'] = $CurrentPlanet['system'];
    $parse['planet'] = $CurrentPlanet['planet'];
    $parse['galaxy_post'] = intval($_POST['galaxy']);
    $parse['system_post'] = intval($_POST['system']);
    $parse['planet_post'] = intval($_POST['planet']);
    $parse['speedfactor'] = GetGameSpeedFactor();
    $parse['planet_type'] = $CurrentPlanet['planet_type'];
    $parse['metal'] = floor($CurrentPlanet['metal']);
    $parse['crystal'] = floor($CurrentPlanet['crystal']);
    $parse['deuterium'] = floor($CurrentPlanet['deuterium']);
    $parse['g'] = $g;
    $parse['s'] = $s;
    $parse['p'] = $p;
    $parse['options_planettype'] .= "<option value=\"1\"" . ($t == 1 ? " SELECTED" : "") . ">" . $lang['fl_planet'] . "</option>";
    $parse['options_planettype'] .= "<option value=\"2\"" . ($t == 2 ? " SELECTED" : "") . ">" . $lang['fl_debris'] . "</option>";
    $parse['options_planettype'] .= "<option value=\"3\"" . ($t == 3 ? " SELECTED" : "") . ">" . $lang['fl_moon'] . "</option>";
    foreach ($speed as $a => $b) {
        $parse['options'] .= "<option value=\"" . $a . "\">" . $b . "</option>";
    }
    if ($CurrentUser['fleet_shortcut']) {
        $scarray = explode("\r\n", $CurrentUser['fleet_shortcut']);
        $i = 0;
        foreach ($scarray as $a => $b) {
            if ($b != "") {
                $c = explode(',', $b);
                if ($i == 0) {
                    $ShortCut .= "<tr height=\"20\">";
                }
                $ShortCut .= "<th><a href=\"javascript:setTarget(" . $c[1] . "," . $c[2] . "," . $c[3] . "," . $c[4] . "); shortInfo();\"";
                $ShortCut .= ">" . $c[0] . " " . $c[1] . ":" . $c[2] . ":" . $c[3] . " ";
                if ($c[4] == 1) {
                    $ShortCut .= $lang['fl_planet_shortcut'];
                } elseif ($c[4] == 2) {
                    $ShortCut .= $lang['fl_debris_shortcut'];
                } elseif ($c[4] == 3) {
                    $ShortCut .= $lang['fl_moon_shortcut'];
                }
                $ShortCut .= "</a></th>";
                if ($i == 1) {
                    $ShortCut .= "</tr>";
                }
                if ($i == 1) {
                    $i = 0;
                } else {
                    $i = 1;
                }
            }
        }
        if ($i == 1) {
            $ShortCut .= "<th></th></tr>";
        }
    } else {
        $ShortCut .= "<tr height=\"20\">";
        $ShortCut .= "<th colspan=\"2\">" . $lang['fl_no_shortcuts'] . "</th>";
        $ShortCut .= "</tr>";
    }
    $parse['shortcut'] = $ShortCut;
    $kolonien = SortUserPlanets($CurrentUser);
    if (mysql_num_rows($kolonien) > 1) {
        $i = 0;
        $w = 0;
        $tr = true;
        while ($row = mysql_fetch_array($kolonien)) {
            if ($w == 0 && $tr) {
                $ColonyList .= "<tr height=\"20\">";
                $tr = false;
            }
            if ($w == 2) {
                $ColonyList .= "</tr>";
                $w = 0;
                $tr = true;
            }
            if ($row['planet_type'] == 3) {
                $row['name'] .= " " . $lang['fl_moon_shortcut'];
            }
            if ($CurrentPlanet['galaxy'] == $row['galaxy'] && $CurrentPlanet['system'] == $row['system'] && $CurrentPlanet['planet'] == $row['planet'] && $CurrentPlanet['planet_type'] == $row['planet_type']) {
                /* HERE NOTHING HAPPENS.. =p*/
            } else {
                $ColonyList .= "<th><a href=\"javascript:setTarget(" . $row['galaxy'] . "," . $row['system'] . "," . $row['planet'] . "," . $row['planet_type'] . "); shortInfo();\">" . $row['name'] . " " . $row['galaxy'] . ":" . $row['system'] . ":" . $row['planet'] . "</a></th>";
                $w++;
                $i++;
            }
        }
        if ($i % 2 != 0) {
            $ColonyList .= "<th>&nbsp;</th></tr>";
        } elseif ($w == 2) {
            $ColonyList .= "</tr>";
        }
    } else {
        $ColonyList .= "<th colspan=\"2\">" . $lang['fl_no_colony'] . "</th>";
    }
    $parse['colonylist'] = $ColonyList;
    $aks_madnessred = doquery("SELECT * FROM {{table}} ;", 'aks');
    $aks_code_mr = '';
    $aks_invited_mr = '';
    while ($row = mysql_fetch_array($aks_madnessred)) {
        $members = explode(",", $row['eingeladen']);
        foreach ($members as $a => $b) {
            if ($b == $CurrentUser['id']) {
                $aks_fleets_mr .= "<tr height=\"20\">";
                $aks_fleets_mr .= "<th colspan=\"2\">";
                $aks_fleets_mr .= "<a href=\"javascript:";
                $aks_fleets_mr .= "setTarget(" . $row['galaxy'] . "," . $row['system'] . "," . $row['planet'] . "); ";
                $aks_fleets_mr .= "shortInfo(); ";
                $aks_fleets_mr .= "setACS(" . $row['id'] . "); ";
                $aks_fleets_mr .= "setACS_target('" . "g" . $row['galaxy'] . "s" . $row['system'] . "p" . $row['planet'] . "t" . $row['planet_type'] . "');";
                $aks_fleets_mr .= "\">";
                $aks_fleets_mr .= "(" . $row['name'] . ")";
                $aks_fleets_mr .= "</a>";
                $aks_fleets_mr .= "</th>";
                $aks_fleets_mr .= "</tr>";
            }
        }
    }
    $parse['asc'] = $aks_fleets_mr;
    $parse['maxepedition'] = $_POST['maxepedition'];
    $parse['curepedition'] = $_POST['curepedition'];
    $parse['target_mission'] = $_POST['target_mission'];
    display(parsetemplate(gettemplate('fleet/fleet1_table'), $parse));
}
Пример #5
0
                $QryUpdateUser .= "WHERE ";
                $QryUpdateUser .= "`username` = \"" . $user['username'] . "\";";
                doquery($QryUpdateUser, 'users');
                message($lang['FLOTEN1_BANNED'], $lang['FLOTEN1_BANNED_TITLE']);
            }
            if ($_POST["ship{$i}"] > $planetrow[$resource[$i]]) {
                $page .= $lang['fl_noenought'];
                $speedalls[$i] = GetFleetMaxSpeed("", $i, $user);
            } else {
                $fleet['fleetarray'][$i] = $_POST["ship{$i}"];
                // Tableau des vaisseaux avec leur nombre
                $fleet['fleetlist'] .= $i . "," . $_POST["ship{$i}"] . ";";
                // Nombre total de vaisseaux
                $fleet['amount'] += $_POST["ship{$i}"];
                // Tableau des vitesses
                $FleetHiddenBlock .= "<input type=\"hidden\" name=\"consumption" . $i . "\" value=\"" . GetShipConsumption($i, $user) . "\" />";
                $FleetHiddenBlock .= "<input type=\"hidden\" name=\"speed" . $i . "\"       value=\"" . GetFleetMaxSpeed("", $i, $user) . "\" />";
                $FleetHiddenBlock .= "<input type=\"hidden\" name=\"capacity" . $i . "\"    value=\"" . $pricelist[$i]['capacity'] . "\" />";
                $FleetHiddenBlock .= "<input type=\"hidden\" name=\"ship" . $i . "\"        value=\"" . $_POST["ship{$i}"] . "\" />";
                $speedalls[$i] = GetFleetMaxSpeed("", $i, $user);
            }
        }
    }
}
if (!$fleet['fleetlist']) {
    message($lang['fl_unselectall'], $lang['fl_error'], "fleet." . $phpEx, 1);
} else {
    $speedallsmin = min($speedalls);
}
$page .= "<script type=\"text/javascript\" src=\"scripts/flotten.js\"></script>";
$page .= "<script type=\"text/javascript\">\n";
Пример #6
0
    message($lang['fl_noplanetrow'], $lang['fl_error']);
}
// Prise des coordonnées sur la ligne de commande
$galaxy = intval($_GET['galaxy']);
$system = intval($_GET['system']);
$planet = intval($_GET['planet']);
$planettype = intval($_GET['planettype']);
$target_mission = intval($_GET['target_mission']);
$ShipData = "";
foreach ($reslist['fleet'] as $n => $i) {
    if ($planetrow[$resource[$i]] > 0) {
        $page .= "<tr height=\"20\">";
        $page .= "<th><a title=\"" . $lang['fl_fleetspeed'] . $CurrentShipSpeed . "\">" . $lang['tech'][$i] . "</a></th>";
        $page .= "<th>" . pretty_number($planetrow[$resource[$i]]);
        $ShipData .= "<input type=\"hidden\" name=\"maxship" . $i . "\" value=\"" . $planetrow[$resource[$i]] . "\" />";
        $ShipData .= "<input type=\"hidden\" name=\"consumption" . $i . "\" value=\"" . GetShipConsumption($i, $user) . "\" />";
        $ShipData .= "<input type=\"hidden\" name=\"speed" . $i . "\" value=\"" . GetFleetMaxSpeed("", $i, $user) . "\" />";
        $ShipData .= "<input type=\"hidden\" name=\"capacity" . $i . "\" value=\"" . $pricelist[$i]['capacity'] . "\" />";
        $page .= "</th>";
        // Satelitte Solaire (eux ne peuvent pas bouger !)
        if ($i == 212) {
            $page .= "<th></th><th></th>";
        } else {
            $page .= "<th><a href=\"javascript:maxShip('ship" . $i . "'); shortInfo();\">" . $lang['fl_selmax'] . "</a> </th>";
            $page .= "<th><input name=\"ship" . $i . "\" size=\"10\" value=\"0\" onfocus=\"javascript:if(this.value == '0') this.value='';\" onblur=\"javascript:if(this.value == '') this.value='0';\" alt=\"" . $lang['tech'][$i] . $planetrow[$resource[$i]] . "\" onChange=\"shortInfo()\" onKeyUp=\"shortInfo()\" /></th>";
        }
        $page .= "</tr>";
    }
    $have_ships = true;
}
$btncontinue = "<tr height=\"20\"><th colspan=\"4\"><input type=\"submit\" value=\" " . $lang['fl_continue'] . " \" /></th>";
Пример #7
0
function ShowFleet2Page($CurrentUser, $CurrentPlanet)
{
    global $resource, $pricelist, $reslist, $phpEx, $lang, $db, $displays;
    //$parse			= $lang;
    $displays->assignContent('fleet/fleet2_table');
    $galaxy = intval($_POST['galaxy']);
    $system = intval($_POST['system']);
    $planet = intval($_POST['planet']);
    $planettype = intval($_POST['planettype']);
    $fleet_group_mr = intval($_POST['fleet_group']);
    //print_r($_POST);
    $YourPlanet = false;
    $UsedPlanet = false;
    $select = $db->query("SELECT `id_owner`,`galaxy`,`system`,`planet`,`planet_type` FROM `{{table}}`", "planets");
    while ($row = mysql_fetch_array($select)) {
        if ($galaxy == $row['galaxy'] && $system == $row['system'] && $planet == $row['planet'] && $planettype == $row['planet_type']) {
            if ($row['id_owner'] == $CurrentUser['id']) {
                $YourPlanet = true;
                $UsedPlanet = true;
            } else {
                $UsedPlanet = true;
            }
            break;
        }
    }
    if ($_POST['planettype'] == 2) {
        if ($_POST['ship209'] >= 1) {
            $missiontype = array(8 => $lang['type_mission'][8]);
        } else {
            $missiontype = array();
        }
    } elseif ($_POST['planettype'] == 1 or $_POST['planettype'] == 3) {
        if ($_POST['ship208'] >= 1 && !$UsedPlanet) {
            $missiontype = array(7 => $lang['type_mission'][7]);
        } elseif ($_POST['ship210'] >= 1 && !$YourPlanet) {
            $missiontype = array(6 => $lang['type_mission'][6]);
        }
        if ($_POST['ship202'] >= 1 || $_POST['ship203'] >= 1 || $_POST['ship204'] >= 1 || $_POST['ship205'] >= 1 || $_POST['ship206'] >= 1 || $_POST['ship207'] >= 1 || $_POST['ship210'] >= 1 || $_POST['ship211'] >= 1 || $_POST['ship213'] >= 1 || $_POST['ship214'] >= 1 || $_POST['ship215'] >= 1 || $_POST['ship216'] >= 1 || $_POST['ship217'] >= 1 || $_POST['ship218'] >= 1 || $_POST['ship219'] >= 1 || $_POST['ship220'] >= 1 || $_POST['ship221'] >= 1 || $_POST['ship222'] >= 1 || $_POST['ship223'] >= 1 || $_POST['ship224'] >= 1 || $_POST['ship225'] >= 1 || $_POST['ship226'] >= 1) {
            if (!$YourPlanet) {
                $missiontype[1] = $lang['type_mission'][1];
            }
            $missiontype[3] = $lang['type_mission'][3];
            $missiontype[5] = $lang['type_mission'][5];
        }
    } elseif ($_POST['ship209'] >= 1 || $_POST['ship208']) {
        $missiontype[3] = $lang['type_mission'][3];
    }
    if ($YourPlanet) {
        $missiontype[4] = $lang['type_mission'][4];
    }
    if (($_POST['planettype'] == 3 || $_POST['planettype'] == 1) && $fleet_group_mr > 0 && $UsedPlanet) {
        $missiontype[2] = $lang['type_mission'][2];
    }
    if ($_POST['planettype'] == 3 && $_POST['ship214'] >= 1 && !$YourPlanet && $UsedPlanet && $CurrentUser['rpg_empereur'] == 1) {
        $missiontype[9] = $lang['type_mission'][9];
    }
    $fleetarray = unserialize(base64_decode(str_rot13($_POST["usedfleet"])));
    $mission = $_POST['target_mission'];
    $SpeedFactor = $_POST['speedfactor'];
    $AllFleetSpeed = GetFleetMaxSpeed($fleetarray, 0, $CurrentUser);
    $GenFleetSpeed = $_POST['speed'];
    $MaxFleetSpeed = min($AllFleetSpeed);
    $distance = GetTargetDistance($_POST['thisgalaxy'], $_POST['galaxy'], $_POST['thissystem'], $_POST['system'], $_POST['thisplanet'], $_POST['planet']);
    $duration = GetMissionDuration($GenFleetSpeed, $MaxFleetSpeed, $distance, $SpeedFactor);
    $consumption = GetFleetConsumption($fleetarray, $SpeedFactor, $duration, $distance, $MaxFleetSpeed, $CurrentUser);
    $MissionSelector = "";
    if (count($missiontype) > 0) {
        if ($planet == 16) {
            $MissionSelector .= "<tr height=\"20\">";
            $MissionSelector .= "<th>";
            $MissionSelector .= "<input type=\"radio\" name=\"mission\" value=\"15\" checked=\"checked\">" . $lang['type_mission'][15] . "<br /><br />";
            $MissionSelector .= "<font color=\"red\">" . $lang['fl_expedition_alert_message'] . "</font>";
            $MissionSelector .= "</th>";
            $MissionSelector .= "</tr>";
        } else {
            $i = 0;
            foreach ($missiontype as $a => $b) {
                $MissionSelector .= "<tr height=\"20\">";
                $MissionSelector .= "<th>";
                $MissionSelector .= "<input id=\"inpuT_" . $i . "\" type=\"radio\" name=\"mission\" value=\"" . $a . "\"" . ($mission == $a ? " checked=\"checked\"" : "") . ">";
                $MissionSelector .= "<label for=\"inpuT_" . $i . "\">" . $b . "</label><br>";
                $MissionSelector .= "</th>";
                $MissionSelector .= "</tr>";
                $i++;
            }
        }
    } else {
        header("location:game.php?page=fleet");
    }
    if ($_POST['thisplanettype'] == 1) {
        $parse['title'] = "" . $_POST['thisgalaxy'] . ":" . $_POST['thissystem'] . ":" . $_POST['thisplanet'] . " - " . $lang['fl_planet'] . "";
    } elseif ($_POST['thisplanettype'] == 3) {
        $parse['title'] = "" . $_POST['thisgalaxy'] . ":" . $_POST['thissystem'] . ":" . $_POST['thisplanet'] . " - " . $lang['fl_moon'] . "";
    }
    $parse['metal_fleet'] = floor($CurrentPlanet["metal"]);
    $parse['crystal_fleet'] = floor($CurrentPlanet["crystal"]);
    $parse['deuterium_fleet'] = floor($CurrentPlanet["deuterium"]);
    $parse['consumption'] = $consumption;
    $parse['distance'] = $distance;
    $parse['speedfactor_fleet'] = $_POST['speedfactor'];
    $parse['thisgalaxy_fleet'] = $_POST["thisgalaxy"];
    $parse['thissystem_fleet'] = $_POST["thissystem"];
    $parse['thisplanet_fleet'] = $_POST["thisplanet"];
    $parse['galaxy_fleet'] = $_POST["galaxy"];
    $parse['system_fleet'] = $_POST["system"];
    $parse['planet_fleet'] = $_POST["planet"];
    $parse['thisplanettype_fleet'] = $_POST["thisplanettype"];
    $parse['planettype_fleet'] = $_POST["planettype"];
    $parse['speedallsmin_fleet'] = $_POST["speedallsmin"];
    $parse['speed_fleet'] = $_POST['speed'];
    $parse['speedfactor_fleet'] = $_POST["speedfactor"];
    $parse['usedfleet_fleet'] = $_POST["usedfleet"];
    $parse['maxepedition_fleet'] = $_POST['maxepedition'];
    $parse['curepedition_fleet'] = $_POST['curepedition'];
    $parse['fleet_group_fleet'] = $_POST['fleet_group'];
    $parse['acs_target_mr_fleet'] = $_POST['acs_target_mr'];
    foreach ($fleetarray as $Ship => $Count) {
        $input_extra .= "<input type=\"hidden\" name=\"ship" . $Ship . "\"        value=\"" . $Count . "\" />\n";
        $input_extra .= "<input type=\"hidden\" name=\"capacity" . $Ship . "\"    value=\"" . $pricelist[$Ship]['capacity'] . "\" />\n";
        $input_extra .= "<input type=\"hidden\" name=\"consumption" . $Ship . "\" value=\"" . GetShipConsumption($Ship, $CurrentUser) . "\" />\n";
        $input_extra .= "<input type=\"hidden\" name=\"speed" . $Ship . "\"       value=\"" . GetFleetMaxSpeed("", $Ship, $CurrentUser) . "\" />\n";
    }
    $parse['input_extra'] = $input_extra;
    $parse['missionselector'] = $MissionSelector;
    if ($planet == 16) {
        $StayBlock .= "<tr height=\"20\">";
        $StayBlock .= "<td class=\"c\" colspan=\"3\">" . $lang['fl_hold_time'] . "</td>";
        $StayBlock .= "</tr>";
        $StayBlock .= "<tr height=\"20\">";
        $StayBlock .= "<th colspan=\"3\">";
        $StayBlock .= "<select name=\"expeditiontime\" >";
        $StayBlock .= "<option value=\"1\">1</option>";
        $StayBlock .= "<option value=\"2\">2</option>";
        $StayBlock .= "</select>";
        $StayBlock .= "hora(s)";
        $StayBlock .= "</th>";
        $StayBlock .= "</tr>";
    } elseif ($missiontype[5] != '') {
        $StayBlock .= "<tr height=\"20\">";
        $StayBlock .= "<td class=\"c\" colspan=\"3\">" . $lang['fl_hold_time'] . "</td>";
        $StayBlock .= "</tr>";
        $StayBlock .= "<tr height=\"20\">";
        $StayBlock .= "<th colspan=\"3\">";
        $StayBlock .= "<select name=\"holdingtime\" >";
        $StayBlock .= "<option value=\"0\">0</option>";
        $StayBlock .= "<option value=\"1\">1</option>";
        $StayBlock .= "<option value=\"2\">2</option>";
        $StayBlock .= "<option value=\"4\">4</option>";
        $StayBlock .= "<option value=\"8\">8</option>";
        $StayBlock .= "<option value=\"16\">16</option>";
        $StayBlock .= "<option value=\"32\">32</option>";
        $StayBlock .= "</select>";
        $StayBlock .= "hora(s)";
        $StayBlock .= "</th>";
        $StayBlock .= "</tr>";
    }
    $parse['stayblock'] = $StayBlock;
    foreach ($parse as $key => $value) {
        $displays->assign($key, $value);
    }
    $displays->display();
}
Пример #8
0
function ShowFleetPage($CurrentUser, $CurrentPlanet)
{
    global $lang, $reslist, $resource;
    $parse = $lang;
    $maxfleet = doquery("SELECT COUNT(fleet_owner) AS `actcnt` FROM {{table}} WHERE `fleet_owner` = '" . intval($CurrentUser['id']) . "';", 'fleets', true);
    $MaxFlyingFleets = $maxfleet['actcnt'];
    $MaxExpedition = $CurrentUser[$resource[124]];
    if ($MaxExpedition >= 1) {
        $maxexpde = doquery("SELECT COUNT(fleet_owner) AS `expedi` FROM {{table}} WHERE `fleet_owner` = '" . intval($CurrentUser['id']) . "' AND `fleet_mission` = '15';", 'fleets', true);
        $ExpeditionEnCours = $maxexpde['expedi'];
        $EnvoiMaxExpedition = 1 + floor($MaxExpedition / 3);
    } else {
        $ExpeditionEnCours = 0;
        $EnvoiMaxExpedition = 0;
    }
    $MaxFlottes = 1 + $CurrentUser[$resource[108]] + $CurrentUser['rpg_commandant'] * COMMANDANT;
    $missiontype = array(1 => $lang['type_mission'][1], 2 => $lang['type_mission'][2], 3 => $lang['type_mission'][3], 4 => $lang['type_mission'][4], 5 => $lang['type_mission'][5], 6 => $lang['type_mission'][6], 7 => $lang['type_mission'][7], 8 => $lang['type_mission'][8], 9 => $lang['type_mission'][9], 15 => $lang['type_mission'][15]);
    $galaxy = intval($_GET['galaxy']);
    $system = intval($_GET['system']);
    $planet = intval($_GET['planet']);
    $planettype = intval($_GET['planettype']);
    $target_mission = intval($_GET['target_mission']);
    $ShipData = "";
    if (!$galaxy) {
        $galaxy = $CurrentPlanet['galaxy'];
    }
    if (!$system) {
        $system = $CurrentPlanet['system'];
    }
    if (!$planet) {
        $planet = $CurrentPlanet['planet'];
    }
    if (!$planettype) {
        $planettype = $CurrentPlanet['planet_type'];
    }
    $parse['flyingfleets'] = $MaxFlyingFleets;
    $parse['maxfleets'] = $MaxFlottes;
    $parse['currentexpeditions'] = $ExpeditionEnCours;
    $parse['maxexpeditions'] = $EnvoiMaxExpedition;
    $fq = doquery("SELECT * FROM {{table}} WHERE fleet_owner='" . intval($CurrentUser['id']) . "' AND fleet_mission <> 10", "fleets");
    $i = 0;
    while ($f = mysql_fetch_array($fq)) {
        $i++;
        $FleetPageRow .= "<tr height=20>";
        $FleetPageRow .= "<th>" . $i . "</th>";
        $FleetPageRow .= "<th>";
        $FleetPageRow .= "<a>" . $missiontype[$f['fleet_mission']] . "</a>";
        if ($f['fleet_start_time'] + 1 == $f['fleet_end_time']) {
            $FleetPageRow .= "<br><a title=\"" . $lang['fl_returning'] . "\">" . $lang['fl_r'] . "</a>";
        } else {
            $FleetPageRow .= "<br><a title=\"" . $lang['fl_onway'] . "\">" . $lang['fl_a'] . "</a>";
        }
        $FleetPageRow .= "</th>";
        $FleetPageRow .= "<th><a title=\"";
        $fleet = explode(";", $f['fleet_array']);
        $e = 0;
        foreach ($fleet as $a => $b) {
            if ($b != '') {
                $e++;
                $a = explode(",", $b);
                $FleetPageRow .= $lang['tech'][$a[0]] . ":" . $a[1] . "\n";
                if ($e > 1) {
                    $FleetPageRow .= "\t";
                }
            }
        }
        $FleetPageRow .= "\">" . pretty_number($f['fleet_amount']) . "</a></th>";
        $FleetPageRow .= "<th>[" . $f['fleet_start_galaxy'] . ":" . $f['fleet_start_system'] . ":" . $f['fleet_start_planet'] . "]</th>";
        $FleetPageRow .= "<th>" . date("d M Y H:i:s", $f['fleet_start_time']) . "</th>";
        $FleetPageRow .= "<th>[" . $f['fleet_end_galaxy'] . ":" . $f['fleet_end_system'] . ":" . $f['fleet_end_planet'] . "]</th>";
        $FleetPageRow .= "<th>" . date("d M Y H:i:s", $f['fleet_end_time']) . "</th>";
        $FleetPageRow .= "<th><font color=\"lime\"><div id=\"time_0\"><font>" . pretty_time(floor($f['fleet_end_time'] + 1 - time())) . "</font></th>";
        $FleetPageRow .= "<th>";
        if ($f['fleet_mess'] == 0 || $f['fleet_mess'] == 2) {
            $FleetPageRow .= "<form action=\"SendFleetBack.php\" method=\"post\">";
            $FleetPageRow .= "<input name=\"fleetid\" value=\"" . $f['fleet_id'] . "\" type=\"hidden\">";
            $FleetPageRow .= "<input value=\"" . $lang['fl_send_back'] . "\" type=\"submit\" name=\"send\">";
            $FleetPageRow .= "</form>";
            if ($f[fleet_mission] == 1) {
                $FleetPageRow .= "<form action=\"game.php?page=fleetACS\" method=\"post\">";
                $FleetPageRow .= "<input name=\"fleetid\" value=\"" . $f['fleet_id'] . "\" type=\"hidden\">";
                $FleetPageRow .= "<input value=\"" . $lang['fl_acs'] . "\" type=\"submit\">";
                $FleetPageRow .= "</form>";
            }
        } else {
            $FleetPageRow .= "&nbsp;-&nbsp;";
        }
        $FleetPageRow .= "</th>";
        $FleetPageRow .= "</tr>";
    }
    if ($i == 0) {
        $FleetPageRow .= "<tr>";
        $FleetPageRow .= "<th>-</th>";
        $FleetPageRow .= "<th>-</th>";
        $FleetPageRow .= "<th>-</th>";
        $FleetPageRow .= "<th>-</th>";
        $FleetPageRow .= "<th>-</th>";
        $FleetPageRow .= "<th>-</th>";
        $FleetPageRow .= "<th>-</th>";
        $FleetPageRow .= "<th>-</th>";
        $FleetPageRow .= "<th>-</th>";
        $FleetPageRow .= "</tr>";
    }
    $parse['fleetpagerow'] = $FleetPageRow;
    if ($MaxFlottes == $MaxFlyingFleets) {
        $parse['message_nofreeslot'] .= "<tr height=\"20\"><th colspan=\"9\"><font color=\"red\">" . $lang['fl_no_more_slots'] . "</font></th></tr>";
    }
    if (!$CurrentPlanet) {
        header("location:game.php?page=fleet");
    }
    $parse['total_ships'] = 0;
    foreach ($reslist['fleet'] as $n => $i) {
        if ($CurrentPlanet[$resource[$i]] > 0) {
            $page .= "<tr height=\"20\">";
            $page .= "<th>";
            $page .= $i == 212 ? "" : "<a title=\"" . $lang['fl_speed_title'] . GetFleetMaxSpeed("", $i, $CurrentUser) . "\">";
            $page .= $lang['tech'][$i] . "</a></th>";
            $page .= "<th>" . pretty_number($CurrentPlanet[$resource[$i]]);
            $ShipData .= "<input type=\"hidden\" name=\"maxship" . $i . "\" value=\"" . $CurrentPlanet[$resource[$i]] . "\" />";
            $parse['total_ships'] += $CurrentPlanet[$resource[$i]];
            $ShipData .= "<input type=\"hidden\" name=\"consumption" . $i . "\" value=\"" . GetShipConsumption($i, $CurrentUser) . "\" />";
            $ShipData .= "<input type=\"hidden\" name=\"speed" . $i . "\" value=\"" . GetFleetMaxSpeed("", $i, $CurrentUser) . "\" />";
            $ShipData .= "<input type=\"hidden\" name=\"capacity" . $i . "\" value=\"" . $pricelist[$i]['capacity'] . "\" />";
            $page .= "</th>";
            if ($i == 212) {
                $page .= "<th colspan='2'></th>";
            } else {
                $page .= "<th colspan='2'><input type=button onclick='document.getElementById(\"ship" . $i . "\").value = 0;' value='0' style='width:20px;'/>&nbsp;<input type=button onclick='document.getElementById(\"ship" . $i . "\").value = Math.max(0, parseInt(document.getElementById(\"ship" . $i . "\").value) - 1);' value='-' style='width:20px;'/><input id=\"ship" . $i . "\" name=\"ship" . $i . "\" size=\"10\" value=\"0\" onfocus=\"javascript:if(this.value == '0') this.value='';\" onblur=\"javascript:if(this.value == '') this.value='0';\" alt=\"" . $lang['tech'][$i] . $CurrentPlanet[$resource[$i]] . "\" onChange=\"shortInfo()\" onKeyUp=\"shortInfo()\" /><input type=button onclick='document.getElementById(\"ship" . $i . "\").value = Math.max(0, parseInt(document.getElementById(\"ship" . $i . "\").value) + 1);' value='+' style='width:20px;'/>&nbsp;<input type=button onclick='document.getElementById(\"ship" . $i . "\").value = " . $CurrentPlanet[$resource[$i]] . ";' value='&Sigma;' style='width:20px;'/></th>";
            }
            $page .= "</tr>";
        }
        $have_ships = true;
    }
    $parse['total_ships'] = pretty_number($parse['total_ships']);
    $btncontinue = "<tr height=\"20\"><th colspan=\"4\"><input type=\"submit\" value=\"" . $lang['fl_continue'] . "\" /></th>";
    $page .= "<tr height=\"20\">";
    if (!$have_ships) {
        $page .= "<th colspan=\"4\">" . $lang['fl_no_ships'] . "</th>";
        $page .= "</tr>";
        $page .= $btncontinue;
    } else {
        $page .= "<th colspan=\"2\"><a href=\"javascript:noShips();shortInfo();noResources();\" >" . $lang['fl_remove_all_ships'] . "</a></th>";
        $page .= "<th colspan=\"2\"><a href=\"javascript:maxShips();shortInfo();\" >" . $lang['fl_select_all_ships'] . "</a></th>";
        $page .= "</tr>";
        if ($MaxFlottes > $MaxFlyingFleets) {
            $page .= $btncontinue;
        }
    }
    $page .= "<input type=\"hidden\" name=\"wormhole\"       value=\"" . $_GET['wormhole'] . "\" />\n";
    $page .= "<input type=\"hidden\" name=\"wormhole_galaxy\"       value=\"" . $_GET['wormhole_galaxy'] . "\" />\n";
    $page .= "<input type=\"hidden\" name=\"wormhole_system\"       value=\"" . $_GET['wormhole_system'] . "\" />\n";
    $page .= "<input type=\"hidden\" name=\"wormhole_planet\"       value=\"" . $_GET['wormhole_planet'] . "\" />\n";
    $parse['body'] = $page;
    $parse['shipdata'] = $ShipData;
    $parse['galaxy'] = $galaxy;
    $parse['system'] = $system;
    $parse['planet'] = $planet;
    $parse['planettype'] = $planettype;
    $parse['target_mission'] = $target_mission;
    $parse['envoimaxexpedition'] = $EnvoiMaxExpedition;
    $parse['expeditionencours'] = $ExpeditionEnCours;
    $parse['target_mission'] = $target_mission;
    display(parsetemplate(gettemplate('fleet/fleet_table'), $parse));
}
Пример #9
0
function GetFleetConsumption($FleetArray, $SpeedFactor, $MissionDuration, $MissionDistance, $FleetMaxSpeed, $Player, $speed_percent = 10)
{
    $consumption = 0;
    if (empty($FleetArray) || !$FleetMaxSpeed) {
        return 0;
    }
    $MissionDuration = $MissionDuration < 1 ? 1 : $MissionDuration;
    $MissionDistance = $MissionDistance < 1 ? 1 : $MissionDistance;
    $SpeedFactor = $SpeedFactor == 10 ? 11 : $SpeedFactor;
    $spd = $speed_percent * sqrt($FleetMaxSpeed);
    foreach ($FleetArray as $Ship => $Count) {
        if (!$Ship || !$Count) {
            continue;
        }
        $ShipSpeed = get_ship_speed($Ship, $Player);
        $ShipSpeed = $ShipSpeed < 1 ? 1 : $ShipSpeed;
        $ShipConsumption = GetShipConsumption($Ship, $Player);
        $consumption += $ShipConsumption * $Count * pow($spd / sqrt($ShipSpeed) / 10 + 1, 2);
    }
    $consumption = round($MissionDistance * $consumption / 35000) + 1;
    return $consumption;
}
Пример #10
0
function GetFleetConsumption($FleetArray, $SpeedFactor, $MissionDuration, $MissionDistance, $FleetMaxSpeed, $Player)
{
    $consumption = 0;
    $basicConsumption = 0;
    if (!is_array($FleetArray)) {
        ReportError("\$FleetArray is not an array, line 108, unlocalised.php", 'Invalid argument supplied for foreach()', 1);
    }
    foreach ($FleetArray as $Ship => $Count) {
        if ($Ship > 0) {
            $ShipSpeed = GetFleetMaxSpeed("", $Ship, $Player);
            $ShipConsumption = GetShipConsumption($Ship, $Player);
            $spd = 35000 / ($MissionDuration * $SpeedFactor - 10) * sqrt($MissionDistance * 10 / $ShipSpeed);
            $basicConsumption = $ShipConsumption * $Count;
            $consumption += $basicConsumption * $MissionDistance / 35000 * ($spd / 10 + 1) * ($spd / 10 + 1);
        }
    }
    $consumption = round($consumption) + 1;
    return $consumption;
}