Accès direct aux infos du jeu.
3 sortes d'infos, 3 façons de les récupérer: Les "Scripts Publics" renvoient les données de chaque trõll.
Ce qu'il faut savoir:

Index.

Limites d'appels Normalisation

Scripts "Officiels" ;
Scripts "Développeurs" ;
messages d'Erreur ;
qu'est-ce qu'un jour*** ?

Chantier "XML" ;
aide ;

Nouvelles limites d'appels.

Un nouveau paramètre pour le script SP_Appels.

Bientôt les tanières et les suivants.

l'Annéàû Trõll

c'tï d'àvànt | Bàrh-Akkà | c'tï d'àprés
Lïsté | Vïéndré | Stàts

- contacts -
Gros Kéké
Mailing List non-officielle
ML sur MH et le XML

- forums -
Les Outils Webmaster
Les Vues 2D
Les Sites décrivant le monde

[haut]

Le nombre d'appels autorisés aux Scripts Publics est limité.

maximum d'appels
par catégorie
et par jour***
catégoriefont partie de cette catégorie
24 Dynamiques "SP_Profil", "SP_Profil2", "SP_Profil3", "SP_Vue", "SP_Vue2", "SP_Evenement", "SP_EvenementPage", "SP_Bonusmalus", "SP_Caract", "SP_ActionProg"
10 Statiques "SP_Equipement", "SP_Mouche", "SP_Gigots", "SP_Aptitudes", "SP_Aptitudes2", "SP_Tanieres", "SP_GrandesTanieres", "SP_Consignes", "SP_Gowaps", "SP_Listesdevente", "SP_Distinctions", "SP_ProfilPublic", "SP_ProfilPublic2"
12 Messages "SP_DernierMessage", "SP_New"
4 compteurs d'appels "SP_Appels"

Exemples pour 1 trõll sur une journée***

[haut]

Normalisation.

[haut]

Liste des Scripts.

Scripts "Officiels" (Leur modification est annoncée sur les Forums www.mountyhall.com)

- infos privées -

