vue left menu et autorisation
Kommunauty
Connexion
Inscription

left menu et autorisation


stryker Messages : 367

ma version a 3 races d'origine mais ont tout en commun, du coup je met a chaque race ses propres vaisseaux defenses et techno et bastiments c'est la que sa se gate

par exemple le chantier spatial humain marche vu qu'il est d'origine,

mais lorsque un joueur prend la 2ème ou 3 ème race, il peux pas acceder au labo ou au chantier spatial a partir du left menu sa lui met que c'est pas construit hors ça l'est j'ai beau tournée encore et encore le probleme ça merde xD

le probleme doit venir de cette page que j'avais modifié sans succès....

<?php

/*
 _  \_/ |\ | /¯¯\ \  / /\    |¯¯) |_¯ \  / /¯¯\ |  |   |´¯|¯` | /¯¯\ |\ |
 ¯  /¯\ | \| \__/  \/ /--\   |¯¯\ |__  \/  \__/ |__ \_/   |   | \__/ | \|
 @copyright:
Copyright (C) 2010 por Brayan Narvaez (principe negro)
Copyright (C) 2008 - 2009 By lucky from Xtreme-gameZ.com.ar

@support:
Web http://www.xnovarevolution.com.ar/
Forum http://www.xnovarevolution.com.ar/foros/

Proyect based in xg proyect for xtreme gamez.
*/

if(!defined('INSIDE')){ die(header("location:../../"));}

