Вход Регистрация
Файл: FleetAjax.php
Строк: 321
<?php

##############################################################################
# *                                                                             #
# * XG PROYECT                                                                 #
# *                                                                           #
# * @copyright Copyright (C) 2008 - 2009 By lucky from xgproyect.net           #
# *                                                                             #
# *                                                                             #
# *  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.                             #
# *                                                                             #
##############################################################################

define('INSIDE'  true);
define('INSTALL' false);

$xgp_root './';
include(
$xgp_root 'extension.inc.php');
include(
$xgp_root 'common.' $phpEx);

$UserSpyProbes  $planetrow['spy_sonde'];
$UserRecycles   $planetrow['recycler'];
$UserDeuterium  $planetrow['deuterium'];
$UserMissiles   $planetrow['interplanetary_misil'];

$fleet          = array();
$speedalls      = array();
$PartialFleet   false;
$PartialCount   0;

foreach (
$reslist['fleet'] as $Node => $ShipID)
{
    
$TName "ship".$ShipID;
    if (
$ShipID 200 && $ShipID 300 && $_POST[$TName] > 0)
    {
        if (
$_POST[$TName] > $planetrow[$resource[$ShipID]])
        {
            
$fleet['fleetarray'][$ShipID]   = $planetrow[$resource[$ShipID]];
            
$fleet['fleetlist']            .= $ShipID .","$planetrow[$resource[$ShipID]] .";";
            
$fleet['amount']               += $planetrow[$resource[$ShipID]];
            
$PartialCount                  += $planetrow[$resource[$ShipID]];
            
$PartialFleet                   true;
        }
        else
        {
            
$fleet['fleetarray'][$ShipID]   = $_POST[$TName];
            
$fleet['fleetlist']            .= $ShipID .","$_POST[$TName] .";";
            
$fleet['amount']               += $_POST[$TName];
            
$speedalls[$ShipID]             = $_POST[$TName];
        }
    }
}

if (
$PartialFleet == true)
{
    if ( 
$PartialCount )
    {
        
$ResultMessage "610; ".$lang['fa_not_enough_probes']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
        die (
$ResultMessage);
    }
}

$PrNoob      $game_config['noobprotection'];
$PrNoobTime  $game_config['noobprotectiontime'];
$PrNoobMulti $game_config['noobprotectionmulti'];

$galaxy          intval($_POST['galaxy']);
if (
$galaxy MAX_GALAXY_IN_WORLD || $galaxy 1)
{
    
$ResultMessage "602; ".$lang['fa_galaxy_not_exist']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
    die ( 
$ResultMessage );
}

$system intval($_POST['system']);

if (
$system MAX_SYSTEM_IN_GALAXY || $system 1)
{
    
$ResultMessage "602; ".$lang['fa_system_not_exist']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
    die ( 
$ResultMessage );
}

$planet intval($_POST['planet']);

if (
$planet MAX_PLANET_IN_SYSTEM || $planet 1)
{
    
$ResultMessage "602; ".$lang['fa_planet_not_exist']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
    die ( 
$ResultMessage );
}

$FleetArray $fleet['fleetarray'];

$CurrentFlyingFleets doquery("SELECT COUNT(fleet_id) AS `Nbre` FROM {{table}} WHERE `fleet_owner` = '".$user['id']."';"'fleets'true);
$CurrentFlyingFleets $CurrentFlyingFleets["Nbre"];

$QrySelectEnemy  "SELECT * FROM {{table}} ";
$QrySelectEnemy .= "WHERE ";
$QrySelectEnemy .= "`galaxy` = '"$_POST['galaxy'] ."' AND ";
$QrySelectEnemy .= "`system` = '"$_POST['system'] ."' AND ";
$QrySelectEnemy .= "`planet` = '"$_POST['planet'] ."' AND ";
$QrySelectEnemy .= "`planet_type` = '"$_POST['planettype'] ."';";
$TargetRow doquery$QrySelectEnemy'planets'true);

if (
$TargetRow['id_owner'] == '')
    
$TargetUser $user;
elseif (
$TargetRow['id_owner'] != '')
    
$TargetUser doquery("SELECT * FROM {{table}} WHERE `id` = '"$TargetRow['id_owner'] ."';"'users'true);


