HB/game/jeu/carte.php

80 lines
2.6 KiB
PHP
Raw Normal View History

2008-11-17 11:00:00 +00:00
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
$page = 'carte';
$titre = 'Carte spatiale';
2008-11-04 11:00:00 +00:00
if (isset($_GET['galaxie'])) $g = floor($_GET['galaxie']);
2008-09-20 10:00:00 +00:00
else $g = $planete->galaxie;
2008-11-22 11:00:00 +00:00
2008-11-08 11:00:00 +00:00
if ($planete->auth_level >= 5 && $g <= 0) $g = 0;
2008-11-22 11:00:00 +00:00
elseif ($g < 1) $g = 1;
2008-11-18 11:00:00 +00:00
if ($g > MAX_AMAS) $g = 1;
2008-11-17 11:00:00 +00:00
2008-11-04 11:00:00 +00:00
if (isset($_GET['ss'])) $s = floor($_GET['ss']);
2008-09-20 10:00:00 +00:00
else $s = $planete->ss;
2008-11-22 11:00:00 +00:00
2008-11-17 11:00:00 +00:00
if ($s < 1) $s = 1;
2008-11-18 11:00:00 +00:00
if ($s > MAX_SYSTEME) $s = MAX_SYSTEME;
2008-11-17 11:00:00 +00:00
if ($s == 1 && $g > 1) {
$Gmu = $g - 1;
2008-11-18 11:00:00 +00:00
$Smu = MAX_SYSTEME;
2008-11-17 11:00:00 +00:00
}
elseif ($s == 1) {
$Gmu = 15;
2008-11-18 11:00:00 +00:00
$Smu = MAX_SYSTEME;
2008-11-17 11:00:00 +00:00
}
else {
$Gmu = $g;
$Smu = $s - 1;
}
2008-11-18 11:00:00 +00:00
if ($s == MAX_SYSTEME) {
2008-11-17 11:00:00 +00:00
$Gpu = $g + 1;
$Spu = 1;
}
else {
$Gpu = $g;
$Spu = $s + 1;
}
2008-09-20 10:00:00 +00:00
//Erreur au cas où la zone soit trop lointaine par rapport au niveau de la technologie
2008-11-08 11:00:00 +00:00
//if (($planete->technologies[1] < 1 && ($g != $planete->galaxie || $s != $planete->ss)) || ($planete->technologies[1] < 2 && $g != $planete->galaxie))
// erreur('Pour afficher cette zone de la carte spatiale, vous devez plus développer votre technologie ');
2008-09-20 10:00:00 +00:00
2008-11-17 11:00:00 +00:00
$TEMP_carte = array();
2008-11-22 11:00:00 +00:00
for ($i = 1; $i <= MAX_PLANETE; $i++) {
2008-11-08 11:00:00 +00:00
if ($s%5 == 2 && $i == ceil(MAX_PLANETE/2)) {
$bdd->connexion();
$bdd->escape($g);
$bdd->escape($s);
$d = $bdd->unique_query("SELECT race, nom_asteroide, debris_met, debris_cri, nom, tag, fondateur FROM $table_alliances WHERE galaxie = $g AND ss = $s;");
$bdd->deconnexion();
if($d) {
if ($d['race'] == 'covenant') $ra = '(c)';
elseif ($auth_level >= 6 && md5($d['race']) == '34c19b21bd4a3dda389e767d32fe9779') $ra = '(f)';
else $ra = '(h)';
$TEMP_carte[] = array('A', $d['nom_asteroide'], $d['debris_met'], $d['debris_cri'], $ra, $d['nom'], '<a href="?p=envoyer&amp;d='.$d['fondateur'].'" class="msg"><span>Message</span></a>', $d['tag']);//, $eA['tag']);
}
else {
$TEMP_carte[] = array('A');
}
}
2008-11-04 11:00:00 +00:00
$bdd->connexion();
$bdd->escape($g);
$bdd->escape($s);
2008-11-03 11:00:00 +00:00
$resultat = $bdd->query("SELECT id FROM $table_planete WHERE galaxie = $g AND ss = $s AND position = $i;");
2008-11-22 11:00:00 +00:00
if($resultat) {
2008-11-19 11:00:00 +00:00
$d = $bdd->unique_query("SELECT P.nom_planete, P.image, P.debris_met, P.debris_cri, U.pseudo, U.race, U.politique, U.id_alliance, A.tag FROM $table_planete P INNER JOIN $table_user U ON U.id = P.id_user LEFT OUTER JOIN $table_alliances A ON A.id = U.id_alliance WHERE P.galaxie = $g AND P.ss = $s AND P.position = $i;");
2008-11-08 11:00:00 +00:00
$bdd->deconnexion();
2008-11-17 11:00:00 +00:00
2008-11-19 11:00:00 +00:00
$TEMP_carte[] = array($i, $d['nom_planete'], $d['debris_met'], $d['debris_cri'], $d['race'], $d['pseudo'], $d['tag'], $d['image'], $d['politique']);
2008-11-04 11:00:00 +00:00
}
else {
$bdd->deconnexion();
$TEMP_carte[] = array($i);
2008-11-17 11:00:00 +00:00
}
}
$template->assign('carte',$TEMP_carte);
$template->assign('position',array($g, $s, $Gpu, $Spu, $Gmu, $Smu));
?>