class ShowShipyardPage
{
private function GetMaxConstructibleElements ($Element, $Ressources)
{
global $pricelist;

if ($pricelist[$Element]['metal'] != 0)
{
$Buildable        = floor($Ressources["metal"] / $pricelist[$Element]['metal']);
$MaxElements      = $Buildable;
}

if ($pricelist[$Element]['crystal'] != 0)
$Buildable        = floor($Ressources["crystal"] / $pricelist[$Element]['crystal']);

if (!isset($MaxElements))
$MaxElements      = $Buildable;
elseif($MaxElements > $Buildable)
$MaxElements      = $Buildable;

if ($pricelist[$Element]['deuterium'] != 0)
$Buildable        = floor($Ressources["deuterium"] / $pricelist[$Element]['deuterium']);

     if ($pricelist[$Element]['darkmatter'] != 0)
$Buildable        = floor($Ressources["darkmatter"] / $pricelist[$Element]['darkmatter']);

if (!isset($MaxElements))
$MaxElements      = $Buildable;
elseif ($MaxElements > $Buildable)
$MaxElements      = $Buildable;

if ($pricelist[$Element]['energy'] != 0)
$Buildable        = floor($Ressources["energy_max"] / $pricelist[$Element]['energy']);

if ($Buildable < 1)
$MaxElements      = 0;

return $MaxElements;
}

private function GetElementRessources($Element, $Count)
{
global $pricelist;

$ResType['metal']     = ($pricelist[$Element]['metal']     * $Count);
$ResType['crystal']   = ($pricelist[$Element]['crystal']   * $Count);
$ResType['deuterium'] = ($pricelist[$Element]['deuterium'] * $Count);
        $ResType['darkmatter'] = ($pricelist[$Element]['darkmatter'] * $Count);

return $ResType;
}

private function ElementBuildListBox ( $CurrentUser, $CurrentPlanet )
{
global $lang, $pricelist;

$ElementQueue = explode(';', $CurrentPlanet['b_hangar_id']);
$NbrePerType  = "";
$NamePerType  = "";
$TimePerType  = "";

foreach($ElementQueue as $ElementLine => $Element)
{
if ($Element != '')
{
$Element = explode(',', $Element);
$ElementTime   = GetBuildingTime( $CurrentUser, $CurrentPlanet, $Element[0] );
$QueueTime    += $ElementTime * $Element[1];
$TimePerType .= "".$ElementTime.",";
$NamePerType .= "'". html_entity_decode($lang['tech'][$Element[0]]) ."',";
$NbrePerType .= "".$Element[1].",";
}
}

$parse = $lang;
$parse['a'] = $NbrePerType;
$parse['b'] = $NamePerType;
$parse['c'] = $TimePerType;
$parse['b_hangar_id_plus'] = $CurrentPlanet['b_hangar'];
$parse['pretty_time_b_hangar'] = pretty_time($QueueTime - $CurrentPlanet['b_hangar']);
$text .= parsetemplate(gettemplate('buildings/buildings_script'), $parse);

return $text;
}

public function FleetBuildingPage ( &$CurrentPlanet, $CurrentUser )
{
global $lang, $resource, $phpEx, $dpath, $xgp_root;

include_once($xgp_root . 'includes/functions/IsTechnologieAccessible.' . $phpEx);
include_once($xgp_root . 'includes/functions/GetElementPrice.' . $phpEx);

$parse = $lang;
//---Inicio cancelar cola de flotas---//
        if($_GET['cancel'] == 'queue'){
        // Comprobacion de cola
       if ($CurrentPlanet['b_hangar_id'] == 0 OR $CurrentPlanet['b_hangar_id'] == '')
                       {
message('Error<br>No hay ningun elemento en la cola', 'game.php?page=buildings&mode=fleet', 3);
}

// Reconstruir
$Queue   = $CurrentPlanet['b_hangar_id'];
$DO      = explode(";", $Queue);
$QueueCountColocation = 1;
if(count($DO) > 1) $QueueCountColocation = 2;
$COUNTD  = count($DO)-$QueueCountColocation;

// Devolver recursos
$CASE  = explode(",", $DO[$COUNTD]);
$Ressource = $this->GetElementRessources($CASE[0], $CASE[1]);
$Ressource['metal']          = ($Ressource['metal']/100)*75;
$Ressource['crystal']        = ($Ressource['crystal']/100)*75;
$Ressource['deuterium']      = ($Ressource['deuterium']/100)*75;
$Ressource['darkamatter']    = ($Ressource['darkmatter']/100)*75;
$CurrentPlanet['metal']     += $Ressource['metal'];
$CurrentPlanet['crystal']   += $Ressource['crystal'];
$CurrentPlanet['deuterium'] += $Ressource['deuterium'];
$CurrentPlanet['darkmatter'] += $Ressource['darkmatter'];

// POP Manual
if(count($DO) > 1){
$LAST = $COUNTD;

// Reconstruccion
foreach($DO as $ID => $CAD){
if($ID != $LAST){
$NDO[$ID] = $CAD;
}
}

// Grabar nuevos datos
$REC  = implode(";", $NDO);
doquery("UPDATE {{table}} SET  b_hangar_id = '".$REC."', metal = metal + ".$Ressource['metal'].", crystal = crystal + ".$Ressource['crystal'].", deuterium = deuterium + ".$Ressource['deuterium'].", darkmatter = darkmatter + ".$Ressource['darkmatter']." WHERE id = '".$CurrentPlanet["id"]."'", "planets");
}else{
doquery("UPDATE {{table}} SET b_hangar = '', b_hangar_plus = '', b_hangar_id = '', metal = metal + ".$Ressource['metal'].", crystal = crystal + ".$Ressource['crystal'].", deuterium = deuterium + ".$Ressource['deuterium'].", darkmatter = darkmatter + ".$Ressource['darkmatter']." WHERE id = '".$CurrentPlanet["id"]."'", "planets");
}
message('¡Cancelado!<br><a href=game.php?page=buildings&mode=fleet>Regresar</a>', 'game.php?page=buildings&mode=fleet', 3);
}
//---Fin cancelar cola de flotas---//

  if (isset($_POST['fmenge']))
{
$AddedInQueue = false;

foreach($_POST['fmenge'] as $Element => $Count)
{
$Element = floatval($Element);
$Count   = floatval($Count);
if ($Count > MAX_FLEET_OR_DEFS_PER_ROW)
$Count = MAX_FLEET_OR_DEFS_PER_ROW;

if ($Count != 0)
{
if ( IsTechnologieAccessible ($CurrentUser, $CurrentPlanet, $Element) )
{
$MaxElements   = $this->GetMaxConstructibleElements ( $Element, $CurrentPlanet );

if ($Count > $MaxElements)
$Count = $MaxElements;

$Ressource = $this->GetElementRessources ( $Element, $Count );

if ($Count >= 1)
{
$CurrentPlanet['metal']          -= $Ressource['metal'];
$CurrentPlanet['crystal']        -= $Ressource['crystal'];
$CurrentPlanet['deuterium']      -= $Ressource['deuterium'];
$CurrentPlanet['darkmatter']      -= $Ressource['darkmatter'];

if ($Element == 214 && $CurrentUser['rpg_destructeur'] == 1)
$Count = 2 * $Count;

$CurrentPlanet['b_hangar_id']    .= "". $Element .",". $Count .";";
}
}
}
}

header ("Location: game.php?page=buildings&mode=fleet");
}

if ($CurrentPlanet[$resource[21]] == 0)
message($lang['bd_shipyard_required'], '', '', true);

$NotBuilding = true;

if ($CurrentPlanet['b_building_id'] != 0)
{
$CurrentQueue = $CurrentPlanet['b_building_id'];
if (strpos ($CurrentQueue, ";"))
{
// FIX BY LUCKY - IF THE SHIPYARD IS IN QUEUE THE USER CANT RESEARCH ANYTHING...
$QueueArray = explode (";", $CurrentQueue);

for($i = 0; $i < MAX_BUILDING_QUEUE_SIZE; $i++)
{
$ListIDArray = explode (",", $QueueArray[$i]);
$Element = $ListIDArray[0];

if ( ($Element == 21 ) or ( $Element == 14 ) or ( $Element == 15 ) )
{
break;
}
}
// END - FIX
}
else
{
$CurrentBuilding = $CurrentQueue;
}

if ( ( ( $CurrentBuilding == 21 ) or ( $CurrentBuilding == 14 ) or ( $CurrentBuilding == 15 ) ) or  (($Element == 21 ) or ( $Element == 14 ) or ( $Element == 15 )) ) // ADDED (or $Element == 21) BY LUCKY
{
$parse[message] = "<font color=\"red\">".$lang['bd_building_shipyard']."</font>";
$NotBuilding = false;
}
}

$TabIndex = 0;
foreach($lang['tech'] as $Element => $ElementName)
{
if ($Element > 201 && $Element <= 399)
{
if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element))
{
$CanBuildOne         = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, false);
$BuildOneElementTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element);
$ElementCount        = $CurrentPlanet[$resource[$Element]];
$ElementNbre         = ($ElementCount == 0) ? "" : " (". $lang['bd_available'] . pretty_number($ElementCount) . ")";

$PageTable .= "\n<tr>";
$PageTable .= "<th class=l>";
$PageTable .= "<a href=game.".$phpEx."?page=infos&gid=".$Element.">";
$PageTable .= "<img border=0 src=\"".$dpath."gebaeude/".$Element.".gif\" align=top width=120 height=120></a>";
$PageTable .= "</th>";
$PageTable .= "<td class=l>";
$PageTable .= "<a href=game.".$phpEx."?page=infos&gid=".$Element.">".$ElementName."</a> ".$ElementNbre."<br>";
$PageTable .= "".$lang['res']['descriptions'][$Element]."<br>";
$PageTable .= GetElementPrice($CurrentUser, $CurrentPlanet, $Element, false);
$PageTable .= ShowBuildTime($BuildOneElementTime);
$PageTable .= "</td>";
$PageTable .= "<th class=k>";

if ($CanBuildOne && $NotBuilding)
{
$TabIndex++;
$PageTable .= "<input type=text name=fmenge[".$Element."] alt='".$lang['tech'][$Element]."' size=6 maxlength=25 value=0 tabindex=".$TabIndex.">";
                                     $maxElement = $this->GetMaxConstructibleElements ( $Element, $CurrentPlanet );
                    $PageTable .= "<br><th><a href='javascript:' onclick=\"document.getElementsByName('fmenge[".$Element."]')[0].value = '$maxElement';\">Max.</a></th>";
                    }

if($NotBuilding)
{
$parse[build_fleet] = "<tr><td class=\"c\" colspan=\"2\" align=\"center\"><input type=\"submit\" value=\"".$lang['bd_build_ships']."\"></td></tr>";
}

$PageTable .= "</th>";
$PageTable .= "</tr>";

}
}
}

