Esempio n. 1
0
function selectDbRechercheChampignons($id_champi, $nom_champi = "", $x_champi = "", $y_champi = "", $z_champi = "", $limite = "", $is_seen_champi = "")
{
    global $db_vue_rm;
    $i = 1;
    $sql = "SELECT id_champi, nom_champi,";
    $sql .= " x_champi, y_champi, z_champi, date_champi, is_seen_champi";
    $sql .= " FROM champignons";
    // juste pour utiliser le where pour pas m'embetter avec après ! :)
    // à revoir surement...
    $sql .= " WHERE date_champi != ''";
    if ($id_champi != "") {
        $sql .= " AND id_champi like '%{$id_champi}%'";
    }
    if ($nom_champi != "") {
        $sql .= " AND lower(nom_champi) like '%" . strtolower($nom_champi) . "%'";
    }
    if ($is_seen_champi != "") {
        $sql .= " AND is_seen_champi = '{$is_seen_champi}'";
    }
    $sql .= " ORDER BY nom_champi ";
    //$sql .= " LIMIT 0,100 ";
    if (!($result = mysql_query($sql, $db_vue_rm))) {
        echo mysql_error();
        echo "<br>chaine sql = {$sql}<br>";
    } else {
        while ($champi = mysql_fetch_assoc($result)) {
            if (is_numeric($x_champi) && is_numeric($y_champi) && is_numeric($z_champi)) {
                $lesChampignons[$i]['distance_pa'] = calcPA($x_champi, $y_champi, $z_champi, $champi[x_champi], $champi[y_champi], $champi[z_champi]);
            }
            $lesChampignons[$i]['id_champi'] = $champi['id_champi'];
            $lesChampignons[$i]['nom_champi'] = $champi['nom_champi'];
            $lesChampignons[$i]['x_champi'] = $champi['x_champi'];
            $lesChampignons[$i]['y_champi'] = $champi['y_champi'];
            $lesChampignons[$i]['z_champi'] = $champi['z_champi'];
            $lesChampignons[$i]['date_champi'] = $champi['date_champi'];
            $lesChampignons[$i]['is_seen_champi'] = $champi['is_seen_champi'];
            $i++;
        }
    }
    return $lesChampignons;
}
function selectDbGrandesTanieres($id = "", $debut = 0, $nb_ppage = "10", $nom_ordre = "nom_gtaniere", $order = "", $x_troll = "", $y_troll = "", $z_troll = "")
{
    global $db_vue_rm;
    $champs .= "id_lieu_gtaniere , id_guilde_gtaniere ,\tnom_gtaniere ,";
    $champs .= "x_gtaniere,\t y_gtaniere,\t z_gtaniere,\t is_tgv_gtaniere ,";
    $champs .= "prix_tgv_guilde_gtaniere ,\t prix_tgv_amis_gtaniere , ";
    $champs .= "prix_tgv_neutres_gtaniere, \t prix_tgv_ennemis_gtaniere,";
    $champs .= "connexions_gtaniere ,\t is_soins_gtaniere, ";
    $champs .= "prix_soins_guilde_gtaniere ,\t prix_soins_amis_gtaniere ,";
    $champs .= "prix_soins_neutres_gtaniere ,\t prix_soins_ennemis_gtaniere , ";
    $champs .= "is_resurection_gtaniere ,\t prix_resurection_guilde_gtaniere ,";
    $champs .= "prix_resurection_amis_gtaniere ,\t prix_resurection_neutres_gtaniere ,";
    $champs .= "prix_resurection_ennemis_gtaniere,\t is_forgeron_gtaniere,";
    $champs .= "prix_forgeron_guilde_gtaniere,\t prix_forgeron_amis_gtaniere ,";
    $champs .= "prix_forgeron_neutres_gtaniere ,\t prix_forgeron_ennemis_gtaniere,";
    $champs .= "is_commerce_gtaniere, ";
    $champs .= "nom_guilde ";
    $sql = " SELECT {$champs} ";
    if ($id != "") {
        $sql .= " , max(date_gtaniere)";
    } else {
        $sql .= " , date_gtaniere";
    }
    $sql .= " FROM gtanieres, guildes";
    $sql .= " WHERE id_guilde = id_guilde_gtaniere ";
    if ($id != "") {
        $sql .= " AND id_lieu_gtaniere = {$id}";
    } else {
        // FIXME pas beau, à revoir ! :)
        $sql_select = " SELECT max(id_gtaniere) as id, id_lieu_gtaniere, max(date_gtaniere)";
        $sql_select .= " FROM gtanieres";
        $sql_select .= " GROUP BY id_lieu_gtaniere";
        if (!($result = mysql_query($sql_select, $db_vue_rm))) {
            echo mysql_error();
        } else {
            $i = 1;
            $sql .= " AND (";
            while ($res = mysql_fetch_assoc($result)) {
                $sql .= " id_gtaniere = {$res['id']} OR";
            }
            $sql = substr($sql, 0, -3);
            $sql .= ")";
        }
    }
    if ($id != "") {
        $sql .= " GROUP BY {$champs}";
    }
    $sql .= " ORDER BY {$nom_ordre}";
    $sql .= " {$order}";
    // $sql .= " LIMIT $debut,$nb_ppage";
    if (!($result = mysql_query($sql, $db_vue_rm))) {
        echo mysql_error();
    } else {
        $i = 1;
        $j = 1;
        while ($gtanieres = mysql_fetch_assoc($result)) {
            if (is_numeric($x_troll) && is_numeric($y_troll) && is_numeric($z_troll)) {
                $lesGrandesTanieres[$i]['distance_pa'] = calcPA($x_troll, $y_troll, $z_troll, $gtanieres[x_gtaniere], $gtanieres[y_gtaniere], $gtanieres[z_gtaniere]);
            }
            $lesGrandesTanieres[$i]['id_gtaniere'] = $gtanieres['id_gtaniere'];
            $lesGrandesTanieres[$i]['id_lieu_gtaniere'] = $gtanieres['id_lieu_gtaniere'];
            $lesGrandesTanieres[$i]['id_guilde_gtaniere'] = $gtanieres['id_guilde_gtaniere'];
            $lesGrandesTanieres[$i]['nom_guilde'] = $gtanieres['nom_guilde'];
            $lesGrandesTanieres[$i]['nom_gtaniere'] = $gtanieres['nom_gtaniere'];
            $lesGrandesTanieres[$i]['x_gtaniere'] = $gtanieres['x_gtaniere'];
            $lesGrandesTanieres[$i]['y_gtaniere'] = $gtanieres['y_gtaniere'];
            $lesGrandesTanieres[$i]['z_gtaniere'] = $gtanieres['z_gtaniere'];
            $lesGrandesTanieres[$i]['is_tgv_gtaniere'] = $gtanieres['is_tgv_gtaniere'];
            $lesGrandesTanieres[$i]['prix_tgv_guilde_gtaniere'] = $gtanieres['prix_tgv_guilde_gtaniere'];
            $lesGrandesTanieres[$i]['prix_tgv_amis_gtaniere'] = $gtanieres['prix_tgv_amis_gtaniere'];
            $lesGrandesTanieres[$i]['prix_tgv_neutres_gtaniere'] = $gtanieres['prix_tgv_neutres_gtaniere'];
            $lesGrandesTanieres[$i]['prix_tgv_ennemis_gtaniere'] = $gtanieres['prix_tgv_ennemis_gtaniere'];
            $lesGrandesTanieres[$i]['connexions_gtaniere'] = $gtanieres['connexions_gtaniere'];
            $lesGrandesTanieres[$i]['is_soins_gtaniere'] = $gtanieres['is_soins_gtaniere'];
            $lesGrandesTanieres[$i]['prix_soins_guilde_gtaniere'] = $gtanieres['prix_soins_guilde_gtaniere'];
            $lesGrandesTanieres[$i]['prix_soins_amis_gtaniere'] = $gtanieres['prix_soins_amis_gtaniere'];
            $lesGrandesTanieres[$i]['prix_soins_neutres_gtaniere'] = $gtanieres['prix_soins_neutres_gtaniere'];
            $lesGrandesTanieres[$i]['prix_soins_ennemis_gtaniere'] = $gtanieres['prix_soins_ennemis_gtaniere'];
            $lesGrandesTanieres[$i]['is_resurection_gtaniere'] = $gtanieres['is_resurection_gtaniere'];
            $lesGrandesTanieres[$i]['prix_resurection_guilde_gtaniere'] = $gtanieres['prix_resurection_guilde_gtaniere'];
            $lesGrandesTanieres[$i]['prix_resurection_amis_gtaniere'] = $gtanieres['prix_resurection_amis_gtaniere'];
            $lesGrandesTanieres[$i]['prix_resurection_neutres_gtaniere'] = $gtanieres['prix_resurection_neutres_gtaniere'];
            $lesGrandesTanieres[$i]['prix_resurection_ennemis_gtaniere'] = $gtanieres['prix_resurection_ennemis_gtaniere'];
            $lesGrandesTanieres[$i]['is_forgeron_gtaniere'] = $gtanieres['is_forgeron_gtaniere'];
            $lesGrandesTanieres[$i]['prix_forgeron_guilde_gtaniere'] = $gtanieres['prix_forgeron_guilde_gtaniere'];
            $lesGrandesTanieres[$i]['prix_forgeron_amis_gtaniere'] = $gtanieres['prix_forgeron_guilde_gtaniere'];
            $lesGrandesTanieres[$i]['prix_forgeron_neutres_gtaniere'] = $gtanieres['prix_forgeron_guilde_gtaniere'];
            $lesGrandesTanieres[$i]['prix_forgeron_ennemis_gtaniere'] = $gtanieres['prix_forgeron_guilde_gtaniere'];
            $lesGrandesTanieres[$i]['is_commerce_gtaniere'] = $gtanieres['is_commerce_gtaniere'];
            $lesGrandesTanieres[$i]['date_gtaniere'] = $gtanieres['date'];
            $i++;
        }
    }
    return $lesGrandesTanieres;
}
Esempio n. 3
0
function parseZone($id_troll, $cX = '', $cY = '', $cZ = '', $nCasesVue = '', $taille_distance_pa = "", $trolls_disparus)
{
    global $db_vue_rm;
    global $DEV, $quadrillage, $quadrillage_delai_max;
    if ($DEV) {
        echo "DEBUG parseZone({$id_troll},{$cX},{$cY},{$cZ},{$nCasesVue},{$taille_distance_pa},{$trolls_disparus}) entré<br>\n";
    }
    if ($taille_distance_pa == "" || $nCasesVue > $taille_distance_pa) {
        $taille = $nCasesVue;
    } else {
        $taille = $taille_distance_pa;
    }
    //Labyrinthe ?
    $laby = 0;
    if ($cZ == '') {
        $sql = "SELECT x_troll, y_troll, z_troll, maj_groupe_spec_troll, est_labyrinthe_troll";
        $sql .= " FROM trolls";
        $sql .= " WHERE id_troll={$id_troll}";
        if ($DEV) {
            echo "DEBUG parseZone() {$sql} <br>";
        }
        $res = mysql_query($sql, $db_vue_rm);
        echo mysql_error();
        if ($res != '') {
            list($X, $Y, $Z, $grpspec, $laby) = mysql_fetch_array($res);
        }
        if ($DEV) {
            echo "DEBUG parseZone() Le troll à la position {$X},{$Y},{$Z}<br>\n";
        }
        if ($grpspec == 'oui' && !userIsGroupSpec()) {
            $X = 0;
            $Y = 0;
            $Z = 0;
        }
    } else {
        $X = $cX;
        $Y = $cY;
        $Z = $cZ;
    }
    $miniX = $X - $taille;
    $maxiX = $X + $taille;
    $miniY = $Y - $taille;
    $maxiY = $Y + $taille;
    $miniZ = $Z - ceil($taille / 2);
    $maxiZ = $Z + ceil($taille / 2);
    $miniXv = $X - $nCasesVue;
    $maxiXv = $X + $nCasesVue;
    $miniYv = $Y - $nCasesVue;
    $maxiYv = $Y + $nCasesVue;
    $miniZv = $Z - ceil($nCasesVue / 2);
    $maxiZv = $Z + ceil($nCasesVue / 2);
    /* Brouillard de guerre */
    #$sql = "SELECT id_troll_quad, UNIX_TIMESTAMP(last_seen_quad) last_seen_quad, ";
    #$sql .= " TO_DAYS(NOW()) - TO_DAYS(last_seen_quad) delais, x_min_quad, x_max_quad, y_min_quad,";
    #$sql .= " y_max_quad ,	z_min_quad ,	z_max_quad";
    #$sql .= " FROM quadrillage";
    #$sql .= " WHERE ";
    #$sql .= " x_min_quad <= $maxiX";
    #$sql .= " AND x_max_quad >= $miniX";
    #$sql .= " AND y_min_quad <= $maxiY";
    #$sql .= " AND y_max_quad >= $miniY";
    #$sql .= " AND z_min_quad <= $maxiZ";
    #$sql .= " AND z_max_quad >= $miniZ";
    #if ($DEV) echo "DEBUG parseZone() QUADRILLAGE $sql <br>";
    #$res=mysql_query($sql, $db_vue_rm);
    #echo mysql_error();
    #if ($nCasesVue <= 10)	{
    #		while ($objet = mysql_fetch_assoc($res)) {
    #			for ($i=$miniXv; $i<=$maxiXv; $i++) {
    #				for ($j=$miniYv; $j<=$maxiYv; $j++) {
    #					for ($k=$miniZv; $k<=$maxiZv; $k++) {
    #						$flag = false;
    #
    #						if ( ($objet['x_min_quad'] <= $i) &&  ($objet['x_max_quad'] >= $i)
    #							 &&($objet['y_min_quad'] <= $j) &&  ($objet['y_max_quad'] >= $j)
    #							 &&($objet['z_min_quad'] <= $k) &&  ($objet['z_max_quad'] >= $k)
    #							 )
    #					  {
    #
    #								if ($quadrillage[$i][$j][$k]['delais'] == "") {
    #									$flag = true;
    #								} elseif ($quadrillage[$i][$j][$k]['last_seen'] <= $objet['last_seen_quad']) {
    #									$flag = true;
    #								}
    #								if ($flag) {
    #									$quadrillage[$i][$j][$k]['delais'] = $objet['delais'];
    #									$quadrillage[$i][$j][$k]['last_seen'] = $objet['last_seen_quad'];
    #									$quadrillage[$i][$j][$k]['id_troll'] = $objet['id_troll_quad'];
    #								}
    #						 }
    #					}
    #				}
    #			}
    #		}
    #	}
    # Labyrinthe
    // $labyrinthe="";
    if ($laby == 1) {
        $sql = "SELECT x_labyrinthe, y_labyrinthe, z_labyrinthe, type_labyrinthe ";
        $sql .= " FROM labyrinthe";
        $sql .= " WHERE x_labyrinthe >= {$miniX}";
        $sql .= " AND x_labyrinthe <= {$maxiX}";
        $sql .= " AND y_labyrinthe >= {$miniY}";
        $sql .= " AND y_labyrinthe <= {$maxiY}";
        $sql .= " AND z_labyrinthe >= {$miniZ}";
        $sql .= " AND z_labyrinthe <= {$maxiZ}";
        if ($DEV) {
            echo "DEBUG parseZone() labyrinthe {$sql} <br>";
        }
        $res = mysql_query($sql, $db_vue_rm);
        echo mysql_error();
        while (list($oX, $oY, $oZ, $oType) = mysql_fetch_array($res)) {
            $distance_pa = calcPA($X, $Y, $Z, $oX, $oY, $oZ);
            $objet = array(type => $oType, z => $oZ, x => $oX, y => $oY, distance_pa => $distance_pa);
            $labyrinthe[$oX + 100][$oY + 100][] = $objet;
        }
    }
    # TROLLS
    $date_less_5days = date("Y-m-d H-i-s", mktime(date("H"), date("i"), date("s"), date("m"), date("d") - 5, date("Y")));
    // statut_guilde 'neutre','tk','ennemie','amie','alliée'
    $sql = "SELECT x_troll, y_troll, z_troll, ";
    $sql .= " id_troll, nom_troll, race_troll, niveau_troll, guilde_troll,";
    $sql .= " malade_troll, nom_guilde, statut_guilde,";
    $sql .= " is_tk_troll, is_wanted_troll, is_seen_troll, UNIX_TIMESTAMP(date_troll) as date_troll";
    $sql .= " FROM trolls,guildes";
    $sql .= " WHERE x_troll >= {$miniX}";
    $sql .= " AND x_troll <= {$maxiX}";
    $sql .= " AND y_troll >= {$miniY}";
    $sql .= " AND y_troll <= {$maxiY}";
    $sql .= " AND z_troll >= {$miniZ}";
    $sql .= " AND z_troll <= {$maxiZ}";
    $sql .= " AND est_labyrinthe_troll = '{$laby}'";
    $sql .= " AND guilde_troll = id_guilde";
    if ($trolls_disparus == "oui") {
        $sql .= " AND (is_seen_troll = 'oui'";
        $sql .= " OR (is_seen_troll = 'non' AND date_troll >'{$date_less_5days}'))";
    } else {
        $sql .= " AND is_seen_troll = 'oui'";
    }
    /*if (!userIsGroupSpec()){
    		$sql .= " AND maj_groupe_spec_troll <> 'oui'";
    	}*/
    if ($DEV) {
        echo "DEBUG parseZone() TROLLS {$sql} <br>";
    }
    $res = mysql_query($sql, $db_vue_rm);
    echo mysql_error();
    while (list($tX, $tY, $tZ, $tId, $nom, $race, $level, $IdGuilde, $malade, $nom_guilde, $diplomatie, $is_tk, $is_wanted, $is_seen, $date_troll) = mysql_fetch_array($res)) {
        if ($malade == '-') {
            $malade = "";
        }
        $distance_pa = calcPA($X, $Y, $Z, $tX, $tY, $tZ);
        $objet = array(id => $tId, nom => $nom, z => $tZ, race => $race, level => $level, guilde => $nom_guilde, x => $tX, y => $tY, tk => $is_tk, wanted => $is_wanted, malade => $malade, diplomatie => $diplomatie, guilde_troll => $IdGuilde, is_seen => $is_seen, date_troll => $date_troll, distance_pa => $distance_pa);
        $trolls[$tX + 100][$tY + 100][] = $objet;
    }
    # STREUMS
    $sql = "SELECT x_monstre, y_monstre, z_monstre, ";
    $sql .= " id_monstre, nom_monstre";
    $sql .= " FROM monstres";
    $sql .= " WHERE x_monstre\t >= {$miniX}";
    $sql .= " AND x_monstre <= {$maxiX}";
    $sql .= " AND y_monstre >= {$miniY}";
    $sql .= " AND y_monstre <= {$maxiY}";
    $sql .= " AND z_monstre >= {$miniZ}";
    $sql .= " AND z_monstre <= {$maxiZ}";
    $sql .= " AND is_seen_monstre = 'oui'";
    $sql .= " AND est_labyrinthe_monstre = '{$laby}'";
    if ($DEV) {
        echo "DEBUG parseZone() MONSTRES {$sql} <br>";
    }
    $res = mysql_query($sql, $db_vue_rm);
    echo mysql_error();
    while (list($mX, $mY, $mZ, $mId, $mNom) = mysql_fetch_array($res)) {
        unset($monstre);
        $mNom = stripslashes(stripslashes($mNom));
        $tab = getInfoFromMonstre($mNom);
        $monstre[famille] = $tab['famille'];
        $monstre[race] = $tab['race'];
        $monstre[niveau] = $tab['niv'];
        // niveau estimé
        $infos_monstre = $tab;
        $caracs_moyennes = SelectCaracMoyMonstre($tab['id_race'], $tab['id_template'], $tab['id_age']);
        //if($caracs_moyennes['niv']!='?' && $caracs_moyennes['niv']!='')
        //	$monstre[niveau]=$caracs_moyennes['niv']; // niveau calculé
        //else
        //	$monstre[niveau] = $tab['niv']; // niveau estimé / Juste pour info ici
        $tab_cdm = "";
        $monstre[connu] = 'non';
        if ($infos_monstre[id_template] != "" && $infos_monstre[id_age] != "") {
            $tab_cdm = SelectCdMs($infos_monstre[race], $infos_monstre[id_template], $infos_monstre[id_age], "-1", "-1", true);
            if (count($tab_cdm) > 0) {
                $monstre[connu] = 'oui';
            }
            if ($taille <= 15) {
                $monstre[tab_cdm] = $tab_cdm;
                $capacites_speciales = SelectCapSpe($tab['id_race'], $tab['id_template'], $tab['id_age']);
            }
        }
        $id_troll_gowap = "";
        $nom_troll = "";
        // On regarde si le monstre est un gowap de la guilde
        if (preg_match("/Gowap/", $mNom)) {
            $sql = " SELECT nom_troll, id_troll_gowap";
            $sql .= " FROM gowaps, trolls";
            $sql .= " WHERE id_troll_gowap = id_troll";
            $sql .= " AND id_gowap = {$mId}";
            if ($DEV) {
                echo "DEBUG MONSTRES {$sql} <br>";
            }
            $result2 = mysql_query($sql, $db_vue_rm);
            echo mysql_error();
            if (mysql_num_rows($result2) > 0) {
                $res2 = mysql_fetch_assoc($result2);
                $id_troll_gowap = $res2[id_troll_gowap];
                $nom_troll = $res2[nom_troll];
            }
        }
        // On regarde si le monstre est recherché (composant)
        $recherche = "";
        $sql = " SELECT id_composant, priorite_composant, id_race_composant";
        $sql .= " FROM composants";
        $sql .= " WHERE id_race_composant = '" . addslashes($monstre[race]) . "'";
        if ($DEV) {
            echo "DEBUG MONSTRES {$sql} <br>";
        }
        $result2 = mysql_query($sql, $db_vue_rm);
        echo mysql_error();
        if (mysql_num_rows($result2) > 0) {
            $res2 = mysql_fetch_assoc($result2);
            $recherche = $res2[priorite_composant];
        }
        $distance_pa = calcPA($X, $Y, $Z, $mX, $mY, $mZ);
        $objet = array(id => $mId, nom => $mNom, z => $mZ, x => $mX, y => $mY, race => $monstre[race], famille => $monstre[famille], niveau => $monstre[niveau], connu => $monstre[connu], recherche => $recherche, id_troll_gowap => $id_troll_gowap, nom_troll => $nom_troll, infos_monstre => $infos_monstre, caracs_moyennes => $caracs_moyennes, capacites_speciales => $capacites_speciales, tab_cdm => $monstre[tab_cdm], distance_pa => $distance_pa);
        $streums[$mX + 100][$mY + 100][] = $objet;
    }
    # Mythiques
    $sql = "SELECT x_monstre, y_monstre, z_monstre, ";
    $sql .= " id_monstre, nom_monstre";
    $sql .= " FROM monstres, best_races";
    $sql .= " WHERE nom_monstre like CONCAT('%',nom_race,'%')";
    $sql .= " AND commentaire like 'Mythique'";
    $sql .= " AND is_seen_monstre = 'oui'";
    if ($DEV) {
        echo "DEBUG parseZone() MYTHIQUES {$sql} <br>";
    }
    $res = mysql_query($sql, $db_vue_rm);
    echo mysql_error();
    while (list($oX, $oY, $oZ, $oId, $oNom) = mysql_fetch_array($res)) {
        $distance_pa = calcPA($X, $Y, $Z, $oX, $oY, $oZ);
        $objet = array(id => $oId, nom => $oNom, z => $oZ, x => $oX, y => $oY, distance_pa => $distance_pa);
        $mythiques[$oX + 100][$oY + 100][] = $objet;
    }
    # CAME
    $sql = "SELECT x_tresor, y_tresor, z_tresor, ";
    $sql .= " id_tresor, nom_tresor";
    $sql .= " FROM tresors";
    $sql .= " WHERE x_tresor >= {$miniX}";
    $sql .= " AND x_tresor <= {$maxiX}";
    $sql .= " AND y_tresor >= {$miniY}";
    $sql .= " AND y_tresor <= {$maxiY}";
    $sql .= " AND z_tresor >= {$miniZ}";
    $sql .= " AND z_tresor <= {$maxiZ}";
    $sql .= " AND est_labyrinthe_tresor = '{$laby}'";
    if ($DEV) {
        echo "DEBUG parseZone() TRESOR {$sql} <br>";
    }
    $res = mysql_query($sql, $db_vue_rm);
    echo mysql_error();
    while (list($oX, $oY, $oZ, $oId, $oNom) = mysql_fetch_array($res)) {
        $distance_pa = calcPA($X, $Y, $Z, $oX, $oY, $oZ);
        $objet = array(id => $oId, nom => $oNom, z => $oZ, x => $oX, y => $oY, distance_pa => $distance_pa);
        $came[$oX + 100][$oY + 100][] = $objet;
    }
    # LIEUX
    $sql = "SELECT x_lieu, y_lieu, z_lieu,";
    $sql .= " id_lieu, nom_lieu";
    $sql .= " FROM lieux";
    $sql .= " WHERE x_lieu >= {$miniX}";
    $sql .= " AND x_lieu <= {$maxiX}";
    $sql .= " AND y_lieu >= {$miniY}";
    $sql .= " AND y_lieu <= {$maxiY}";
    $sql .= " AND z_lieu >= {$miniZ}";
    $sql .= " AND z_lieu <= {$maxiZ}";
    $sql .= " AND est_labyrinthe_lieu = '{$laby}'";
    if ($DEV) {
        echo "DEBUG parseZone() LIEU {$sql} <br>";
    }
    $res = mysql_query($sql, $db_vue_rm);
    echo mysql_error();
    while (list($lX, $lY, $lZ, $lId, $lNom) = mysql_fetch_array($res)) {
        $id_info = "";
        $nom_info = "";
        $statut_info = "";
        $type_info = "";
        // On regarde si la taniere est une tanière de la guilde
        //		if (preg_match("/Tani.re de/",$lNom)) {
        if (preg_match("/.*\\((\\d+)\\)/", $lNom, $match)) {
            if (is_numeric($match[1])) {
                $sql = " SELECT nom_guilde, statut_guilde";
                $sql .= " FROM guildes";
                $sql .= " WHERE id_guilde = {$match['1']}";
                $result2 = mysql_query($sql, $db_vue_rm);
                echo mysql_error();
                if (mysql_num_rows($result2) > 0) {
                    $res2 = mysql_fetch_assoc($result2);
                    $id_info = $match[1];
                    $nom_info = $res2[nom_guilde];
                    $statut_info = $res2[statut_guilde];
                    if ($match[1] == ID_GUILDE) {
                        $statut_info = "guilde";
                    } else {
                        $statut_info = $res2[statut_guilde];
                    }
                    $type_info = "guilde";
                }
            }
        }
        // Recherche du statut dans les trolls
        if (preg_match("/Tani.re de .*\\((\\d+)\\)/", $lNom, $match)) {
            if (is_numeric($match[1])) {
                $sql = " SELECT nom_troll, id_troll, statut_troll, statut_guilde";
                $sql .= " FROM trolls, guildes";
                $sql .= " WHERE id_troll = {$match['1']}";
                $sql .= " AND guilde_troll = id_guilde";
                $result2 = mysql_query($sql, $db_vue_rm);
                echo mysql_error();
                if (mysql_num_rows($result2) > 0) {
                    $res2 = mysql_fetch_assoc($result2);
                    $id_info = $res2[id_troll];
                    $nom_info = $res2[nom_troll];
                    if ($res2[statut_troll] != "") {
                        $statut_info = $res2[statut_troll];
                    } else {
                        $statut_info = $res2[statut_guilde];
                    }
                    $type_info = "troll";
                }
            }
        }
        // Recherche dans les tanières de guildes
        if (preg_match("/Tani.re de/", $lNom)) {
            $sql = " SELECT nom_troll, id_troll_taniere";
            $sql .= " FROM tanieres, trolls";
            $sql .= " WHERE id_troll_taniere = id_troll";
            $sql .= " AND id_taniere = {$lId}";
            if ($DEV) {
                echo "DEBUG LIEUX tanieres  {$sql} <br>";
            }
            $result2 = mysql_query($sql, $db_vue_rm);
            echo mysql_error();
            if (mysql_num_rows($result2) > 0) {
                $res2 = mysql_fetch_assoc($result2);
                $id_info = $res2[id_troll_taniere];
                $nom_info = $res2[nom_troll];
                $statut_info = "guilde";
                $type_info = "troll";
            }
        }
        $distance_pa = calcPA($X, $Y, $Z, $lX, $lY, $lZ);
        $objet = array(id => $lId, nom => $lNom, z => $lZ, x => $lX, y => $lY, id_info => $id_info, nom_info => $nom_info, statut_info => $statut_info, is_guilde => $is_guilde, type_info => $type_info, distance_pa => $distance_pa);
        $lieux[$lX + 100][$lY + 100][] = $objet;
    }
    # CHAMPIGNONS
    $sql = "SELECT x_champi, y_champi, z_champi,";
    $sql .= " id_champi, nom_champi";
    $sql .= " FROM champignons";
    $sql .= " WHERE x_champi >= {$miniX}";
    $sql .= " AND x_champi <= {$maxiX}";
    $sql .= " AND y_champi >= {$miniY}";
    $sql .= " AND y_champi <= {$maxiY}";
    $sql .= " AND z_champi >= {$miniZ}";
    $sql .= " AND z_champi <= {$maxiZ}";
    $sql .= " AND is_seen_champi ='oui'";
    $sql .= " AND est_labyrinthe_champi = '{$laby}'";
    if ($DEV) {
        echo "DEBUG parseZone() CHAMPI {$sql} <br>";
    }
    $res = mysql_query($sql, $db_vue_rm);
    echo mysql_error();
    while (list($cX, $cY, $cZ, $cId, $cNom) = mysql_fetch_array($res)) {
        $objet = array(id => $cId, nom => $cNom, z => $cZ, x => $cX, y => $cY);
        $champi[$cX + 100][$cY + 100][] = array(id => $cId, nom => $cNom, z => $cZ);
    }
    # BARONNIES
    /*
    	$sql = "SELECT x_deb_baronnie, y_deb_baronnie, z_deb_baronnie,";
    	$sql .= " x_fin_baronnie, y_fin_baronnie, z_fin_baronnie,";
    	$sql .= " x_trone_baronnie, y_trone_baronnie, z_trone_baronnie,";
    	$sql .= " nom_baronnie, id_baron_baronnie, id_baronnie,nom_troll as nom_baron, ";
    	$sql .= " img_drapeau_baronnie, img_mini_blason_baronnie";
    	$sql .= " FROM baronnies,trolls";
    	$sql .= " WHERE x_fin_baronnie >= $miniX";
    	$sql .= " AND x_deb_baronnie <= $maxiX";
    	$sql .= " AND y_fin_baronnie >= $miniY";
    	$sql .= " AND y_deb_baronnie <= $maxiY";
    	$sql .= " AND z_fin_baronnie >= $miniZ";
    	$sql .= " AND z_deb_baronnie <= $maxiZ";
    	$sql .= " AND id_troll = id_baron_baronnie";
    
    	if ($DEV) echo "DEBUG parseZone() BARONNIE $sql <br>";
    	$res=mysql_query($sql, $db_vue_rm);
    	echo mysql_error();
    
    	while (list(
    				$x_deb_baronnie, $y_deb_baronnie, $z_deb_baronnie,
    				$x_fin_baronnie, $y_fin_baronnie, $z_fin_baronnie,
    				$x_trone_baronnie, $y_trone_baronnie, $z_trone_baronnie,
    				$nom_baronnie, $id_baron_baronnie, $id_baronnie, $nom_baron,
    				$img_drapeau_baronnie, $img_mini_blason_baronnie
    	 			)=mysql_fetch_array($res))
    	{
    
    		$distance_pa = calcPA($X,$Y,$Z,$x_trone_baronnie,$y_trone_baronnie,$z_trone_baronnie);
    
    		$objet=array(
    				x_deb_baronnie=>$x_deb_baronnie, y_deb_baronnie=>$y_deb_baronnie, z_deb_baronnie=>$z_deb_baronnie,
    				x_fin_baronnie=>$x_fin_baronnie, y_fin_baronnie=>$y_fin_baronnie, z_fin_baronnie=>$z_fin_baronnie,
    				x_trone_baronnie=>$x_trone_baronnie, y_trone_baronnie=>$y_trone_baronnie, z_trone_baronnie=>$z_trone_baronnie,
    				nom_baronnie=>$nom_baronnie, id_baron_baronnie=>$id_baron_baronnie, id_baronnie=>$id_baronnie,
    				nom_baron=>$nom_baron, img_drapeau_baronnie=>$img_drapeau_baronnie, 
    				img_mini_blason_baronnie=>$img_mini_blason_baronnie,
    				distance_pa=>$distance_pa
    		);
    								 
    $baronnies[$x_trone_baronnie+100][$y_trone_baronnie+100][]=$objet;
    	}
    */
    /* On retourne la position et le numéro */
    $tab[t_quadrillage] = $quadrillage;
    $tab[t_trolls] = $trolls;
    $tab[t_monstres] = $streums;
    $tab[t_mythiques] = $mythiques;
    $tab[t_lieux] = $lieux;
    $tab[t_tresors] = $came;
    $tab[t_champignons] = $champi;
    $tab[t_laby] = $labyrinthe;
    //$tab[t_baronnies] = $baronnies;
    $tab[max_pa] = $taille_distance_pa;
    $tab[taille_vue] = $nCasesVue;
    $tab[x_position] = $X;
    $tab[y_position] = $Y;
    $tab[z_position] = $Z;
    $tab[trolls_disparus] = $trolls_disparus;
    if ($id_troll != "") {
        $tab[myTroll] = getTroll($id_troll);
    }
    return $tab;
}
Esempio n. 4
0
     }
     break;
 case 40:
     # Tresors
     if (preg_match("/\\d+[ \t]+(\\d+)[ \t]+([^\t]+)[ \t]+([-\\d]+)[ \t]+([-\\d]+)[ \t]+([-\\d]+)/", $line, $parts)) {
         list($tmp, $objet["id"], $objet["nom"], $objet["x"], $objet["y"], $objet["z"]) = $parts;
         $objet["distance_pa"] = calcPA($objet["x"], $objet["y"], $objet["z"], $X, $Y, $Z);
         $came[$objet["x"] + 100][$objet["y"] + 100][] = $objet;
         $came_fichier[] = $objet;
     }
     break;
 case 50:
     # Lieux
     if (preg_match("/\\d+[ \t]+(\\d+)[ \t]+([^\t]+)[ \t]+([-\\d]+)[ \t]+([-\\d]+)[ \t]+([-\\d]+)/", $line, $parts)) {
         list($tmp, $objet["id"], $objet["nom"], $objet["x"], $objet["y"], $objet["z"]) = $parts;
         $objet["distance_pa"] = calcPA($objet["x"], $objet["y"], $objet["z"], $X, $Y, $Z);
         $lieux[$objet["x"] + 100][$objet["y"] + 100][] = $objet;
         $lieux_fichier[] = $objet;
     }
     break;
 case 60:
     # Champi
     if (preg_match("/\\d+[ \t]+(\\d+)[ \t]+([^\t]+)[ \t]+([-\\d]+)[ \t]+([-\\d]+)[ \t]+([-\\d]+)/", $line, $parts)) {
         list($tmp, $objet["id"], $objet["nom"], $objet["x"], $objet["y"], $objet["z"]) = $parts;
         $champi[$objet["x"] + 100][$objet["y"] + 100][] = $objet;
         $champi_fichier[] = $objet;
     }
     break;
 case 70:
     # Position
     if (preg_match("/Ma Position Actuelle est : X = (.+), Y = (.+), N = (.+) \\[Le Labyrinthe (.+)\\]/", $line, $parts)) {