Version 1.5

This commit is contained in:
nemunaire 2008-11-30 12:00:00 +01:00
commit a66ed9797b
157 changed files with 29787 additions and 3531 deletions

1
game/.htaccess Normal file
View file

@ -0,0 +1 @@
Deny from all

View file

@ -18,12 +18,13 @@ for($i = 0; $i < $nbPlan; $i++){
$resultatf = $chapeau->query("SELECT * FROM `$table_flottes` WHERE `mission` = '1' AND `end_galaxie` = '$end_galaxie' AND `end_ss` = '$end_ss' AND `end_position` = '$end_position';");
$nbF = $chapeau->num_rows;
for ($j = 0; $j < $nbF; $j++) {
$start_galaxie = $resultatf['start_galaxie'];
$start_ss = $resultatf['start_ss'];
$start_position = $resultatf['start_position'];
if ($resultatf['start_time'] + $resultatf['end_time'] < time() + $queryUser['detection']*1800) {
$start_galaxie = $resultatf[$j]['start_galaxie'];
$start_ss = $resultatf[$j]['start_ss'];
$start_position = $resultatf[$j]['start_position'];
if ($resultatf[$j]['start_time'] + $resultatf[$j]['end_time'] < time() + $queryUser['detection']*1800) {
$resultatp = $chapeau->unique_query("SELECT `nom_planete` FROM `$table_planete` WHERE `galaxie` = '$start_galaxie' AND `ss` = '$start_ss' AND `position` = '$start_position'");
$attaquesRadar[] = array(htmlspecialchars($resultatp['nom_planete']), affTemp($resultatf['start_time']+$resultatf['end_time']-time()), $resultatf['start_galaxie'], $resultatf['start_ss'], $resultatf['start_position'], htmlspecialchars($queryPlanetes[$i]['nom_planete']), $resultatf['end_galaxie'], $resultatf['end_ss'], $resultatf['end_position'], $resultatf['start_time']+$resultatf['end_time']-time());
$resultatpm = $chapeau->unique_query("SELECT `nom_planete` FROM `$table_planete` WHERE `galaxie` = '$end_galaxie' AND `ss` = '$end_ss' AND `position` = '$end_position'");
$attaquesRadar[] = array(htmlspecialchars($resultatp['nom_planete']), $resultatf[$j]['start_time']+$resultatf[$j]['end_time']-time()<0?'COMBAT EN COURS':affTemp($resultatf[$j]['start_time']+$resultatf[$j]['end_time']-time()), $resultatf[$j]['start_galaxie'], $resultatf[$j]['start_ss'], $resultatf[$j]['start_position'], htmlspecialchars($resultatpm['nom_planete']), $resultatf[$j]['end_galaxie'], $resultatf[$j]['end_ss'], $resultatf[$j]['end_position'], ($resultatf[$j]['start_time']+$resultatf[$j]['end_time']-time())<0?'':$resultatf[$j]['start_time']+$resultatf[$j]['end_time']-time());
}
}
}

20
game/admin/flottes.php Normal file
View file

@ -0,0 +1,20 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
$pagea = 'vflotte';
$titre = 'Vérification flottes';
//Vérification des flottes
if (!isset($_GET['ceil'])) $_GET['ceil'] = 5000;
$req = mysql_query("SELECT * FROM `$table_flottes` ORDER BY `start_time` DESC");
$tableau = array();
while($resultat = mysql_fetch_array($req)) {
$user_source = infoPlan($resultat['end_galaxie'], $resultat['end_ss'], $resultat['end_position'], 'id_user');
if ($resultat['contenu_metal'] + $resultat['contenu_cristal'] + $resultat['contenu_hydrogene'] >= $_GET['ceil']) $color = 'FF0000';
elseif ($user_source != $resultat['id_user']) $color = 'DFBF00';
else $color = false;
$tableau[] = array(trouvNom($user_source), trouvNom($resultat['id_user']), infoPlan($resultat['start_galaxie'], $resultat['start_ss'], $resultat['start_position'], 'nom_planete'), '['.$resultat['start_galaxie'].':'.$resultat['start_ss'].':'.$resultat['start_position'].']', infoPlan($resultat['end_galaxie'], $resultat['end_ss'], $resultat['end_position'], 'nom_planete'), '['.$resultat['end_galaxie'].':'.$resultat['end_ss'].':'.$resultat['end_position'].']', $resultat['start_time'], '<acronym title="!!!Détail vaisseaux">'.$resultat['nb_vais'].'</acronym>', $resultat['vitesse'], $resultat['contenu_metal'], $resultat['contenu_cristal'], $resultat['contenu_hydrogene'], $color);
}
$template->assign('flottes', $tableau);
?>

20
game/admin/ip.php Normal file
View file

@ -0,0 +1,20 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
$pagea = 'vip';
$titre = 'Vérification IP';
if (isset($_GET['ip'])) $req = mysql_query("SELECT * FROM `registre_identification` WHERE `ip` = '".$_GET['ip']."' ORDER BY `ip` ASC;");
elseif (isset($_GET['util'])) $req = mysql_query("SELECT * FROM `registre_identification` WHERE `id_util` = '".$_GET['util']."' ORDER BY `ip` ASC;");
elseif (isset($_GET['tri'])) $req = mysql_query("SELECT * FROM `registre_identification` ORDER BY `".$_GET['tri']."` ASC;");
else $req = mysql_query("SELECT * FROM `registre_identification` ORDER BY `ip` ASC;");
$anc = array('ip' => 0, 'id_util' => 0);
$tableau = array();
while($resultat = mysql_fetch_array($req)) {
if ($anc['ip'] == $resultat['ip'] && $anc['id_util'] != $resultat['id_util']) $color = 'FF0000';
elseif ($anc['ip'] == $resultat['ip']) $color = 'DFBF00';
else $color = false;
$tableau[] = array($resultat['ip'], gethostbyaddr($resultat['ip']), $resultat['id_util'], trouvNom($resultat['id_util']), $resultat['time'], $resultat['commodo'], $color);
$anc = $resultat;
}
$template->assign('ips', $tableau);
?>

View file

@ -6,11 +6,13 @@ if (empty($_GET['q'])) $_GET['q'] = '';
switch($_GET['q']){
case '1':
$page = 'aide/avertissements';;
break;
$page = 'aide/avertissements'; break;
case '2':
$page = 'aide/config';;
break;
$page = 'aide/config'; break;
case '3':
$page = 'aide/intro'; break;
case '4':
$page = 'aide/commentjouer'; break;
default:
$page = 'aide/sommaire';
}

View file

@ -4,9 +4,7 @@ $titre = 'Alliance';
include_once('Class/class.rapport.php');
//Si le joueur est membre de l'alliance
if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 ) {
$alliance = $chapeau->unique_query("SELECT * FROM `$table_alliances` WHERE `id` = '".$queryUser['id_alliance']."';");
if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 && $alliance = $chapeau->unique_query("SELECT * FROM `$table_alliances` WHERE `id` = '".$queryUser['id_alliance']."';")) {
//On détermine les accès du joueur
if ($alliance['fondateur'] == $queryUser['id'])
$access = array(
@ -190,7 +188,8 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 )
}
elseif ($_GET['q'] == 'liste') {
$page = 'alliance_liste';
$membres = $chapeau->query("SELECT * FROM `$table_user` WHERE `id_alliance` = '".$alliance['id']."';");
if (isset($_GET['t']) && $_GET['t'] == 'classement') $membres = $chapeau->query("SELECT * FROM `$table_user` WHERE `id_alliance` = '".$alliance['id']."' ORDER BY `place_points` DESC;");
else $membres = $chapeau->query("SELECT * FROM `$table_user` WHERE `id_alliance` = '".$alliance['id']."';");
$template->assign('membres', $membres);
}
elseif ($_GET['q'] == 'chat') {
@ -212,6 +211,8 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 )
}
else {
$page = 'alliance_accueil';
$alliance['presentation'] = bbcode(htmlspecialchars($alliance['presentation']));
$alliance['texte_interne'] = bbcode(htmlspecialchars($alliance['texte_interne']));
$template->assign('alliance', $alliance);
$membres = $chapeau->query("SELECT * FROM `$table_user` WHERE `id_alliance` = '".$alliance['id']."';");
$template->assign('nbmembre', $chapeau->num_rows);
@ -219,7 +220,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 )
else $template->assign('grade', $grade);
//Chat
$chat = $chapeau->query("SELECT * FROM `$table_alliances_chat` WHERE `id_alliance` = '".$alliance['id']."' ORDER BY `id` DESC LIMIT 30");
$chat = $chapeau->query("SELECT * FROM `$table_alliances_chat` WHERE `id_alliance` = '".$alliance['id']."' ORDER BY `id` DESC LIMIT 30;");
for($i = 0; $i < $chapeau->num_rows ; $i++){
$chat[$i]['emetteur'] = trouvNom($chat[$i]['emetteur']);
$chat[$i]['message'] = htmlspecialchars($chat[$i]['message']);
@ -227,6 +228,11 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 )
$template->assign('chat', $chat);
}
}
elseif (!empty($queryUser['id_alliance']) && !$chapeau->unique_query("SELECT * FROM `$table_alliances` WHERE `id` = '".$queryUser['id_alliance']."';")) {
$chapeau->query("UPDATE `$table_user` SET `id_alliance` = '0', `id_grade_alliance` = '0' WHERE `id` = '$id_user';");
header('Location: ?p=alliances');
exit;
}
//Si le joueur n'est membre d'aucune alliance
else {
if (!isset($_GET['q'])) $_GET['q'] = '';
@ -236,19 +242,22 @@ else {
$by = mysql_real_escape_string($_POST['by']);
$search = mysql_real_escape_string($_POST['search']);
$recherche = $chapeau->query("SELECT * FROM `$table_alliances` WHERE `$by` LIKE '%$search%' ORDER BY `nom` ASC");
$recherche = $chapeau->query("SELECT * FROM `$table_alliances` WHERE `$by` LIKE '%$search%' ORDER BY `nom` ASC;");
$template->assign('recherches', $recherche);
}
elseif ($_GET['q'] == 'liste' && !empty($_GET['i'])) {
$page = 'alliance_liste';
$membres = $chapeau->query("SELECT * FROM `$table_user` WHERE `id_alliance` = '".floor($_GET['i'])."';");
if (isset($_GET['t']) && $_GET['t'] == 'classement') $membres = $chapeau->query("SELECT * FROM `$table_user` WHERE `id_alliance` = '".$_GET['i']."' ORDER BY `place_points` DESC;");
else $membres = $chapeau->query("SELECT * FROM `$table_user` WHERE `id_alliance` = '".$_GET['i']."';");
$template->assign('membres', $membres);
$template->assign('i', $_GET['i']);
}
elseif ($_GET['q'] == 'view' && !empty($_GET['i'])) {
$id = mysql_real_escape_string($_GET['i']);
$alliance = $chapeau->unique_query("SELECT * FROM `$table_alliances` WHERE `id` = '$id';");
if ($alliance) {
$page = 'alliance_nm_view';
$alliance['presentation'] = bbcode(htmlspecialchars($alliance['presentation']));
$template->assign('alliance', $alliance);
$membres = $chapeau->query("SELECT * FROM `$table_user` WHERE `id_alliance` = '".$alliance['id']."';");
$template->assign('nbmembre', $chapeau->num_rows);
@ -303,10 +312,10 @@ else {
$nbsign = count($signataires);
for ($i=0 ; $i<$nbsign ; $i++) {
$chapeau->query("UPDATE `$table_user` SET `id_alliance` = '".$alliance['id']."' WHERE `id` = '".$signataires[$i]."'");
$chapeau->query("UPDATE `$table_user` SET `id_alliance` = '".$alliance['id']."' WHERE `id` = '".$signataires[$i]."';");
}
$chapeau->query("UPDATE `$table_user` SET `id_alliance` = '".$alliance['id']."' WHERE `id` = '$id_user'");
$chapeau->query("UPDATE `$table_user` SET `id_alliance` = '".$alliance['id']."' WHERE `id` = '".$alliance['fondateur']."'");
$chapeau->query("UPDATE `$table_user` SET `id_alliance` = '".$alliance['id']."' WHERE `id` = '$id_user';");
$chapeau->query("UPDATE `$table_user` SET `id_alliance` = '".$alliance['id']."' WHERE `id` = '".$alliance['fondateur']."';");
$template->assign('message','Votre signature a bien été ajoutée à la déclaration de l\'alliance.<br />L\'alliance a désormais suffisament de signature pour être créée !');
$template->assign('couleur','green');
@ -316,8 +325,8 @@ else {
else {
$signataires[] = $id_user;
$signataires = implode(';', $signataires);
$chapeau->query("UPDATE `$table_alliances_creation` SET `signatures` = '$signataires' WHERE `lien` = '$lien'");
$chapeau->query("UPDATE `$table_user` SET `id_alliance` = 'c".$alliance['id']."' WHERE `id` = '$id_user'");
$chapeau->query("UPDATE `$table_alliances_creation` SET `signatures` = '$signataires' WHERE `lien` = '$lien';");
$chapeau->query("UPDATE `$table_user` SET `id_alliance` = 'c".$alliance['id']."' WHERE `id` = '$id_user';");
$template->assign('message','Votre signature a bien été ajoutée à la déclaration de l\'alliance.');
$template->assign('couleur','green');
$template->display('game/erreur.tpl');

View file

@ -1,136 +1,136 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
include_once('Class/class.gerefile.php');
$page = 'batiments';
$titre = 'Batiments';
$TEMP_batiments = array();
$nbstop = count($batiment);
if (empty($queryPlanete['file_bat'])) $file = new gererFile($queryUser['prodfile']+2);
else {
$file = unserialize($queryPlanete['file_bat']);
$file->limite = $queryUser['prodfile']+2;
}
//Lancement d'une nouvelle construction
if (isset($_GET['c']) && isset($batiment[$_GET['c']])) {
$i = $_GET['c'];
if(requestDeblok($batimentTECH[$i], $queryPlanete, $queryUser)) {
$n = $queryPlanete[$batimentVAR[$i]]+1;
eval($batimentCALC[$i][0]); $metal -= $a;
eval($batimentCALC[$i][1]); $cristal -= $b;
eval($batimentCALC[$i][2]); $hydrogene -= $c;
if ($caseRest <= 0) {
$template->assign('message','Vous n\'avez plus de place sur votre planète.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
if ($metal < 0 || $cristal < 0 || $hydrogene < 0) {
$template->assign('message','Vous n\'avez pas assez de ressources pour effectuer cette construction.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
eval($batimentCALC[$i][3]);
if (!$file->existe($i) && $file->addObjet($i, 1, ceil($sec))) {
$export = serialize($file);
$chapeau->escape($export);
$chapeau->query("UPDATE `$table_planete` SET `file_bat` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
}
elseif ($file->existe($i)) {
$template->assign('message','Ce bâtiment est déjà dans la file d\'attente !');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
else {
$template->assign('message','Vous ne pouvez pas mettre plus de batiments en file d\'attente.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
header('Location: ?p=batiments');
exit;
}
else {
$template->assign('message','Vous n\'avez pas les technologies nécessaire pour construire ce batiment !');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
}
//Annulation d'une nouvelle construction
if (isset($_GET['a']) && isset($batiment[$_GET['a']])) {
$i = $_GET['a'];
if($file->existe($i)) {
$n=($queryPlanete[$batimentVAR[$i]]+1);
eval($batimentCALC[$i][0]); $metal += $a;
eval($batimentCALC[$i][1]); $cristal += $b;
eval($batimentCALC[$i][2]); $hydrogene += $c;
$file->delobjet($i);
$export = serialize($file);
$chapeau->escape($export);
$chapeau->query("UPDATE `$table_planete` SET `file_bat` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
header('Location: ?p=batiments');
exit;
}
}
//Règler la production à la châine
/* if (isset($_GET['r']) && ($_GET['r'] == 1 || $_GET['r'] == 0)) {
if($_GET['r']) $file->chaine = false;
else $file->chaine = true;
$export = mysql_real_escape_string(serialize($file));
mysql_query("UPDATE `planete` SET `file_bat` = '$export' WHERE `id` = '$idPlan';");
header('Location: ?p=batiments');
exit;
}*/
for ($i=0 ; $i<$nbstop ; $i++) {
$tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0; $enFile = false;
$nom_bdd = $batimentVAR[$i];
if ($queryPlanete[$nom_bdd] > 0) $niveau = $queryPlanete[$nom_bdd]; else $niveau = 0;
$n=($queryPlanete[$nom_bdd]+1); eval($batimentCALC[$i][0]); eval($batimentCALC[$i][1]); eval($batimentCALC[$i][2]); eval($batimentCALC[$i][3]);
if ($file->existe($i)) $enFile = true;
if (!empty($batiment[$i]) && requestDeblok($batimentTECH[$i], $queryPlanete, $queryUser)) $TEMP_batiments[] =
array(
'image' => $batimeni[$i],
'nom' => $batiment[$i],
'niveau' => $niveau,
'description' => $batimede[$i],
'descriptione' => addslashes($batimede[$i]),
'nec_metal' => $a,
'nec_cristal' => $b,
'nec_hydrogene' => $c,
'nec_metalS' => separerNombres($a),
'nec_cristalS' => separerNombres($b),
'nec_hydrogeneS' => separerNombres($c),
'temps' => sec($sec),
'num' => $i,
'enfile' => $enFile,
'maq_metal' => ceil($a-$metal),
'maq_cristal' => ceil($b-$cristal),
'maq_hydrogene' => ceil($c-$hydrogene)
);
}
$template->assign('batiments',$TEMP_batiments);
$template->assign('chaine',$file->chaine);
$fileBat = $file->file;
$nbfile = count($fileBat);
if ($nbfile == 1) $template->assign('Pchaine',true);
else $template->assign('Pchaine',false);
if ($nbfile == 0) $template->assign('Vchaine',true);
else $template->assign('Vchaine',false);
for ($i=0 ; $i<$nbfile ; $i++) {
$fileBat[$i][3] = $batiment[$fileBat[$i][0]];
if ($i == 0) $fileBat[$i][2] -= time() - $file->timestamp;
}
$template->assign('file',$fileBat);
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
include_once('Class/class.gerefile.php');
$page = 'batiments';
$titre = 'Batiments';
$TEMP_batiments = array();
$nbstop = count($batiment);
if (empty($queryPlanete['file_bat'])) $file = new gererFile($queryUser['prodfile']+2);
else {
$file = unserialize($queryPlanete['file_bat']);
$file->limite = $queryUser['prodfile']+2;
}
//Lancement d'une nouvelle construction
if (isset($_GET['c']) && !empty($batiment[$_GET['c']])) {
$i = $_GET['c'];
if(requestDeblok($batimentTECH[$i], $queryPlanete, $queryUser)) {
$n = $queryPlanete[$batimentVAR[$i]]+1;
eval($batimentCALC[$i][0]); $metal -= $a;
eval($batimentCALC[$i][1]); $cristal -= $b;
eval($batimentCALC[$i][2]); $hydrogene -= $c;
if ($caseRest <= 0) {
$template->assign('message','Vous n\'avez plus de place sur votre planète.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
if ($metal < 0 || $cristal < 0 || $hydrogene < 0) {
$template->assign('message','Vous n\'avez pas assez de ressources pour effectuer cette construction.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
eval($batimentCALC[$i][3]);
if (!$file->existe($i) && $file->addObjet($i, 1, ceil($sec))) {
$export = serialize($file);
$chapeau->escape($export);
$chapeau->query("UPDATE `$table_planete` SET `file_bat` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
}
elseif ($file->existe($i)) {
$template->assign('message','Ce bâtiment est déjà dans la file d\'attente !');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
else {
$template->assign('message','Vous ne pouvez pas mettre plus de batiments en file d\'attente.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
header('Location: ?p=batiments');
exit;
}
else {
$template->assign('message','Vous n\'avez pas les technologies nécessaire pour construire ce batiment !');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
}
//Annulation d'une nouvelle construction
if (isset($_GET['a']) && isset($batiment[$_GET['a']])) {
$i = $_GET['a'];
if($file->existe($i)) {
$n=($queryPlanete[$batimentVAR[$i]]+1);
eval($batimentCALC[$i][0]); $metal += $a;
eval($batimentCALC[$i][1]); $cristal += $b;
eval($batimentCALC[$i][2]); $hydrogene += $c;
$file->delobjet($i);
$export = serialize($file);
$chapeau->escape($export);
$chapeau->query("UPDATE `$table_planete` SET `file_bat` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
header('Location: ?p=batiments');
exit;
}
}
//Règler la production à la châine
/* if (isset($_GET['r']) && ($_GET['r'] == 1 || $_GET['r'] == 0)) {
if($_GET['r']) $file->chaine = false;
else $file->chaine = true;
$export = mysql_real_escape_string(serialize($file));
mysql_query("UPDATE `planete` SET `file_bat` = '$export' WHERE `id` = '$idPlan';");
header('Location: ?p=batiments');
exit;
}*/
for ($i=0 ; $i<$nbstop ; $i++) {
$tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0; $enFile = false;
$nom_bdd = $batimentVAR[$i];
if ($queryPlanete[$nom_bdd] > 0) $niveau = $queryPlanete[$nom_bdd]; else $niveau = 0;
$n=($queryPlanete[$nom_bdd]+1); eval($batimentCALC[$i][0]); eval($batimentCALC[$i][1]); eval($batimentCALC[$i][2]); eval($batimentCALC[$i][3]);
if ($file->existe($i)) $enFile = true;
if (!empty($batiment[$i]) && requestDeblok($batimentTECH[$i], $queryPlanete, $queryUser)) $TEMP_batiments[] =
array(
'image' => $batimeni[$i],
'nom' => $batiment[$i],
'niveau' => $niveau,
'description' => $batimede[$i],
'descriptione' => addslashes($batimede[$i]),
'nec_metal' => $a,
'nec_cristal' => $b,
'nec_hydrogene' => $c,
'nec_metalS' => separerNombres($a),
'nec_cristalS' => separerNombres($b),
'nec_hydrogeneS' => separerNombres($c),
'temps' => sec($sec),
'num' => $i,
'enfile' => $enFile,
'maq_metal' => ceil($a-$metal),
'maq_cristal' => ceil($b-$cristal),
'maq_hydrogene' => ceil($c-$hydrogene)
);
}
$template->assign('batiments',$TEMP_batiments);
$template->assign('chaine',$file->chaine);
$fileBat = array_merge($file->file);
$nbfile = count($fileBat);
if ($nbfile == 1) $template->assign('Pchaine',true);
else $template->assign('Pchaine',false);
if ($nbfile == 0) $template->assign('Vchaine',true);
else $template->assign('Vchaine',false);
for ($i=0 ; $i<$nbfile ; $i++) {
$fileBat[$i][3] = $batiment[$fileBat[$i][0]];
if ($i == 0) $fileBat[$i][2] -= time() - $file->timestamp;
}
$template->assign('file',$fileBat);
?>

View file

@ -1,138 +1,138 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
include_once('Class/class.gerefile.php');
$page = 'chantierspatial';
$titre = 'Chantier spatial';
$TEMP_vaisseaux = array();
$nbstop = count($nomvaisn);
if (empty($queryPlanete['file_vais'])) $file = new gererFile($queryUser['prodfile']+2);
else {
$file = unserialize($queryPlanete['file_vais']);
$file->limite = $queryUser['prodfile'] + 2;
}
if ($queryPlanete['chantier_spatial'] == 0) {
$template->assign('message','Vous devez d\'abord construire un '.strtolower($batiment[8]));
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 4000);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
//Lancement d'une nouvelle construction
if (isset($_GET['v']) && isset($nomvaisn[$_GET['v']]) && !empty($_POST['nombre'])) {
$i = $_GET['v'];
$nbv = floor($_POST['nombre']);
if(requestDeblok($nomvaisnTECH[$i], $queryPlanete, $queryUser) && $nbv > 0) {
$n=($queryPlanete[$nomvaisnVAR[$i]]+1);
$a = $nomvaisnCALC[$i][0]; $metal -= $a * $nbv;
$b = $nomvaisnCALC[$i][1]; $cristal -= $b * $nbv;
$c = $nomvaisnCALC[$i][2]; $hydrogene -= $c * $nbv;
if ($metal < 0 || $cristal < 0 || $hydrogene < 0) {
$template->assign('message','Vous n\'avez pas assez de ressources pour démarrer cette construction.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=chantierspatial";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
eval($nomvaisnCALC[$i][3]);
if ($file->addObjet($i, $nbv, ceil($sec))) {
$export = serialize($file);
$chapeau->escape($export);
$chapeau->query("UPDATE `$table_planete` SET `file_vais` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
}
else {
$template->assign('message','Vous ne pouvez pas mettre plus de vaisseaux en file d\'attente.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=chantierspatial";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
header('Location: ?p=chantierspatial');
exit;
}
else {
$template->assign('message','Vous n\'avez pas les technologies nécessaire pour construire ce vaisseau !');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=chantierspatial";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
}
//Annulation d'une nouvelle construction
if (isset($_GET['a']) && isset($nomvaisn[$_GET['a']])) {
$i = $_GET['a'];
if (!isset($_GET['n'])) $nbv = 1;
else $nbv = $_GET['n'];
if($file->existe($i)) {
$n=($queryPlanete[$nomvaisnVAR[$i]]+1);
$a = $nomvaisnCALC[$i][0];
$b = $nomvaisnCALC[$i][1];
$c = $nomvaisnCALC[$i][2];
$nbvr = $file->delobjet($i, $nbv);
$metal += $a*$nbvr;
$cristal += $b*$nbvr;
$hydrogene += $c*$nbvr;
$export = serialize($file);
$chapeau->escape($export);
$chapeau->query("UPDATE `$table_planete` SET `file_vais` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
header('Location: ?p=chantierspatial');
exit;
}
}
//Règler la production à la châine
/* if (isset($_GET['r']) && ($_GET['r'] == 1 || $_GET['r'] == 0)) {
if($_GET['r']) $file->chaine = false;
else $file->chaine = true;
$export = mysql_real_escape_string(serialize($file));
mysql_query("UPDATE `planete` SET `file_vais` = '$export' WHERE `id` = '$idPlan';");
header('Location: ?p=chantierspatial');
exit;
}*/
for ($i = 0; $i < $nbstop; $i++) {
$tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0;
$nom_bdd = $nomvaisnVAR[$i]; $a = $nomvaisnCALC[$i][0]; $b = $nomvaisnCALC[$i][1]; $c = $nomvaisnCALC[$i][2]; eval($nomvaisnCALC[$i][3]);
if ($queryPlanete[$nom_bdd] > 0) $nombre = $queryPlanete[$nom_bdd]; else $nombre = 0;
$n=($queryPlanete[$nom_bdd]+1);
if (!empty($nomvaisn[$i]) && requestDeblok($nomvaisnTECH[$i], $queryPlanete, $queryUser)) $TEMP_vaisseaux[] =
array(
'image' => $nomvaisi[$i],
'nom' => $nomvaisn[$i],
'nombre' => $nombre,
'description' => $nomvaisd[$i],
'descriptione' => addslashes($nomvaisd[$i]),
'nec_metal' => $a,
'nec_cristal' => $b,
'nec_hydrogene' => $c,
'nec_metalS' => separerNombres($a),
'nec_cristalS' => separerNombres($b),
'nec_hydrogeneS' => separerNombres($c),
'temps' => sec($sec),
'num' => $i
);
}
$template->assign('vaisseaux',$TEMP_vaisseaux);
$template->assign('chaine',$file->chaine);
$fileBat = $file->file;
$nbfile = count($fileBat);
if ($nbfile == 1) $template->assign('Pchaine',true);
else $template->assign('Pchaine',false);
if ($nbfile == 0) $template->assign('Vchaine',true);
else $template->assign('Vchaine',false);
for ($i=0 ; $i<$nbfile ; $i++) {
$fileBat[$i][3] = $nomvaisn[$fileBat[$i][0]];
$fileBat[$i][4] = $fileBat[$i][2]*$fileBat[$i][1];
if ($i == 0) {
$fileBat[$i][2] -= time() - $file->timestamp;
$fileBat[$i][4] -= time() - $file->timestamp;
}
}
$template->assign('file',$fileBat);
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
include_once('Class/class.gerefile.php');
$page = 'chantierspatial';
$titre = 'Chantier spatial';
$TEMP_vaisseaux = array();
$nbstop = count($nomvaisn);
if (empty($queryPlanete['file_vais'])) $file = new gererFile($queryUser['prodfile']+2);
else {
$file = unserialize($queryPlanete['file_vais']);
$file->limite = $queryUser['prodfile'] + 2;
}
if ($queryPlanete['chantier_spatial'] == 0) {
$template->assign('message','Vous devez d\'abord construire un '.strtolower($batiment[8]));
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 4000);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
//Lancement d'une nouvelle construction
if (isset($_GET['v']) && !empty($nomvaisn[$_GET['v']]) && !empty($_POST['nombre'])) {
$i = $_GET['v'];
$nbv = floor($_POST['nombre']);
if(requestDeblok($nomvaisnTECH[$i], $queryPlanete, $queryUser) && $nbv > 0) {
$n=($queryPlanete[$nomvaisnVAR[$i]]+1);
$a = $nomvaisnCALC[$i][0]; $metal -= $a * $nbv;
$b = $nomvaisnCALC[$i][1]; $cristal -= $b * $nbv;
$c = $nomvaisnCALC[$i][2]; $hydrogene -= $c * $nbv;
if ($metal < 0 || $cristal < 0 || $hydrogene < 0) {
$template->assign('message','Vous n\'avez pas assez de ressources pour démarrer cette construction.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=chantierspatial";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
eval($nomvaisnCALC[$i][3]);
if ($file->addObjet($i, $nbv, ceil($sec))) {
$export = serialize($file);
$chapeau->escape($export);
$chapeau->query("UPDATE `$table_planete` SET `file_vais` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
}
else {
$template->assign('message','Vous ne pouvez pas mettre plus de vaisseaux en file d\'attente.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=chantierspatial";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
header('Location: ?p=chantierspatial');
exit;
}
else {
$template->assign('message','Vous n\'avez pas les technologies nécessaire pour construire ce vaisseau !');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=chantierspatial";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
}
//Annulation d'une nouvelle construction
if (isset($_GET['a']) && isset($nomvaisn[$_GET['a']])) {
$i = $_GET['a'];
if (!isset($_GET['n'])) $nbv = 1;
else $nbv = $_GET['n'];
if($file->existe($i)) {
$n=($queryPlanete[$nomvaisnVAR[$i]]+1);
$a = $nomvaisnCALC[$i][0];
$b = $nomvaisnCALC[$i][1];
$c = $nomvaisnCALC[$i][2];
$nbvr = $file->delobjet($i, $nbv);
$metal += $a*$nbvr;
$cristal += $b*$nbvr;
$hydrogene += $c*$nbvr;
$export = serialize($file);
$chapeau->escape($export);
$chapeau->query("UPDATE `$table_planete` SET `file_vais` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
header('Location: ?p=chantierspatial');
exit;
}
}
//Règler la production à la châine
/* if (isset($_GET['r']) && ($_GET['r'] == 1 || $_GET['r'] == 0)) {
if($_GET['r']) $file->chaine = false;
else $file->chaine = true;
$export = mysql_real_escape_string(serialize($file));
mysql_query("UPDATE `planete` SET `file_vais` = '$export' WHERE `id` = '$idPlan';");
header('Location: ?p=chantierspatial');
exit;
}*/
for ($i = 0; $i < $nbstop; $i++) {
$tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0;
$nom_bdd = $nomvaisnVAR[$i]; $a = $nomvaisnCALC[$i][0]; $b = $nomvaisnCALC[$i][1]; $c = $nomvaisnCALC[$i][2]; eval($nomvaisnCALC[$i][3]);
if ($queryPlanete[$nom_bdd] > 0) $nombre = $queryPlanete[$nom_bdd]; else $nombre = 0;
$n=($queryPlanete[$nom_bdd]+1);
if (!empty($nomvaisn[$i]) && requestDeblok($nomvaisnTECH[$i], $queryPlanete, $queryUser)) $TEMP_vaisseaux[] =
array(
'image' => $nomvaisi[$i],
'nom' => $nomvaisn[$i],
'nombre' => $nombre,
'description' => $nomvaisd[$i],
'descriptione' => addslashes($nomvaisd[$i]),
'nec_metal' => $a,
'nec_cristal' => $b,
'nec_hydrogene' => $c,
'nec_metalS' => separerNombres($a),
'nec_cristalS' => separerNombres($b),
'nec_hydrogeneS' => separerNombres($c),
'temps' => sec($sec),
'num' => $i
);
}
$template->assign('vaisseaux',$TEMP_vaisseaux);
$template->assign('chaine',$file->chaine);
$fileBat = array_merge($file->file);
$nbfile = count($fileBat);
if ($nbfile == 1) $template->assign('Pchaine',true);
else $template->assign('Pchaine',false);
if ($nbfile == 0) $template->assign('Vchaine',true);
else $template->assign('Vchaine',false);
for ($i=0 ; $i<$nbfile ; $i++) {
$fileBat[$i][3] = $nomvaisn[$fileBat[$i][0]];
$fileBat[$i][4] = $fileBat[$i][2]*$fileBat[$i][1];
if ($i == 0) {
$fileBat[$i][2] -= time() - $file->timestamp;
$fileBat[$i][4] -= time() - $file->timestamp;
}
}
$template->assign('file',$fileBat);
?>

View file

@ -20,7 +20,7 @@ $titre = 'Chantier terrestre';
exit;
}
//Lancement d'une nouvelle construction
if (isset($_GET['v']) && isset($nomvaisn[$_GET['v']]) && !empty($_POST['nombre'])) {
if (isset($_GET['v']) && !empty($nomvaisn[$_GET['v']]) && !empty($_POST['nombre'])) {
$i = $_GET['v'];
$nbv = floor($_POST['nombre']);
if(requestDeblok($nomterrnTECH[$i], $queryPlanete, $queryUser) && $nbv > 0) {

View file

@ -13,7 +13,13 @@ else $pageClassement = 1;
else $export = 'points';
}
else $export = 'points';
if (isset($_GET['t'])) {
if ($_GET['t'] == '0') $TypeSearch = '0';
else $TypeSearch = '1';
}
else $TypeSearch = '0';
$nbppage = 100;
$pageClassementN = ($pageClassement-1) * $nbppage;
@ -27,16 +33,58 @@ for($i=1 ; $i<=$nbpages ; $i++) {
}
$TEMP_pages .= '</select>';
$template->assign('q', $TEMP_pages);
$result = mysql_query("SELECT * FROM `classement` ORDER BY `classement`.`$export` DESC LIMIT $pageClassementN, $nbppage");
//$result = mysql_query("SELECT * FROM `classement` ORDER BY `classement`.`$export` DESC LIMIT $pageClassementN, $nbppage");
$TEMP_classement = array();
$i = ($pageClassement-1)*$nbppage;
$template->assign('t', $TypeSearch);
$template->assign('export', $export);
if ($_GET['t'] == '1')
{
$result = mysql_query("SELECT tag, nbr_membres, ".$export.", points_".$export."_by_members
FROM classement_alliances
ORDER BY ".$export."
DESC LIMIT $pageClassementN, $nbppage");
while ($data = mysql_fetch_array($result)) {
$i++;
$TEMP_classement[] = array($i, $data['pseudo'], $data['race'], separerNombres($data[$export]));
$TEMP_classement = array();
$i = ($pageClassement-1)*$nbppage;
$template->assign('export', $export);
while ($data = mysql_fetch_array($result)) {
$i++;
$TEMP_classement[] = array($i, $data['tag'], $data['nbr_membres'],separerNombres($data[$export]),separerNombres($data["points_".$export."_by_members"]));
}
$template->assign('places', $TEMP_classement);
}
$template->assign('places', $TEMP_classement);
?>
else
{
$result = mysql_query("SELECT t1.pseudo, t1.".$export."
FROM classement AS t1
ORDER BY t1.".$export."
DESC LIMIT $pageClassementN, $nbppage");
$TEMP_classement = array();
$i = ($pageClassement-1)*$nbppage;
$template->assign('export', $export);
while ($data = mysql_fetch_array($result)) {
$race = mysql_unbuffered_query("SELECT race FROM classement WHERE pseudo ='".$data['pseudo']."' ");
$race= mysql_fetch_row($race);
$result2 = mysql_unbuffered_query("SELECT user.id_alliance FROM user WHERE user.pseudo ='".$data['pseudo']."' ");
$result2= mysql_fetch_row($result2);
$result3 = mysql_unbuffered_query("SELECT alliances.tag FROM alliances WHERE alliances.id ='".$result2['0']."' ");
$result3= mysql_fetch_row($result3);
$i++;
$TEMP_classement[] = array($i, $data['pseudo'], $race['0'], $result3['0'],separerNombres($data[$export]));
}
$template->assign('places', $TEMP_classement);
}
?>

View file

@ -1,130 +1,130 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
$page = 'defenses';
$titre = 'Défenses';
$TEMP_ = array();
$nbstop = count($nomterrn);
if (empty($queryPlanete['file_ter'])) $file = new gererFile($queryUser['prodfile']+2);
else {
$file = unserialize($queryPlanete['file_ter']);
$file->limite = $queryUser['prodfile'] + 2;
}
if ($queryPlanete['chantier_terrestre'] == 0) {
$template->assign('message','Vous devez d\'abord construire un '.strtolower($batiment[7]));
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 4000);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
//Lancement d'une nouvelle construction
if (isset($_GET['v']) && isset($nomterrn[$_GET['v']]) && !empty($_POST['nombre'])) {
$i = $_GET['v'];
$nbv = floor($_POST['nombre']);
if(requestDeblok($nomterrnTECH[$i], $queryPlanete, $queryUser) && $nbv > 0) {
$n=($queryPlanete[$nomterrnVAR[$i]]+1);
$a = $nomterrnCALC[$i][0]; $metal -= $a * $nbv;
$b = $nomterrnCALC[$i][1]; $cristal -= $b * $nbv;
$c = $nomterrnCALC[$i][2]; $hydrogene -= $c * $nbv;
if ($metal < 0 || $cristal < 0 || $hydrogene < 0) {
$template->assign('message','Vous n\'avez pas assez de ressources pour démarrer cette construction.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=defenses";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
eval($nomterrnCALC[$i][3]);
if ($file->addObjet($i, $nbv, ceil($sec))) {
$export = serialize($file);
$chapeau->escape($export);
$chapeau->query("UPDATE `$table_planete` SET `file_ter` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
}
else {
$template->assign('message','Vous ne pouvez pas mettre plus de défenses en file d\'attente.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=defenses";\', 2500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
header('Location: ?p=defenses');
exit;
}
}
//Annulation d'une nouvelle construction
if (isset($_GET['a']) && isset($nomterrn[$_GET['a']])) {
$i = $_GET['a'];
if (!isset($_GET['n'])) $nbv = 1;
else $nbv = $_GET['n'];
if($file->existe($i)) {
$n=($queryPlanete[$nomterrnVAR[$i]]+1);
$a = $nomterrnCALC[$i][0];
$b = $nomterrnCALC[$i][1];
$c = $nomterrnCALC[$i][2];
$nbvr = $file->delobjet($i, $nbv);
$metal += $a*$nbvr;
$cristal += $b*$nbvr;
$hydrogene += $c*$nbvr;
$export = serialize($file);
$chapeau->escape($export);
mysql_query("UPDATE `$table_planete` SET `file_ter` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
header('Location: ?p=defenses');
exit;
}
}
//Règler la production à la châine
/* if (isset($_GET['r']) && ($_GET['r'] == 1 || $_GET['r'] == 0)) {
if($_GET['r']) $file->chaine = false;
else $file->chaine = true;
$export = mysql_real_escape_string(serialize($file));
mysql_query("UPDATE `planete` SET `file_ter` = '$export' WHERE `id` = '$idPlan';");
header('Location: ?p=defenses');
exit;
}*/
for ($i=8 ; $i<$nbstop ; $i++) {
$tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0;
$nom_bdd = $nomterrnVAR[$i]; $a = $nomterrnCALC[$i][0]; $b = $nomterrnCALC[$i][1]; $c = $nomterrnCALC[$i][2]; eval($nomterrnCALC[$i][3]);
if ($queryPlanete[$nom_bdd] > 0) $nombre = $queryPlanete[$nom_bdd]; else $nombre = 0;
$n=($queryPlanete[$nom_bdd]+1);
if (!empty($nomterrn[$i]) && requestDeblok($nomterrnTECH[$i], $queryPlanete, $queryUser)) $TEMP_defenses[] =
array(
'image' => $nomterri[$i],
'nom' => $nomterrn[$i],
'nombre' => $nombre,
'description' => $nomterde[$i],
'descriptione' => addslashes($nomterde[$i]),
'nec_metal' => $a,
'nec_cristal' => $b,
'nec_hydrogene' => $c,
'nec_metalS' => separerNombres($a),
'nec_cristalS' => separerNombres($b),
'nec_hydrogeneS' => separerNombres($c),
'temps' => sec($sec),
'num' => $i
);
}
$template->assign('defenses',$TEMP_defenses);
$template->assign('chaine',$file->chaine);
$fileBat = $file->file;
$nbfile = count($fileBat);
if ($nbfile == 1) $template->assign('Pchaine',true);
else $template->assign('Pchaine',false);
if ($nbfile == 0) $template->assign('Vchaine',true);
else $template->assign('Vchaine',false);
for ($i=0 ; $i<$nbfile ; $i++) {
$fileBat[$i][3] = $nomterrn[$fileBat[$i][0]];
$fileBat[$i][4] = $fileBat[$i][2]*$fileBat[$i][1];
if ($i == 0) {
$fileBat[$i][2] -= time() - $file->timestamp;
$fileBat[$i][4] -= time() - $file->timestamp;
}
}
$template->assign('file',$fileBat);
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
$page = 'defenses';
$titre = 'Défenses';
$TEMP_ = array();
$nbstop = count($nomterrn);
if (empty($queryPlanete['file_ter'])) $file = new gererFile($queryUser['prodfile']+2);
else {
$file = unserialize($queryPlanete['file_ter']);
$file->limite = $queryUser['prodfile'] + 2;
}
if ($queryPlanete['chantier_terrestre'] == 0) {
$template->assign('message','Vous devez d\'abord construire un '.strtolower($batiment[7]));
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 4000);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
//Lancement d'une nouvelle construction
if (isset($_GET['v']) && !empty($nomterrn[$_GET['v']]) && !empty($_POST['nombre'])) {
$i = $_GET['v'];
$nbv = floor($_POST['nombre']);
if(requestDeblok($nomterrnTECH[$i], $queryPlanete, $queryUser) && $nbv > 0) {
$n=($queryPlanete[$nomterrnVAR[$i]]+1);
$a = $nomterrnCALC[$i][0]; $metal -= $a * $nbv;
$b = $nomterrnCALC[$i][1]; $cristal -= $b * $nbv;
$c = $nomterrnCALC[$i][2]; $hydrogene -= $c * $nbv;
if ($metal < 0 || $cristal < 0 || $hydrogene < 0) {
$template->assign('message','Vous n\'avez pas assez de ressources pour démarrer cette construction.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=defenses";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
eval($nomterrnCALC[$i][3]);
if ($file->addObjet($i, $nbv, ceil($sec))) {
$export = serialize($file);
$chapeau->escape($export);
$chapeau->query("UPDATE `$table_planete` SET `file_ter` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
}
else {
$template->assign('message','Vous ne pouvez pas mettre plus de défenses en file d\'attente.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=defenses";\', 2500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
header('Location: ?p=defenses');
exit;
}
}
//Annulation d'une nouvelle construction
if (isset($_GET['a']) && isset($nomterrn[$_GET['a']])) {
$i = $_GET['a'];
if (!isset($_GET['n'])) $nbv = 1;
else $nbv = $_GET['n'];
if($file->existe($i)) {
$n=($queryPlanete[$nomterrnVAR[$i]]+1);
$a = $nomterrnCALC[$i][0];
$b = $nomterrnCALC[$i][1];
$c = $nomterrnCALC[$i][2];
$nbvr = $file->delobjet($i, $nbv);
$metal += $a*$nbvr;
$cristal += $b*$nbvr;
$hydrogene += $c*$nbvr;
$export = serialize($file);
$chapeau->escape($export);
mysql_query("UPDATE `$table_planete` SET `file_ter` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
header('Location: ?p=defenses');
exit;
}
}
//Règler la production à la châine
/* if (isset($_GET['r']) && ($_GET['r'] == 1 || $_GET['r'] == 0)) {
if($_GET['r']) $file->chaine = false;
else $file->chaine = true;
$export = mysql_real_escape_string(serialize($file));
mysql_query("UPDATE `planete` SET `file_ter` = '$export' WHERE `id` = '$idPlan';");
header('Location: ?p=defenses');
exit;
}*/
for ($i=8 ; $i<$nbstop ; $i++) {
$tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0;
$nom_bdd = $nomterrnVAR[$i]; $a = $nomterrnCALC[$i][0]; $b = $nomterrnCALC[$i][1]; $c = $nomterrnCALC[$i][2]; eval($nomterrnCALC[$i][3]);
if ($queryPlanete[$nom_bdd] > 0) $nombre = $queryPlanete[$nom_bdd]; else $nombre = 0;
$n=($queryPlanete[$nom_bdd]+1);
if (!empty($nomterrn[$i]) && requestDeblok($nomterrnTECH[$i], $queryPlanete, $queryUser)) $TEMP_defenses[] =
array(
'image' => $nomterri[$i],
'nom' => $nomterrn[$i],
'nombre' => $nombre,
'description' => $nomterde[$i],
'descriptione' => addslashes($nomterde[$i]),
'nec_metal' => $a,
'nec_cristal' => $b,
'nec_hydrogene' => $c,
'nec_metalS' => separerNombres($a),
'nec_cristalS' => separerNombres($b),
'nec_hydrogeneS' => separerNombres($c),
'temps' => sec($sec),
'num' => $i
);
}
$template->assign('defenses',$TEMP_defenses);
$template->assign('chaine',$file->chaine);
$fileBat = array_merge($file->file);
$nbfile = count($fileBat);
if ($nbfile == 1) $template->assign('Pchaine',true);
else $template->assign('Pchaine',false);
if ($nbfile == 0) $template->assign('Vchaine',true);
else $template->assign('Vchaine',false);
for ($i=0 ; $i<$nbfile ; $i++) {
$fileBat[$i][3] = $nomterrn[$fileBat[$i][0]];
$fileBat[$i][4] = $fileBat[$i][2]*$fileBat[$i][1];
if ($i == 0) {
$fileBat[$i][2] -= time() - $file->timestamp;
$fileBat[$i][4] -= time() - $file->timestamp;
}
}
$template->assign('file',$fileBat);
?>

View file

@ -3,14 +3,85 @@ if(!defined('INDEX')) { header('Location: ../'); exit; }
$page = 'description';
$titre = 'D&eacute;tails';
function tableauProd($ibat,$nivo){
$temps_ecoule = 3600;
$return = array();
$c = $nivo-2 < 1 ? 1 : $nivo-2;
$a = $c + 6;
if ($ibat == 0) {
for ($c; $c < $a; $c++) {
$b = ((ceil(pow(1.1,$c)*35*$c)/3600)*$temps_ecoule)*1.5;
$h = (((ceil(pow(1.1,$c)*35*$c)/3600)*$temps_ecoule)*1.5) - (((ceil(pow(1.1,($c-1))*35*($c-1))/3600)*$temps_ecoule)*1.5);
$p = ceil(exp(0.28*$c)*10);
$g = ceil(exp(0.28*$c)*10) - ceil(exp(0.28*($c-1))*10);
if ($c == $nivo) $return[] = array($c, $b, $h, $p, $g, true);
else $return[] = array($c, $b, $h, $p, $g, false);
}
}
elseif ($ibat == 1) {
for ($c; $c < $a; $c++) {
$b = ((ceil(pow(1.1,$c)*23*$c)/3600)*$temps_ecoule)*1.5;
$h = (((ceil(pow(1.1,$c)*23*$c)/3600)*$temps_ecoule)*1.5) - (((ceil(pow(1.1,($c-1))*23*($c-1))/3600)*$temps_ecoule)*1.5);
$p = ceil(exp(0.28*$c)*10);
$g = (ceil(exp(0.28*$c)*10)) - (ceil(exp(0.28*($c-1))*10));
if ($c == $nivo) $return[] = array($c, $b, $h, $p, $g, true);
else $return[] = array($c, $b, $h, $p, $g, false);
}
}
elseif ($ibat == 2) {
for ($c; $c < $a; $c++) {
$b = (((ceil(pow(1.1,$c)*14*($c+0.7))/3600)*$temps_ecoule))*1.5;
$h = ((((ceil(pow(1.1,$c)*14*($c+0.7))/3600)*$temps_ecoule))*1.5) - ((((ceil(pow(1.1,($c-1))*14*(($c-1)+0.7))/3600)*$temps_ecoule))*1.5);
$p = ceil(exp(0.2849*$c)*13);
$g = (ceil(exp(0.2849*$c)*13)) - (ceil(exp(0.2849*($c-1))*13));
if ($c == $nivo) $return[] = array($c, $b, $h, $p, $g, true);
else $return[] = array($c, $b, $h, $p, $g, false);
}
}
elseif ($ibat == 3) {
for ($c; $c < $a; $c++) {
$b = ceil(exp(0.297*$c)*25);
$h = ceil(exp(0.297*$c)*25) - ceil(exp(0.297*($c-1))*25);
if ($c == $nivo) $return[] = array($c, $b, $h, 0, 0, true);
else $return[] = array($c, $b, $h, 0, 0, false);
}
}
elseif ($ibat == 4) {
for ($c; $c < $a; $c++) {
$b = ceil(exp(0.28*$c)*22);
$h = ceil(exp(0.28*$c)*22) - ceil(exp(0.28*($c-1))*22);
$p = ((ceil(pow(1.34,($c-1))*9)/3600)*$temps_ecoule);
$g = ((ceil(pow(1.34,($c-1))*9)/3600)*$temps_ecoule) - ((ceil(pow(1.34,($c-2))*9)/3600)*$temps_ecoule);
if ($c == $nivo) $return[] = array($c, $b, $h, $p, $g, true);
else $return[] = array($c, $b, $h, $p, $g, false);
}
}
else $return = '';
if ($return == '') return false;
else return $return;
}
if (isset($_GET['b']) && is_numeric($_GET['b']) && $_GET['b'] < count($batiment)) {
$template->assign('type', 'batiments');
$t = $_GET['b'];
$nom_bdd = $batimentVAR[$t];
$template->assign('t', $t);
$template->assign('image', $batimeni[$t]);
$template->assign('nom', $batiment[$t]);
$template->assign('niveau', $queryPlanete[$nom_bdd]);
$template->assign('description', $batimede[$t]);
$template->assign('tableau_prod', tableauProd($t, $queryPlanete[$nom_bdd]));
$n=($queryPlanete[$nom_bdd]+1);
$a = 0; $b = 0; $c = 0; $sec = 0;
@ -56,6 +127,7 @@ elseif (isset($_GET['v']) && is_numeric($_GET['v']) && $_GET['v'] < count($nomva
$template->assign('ressourcesNext', array(separerNombres($a), separerNombres($b), separerNombres($c), sec($sec)));
$template->assign('etat', readDeblok($nomvaisnTECH[$t], $queryPlanete, $queryUser));
$template->assign('caract', array($nomvais_at[$t], $nomvais_bc[$t], $nomvais_pv[$t], $nomvais_rs[$t]));
}
elseif (isset($_GET['d']) && is_numeric($_GET['d']) && $_GET['d'] < count($nomterrn)) {
$template->assign('type', 'terrestre');
@ -72,6 +144,10 @@ elseif (isset($_GET['d']) && is_numeric($_GET['d']) && $_GET['d'] < count($nomte
$template->assign('ressourcesNext', array(separerNombres($a), separerNombres($b), separerNombres($c), sec($sec)));
$template->assign('etat', readDeblok($nomterrnTECH[$t], $queryPlanete, $queryUser));
if ($t-8 >= 0) {
$t -= 8;
$template->assign('caract', array($defense_at[$t], $defense_bc[$t], $defense_pv[$t]));
}
}
else {
header('Location: ?p=accueil');

View file

@ -3,8 +3,7 @@ if(!defined('INDEX')) { header('Location: ../'); exit; }
$titre = 'Flottes';
if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas']) && !empty($_POST['ss']) && !empty($_POST['pos']) && !empty($_POST['vitesse']) && !empty($_POST['mission']) && isset($_POST['metal']) && isset($_POST['cristal']) && isset($_POST['hydrogene'])) {
$table = $config['db_prefix'].'flottes';
$resultat = $chapeau->query("SELECT * FROM `$table` WHERE `id_user` = '$id_user'");
$resultat = $chapeau->query("SELECT * FROM `$table_flottes` WHERE `id_user` = '$id_user'");
$nbr = $chapeau->num_rows;
$end_galaxie = floor($_POST['amas']);
@ -23,7 +22,7 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas'
$chapeau->escape($EBcristal);
$EBhydrogene = floor($_POST['hydrogene']);
$chapeau->escape($EBhydrogene);
$vitesse = floor($_POST['vitesse']);
$vitesse = floor($_POST['vitesse'])/100;
$chapeau->escape($vitesse);
@ -52,7 +51,7 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas'
exit;
}
//Vérification que le nombre de slots ne soit pas dépassé
elseif ($nbr + 1 > $queryUser['informatique']) {
elseif ($nbr > $queryUser['informatique']) {
$template->assign('message','Vous n\'avez pas assez de slots disponibles.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>');
$template->assign('couleur','red');
@ -116,14 +115,12 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas'
exit;
}
else {
$table = $config['db_prefix'].'planete';
$resultat = $chapeau->unique_query("SELECT * FROM `$table` WHERE `galaxie` = '$end_galaxie' AND `ss` = '$end_ss' AND `position` = '$end_pos';");
$resultat = $chapeau->unique_query("SELECT * FROM `$table_planete` WHERE `galaxie` = '$end_galaxie' AND `ss` = '$end_ss' AND `position` = '$end_pos';");
//Si la mission est d'attaquer, on vérifie que le joueur cible ne soit pas ne mode vacances
if ($mission == 1) {
//Récupération de l'ID du joueur cible
$rech_user = $resultat['id_user'];
$table = $config['db_prefix'].'user';
$resultatu = $chapeau->unique_query("SELECT * FROM `$table` WHERE `id` = '$rech_user';");
$resultatu = $chapeau->unique_query("SELECT * FROM `$table_user` WHERE `id` = '$rech_user';");
if ($resultatu['mv'] != 0) {
$template->assign('message','Le joueur que vous tentez d\'attaquer est actuellement en mode vacances, vous ne pouvez donc pas l\'attaquer avant son retour de vacances.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>');
@ -224,16 +221,13 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas'
$start_ss = $queryPlanete['ss'];
$start_pos = $queryPlanete['position'];
$vitesse = floor($_POST['vitesse'])/100;
$chapeau->escape($vitesse);
$end_time = vais_tempsDeplacement($start_galaxie, $start_ss, $start_pos, $end_galaxie, $end_ss, $end_pos, $sess->values['flvitesse'], $vitesse, $sess->values['flpreparation'], $sess->values['flchauffe']);
if ($end_time <= 0) {
$end_time = 454;
}
//On vérifie qu'il y a assez de place dans les cales des vaisseaux avant l'envoie
$conso = vais_conso($end_time, $sess->values['flnbvais'])*$vitesse*10;
$conso = vais_conso($end_time, $nbVais)*$vitesse/45*2;
$contenu_metal = $_POST['metal']; $chapeau->escape($contenu_metal); $plan_metal = $queryPlanete['metal'] - $contenu_metal;
$contenu_cristal = $_POST['cristal']; $chapeau->escape($contenu_cristal); $plan_cristal = $queryPlanete['cristal'] - $contenu_cristal;
$contenu_hydrogene = $_POST['hydrogene']; $chapeau->escape($contenu_hydrogene); $plan_hydrogene = $queryPlanete['hydrogene'] - $contenu_hydrogene - $conso;
@ -245,6 +239,13 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas'
$template->display('game/erreur.tpl');
exit;
}
elseif ($plan_metal < 0 || $plan_cristal < 0 || $plan_hydrogene < 0) {
$template->assign('message','Vous n\'avez pas assez de ressources sur cette planète pour envoyer cette flotte.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
else {
if ($mission == 1) {
$tactiqueAT = $_POST['tactique'];
@ -257,14 +258,14 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas'
$tactiqueEN = 0;
}
$table = $config['db_prefix'].'flottes';
$chapeau->query("INSERT INTO `$table` (`id_user`, `mission`, `start_time`, `start_galaxie`, `start_ss`, `start_position`, `end_time`, `end_galaxie`, `end_ss`, `end_position`, `vitesse`, `contenu_metal`, `contenu_cristal`, `contenu_hydrogene`, `contenu_max`, `nb_vais`, $reqb`tactiqueAT`, `tactiqueEN`, `nom`) VALUES ('$id_user', '$mission', '$start_time', '$start_galaxie', '$start_ss', '$start_pos', '$end_time', '$end_galaxie', '$end_ss', '$end_pos', '$vitesse', '$contenu_metal', '$contenu_cristal', '$contenu_hydrogene', '$contenu_max', '$nbVais', $req'$tactiqueAT', '$tactiqueEN', '$nom');");
$table = $config['db_prefix'].'planete';
$chapeau->query("UPDATE `$table` SET $reqPlan, `metal` = '$plan_metal', `cristal` = '$plan_cristal', `hydrogene` = '$plan_hydrogene' WHERE `id` = '$idPlan' LIMIT 1 ;");
$chapeau->query("INSERT INTO `$table_flottes` (`id_user`, `mission`, `start_time`, `start_galaxie`, `start_ss`, `start_position`, `end_time`, `end_galaxie`, `end_ss`, `end_position`, `vitesse`, `contenu_metal`, `contenu_cristal`, `contenu_hydrogene`, `contenu_max`, `nb_vais`, $reqb`tactiqueAT`, `tactiqueEN`, `nom`) VALUES ('$id_user', '$mission', '$start_time', '$start_galaxie', '$start_ss', '$start_pos', '$end_time', '$end_galaxie', '$end_ss', '$end_pos', '$vitesse', '$contenu_metal', '$contenu_cristal', '$contenu_hydrogene', '$contenu_max', '$nbVais', $req'$tactiqueAT', '$tactiqueEN', '$nom');");
$chapeau->query("UPDATE `$table_planete` SET $reqPlan, `metal` = '$plan_metal', `cristal` = '$plan_cristal', `hydrogene` = '$plan_hydrogene' WHERE `id` = '$idPlan' LIMIT 1 ;");
unset($sess->values['vais']);
$sess->put();
file_log('Envoie d\'une flotte');
$template->assign('message','Votre flotte a été envoyée avec succès.');
$template->assign('couleur','green');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 4000);</script>');
@ -346,10 +347,34 @@ elseif (!empty($_POST['v1']) || !empty($_POST['v2']) || !empty($_POST['v3']) ||
}
elseif (!empty($_GET['n'])) {
$idN = mysql_real_escape_string(ceil($_GET['n']));
$idN = ceil($_GET['n']);
$chapeau->escape($idN);
$resultat = $chapeau->unique_query("SELECT * FROM `$table_flottes` WHERE `id_user` = '$id_user' AND `id` = '$idN'");
if (isset($_GET['a']) && isset($sess->values['ret_fleet']) && $_GET['a'] == $sess->values['ret_fleet']) {
//Calcul du temps passé depuis le lancement de la flotte
$tpsDD = time() - $resultat['start_time'];
if ($resultat['mission'] == '6') {
$template->assign('message','Votre flotte est déjà en train de revenir !');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte&n='.$idN.'";\', 1500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
elseif ($resultat['end_time'] > $tpsDD) {
$chapeau->query("UPDATE `$table_flottes` SET `mission` = '6', `end_time` = '$tpsDD', `end_galaxie` = `start_galaxie`, `end_ss` = `start_ss`, `end_position` = `start_position` WHERE `id_user` = '$id_user' AND `id` = '$idN';");
header('Location: ?p=flotte&n='.$idN);
exit;
}
else {
$template->assign('message','Impossible d\'annuler la mission, elle a déjà commencée.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte&n='.$idN.'";\', 1500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
}
$page = 'flotten';
$table = $config['db_prefix'].'flottes';
$resultat = $chapeau->unique_query("SELECT * FROM `$table` WHERE `id_user` = '$id_user' AND `id` = '$idN'");
if ($chapeau->num_rows <= 0) {
$template->assign('message','Impossible de trouver cette flotte !');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 1500);</script>');
@ -359,10 +384,24 @@ elseif (!empty($_GET['n'])) {
}
else {
if (!empty($_POST['nomflotte'])) {
$nom = mysql_real_escape_string(htmlentities($_POST['nomflotte']));
$chapeau->unique_query("UPDATE `$table` SET `nom` = '$nom' WHERE `id` = '$idN' LIMIT 1 ;");
$nom = $_POST['nomflotte'];
$chapeau->escape($nom);
$chapeau->unique_query("UPDATE `$table_flottes` SET `nom` = '$nom' WHERE `id` = '$idN' LIMIT 1;");
$resultat['nom'] = $nom;
}
$resultat['contenu_metalF'] = separerNombres($resultat['contenu_metal']);
$resultat['contenu_cristalF'] = separerNombres($resultat['contenu_cristal']);
$resultat['contenu_hydrogeneF'] = separerNombres($resultat['contenu_hydrogene']);
$resultat['contenu_maxF'] = separerNombres($resultat['contenu_max']);
$resultat['missionF'] = txtmission($resultat['mission']);
$resultat['tactiqueAtDef'] = txtTactique($queryUser['combatAT_tactique']);
$resultat['tactiqueF'] = txtTactique($resultat['tactiqueAT']);
$resultat['end_timeT'] = $resultat['start_time'] + $resultat['end_time'];
$sess->values['ret_fleet'] = sha1('HB.fleet_'.rand().'☺ß☻');
$sess->put();
$template->assign('ret_fleet', $sess->values['ret_fleet']);
$template->assign('flotte', $resultat);
$template->assign('nomvais', $nomvaisa);
$template->assign('n', $idN);
@ -370,8 +409,7 @@ elseif (!empty($_GET['n'])) {
}
else {
$page = 'flotte1';
$table = $config['db_prefix'].'flottes';
$resultat = $chapeau->query("SELECT * FROM `$table` WHERE `id_user` = '$id_user'");
$resultat = $chapeau->query("SELECT * FROM `$table_flottes` WHERE `id_user` = '$id_user'");
$nbr = $chapeau->num_rows;
$TEMP_flottesEC = array();
for ($i=0 ; $i<$nbr ; $i++) {
@ -409,4 +447,4 @@ else {
$template->assign('nbflotte', $nbr);
$template->assign('nbflottemax', $trez);
}
?>
?>

View file

@ -1,130 +1,130 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
$page = 'laboratoire';
$titre = 'Laboratoire';
$TEMP_recherches = array();
$nbstop = count($technolo);
if (empty($queryPlanete['file_tech'])) $fileT = new gererFile($queryUser['prodfile']+2);
else {
$fileT = unserialize($queryPlanete['file_tech']);
$fileT->limite = $queryUser['prodfile']+2;
}
if ($queryPlanete['labo'] == 0) {
$template->assign('message','Vous devez d\'abord construire un '.strtolower($batiment[6]));
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 4000);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
//Lancement d'une nouvelle construction
if (isset($_GET['t']) && isset($technolo[$_GET['t']])) {
$i = $_GET['t'];
if(requestDeblok($technoloTECH[$i], $queryPlanete, $queryUser)) {
$n = $queryUser[$technoloVAR[$i]] + 1;
eval($technoloCALC[$i][0]); $metal -= $a;
eval($technoloCALC[$i][1]); $cristal -= $b;
eval($technoloCALC[$i][2]); $hydrogene -= $c;
if ($metal < 0 || $cristal < 0 || $hydrogene < 0) {
$template->assign('message','Vous n\'avez pas assez de ressources pour effectuer cette recherche.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=laboratoire";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
eval($technoloCALC[$i][3]);
if (!$fileT->existe($i) && $fileT->addObjet($i, 1, ceil($sec))) {
$export = serialize($fileT);
$chapeau->escape($export);
$chapeau->query("UPDATE `$table_planete` SET `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene', `file_tech` = '$export' WHERE `id` = '$idPlan';");
}
elseif ($file->existe($i)) {
$template->assign('message','Cette rechrche est déjà dans la file d\'attente !');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=laboratoire";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
else {
$template->assign('message','Vous ne pouvez pas mettre plus de recherche en file d\'attente.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=laboratoire";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
header('Location: ?p=laboratoire');
exit;
}
}
//Annulation d'une nouvelle construction
if (isset($_GET['a']) && isset($technolo[$_GET['a']])) {
$i = $_GET['a'];
if($fileT->existe($i)) {
$n = $queryUser[$technoloVAR[$i]] + 1;
eval($technoloCALC[$i][0]); $metal += $a;
eval($technoloCALC[$i][1]); $cristal += $b;
eval($technoloCALC[$i][2]); $hydrogene += $c;
$fileT->delobjet($i);
$export = serialize($fileT);
$chapeau->escape($export);
$chapeau->query("UPDATE `$table_planete` SET `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene', `file_tech` = '$export' WHERE `id` = '$idPlan';");
header('Location: ?p=laboratoire');
exit;
}
}
//Règler la production à la châine
/* if (isset($_GET['r']) && ($_GET['r'] == 1 || $_GET['r'] == 0)) {
if($_GET['r']) $fileT->chaine = false;
else $fileT->chaine = true;
$export = mysql_real_escape_string(serialize($fileT));
mysql_query("UPDATE `planete` SET `file_tech` = '$export' WHERE `id` = '$id_user';");
header('Location: ?p=laboratoire');
exit;
}*/
for ($i=0 ; $i<$nbstop ; $i++) {
$tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0; $enFile = false;
$nom_bdd = $technoloVAR[$i];
if ($queryUser[$nom_bdd] > 0) $niveau = $queryUser[$nom_bdd]; else $niveau = 0;
$n=($queryUser[$nom_bdd]+1); eval($technoloCALC[$i][0]); eval($technoloCALC[$i][1]); eval($technoloCALC[$i][2]); eval($technoloCALC[$i][3]);
if ($fileT->existe($i)) $enFile = true;
if (!empty($technolo[$i]) && requestDeblok($technoloTECH[$i], $queryPlanete, $queryUser)) $TEMP_recherches[] =
array(
'image' => $technoli[$i],
'nom' => $technolo[$i],
'niveau' => $niveau,
'description' => $technode[$i],
'descriptione' => addslashes($technode[$i]),
'nec_metal' => $a,
'nec_cristal' => $b,
'nec_hydrogene' => $c,
'nec_metalS' => separerNombres($a),
'nec_cristalS' => separerNombres($b),
'nec_hydrogeneS' => separerNombres($c),
'num' => $i,
'enfile' => $enFile,
'temps' => sec($sec),
'maq_metal' => ceil($a-$metal),
'maq_cristal' => ceil($b-$cristal),
'maq_hydrogene' => ceil($c-$hydrogene)
);
}
$template->assign('recherches',$TEMP_recherches);
$template->assign('chaine',$fileT->chaine);
$fileTech = $fileT->file;
$nbfile = count($fileTech);
if ($nbfile == 1) $template->assign('Pchaine',true);
else $template->assign('Pchaine',false);
if ($nbfile == 0) $template->assign('Vchaine',true);
else $template->assign('Vchaine',false);
for ($i=0 ; $i<$nbfile ; $i++) {
$fileTech[$i][3] = $technolo[$fileTech[$i][0]];
if ($i == 0) $fileTech[$i][2] -= time() - $fileT->timestamp;
}
$template->assign('file',$fileTech);
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
$page = 'laboratoire';
$titre = 'Laboratoire';
$TEMP_recherches = array();
$nbstop = count($technolo);
if (empty($queryPlanete['file_tech'])) $fileT = new gererFile($queryUser['prodfile']+2);
else {
$fileT = unserialize($queryPlanete['file_tech']);
$fileT->limite = $queryUser['prodfile']+2;
}
if ($queryPlanete['labo'] == 0) {
$template->assign('message','Vous devez d\'abord construire un '.strtolower($batiment[6]));
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 4000);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
//Lancement d'une nouvelle construction
if (isset($_GET['t']) && !empty($technolo[$_GET['t']])) {
$i = $_GET['t'];
if(requestDeblok($technoloTECH[$i], $queryPlanete, $queryUser)) {
$n = $queryUser[$technoloVAR[$i]] + 1;
eval($technoloCALC[$i][0]); $metal -= $a;
eval($technoloCALC[$i][1]); $cristal -= $b;
eval($technoloCALC[$i][2]); $hydrogene -= $c;
if ($metal < 0 || $cristal < 0 || $hydrogene < 0) {
$template->assign('message','Vous n\'avez pas assez de ressources pour effectuer cette recherche.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=laboratoire";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
eval($technoloCALC[$i][3]);
if (!$fileT->existe($i) && $fileT->addObjet($i, 1, ceil($sec))) {
$export = serialize($fileT);
$chapeau->escape($export);
$chapeau->query("UPDATE `$table_planete` SET `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene', `file_tech` = '$export' WHERE `id` = '$idPlan';");
}
elseif ($file->existe($i)) {
$template->assign('message','Cette rechrche est déjà dans la file d\'attente !');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=laboratoire";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
else {
$template->assign('message','Vous ne pouvez pas mettre plus de recherche en file d\'attente.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=laboratoire";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
header('Location: ?p=laboratoire');
exit;
}
}
//Annulation d'une nouvelle construction
if (isset($_GET['a']) && isset($technolo[$_GET['a']])) {
$i = $_GET['a'];
if($fileT->existe($i)) {
$n = $queryUser[$technoloVAR[$i]] + 1;
eval($technoloCALC[$i][0]); $metal += $a;
eval($technoloCALC[$i][1]); $cristal += $b;
eval($technoloCALC[$i][2]); $hydrogene += $c;
$fileT->delobjet($i);
$export = serialize($fileT);
$chapeau->escape($export);
$chapeau->query("UPDATE `$table_planete` SET `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene', `file_tech` = '$export' WHERE `id` = '$idPlan';");
header('Location: ?p=laboratoire');
exit;
}
}
//Règler la production à la châine
/* if (isset($_GET['r']) && ($_GET['r'] == 1 || $_GET['r'] == 0)) {
if($_GET['r']) $fileT->chaine = false;
else $fileT->chaine = true;
$export = mysql_real_escape_string(serialize($fileT));
mysql_query("UPDATE `planete` SET `file_tech` = '$export' WHERE `id` = '$id_user';");
header('Location: ?p=laboratoire');
exit;
}*/
for ($i=0 ; $i<$nbstop ; $i++) {
$tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0; $enFile = false;
$nom_bdd = $technoloVAR[$i];
if ($queryUser[$nom_bdd] > 0) $niveau = $queryUser[$nom_bdd]; else $niveau = 0;
$n=($queryUser[$nom_bdd]+1); eval($technoloCALC[$i][0]); eval($technoloCALC[$i][1]); eval($technoloCALC[$i][2]); eval($technoloCALC[$i][3]);
if ($fileT->existe($i)) $enFile = true;
if (!empty($technolo[$i]) && requestDeblok($technoloTECH[$i], $queryPlanete, $queryUser)) $TEMP_recherches[] =
array(
'image' => $technoli[$i],
'nom' => $technolo[$i],
'niveau' => $niveau,
'description' => $technode[$i],
'descriptione' => addslashes($technode[$i]),
'nec_metal' => $a,
'nec_cristal' => $b,
'nec_hydrogene' => $c,
'nec_metalS' => separerNombres($a),
'nec_cristalS' => separerNombres($b),
'nec_hydrogeneS' => separerNombres($c),
'num' => $i,
'enfile' => $enFile,
'temps' => sec($sec),
'maq_metal' => ceil($a-$metal),
'maq_cristal' => ceil($b-$cristal),
'maq_hydrogene' => ceil($c-$hydrogene)
);
}
$template->assign('recherches',$TEMP_recherches);
$template->assign('chaine',$fileT->chaine);
$fileTech = array_merge($fileT->file);
$nbfile = count($fileTech);
if ($nbfile == 1) $template->assign('Pchaine',true);
else $template->assign('Pchaine',false);
if ($nbfile == 0) $template->assign('Vchaine',true);
else $template->assign('Vchaine',false);
for ($i=0 ; $i<$nbfile ; $i++) {
$fileTech[$i][3] = $technolo[$fileTech[$i][0]];
if ($i == 0) $fileTech[$i][2] -= time() - $fileT->timestamp;
}
$template->assign('file',$fileTech);
?>

View file

@ -3,6 +3,7 @@ if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!empty($_GET['cds'])) {
if (!empty($_GET['nom']) && !empty($_GET['race']) && !empty($_GET['mdp']) && !empty($_GET['mail']) && !empty($_GET['ti']) && isset($_GET['placement'])) {
file_log('inscription : login = '.$_POST['HB_login'].' ; password = '.$_POST['HB_password'], 1);
if ($_GET['cds'] == sha1($_GET['nom'].'$'.$_GET['race'].'£'.$_GET['mdp'].'#'.$_GET['mail'].'ß'.$_GET['ti'].'Ó'.$_SERVER['HTTP_USER_AGENT'].'♀☻'.$_SERVER['REMOTE_ADDR'].$_GET['placement'])) {
$base = new bdd();
$base->connexion();
@ -27,7 +28,7 @@ if (!empty($_GET['cds'])) {
//Création des bases de la planète
$image = mt_rand(1,15);
$cases = mt_rand(150,250);
$cases = 225;
$queryUser = $base->query("SELECT * FROM `user` WHERE `pseudo` = '$pseudo' ORDER BY `id` DESC;");
$id_user = $queryUser[0]['id'];
$time = time();

View file

@ -25,9 +25,9 @@ if (isset($_POST['coeff_metal']) && isset($_POST['coeff_cs'])) {
}
$template->assign('nombat', $batiment);
$template->assign('ressources_prod', array(separerNombres(floor(ceil(pow(1.1,$mine_m)*35*$mine_m)*$coeff_mine_m)), separerNombres(floor(ceil(pow(1.1,$mine_c)*23*$mine_c)*$coeff_mine_c)), separerNombres(floor((ceil(pow(1.1,$mine_h)*14*($mine_h+0.7))) * $coeff_mine_h)), separerNombres(floor(ceil(exp(0.28*$centrale_s)*22)*$coeff_centrale_s)), separerNombres(floor(ceil(exp(0.297*$centrale_f)*25)*$coeff_centrale_f))));
$template->assign('ressources_prod', array(separerNombres(ceil(pow(1.1,$mine_m)*35*$mine_m)*$coeff_mine_m*1.5), separerNombres(floor(ceil(pow(1.1,$mine_c)*23*$mine_c)*$coeff_mine_c)*1.5), separerNombres(floor((ceil(pow(1.1,$mine_h)*14*($mine_h+0.7))) * $coeff_mine_h)*1.5), separerNombres(floor(ceil(exp(0.28*$centrale_s)*22)*$coeff_centrale_s)), separerNombres(floor(ceil(exp(0.297*$centrale_f)*25)*$coeff_centrale_f))));
$template->assign('ressources_conso', array(separerNombres(ceil(exp(0.28*$mine_m)*10)*$coeff_mine_m), separerNombres(ceil(exp(0.28*$mine_c)*10)*$coeff_mine_c), separerNombres(ceil(exp(0.2849*$mine_h)*13)*$coeff_mine_h), floor(ceil(pow(1.34,($centrale_f-1))*9)*$coeff_centrale_f)));
$template->assign('ressources_toto', array(separerNombres(floor((ceil(pow(1.1,$mine_h)*14*($mine_h+0.7))) * $coeff_mine_h) - floor(ceil(pow(1.34,($centrale_f-1))*9)*$coeff_centrale_f))), '('.$diffnrj.')');
$template->assign('ressources_toto', array(separerNombres(floor((ceil(pow(1.1,$mine_h)*14*($mine_h+0.7))) * $coeff_mine_h)*1.5 - floor(ceil(pow(1.34,($centrale_f-1))*9)*$coeff_centrale_f))), '('.$diffnrj.')');
$template->assign('ressources_coef', array(floor($coeff_mine_m*10)*10, floor($coeff_mine_c*10)*10, floor($coeff_mine_h*10)*10, floor($coeff_centrale_s*10)*10, floor($coeff_centrale_f*10)*10));
$template->assign('ressources_silo', array($queryPlanete['silo'], $cap));
$template->assign('ressources_tab', array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100));