if ($CurrentPlanet['b_hangar_id'] != '')
$BuildQueue .= $this->ElementBuildListBox( $CurrentUser, $CurrentPlanet );

$parse['buildlist']     = $PageTable;
$parse['buildinglist'] = $BuildQueue;
        $parse['header'] = "<img src=\"" .$dpath ."/headers/hangar.png\">";
        display(parsetemplate(gettemplate('buildings/buildings_fleet'), $parse));
}

public function DefensesBuildingPage ( &$CurrentPlanet, $CurrentUser )
{
global $lang, $resource, $phpEx, $dpath, $_POST,$xgp_root;

include_once($xgp_root . 'includes/functions/IsTechnologieAccessible.' . $phpEx);
include_once($xgp_root . 'includes/functions/GetElementPrice.' . $phpEx);

$parse = $lang;
//---Inicio cancelar cola de defensas---//
        if($_GET['cancel'] == 'queue'){
        // Comprobacion de cola
       if ($CurrentPlanet['b_hangar_id'] == 0 OR $CurrentPlanet['b_hangar_id'] == '')
                       {
message('Error<br>No hay ningun elemento en la cola', 'game.php?page=buildings&mode=defense', 3);
}

// Reconstruir
$Queue   = $CurrentPlanet['b_hangar_id'];
$DO      = explode(";", $Queue);
$QueueCountColocation = 1;
if(count($DO) > 1) $QueueCountColocation = 2;
$COUNTD  = count($DO)-$QueueCountColocation;

// Devolver recursos
$CASE  = explode(",", $DO[$COUNTD]);
$Ressource = $this->GetElementRessources($CASE[0], $CASE[1]);
$Ressource['metal']          = ($Ressource['metal']/100)*75;
$Ressource['crystal']        = ($Ressource['crystal']/100)*75;
$Ressource['deuterium']      = ($Ressource['deuterium']/100)*75;
$Ressource['darkmatter']      = ($Ressource['darkmatter']/100)*75;
$CurrentPlanet['metal']     += $Ressource['metal'];
$CurrentPlanet['crystal']   += $Ressource['crystal'];
$CurrentPlanet['deuterium'] += $Ressource['deuterium'];
$CurrentPlanet['darkmatter'] += $Ressource['darkmatter'];

// POP Manual
if(count($DO) > 1){
$LAST = $COUNTD;

// Reconstruccion
foreach($DO as $ID => $CAD){
if($ID != $LAST){
$NDO[$ID] = $CAD;
}
}

// Grabar nuevos datos
$REC  = implode(";", $NDO);
doquery("UPDATE {{table}} SET  b_hangar_id = '".$REC."', metal = metal + ".$Ressource['metal'].", crystal = crystal + ".$Ressource['crystal'].", deuterium = deuterium + ".$Ressource['deuterium'].", darkmatter = darkmatter + ".$Ressource['darkmatter']." WHERE id = '".$CurrentPlanet["id"]."'", "planets");
}else{
doquery("UPDATE {{table}} SET b_hangar = '', b_hangar_plus = '', b_hangar_id = '', metal = metal + ".$Ressource['metal'].", crystal = crystal + ".$Ressource['crystal'].", deuterium = deuterium + ".$Ressource['deuterium'].", darkmatter = darkmatter + ".$Ressource['darkmatter']." WHERE id = '".$CurrentPlanet["id"]."'", "planets");
}
message('¡Cancelado!<br><a href=game.php?page=buildings&mode=fleet>Regresar</a>', 'game.php?page=buildings&mode=fleet', 3);
}
//---Fin cancelar cola de defensas---//

if (isset($_POST['fmenge']))
{
$Missiles[502] = $CurrentPlanet[ $resource[502] ];
$Missiles[503] = $CurrentPlanet[ $resource[503] ];
$SiloSize      = $CurrentPlanet[ $resource[44] ];
$MaxMissiles   = $SiloSize * 10;
$BuildQueue    = $CurrentPlanet['b_hangar_id'];
$BuildArray    = explode (";", $BuildQueue);

for ($QElement = 0; $QElement < count($BuildArray); $QElement++)
{
$ElmentArray = explode (",", $BuildArray[$QElement] );
if($ElmentArray[0] == 502)
{
$Missiles[502] += $ElmentArray[1];
}
elseif($ElmentArray[0] == 503)
{
$Missiles[503] += $ElmentArray[1];
}
}


foreach($_POST['fmenge'] as $Element => $Count)
{
$Element = floatval($Element);
$Count   = floatval($Count);

if ($Count > MAX_FLEET_OR_DEFS_PER_ROW)
$Count = MAX_FLEET_OR_DEFS_PER_ROW;

if ($Count != 0)
{
$InQueue = strpos ( $CurrentPlanet['b_hangar_id'], $Element.",");
$IsBuildp = ($CurrentPlanet[$resource[407]] >= 1) ? TRUE : FALSE;
$IsBuildg = ($CurrentPlanet[$resource[408]] >= 1) ? TRUE : FALSE;
$IsBuildpp = ($CurrentPlanet[$resource[409]] >= 1) ? TRUE : FALSE;

if ( $Element == 407 && !$IsBuildp && $InQueue === FALSE )
{
$Count = 1;
}


if ( $Element == 408 && !$IsBuildg && $InQueue === FALSE )
{
$Count = 1;
}


if ( $Element == 409 && !$IsBuildpp && $InQueue === FALSE )
{
$Count = 1;
}


if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element))
{
$MaxElements = $this->GetMaxConstructibleElements ( $Element, $CurrentPlanet );

if ($Element == 502 || $Element == 503)
{
$ActuMissiles  = $Missiles[502] + ( 2 * $Missiles[503] );
$MissilesSpace = $MaxMissiles - $ActuMissiles;
if ($Element == 502)
{
if ( $Count > $MissilesSpace )
{
$Count = $MissilesSpace;
}

}
else
{
if ( $Count > floor( $MissilesSpace / 2 ) )
{
$Count = floor( $MissilesSpace / 2 );
}
}

if ($Count > $MaxElements)
{
$Count = $MaxElements;
}

$Missiles[$Element] += $Count;
}
else
{
if ($Count > $MaxElements)
{
$Count = $MaxElements;
}

}

$Ressource = $this->GetElementRessources ( $Element, $Count );

if ($Count >= 1)
{
$CurrentPlanet['metal']           -= $Ressource['metal'];
$CurrentPlanet['crystal']         -= $Ressource['crystal'];
$CurrentPlanet['deuterium']       -= $Ressource['deuterium'];
     $CurrentPlanet['darkmatter']     -= $Ressource['darkmatter'];
$CurrentPlanet['b_hangar_id']     .= "". $Element .",". $Count .";";
}
}
}
}