$UserPoints    doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '"$user['id'] ."';"'statpoints'true);
$User2Points   doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '"$TargetUser['id'] ."';"'statpoints'true);

$CurrentPoints $UserPoints['total_points'];
$TargetPoints  $User2Points['total_points'];

$TargetVacat   $TargetUser['urlaubs_modus'];

if (((
$user[$resource[108]] + 1) + ($user['rpg_commandant'] * COMMANDANT)) <= $CurrentFlyingFleets)
{
    
$ResultMessage "612; ".$lang['fa_no_more_slots']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
    die (
$ResultMessage);
}

if (!
is_array($FleetArray))
{
    
$ResultMessage "618; ".$lang['fa_no_recyclers']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
    die (
$ResultMessage);
}

if (!((
$_POST["mission"] == 6) OR ($_POST["mission"] == 8)))
{
    
$ResultMessage "618; ".$lang['fa_mission_not_available']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
    die (
$ResultMessage);
}

foreach (
$FleetArray as $Ships => $Count)
{
    if (
$Count $planetrow[$resource[$Ships]])
    {
        
$ResultMessage "611; ".$lang['fa_no_ships']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
        die ( 
$ResultMessage );
    }
}

if (
$PrNoobTime 1)
    
$PrNoobTime 9999999999999999;

if (
$TargetVacat && $_POST['mission'] != 8)
{
    
$ResultMessage "605; ".$lang['fa_vacation_mode']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
    die (
$ResultMessage);
}

if(
$user['urlaubs_modus'])
{
    
$ResultMessage "620; ".$lang['fa_vacation_mode_current']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
    die (
$ResultMessage);
}

if(
$TargetUser['onlinetime'] >= (time()-60 60 24 7))
{
    if (
$CurrentPoints > ($TargetPoints $PrNoobMulti) && $TargetRow['id_owner'] != '' && $_POST['mission'] == 6  && $PrNoob == 1  && $TargetPoints < ($PrNoobTime 1000))
    {
        
$ResultMessage "603; ".$lang['fa_week_player']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
        die ( 
$ResultMessage );
    }

    if (
$TargetPoints > ($CurrentPoints $PrNoobMulti) && $TargetRow['id_owner'] != '' && $_POST['mission'] == 6  && $PrNoob == 1  && $CurrentPoints < ($PrNoobTime 1000))
    {
        
$ResultMessage "604; ".$lang['fa_strong_player']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
        die ( 
$ResultMessage );
    }
}

if (
$TargetRow['id_owner'] == '' && $_POST['mission'] != )
{
    
$ResultMessage "601; ".$lang['fa_planet_not_exist']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
    die (
$ResultMessage);
}

if ((
$TargetRow["id_owner"] == $planetrow["id_owner"]) && ($_POST["mission"] == 6))
{
    
$ResultMessage "618; ".$lang['fa_not_spy_yourself']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
    die ( 
$ResultMessage );
}

if (
$_POST['thisgalaxy'] != $planetrow['galaxy'] |
    
$_POST['thissystem'] != $planetrow['system'] |
    
$_POST['thisplanet'] != $planetrow['planet'] |
    
$_POST['thisplanettype'] != $planetrow['planet_type'])
{
    
$ResultMessage "618; ".$lang['fa_not_attack_yourself']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
    die (
$ResultMessage);
}

$Distance    GetTargetDistance ($_POST['thisgalaxy'], $_POST['galaxy'], $_POST['thissystem'], $_POST['system'], $_POST['thisplanet'], $_POST['planet']);
$speedall    GetFleetMaxSpeed ($FleetArray0$user);
$SpeedAllMin min($speedall);
$Duration    GetMissionDuration 10$SpeedAllMin$DistanceGetGameSpeedFactor ());

$fleet['fly_time']   = $Duration;
$fleet['start_time'] = $Duration time();
$fleet['end_time']   = ($Duration 2) + time();