SP_Vue.php?Numero=XXX&Motdepasse=YYY [&Tresors=1] [&Lieux=1] [&Champignons=1] :
Ordre des champs --> ID ; [Nom ;] Position X ; Position Y ; Position N
Eléments --> TROLLS # MONSTRES [# TRESORS] [# LIEUX] [# CHAMPIGNONS]
(Script déprécié, merci d'utiliser SP_Vue2)

SP_Profil.php?Numero=XXX&Motdepasse=YYY :
Ordre des champs --> ID, Position X ; Position Y ; Position N ; PV Actuels; PV Max ; PA Restant; DLA ; Nb Dés d'Attaque ; Nb Dés d'Esquive ; Nb Dés de Dégat ; Nb Dés de Régénération ; Vue ; Armure ; MM ; RM ; Armure naturelle
(Script déprécié, merci d'utiliser SP_Profil2)

- infos publiques -

SP_Evenement.php?Numero=XXX&Motdepasse=YYY :
Les 20 derniers événements du troll n°Numero.

[haut]

Scripts "Développeurs" (En test, ils peuvent être modifiés à tout moment ; l'info est alors diffusée sur la Mailing List)

SP_Appels.php?Numero=XXX&Motdepasse=YYY&categorie=NNN :
Renvoie le nombre d'appels aux scripts publics faits pour ce troll.
Ce script prend le paramètre "categorie", qui accepte les valeurs 1, 2, 3, 4, A.

  • 1 correspond à la catégorie "Dynamique" ;
  • 2 correspond à la catégorie "Statique" ;
  • 3 correspond à la catégorie "messages" ;
  • 4 correspond à la catégorie "limites d'appels".
  • A correspond à la liste de tous les SP appelés :

Ordre des champs --> Nombre d'appel [; Code du script]
(Note: il existe une version "webmaster" de ce script.)

- infos privées -

SP_Vue2.php?Numero=XXX&Motdepasse=YYY [&Tresors=1] [&Lieux=1] [&Champignons=1] :
Ordre des champs pour les données : --> ID ; [Nom ;] Position X ; Position Y ; Position N
Eléments --> TROLLS # MONSTRES [# TRESORS] [# LIEUX] [# CHAMPIGNONS] # ORIGINE
"# ORIGINE", ordre des champs : vue totale horizontale ; Position X ; Position Y ; Position N

SP_Profil2.php?Numero=XXX&Motdepasse=YYY :
Ordre des champs --> ID, Position X ; Position Y ; Position N ; PV Actuels; PV Max ; PA Restant; DLA ; Nb Dés d'Attaque ; Nb Dés d'Esquive ; Nb Dés de Dégat ; Nb Dés de Régénération ; Vue ; Armure ; MM ; RM ; attaques subies ; fatigue ; camouflage ? ; invisible ? ; intangible ? ; Nb parades programmées ; Nb contre-attaques programmées ; durée du tour ; bonus de durée (hors équipement) ; Armure naturelle ; Nombre de dés d'armure en moins ; Immobile ? ; A terre ? ; en course ? ; Levite ? ; PV max y compris les bonus ; Niveau ; PIs Totaux ; Numéro de guilde ; Portée de vue ; Nb Retraites ; Direction des retraites (ordre chronologique) ;

SP_Profil3.php?Numero=XXX&Motdepasse=YYY :
Ordre des champs --> ID, Nom; Position X ; Position Y ; Position N ; PA Restant; DLA ; Fatigue ; Camouflage; Invisible ; Intangible ; PX; PX perso; PI; Gigots de Gob'

SP_Aptitudes2.php?Numero=XXX&Motdepasse=YYY :nouveauté
Liste des Compétences et Sortilèges du Trõll
Ordre des champs -->
Type, Id; Pourcentage ; Bonus Pourcentage; Niveau

SP_Caract.php?Numero=XXX&Motdepasse=YYY : nouveauté
Détail des caractéritiques du Trõll
Ordre des champs -->
Type; Attaque; Esquive; Dégats; Régénération; PVMax; PVActuels; Portée deVue; RM; MM; Armure; Duree du Tour; Poids; Concentration
Le type donne trois valeurs : CAR(actéristiques), BMM et BMP
(Ce script est présenté en prévision de la Révision des BM. Sa fiabilité n'est actuellement pas garantie).

SP_DernierMessage.php?Numero=XXX&Motdepasse=YYY :
Vous informe sur le dernier message personnel reçu sur la messagerie de Mountyhall.
Ordre des champs --> lu ? ; date

SP_New.php?Numero=XXX&Motdepasse=YYY :
Vous indique l'état du dernier message personnel reçu sur la messagerie de Mountyhall.
Ordre des champs --> lu ?

SP_Gigots.php?Numero=XXX&Motdepasse=YYY :
Nombre de Gigots de Gob possédés.
(ATTENTION : Ce SP sera prochainement supprimé)

SP_Equipement.php?Numero=XXX&Motdepasse=YYY[&Cible=ZZZ][&Split=0] :
Détaille l'équipement porté (équipé et non équipé) :
Ordre des champs --> ID, équipé ? ; type ; identifié ? ; nom ; magie ; description ; poids
Argument facultatif [&Cible=ZZZ] : permet d'avoir la liste des equipements portés par le Trõll "cible".
Argument facultatif [&Split=1] : permet d'avoir un affichage des bonus découpés en BMP\BMM.

SP_Mouche.php?Numero=XXX&Motdepasse=YYY :
Liste des Mouches.
Ordre des champs --> ID ; nom ; type ; âge ; présence

SP_Bonusmalus.php?Numero=XXX&Motdepasse=YYY :
Liste des Bonus et Malus (BM).
Ordre des champs --> Nom ; Type ; Effet ; Durée (en tours)

SP_ActionsProg.php?Numero=XXX&Motdepasse=YYY : nouveauté
Liste des actions programmées.
Ordre des champs --> Numéro de l'Action; Type ; Date ; Durée (en tours)

SP_Listesdevente.php?Numero=XXX&Motdepasse=YYY :
Renvoie l'ensemble des objets présents dans les listes de vente des trolls situés dans la zone:
- limite de vue horizontale = vue + bonus de vue limité à 5 cases;
- limite de vue verticale = limite de vue horizontale / 2 arrondi au supérieur;
- le troll cible doit être visible ou camouflé mais dans ce cas doit être sur la même case que le troll du joueur.

Ordre des champs --> IDVendeur ; Prix de vente ; IDObjet ; Type ; Poids ; Nom ; Magie ; Description
Description peut prendre trois valeurs spéciales : Aucune description fournie et Aucune description disponible et Spécial.

- infos publiques -

SP_EvenementPage.php?Numero=XXX&Motdepasse=YYY [&Page=1] [&Type=] :
Ce script affiche les événements du troll n°Numero par "Pages" (tranches de 20), la plus récente étant notée 1.
Le paramètre Type prend l'une des valeurs suivantes, ou bien il est ignoré : AMELIORATION, APPARITION, COMBAT, COMPETENCE, DEPLACEMENT, DIVERS, DON de PX, DON de GG, ENTRAINEMENT, GUILDE, MONSTRE, MORT, PARCHEMIN, POTION, SORTILEGE, TRESOR.

SP_ProfilPublic.php?Numero=XXX&Motdepasse=YYY :
Ordre des champs --> numéro ; PNJ ? ; niveau ; date d'inscription ; e-mail ; blason ; intangible ? ; Nb mouches ; Nb kills ; Nb morts ; n° de rang ; nom de rang ; distinction ; {équipement porté}
Affichage de l' {équipement porté} : toujours visible ? , nom , magie |
(ATTENTION : Ce SP sera prochainement supprimé)

SP_ProfilPublic2.php?Numero=XXX&Motdepasse=YYY[&Cible=ZZZ]: nouveauté
Ordre des champs --> numéro; Nom; Race; Niveau; Date d'inscription ; E-mail ; Blason ; Intangible ; Nb mouches ; Nb kills ; Nb morts; Numéro de Guilde; Nniveau de Rang; PNJ ?
Argument facultatif [&Cible=ZZZ] :permet d'avoir le profil du Trõll "cible".

SP_Distinctions.php?Numero=XXX&Motdepasse=YYY[&Cible=ZZZ] :nouveauté
Ordre des champs --> numéro; Description
Argument facultatif [&Cible=ZZZ] :permet d'avoir la liste des distinctions du Trõll "cible".

[haut]

Messages d'erreur

* Erreurs d'appel :

Erreur 1 : paramètres incorrects (aide)
Erreur 2 : troll inexistant
Erreur 2 : guilde inexistante
Erreur 3 : mot de passe incorrect
Erreur 4 : Entretien.
Erreur 5 : Scripts Publics Temporairement désactivés.
Erreur 6 : Troll d ésactivé ou PNJ.

* Erreurs SQL :

Erreur SQL : [numéro] : [message]
Si vous obtenez une erreur SQL, s"il vous plait envoyez-moi le texte affiché.

[haut]

qu'est-ce qu'un jour*** ?

Au début de cette page il est écrit:

Les appels autorisés aux Scripts Publics sont limités :
(...)
maximum d'appels par catégorie et par jour

Voici la FAQ de cette règle:

- la règle vaut pour l'addition de tous les appels à tous les scripts d'une catégorie

- la règle vaut pour 1 troll à la fois: à chaque numéro de troll correspond un compte différent

- Il n"y a pas de "compteur" qui serait remis à zéro, ni de "jour" conventionnel. Comme vous pouvez le vérifier avec SP_Appels,
on additionne simplement tous les appels effectués sur les 24 heures précédentes à partir de l'heure courante.

- Un appel'compte" à partir du moment où il est réalisé et pour les 24 heures suivantes.

- Un appel'cesse de compter" 24 heures après qu'il ait été effectué.

[haut]

Chantier XML (voir la ML sur MH et le XML)

- validation -

w3c xsv

w3c XHTML

- scripts -

SPXML_Equipement.php?Numero=XXX&Motdepasse=YYY

SPXML_Objets.php?Numero=XXX&Motdepasse=YYY

[haut]

aide

- Manuel de référence, en français - http://www.nexen.net/docs/php/annotee/

- débuter en php - http://www.phpdebutant.org/ et http://www.commentcamarche.net/

- Exemples - récupération et affichage de la liste publique des trolls
(a) pour débuter
(b) optimisations
(c) *sur hébergement payant*

(a) pour débuter

/* lecture du fichier et stockage dans la chaîne de caractères "$buffer" */

$filename= "ftp://ftp.mountyhall.com/Public_Trolls.txt";
$buffer="";
$fd=@fopen($filename,"r");
if( $fd ){
while (!@feof($fd)){ $buffer .= @fgets($fd, 4096); }
@fclose ($fd);

/* premier découpage en tranches : les lignes (donc les trolls) sont séparées */

$lignes = explode("\n", $buffer );

/* chaque ligne est à nouveau découpée en tranches, par champs, et affichée */

$i=0;
while( $lignes[$i] ){
$data = explode(";", $lignes[$i] );
echo $data[0]." - ".$data[1]." - ". $data[2]." - ". $data[3]." - ". $data[4]." - ". $data[5]." - ". $data[6]."<BR>\n";
$i++;
}

}else{ echo "Le fichier "".$filename."" est inaccessible : "; }


(b) optimisations

* remplacer :
while (!@feof($fd)){ $buffer .= @fgets($fd, 4096); }
@fclose ($fd);
$lignes = explode("\n", $buffer );

par :
while (!@feof($fd)){ $lignes[] = @fgets($fd, 4096); }
@fclose ($fd);

* remplacer :
echo $data[0]." - ".$data[1]." - ". $data[2]." - ". $data[3]." - ". $data[4]." - ". $data[5]." - ". $data[6]."<BR>\n";

par :
echo implode(" - ", $data )."<BR>\n";



(c) *sur hébergement payant*
(consulter aussi http://dev.mysql.com/doc/mysql/fr/LOAD_DATA.html)

$query="LOAD DATA INFILE "$lefichier" REPLACE INTO TABLE `$latable`
FIELDS TERMINATED BY ";" LINES TERMINATED BY "\n"";
$result=mysql_query($query,$id);
if(!$result)
echo("erreur : $query \n".mysql_error()."\n");

avec $lefichier un fichier local (copie du ftp/script dans un fichier temporaire local)
et $latable une table MySql