header ("Location: game.php?page=buildings&mode=defense");

     }

if ($CurrentPlanet[$resource[21]] == 0)
message($lang['bd_shipyard_required'], '', '', true);

$NotBuilding = true;

if ($CurrentPlanet['b_building_id'] != 0)
{
$CurrentQueue = $CurrentPlanet['b_building_id'];
if (strpos ($CurrentQueue, ";"))
{
// FIX BY LUCKY - IF THE SHIPYARD IS IN QUEUE THE USER CANT RESEARCH ANYTHING...
$QueueArray = explode (";", $CurrentQueue);

for($i = 0; $i < MAX_BUILDING_QUEUE_SIZE; $i++)
{
$ListIDArray = explode (",", $QueueArray[$i]);
$Element = $ListIDArray[0];

if ( ($Element == 21 ) or ( $Element == 14 ) or ( $Element == 15 ) )
{
break;
}
}
// END - FIX
}
else
{
$CurrentBuilding = $CurrentQueue;
}

if ( ( ( $CurrentBuilding == 21 ) or ( $CurrentBuilding == 14 ) or ( $CurrentBuilding == 15 ) ) or  (($Element == 21 ) or ( $Element == 14 ) or ( $Element == 15 )) ) // ADDED (or $Element == 21) BY LUCKY
{
$parse[message] = "<font color=\"red\">".$lang['bd_building_shipyard']."</font>";
$NotBuilding = false;
}


}