$FleetShipCount      0;
$FleetDBArray        "";
$FleetSubQRY         "";
$consumption         0;
$SpeedFactor         GetGameSpeedFactor ();
foreach (
$FleetArray as $Ship => $Count)
{
    
$ShipSpeed        $pricelist[$Ship]["speed"];
    
$spd              35000 / ($Duration $SpeedFactor 10) * sqrt($Distance 10 $ShipSpeed);
    
$basicConsumption $pricelist[$Ship]["consumption"] * $Count ;
    
$consumption     += $basicConsumption $Distance 35000 * (($spd 10) + 1) * (($spd 10) + 1);
    
$FleetShipCount  += $Count;
    
$FleetDBArray    .= $Ship .","$Count .";";
    
$FleetSubQRY     .= "`".$resource[$Ship] . "` = `" $resource[$Ship] . "` - " $Count " , ";
}
$consumption round($consumption) + 1;

if (
$UserDeuterium $consumption)
{
    
$ResultMessage "613; ".$lang['fa_not_enough_fuel']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
    die ( 
$ResultMessage );
}

if (
$TargetRow['id_level'] > $user['authlevel'])
{
    
$Allowed true;
    switch (
$_POST['mission'])
    {
        case 
1:
        case 
2:
        case 
6:
        case 
9:
        
$Allowed false;
        break;
        case 
3:
        case 
4:
        case 
5:
        case 
7:
        case 
8:
        case 
15:
        break;
        default:
    }
    if (
$Allowed == false)
    {
        
$ResultMessage "619; ".$lang['fa_action_not_allowed']." |".$CurrentFlyingFleets." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;
        die ( 
$ResultMessage );
    }
}

$QryInsertFleet  "INSERT INTO {{table}} SET ";
$QryInsertFleet .= "`fleet_owner` = '"$user['id'] ."', ";
$QryInsertFleet .= "`fleet_mission` = '"intval($_POST['mission']) ."', ";
$QryInsertFleet .= "`fleet_amount` = '"$FleetShipCount ."', ";
$QryInsertFleet .= "`fleet_array` = '"$FleetDBArray ."', ";
$QryInsertFleet .= "`fleet_start_time` = '"$fleet['start_time']. "', ";
$QryInsertFleet .= "`fleet_start_galaxy` = '"intval($_POST['thisgalaxy']) ."', ";
$QryInsertFleet .= "`fleet_start_system` = '"intval($_POST['thissystem']) ."', ";
$QryInsertFleet .= "`fleet_start_planet` = '"intval($_POST['thisplanet']) ."', ";
$QryInsertFleet .= "`fleet_start_type` = '"intval($_POST['thisplanettype']) ."', ";
$QryInsertFleet .= "`fleet_end_time` = '"$fleet['end_time'] ."', ";
$QryInsertFleet .= "`fleet_end_galaxy` = '"intval($_POST['galaxy']) ."', ";
$QryInsertFleet .= "`fleet_end_system` = '"intval($_POST['system']) ."', ";
$QryInsertFleet .= "`fleet_end_planet` = '"intval($_POST['planet']) ."', ";
$QryInsertFleet .= "`fleet_end_type` = '"intval($_POST['planettype']) ."', ";
$QryInsertFleet .= "`fleet_target_owner` = '"$TargetRow['id_owner'] ."', ";
$QryInsertFleet .= "`start_time` = '" time() . "';";
doquery$QryInsertFleet'fleets');

$UserDeuterium   -= $consumption;

if(
$UserDeuterium 1)
    exit();

$QryUpdatePlanet  "UPDATE {{table}} SET ";
$QryUpdatePlanet .= $FleetSubQRY;
$QryUpdatePlanet .= "`deuterium` = '".$UserDeuterium."' " ;
$QryUpdatePlanet .= "WHERE ";
$QryUpdatePlanet .= "`id` = '"$planetrow['id'] ."';";
doquery$QryUpdatePlanet'planets');

$CurrentFlyingFleets++;

$planetrow         doquery("SELECT * FROM {{table}} WHERE `id` = '"$user['current_planet'] ."';"'planets'true);
$ResultMessage  "600; ".$lang['fa_sending']." "$FleetShipCount  ." "$lang['tech'][$Ship] ." a "$_POST['galaxy'] .":"$_POST['system'] .":"$_POST['planet'] ."...|";
$ResultMessage .= $CurrentFlyingFleets ." ".$UserSpyProbes." ".$UserRecycles." ".$UserMissiles;

die (
$ResultMessage);
?>
Онлайн: 0
Реклама