$TabIndex  = 0;
$PageTable = "";
foreach($lang['tech'] as $Element => $ElementName)
{
if ($Element > 400 && $Element <= 549)
{
if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element))
{
$CanBuildOne         = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, false);
$BuildOneElementTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element);
$ElementCount        = $CurrentPlanet[$resource[$Element]];
$ElementNbre         = ($ElementCount == 0) ? "" : " (". $lang['bd_available'] . pretty_number($ElementCount) . ")";

$PageTable .= "\n<tr>";
$PageTable .= "<th class=l>";
$PageTable .= "<a href=game.".$phpEx."?page=infos&gid=".$Element.">";
$PageTable .= "<img border=0 src=\"".$dpath."gebaeude/".$Element.".gif\" align=top width=120 height=120></a>";
$PageTable .= "</th>";
$PageTable .= "<td class=l>";
$PageTable .= "<a href=game.".$phpEx."?page=infos&gid=".$Element.">".$ElementName."</a> ".$ElementNbre."<br>";
$PageTable .= "".$lang['res']['descriptions'][$Element]."<br>";
$PageTable .= GetElementPrice($CurrentUser, $CurrentPlanet, $Element, false);
$PageTable .= ShowBuildTime($BuildOneElementTime);
$PageTable .= "</td>";
$PageTable .= "<th class=k>";

if ($CanBuildOne)
{
$InQueue = strpos ( $CurrentPlanet['b_hangar_id'], $Element.",");
$IsBuildp = ($CurrentPlanet[$resource[407]] >= 1) ? TRUE : FALSE;
$IsBuildg = ($CurrentPlanet[$resource[408]] >= 1) ? TRUE : FALSE;
$IsBuildpp = ($CurrentPlanet[$resource[409]] >= 1) ? TRUE : FALSE;
$BuildIt = TRUE;
if ($Element == 407 || $Element == 408 || $Element == 409)
{
$BuildIt = false;

if ( $Element == 407 && !$IsBuildp && $InQueue === FALSE )
$BuildIt = TRUE;

if ( $Element == 408 && !$IsBuildg && $InQueue === FALSE )
$BuildIt = TRUE;

if ( $Element == 409 && !$IsBuildpp && $InQueue === FALSE )
$BuildIt = TRUE;

}

if (!$BuildIt)
$PageTable .= "<font color=\"red\">".$lang['bd_protection_shield_only_one']."</font>";
elseif($NotBuilding)
{
$TabIndex++;
$PageTable .= "<input type=text name=fmenge[".$Element."] alt='".$lang['tech'][$Element]."' size=18 maxlength=18 value=0 tabindex=".$TabIndex.">";
                                                       $maxElement = $this->GetMaxConstructibleElements ( $Element, $CurrentPlanet );
                            $PageTable .= "<br><th><a href='javascript:' onclick=\"document.getElementsByName('fmenge[".$Element."]')[0].value = '$maxElement';\">Max.</a></th>";
                            $PageTable .= "</th>";
}

if($NotBuilding)
{
$parse[build_defenses] = "<tr><td class=\"c\" colspan=\"2\" align=\"center\"><input type=\"submit\" value=\"".$lang['bd_build_defenses']."\"></td></tr>";
}
}
else
{
$PageTable .= "</th>";
}

$PageTable .= "</tr>";
}
}
}

if ($CurrentPlanet['b_hangar_id'] != '')
$BuildQueue .= $this->ElementBuildListBox( $CurrentUser, $CurrentPlanet );

$parse['buildlist']     = $PageTable;
$parse['buildinglist'] = $BuildQueue;
        $parse['header'] = "<img src=\"" .$dpath ."/headers/hangar_defensa.png\">";
        display(parsetemplate(gettemplate('buildings/buildings_defense'), $parse));
}
 private function ElementBuildListBoxMilitar ( $CurrentUser, $CurrentPlanet )
    {
        global $lang, $pricelist;

        $ElementQueue = explode(';', $CurrentPlanet['base_militar']);
        $NbrePerType  = "";
        $NamePerType  = "";
        $TimePerType  = "";

        foreach($ElementQueue as $ElementLine => $Element)
        {
            if ($Element != '')
            {
                $Element         = explode(',', $Element);
                $ElementTime      = GetBuildingTime( $CurrentUser, $CurrentPlanet, $Element[0] );
                $QueueTime       += $ElementTime * $Element[1];
                $TimePerType     .= "".$ElementTime.",";
                $NamePerType     .= "'". html_entity_decode($lang['tech'][$Element[0]]) ."',";
                $NbrePerType     .= "".$Element[1].",";
            }
        }

        $parse                             = $lang;
        $parse['a']                     = $NbrePerType;
        $parse['b']                     = $NamePerType;
        $parse['c']                     = $TimePerType;
        $parse['b_hangar_id_plus']         = $CurrentPlanet['hangar_c'];
        $parse['pretty_time_b_hangar']     = pretty_time($QueueTime - $CurrentPlanet['hangar_c']);
        $text .= parsetemplate(gettemplate('buildings/buildings_script'), $parse);

        return $text;
    }
private function ElementBuildListBoxCuartel ( $CurrentUser, $CurrentPlanet )
    {
        global $lang, $pricelist;

        $ElementQueue = explode(';', $CurrentPlanet['hangar_cuartel']);
        $NbrePerType  = "";
        $NamePerType  = "";
        $TimePerType  = "";

        foreach($ElementQueue as $ElementLine => $Element)
        {
            if ($Element != '')
            {
                $Element         = explode(',', $Element);
                $ElementTime      = GetBuildingTime( $CurrentUser, $CurrentPlanet, $Element[0] );
                $QueueTime       += $ElementTime * $Element[1];
                $TimePerType     .= "".$ElementTime.",";
                $NamePerType     .= "'". html_entity_decode($lang['tech'][$Element[0]]) ."',";
                $NbrePerType     .= "".$Element[1].",";
            }
        }

        $parse                             = $lang;
        $parse['a']                     = $NbrePerType;
        $parse['b']                     = $NamePerType;
        $parse['c']                     = $TimePerType;
        $parse['b_hangar_id_plus']         = $CurrentPlanet['hangar_c'];
        $parse['pretty_time_b_hangar']     = pretty_time($QueueTime - $CurrentPlanet['hangar_c']);
        $text .= parsetemplate(gettemplate('buildings/buildings_script'), $parse);

        return $text;
    }

    public function CuartelBuildingPage ( &$CurrentPlanet, $CurrentUser )
    {
        global $lang, $resource, $phpEx, $dpath, $_POST,$xgp_root;

        include_once($xgp_root . 'includes/functions/IsTechnologieAccessible.' . $phpEx);
        include_once($xgp_root . 'includes/functions/GetElementPrice.' . $phpEx);

        $parse = $lang;

        if (isset($_POST['fmenge']))
        {
            $BuildQueue    = $CurrentPlanet['hangar_cuartel'];
            $BuildArray    = explode (";", $BuildQueue);

            for ($QElement = 0; $QElement < count($BuildArray); $QElement++)
            {
                $ElmentArray = explode (",", $BuildArray[$QElement] );
            }


            foreach($_POST['fmenge'] as $Element => $Count)
            {
                $Element = intval($Element);
                $Count   = intval($Count);

                if ($Count > MAX_FLEET_OR_DEFS_PER_ROW)
                    $Count = MAX_FLEET_OR_DEFS_PER_ROW;

                if ($Count != 0)
                {
                    $InQueue = strpos ( $CurrentPlanet['hangar_cuartel'], $Element.",");

                    if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element))
                    {
                        $MaxElements = $this->GetMaxConstructibleElements ( $Element, $CurrentPlanet );

                        if ($Count > $MaxElements)
                        {
                            $Count = $MaxElements;
                        }
                            
                        $Ressource = $this->GetElementRessources ( $Element, $Count );

                        if ($Count >= 1)
                        {
                            $CurrentPlanet['metal']           -= $Ressource['metal'];
                            $CurrentPlanet['crystal']         -= $Ressource['crystal'];
                            $CurrentPlanet['deuterium']       -= $Ressource['deuterium'];
                            $CurrentPlanet['hangar_cuartel']     .= "". $Element .",". $Count .";";
                        }
                    }
                }
            }
        }

        if ($CurrentPlanet[$resource[45]] == 0)
            message("Necesitas una base militar primero", '', '', true);

        $NotBuilding = true;

        $TabIndex  = 0;
        $PageTable = "";
        foreach($lang['tech'] as $Element => $ElementName)
        {
            if ($Element >= 552 && $Element <= 599)
            {
                if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element))
                {
                    $CanBuildOne         = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, false);
                    $BuildOneElementTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element);
                    $ElementCount        = $CurrentPlanet[$resource[$Element]];
                    $ElementNbre         = ($ElementCount == 0) ? "" : " (". $lang['bd_available'] . pretty_number($ElementCount) . ")";

                    $PageTable .= "n<tr>";
                    $PageTable .= "<th class=l>";
                    $PageTable .= "<a href=game.".$phpEx."?page=infos&gid=".$Element.">";
                    $PageTable .= "<img border=0 src=\"" .$dpath .gebaeude ."/" .$Element .".png\"" ."width=120 height=120></a>";
$PageTable .= "</th>";
                    $PageTable .= "<td class=l>";
                    $PageTable .= "<a href=game.".$phpEx."?page=infos&gid=".$Element.">".$ElementName."</a> ".$ElementNbre."<br>";
                    $PageTable .= "".$lang['res']['descriptions'][$Element]."<br>";
                    $PageTable .= GetElementPrice($CurrentUser, $CurrentPlanet, $Element, false);
                    $PageTable .= ShowBuildTime($BuildOneElementTime);
                    $PageTable .= "</td>";
                    $PageTable .= "<th class=k>";

                    if ($CanBuildOne)
                    {
                        $InQueue = strpos ( $CurrentPlanet['hangar_cuartel'], $Element.",");
                        $TabIndex++;
                        $PageTable .= "<input type=text name=fmenge[".$Element."] alt='".$lang['tech'][$Element]."' size=6 maxlength=6 value=0 tabindex=".$TabIndex.">";
                        $PageTable .= "</th>";
$parse['build_soldier'] = "<tr><td class=c colspan=2 align=center><input type=submit value=" .$lang['bd_build_defenses'] ."></td></tr>";
                    }
                    else
                    {
                        $PageTable .= "</th>";
                    }

                    $PageTable .= "</tr>";
                }
            }
        }

        if ($CurrentPlanet['hangar_cuartel'] != '')
            $BuildQueue .= $this->ElementBuildListBoxCuartel( $CurrentUser, $CurrentPlanet );

        $parse['buildlist']        = $PageTable;
        $parse['buildinglist']     = $BuildQueue;
        display(parsetemplate(gettemplate('buildings/buildings_cuartel'), $parse));
    }  
}
?>

leftmenu template partit correspondant au chantier spatial :

<li class="menubutton_table">
              <span class="menu_icon"> <img src="{dpath}img/menu/hangar.gif" alt="1" width="28" height="20" /> </span>
              <a class="menubutton " href="game.php?page=buildings&mode=fleet" accesskey="" target="_self"> <span class="textlabel"  >{lm_shipshard}</span> </a>
              </li>

et la partit chantier spatial dans game.php

case 'fleet':
include_once($xgp_root . 'includes/pages/class.ShowShipyardPage.' . $phpEx);
$FleetBuildingPage = new ShowShipyardPage();
$FleetBuildingPage->FleetBuildingPage ($planetrow, $user);
break;
samedi 2 février 2013

Homer Messages : 1925

ça se passe là je pense :

if ($CurrentPlanet['b_hangar_id'] == 0 OR $CurrentPlanet['b_hangar_id'] == '')

{

message('Error<br>No hay ningun elemento en la cola', 'game.php?page=buildings&mode=fleet', 3);

}

vérifie la valeur de $CurrentPlanet['b_hangar_id'] dans les 3 races

samedi 2 février 2013

stryker Messages : 367

question conne je regarde ou xD

samedi 2 février 2013

Homer Messages : 1925

tu place un echo $CurrentPlanet['b_hangar_id']; dans la fonction FleetBuildingPage et depuis le jeu tu va dans le chantier spatial et tu regarde la le texte qui s'affiche en haut à gauche, se sera la valeur de ton b_hangar_id qui doit si jme trompe pas correspondre à ton niveau de chantier spatial

samedi 2 février 2013

stryker Messages : 367

euhhh sa plante chef... ou alors y a un truc que je fais pas comme il faut...

samedi 2 février 2013

Homer Messages : 1925

tu as quel message ?

samedi 2 février 2013

stryker Messages : 367

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\Revolution\uni1\game.php on line 120

ya un truc que j dois pas faire comme il faut

tu le mettrais ou dans le code ?

samedi 2 février 2013

Homer Messages : 1925

tu as bien mis ça ? echo $CurrentPlanet['b_hangar_id'];

avec le ; a la fin ?

samedi 2 février 2013

stryker Messages : 367

comme ça ?

case 'fleet':
include_once($xgp_root . 'includes/pages/class.ShowShipyardPage.' . $phpEx);
$FleetBuildingPage = new ShowShipyardPage();
$FleetBuildingPage->FleetBuildingPage ($planetrow, $user);
echo $CurrentPlanet['b_hangar_id'];

la le jeu marche mais ça n'affiche pas de valeur

samedi 2 février 2013

Homer Messages : 1925

met le la :

public function FleetBuildingPage ( &$CurrentPlanet, $CurrentUser )
    {
        global $lang, $resource, $phpEx, $dpath, $xgp_root;

        include_once($xgp_root . 'includes/functions/IsTechnologieAccessible.' . $phpEx);
        include_once($xgp_root . 'includes/functions/GetElementPrice.' . $phpEx);
echo $CurrentPlanet['b_hangar_id'];
samedi 2 février 2013

Page suivante »