JeuxOnLineForumsPlusConnectés : 261 (sites) | 459 (forums)Créer un compte
Dark Age of Camelot
Technique et Automatisation
Les forums JOL > Dark Age of Camelot > DAoC - Technique et Automatisation > TOUT sur les XML, C'est par ici ! RSS
   
Répondre
Partager Outils Rechercher
Brique Abrac
Roi / Reine
 
Citation:
trés certainement mais dans la doc. php aucune commande n'est spécifié (ou alors bien caché) donc ... enfin bon ca fais rien come dis plus haut on fera juste un script qui récup sur le local et qui execute les requètes
C'est dans phpmyadmin que l'on cree cet utilisateur, je viens d'activer ma base sql chez free, je regarderais si c possible qd elle sera active.
Lien direct vers le message - Vieux
Avatar de Gryndel
Gryndel [CDD]
Alpha & Oméga
 
Avatar de Gryndel
 
hop une petite news en passant....
Même si les guildes de Carnac était déjà accessible via le XML, ils sont maintenant affichés sur le site officiel

Manque plus que l'état des forts de Carnac et Dartmoor, ça va peut-être venir...bientôt
Lien direct vers le message - Vieux
Avatar de Nymfe
Nymfe [LG]
Reine
 
Avatar de Nymfe
 
y a pu rien de nouveau par ici ?
Lien direct vers le message - Vieux
Avatar de Glenfiddich
Glenfiddich
Roi
 
Avatar de Glenfiddich
 
nan pu rien, chuis en greve, na!
Lien direct vers le message - Vieux
Avatar de Nymfe
Nymfe [LG]
Reine
 
Avatar de Nymfe
 
rooo pas bien les grèves
Lien direct vers le message - Vieux
Avatar de sirboss
sirboss [WS]
Roi
 
Avatar de sirboss
 
slt tlm,

quelqu'un pouré me donner la source d'un script qui fait des image avec les stats du joueur dynamiquement

merci d'avance

bye bye
Lien direct vers le message - Vieux
Avatar de Zaelos
Zaelos
Dauphin / Dauphine
 
Avatar de Zaelos
 
kelkun peut il me dire comment obtenir un xml a jour ???

http://www.camelot-europe.com/herald/servers/Ys/guilds/$guilde.xml

j'utilise actuellement cette adresse, mais les infos renvoyées ne sont pas a jour hors j'arrive a trouver presque toutes les infos quand j'interroge le site de goa. Pourquoi ????
Lien direct vers le message - Vieux
Avatar de Glenfiddich
Glenfiddich
Roi
 
Avatar de Glenfiddich
 
2 possibilites:

* ton PHP passe par un proxy
* Les Chroniques c de la daube, donc un peu de patience
__________________
Glenfiddich Singlemalt
Purple Dragons :: Webmaster
http://www.purpledragons.net/xml/ * Scripts PHP pour traiter l'XML des Chroniques
Lien direct vers le message - Vieux
Avatar de Gryndel
Gryndel [CDD]
Alpha & Oméga
 
Avatar de Gryndel
 
il me semble pas qu'il y ait de pb sur les mise à jour des pages (puisque c'est daté et cette nuit ma mise à jour a été faite sans pb)

Par contre le contenu est bourré d'erreur et d'oublis, m'enfin je pense pas que c'était le but de la question
Lien direct vers le message - Vieux
Avatar de Glenfiddich
Glenfiddich
Roi
 
Avatar de Glenfiddich
 
le mot GOA me fait penser a France Telecom, ce qui induit un style de hallebarde bien senti
__________________
Glenfiddich Singlemalt
Purple Dragons :: Webmaster
http://www.purpledragons.net/xml/ * Scripts PHP pour traiter l'XML des Chroniques
Lien direct vers le message - Vieux
Avatar de Zaelos
Zaelos
Dauphin / Dauphine
 
Avatar de Zaelos
 
Citation:
Provient du message de Glenfiddich
le mot GOA me fait penser a France Telecom, ce qui induit un style de hallebarde bien senti
Toi v finir par descendre 2 de tes soeurs de 75 cl

Apres o moins le php et le xml me paraitront surement beaucoup plus clair...

Sinon, non mon php ne passe pas derriere un proxi ou alors c'est un pti C**, qui fait des trucs derriere mon dos

mais y'a un vrai bleme parce que tt les artisants de ma guilde sont en anonymes alors que sur le site de goa ils sont reconnus (c'est goa qui nous fait du partage d'info a la billou????)

Please, si kelkun a un script qui fonctionne ce serait super mega cool
Lien direct vers le message - Vieux
Avatar de Nymfe
Nymfe [LG]
Reine
 
Avatar de Nymfe
 
hum déjà avec l'artisanat Goa a fais de drôle de truc...
ceux qui veulent apparaître ne le sont que dans le Top 5, et s'ils n'ont pas le niveau du Top 5, et ben n'apparaissent nulle part...
Et ceux qui veulent être anonymes apparaissent malgré tout, avec les autres infos de leurs persos...

donc la dessus l'artisanat n'est pas au point...
Lien direct vers le message - Vieux
Avatar de Nymfe
Nymfe [LG]
Reine
 
Avatar de Nymfe
 
Et sinon, vous avez un code a proposer pour afficher les infos de l'état des Forts et Reliques des serveurs ?
Lien direct vers le message - Vieux
Apophyss/Tehobene [JAHS]
Alpha & Oméga
 
Code PHP:
<?php
$file
="http://www.camelot-europe.com/herald/servers.xml";
include 
"daoc.inc.php";
$couleur["Hibernia"]="#0C8911";
$couleur["Albion"]="#D40203";
$couleur["Midgard"]="#007A82";

?>
<style type="text/css">
BODY {color : #F0FFFF;}
</style>
<body bgcolor="#000000">

<table width="100%" height="100%">
<tr>
    <td align="right" width="50%"><img src="daoc.gif" height="139" width="162" alt="" border="0" />&nbsp;</td>
    <td align="left" width="50%"><h1>Broceliande</h1></td>
</tr>
<tr>
    <td colspan=2 valign="top">
    <table border=0 width="100%">
    <tr valign="top">
        <td width="57" align="center"><img src="logohibernia.jpg" height="57" width="57" alt="" border="0" /></td><td valign="middle"><h2>Hibernia</h2></td>
        <td width="57" align="center"><img src="logoalbion.jpg" height="57" width="57" alt="" border="0" /></td><td valign="middle"><h2>Albion</h2></td>
        <td width="57" align="center"><img src="logomidgard.jpg" height="57" width="57" alt="" border="0" /></td><td valign="middle"><h2>Midgard</h2></td>
    </tr>
    <tr>
        <td colspan="2" align="center"><strong>Reliques</strong></td>
        <td colspan="2" align="center"><strong>Reliques</strong></td>
        <td colspan="2" align="center"><strong>Reliques</strong></td>
    </tr>
<?php
    
if(isset($daoc->Serveur["Broceliande"]))
    {
        
$countsizeof($daoc->Serveur["Broceliande"]->relic);
        
$relic_number=0;
        
        while(
$relic_number<$count)
        {
            foreach( array(
"hibernia","albion","midgard") as $region)
            {
                
$i=0;
                print 
"<td colspan=\"2\">";
                foreach(
$daoc->Serveur["Broceliande"]->relic as $RELIQ)
                {
                    if(
strcasecmp($RELIQ->origine,$region)==0)
                    {
                        if(
$i==0)
                            print 
"<table border=\"0\" width=\"100%\">";
                        print 
"<tr><td>".$RELIQ->name."&nbsp;</td><td width=\"130\" bgcolor=\"".$couleur[$RELIQ->proprietaire]."\" align=\"center\">".$RELIQ->proprietaire."&nbsp;</td></tr>";
                        
$i++;
                        
$relic_number++;
                    }
                }
                if(
$i!=0)            
                    print
"</table>";
                print 
"&nbsp;</td>";
            }
        }
    }
?>


    <tr>
        <td colspan="2" align="center"><strong>Forts</strong></td>
        <td colspan="2" align="center"><strong>Forts</strong></td>
        <td colspan="2" align="center"><strong>Forts</strong></td>
    </tr>

<?php
    
if(isset($daoc->Serveur["Broceliande"]))
    {
        
$countsizeof($daoc->Serveur["Broceliande"]->fort);
        
$fort_number=0;
        
        while(
$fort_number<$count)
        {
            foreach( array(
"hibernia","albion","midgard") as $region)
            {
                
$i=0;
                print 
"<td colspan=\"2\">";
                foreach(
$daoc->Serveur["Broceliande"]->fort as $FORT)
                {
                    if(
strcasecmp($FORT->origine,$region)==0)
                    {
                        if(
$i==0)
                            print 
"<table border=\"0\" width=\"100%\">";
                        print 
"<tr><td>".$FORT->name."&nbsp;</td><td width=\"130\" bgcolor=\"".$couleur[$FORT->proprietaire]."\" align=\"center\">".$FORT->proprietaire."&nbsp;</td></tr>";
                        
$i++;
                        
$fort_number++;
                    }
                }
                if(
$i!=0)            
                    print
"</table>";
                print 
"&nbsp;</td>";
            }
        }
    }
?>

    <tr><td colspan="6" align="right">Derniere maj : <?php print $daoc->Serveur["Broceliande"]->maj;?></td></tr>
    </table>
</body>
<?php
?>
daoc.inc.php qui va avec :
Code PHP:
<?php
/*    La class DAOC et composer de 3 class
*     Class DAOC =>
*         -------------------------------------------------------------
*         Serveur    -> tableau (array) sur serveur avec comme cle le nom du serveur
*         ServeurActuel -> valriable 'local' pour implementation interne
*         tag -> valriable 'local' pour implementation interne
*         -------------------------------------------------------------
*        daoc() -> creation de la class
*        GetNumServeur() -> retourne le nombre de serveur
*        GetEnumServeur() -> retour un tableau contenant
*                             le nom de serveur avec comme cle un numero
*        GetEnumLangue() -> retour un tableau contenant
*                             le language du serveur
*        GetNumLangue() -> retourne le nombre de langue disponible
*        startElement ($parser, $name, $attrs) -> fonction de parse pour le XML
*        endElement($parser, $name) -> fonction de parse pour le XML
*        characterData($parser, $name) -> fonction de parse pour le XML

*  
*     Class Serveur =>
*         -------------------------------------------------------------
*        name;
*        langue;
*        maj;    
*        population;
*        status;
*        relic;
*        fort;
*         -------------------------------------------------------------
*         Serveur()
*         Add_Relic($name)
*         Add_Fort($name)
*         serveur_attribut($attrs)



*     Class relic => class contenant les informations sur les relic!
*         -------------------------------------------------------------
*         name =>
*         type =>
*         origine =>
*         $proprietaire =>
*         -------------------------------------------------------------




*     Class fort => class contenant les informations sur les forts!
*         -------------------------------------------------------------
*         name =>
*         type =>
*         origine =>
*         $proprietaire =>
*         -------------------------------------------------------------



*    
*    Add_Relic($name)
*    Add_Fort($name)
*    serveur_attribut($attrs)
*
**********************************************************************/


Class relic{
    var 
$name;
    var 
$type;
    var 
$origine//nom a qui appartient a l'origine la relic
    
var $proprietaire//nom du proprio actuel

    
function relic_attribut($attrs){
        for(
$i=0;$i<count($attrs);$i++){
            switch(
key($attrs)){
            case 
"NAME":
                
$this->name=$attrs["NAME"];
                break;
            case 
"TYPE":
                
$this->type=$attrs["TYPE"];
                break;
            case 
"REALM":
                
$this->origine=$attrs["REALM"];
                break;
            }
            
next($attrs);
        }
    }
}


Class 
fort{
    var 
$name;
    var 
$type;
    var 
$origine//nom a qui appartient a l'origine la relic
    
var $proprietaire//nom du proprio actuel

    
function fort_attribut($attrs){
        for(
$i=0;$i<count($attrs);$i++){
            switch(
key($attrs)){
            case 
"NAME":
                
$this->name=$attrs["NAME"];
                break;
            case 
"TYPE":
                
$this->type=$attrs["TYPE"];
                break;
            case 
"REALM":
                
$this->origine=$attrs["REALM"];
                break;
            }
            
next($attrs);
        }
    }

}

Class 
Serveur{
    var 
$name;
    var 
$langue;
    var 
$maj;    
    var 
$population;
    var 
$status;
    var 
$relic;
    var 
$fort;
    
    function 
Serveur(){
        
$this->relic = array();
        
$this->fort = array();
    
    }
    
    function 
Add_Relic($name){
        
$this->relic[$name] =new relic();
    }
    function 
Add_Fort($name){
        
$this->fort[$name] =new fort();
    }
    
    function 
serveur_attribut($attrs){
        for(
$i=0;$i<count($attrs);$i++){
            switch(
key($attrs)){
            case 
"NAME":
                
$this->name=$attrs["NAME"];
                break;
            case 
"TYPE":
                
$this->langue=$attrs["TYPE"];
                break;
            case 
"UPDATED":
                
$this->maj=$attrs["UPDATED"];
                break;
            }
            
next($attrs);
        }
    }

    
}

Class 
daoc{
    var 
$Serveur;
    var 
$ServeurActuel;
    var 
$ObjetActuel;
    var 
$tag;
    
    function 
daoc(){
        
$this->Serveur= array();
        
$this->tag "VIDE";
        
$this->ServeurActuel "VIDE";
        
$this->ObjetActuel "VIDE";
    }    

    function 
GetNumServeur(){
        return 
count($this->Serveur);
    }

    function 
GetEnumServeur(){
        
$serv=array();

        
$nb_serv $this->GetNumServeur();
        
reset($this->Serveur);
        for(
$i=0;$i<$nb_serv;$i++)
        {
            
$serv[$i]=key($this->Serveur);
            
next($this->Serveur);
        }
        return 
$serv;
    }    
    
    function 
GetEnumLangue(){
        
$lang=array();
        
$nb_serv $this->GetNumServeur();    
        
$list_serv $this->GetEnumServeur();
        
        for(
$i=0;$i<$nb_serv;$i++){
            if(
$i==0)
                
$lang[$i]= $this->Serveur[$list_serv[$i]]->langue;
            else{
                
$trouve false;
                for(
$j=0;$j<count($lang);$j++){
                    if(
strcmp($lang[$j],$this->Serveur[$list_serv[$i]]->langue)==0)            
                        
$trouve true;
                }
                if(
$trouve==false)
                    
$lang[$i]= $this->Serveur[$list_serv[$i]]->langue;
            }
        }
        return 
$lang;    
    
    }

    function 
GetNumLangue(){
        return 
count($this->GetEnumLangue());    
    }
    
    function 
startElement ($parser$name$attrs) {
        global 
$depth;
        global 
$Broceliande;
        
        switch(
$name){
        case 
"SERVER":
            if(
strcmp(key($attrs),"NAME")==0){
                
$this->Serveur[$attrs["NAME"]] = new Serveur();
                
$this->ServeurActuel=$attrs["NAME"];
                
$this->tag $name;
                
$this->Serveur[$attrs["NAME"]]->serveur_attribut($attrs);    
            }
            break;
        case 
"RELIC":
            if(
strcmp(key($attrs),"NAME")==0){
                
$this->Serveur[$this->ServeurActuel]->Add_Relic($attrs["NAME"]);
                
$this->ObjetActuel=$attrs["NAME"];
                
$this->tag $name;                                                                
                
$this->Serveur[$this->ServeurActuel]->relic[$attrs["NAME"]]->relic_attribut($attrs);
            }
            break;
        case 
"KEEP":
            if(
strcmp(key($attrs),"NAME")==0){
                
$this->Serveur[$this->ServeurActuel]->Add_Fort($attrs["NAME"]);
                
$this->tag $name;
                
$this->ObjetActuel=$attrs["NAME"];
                
$this->Serveur[$this->ServeurActuel]->fort[$attrs["NAME"]]->fort_attribut($attrs);
            }
            break;
        case 
"OWNER":
            if( 
strcasecmp($this->tag,"KEEP")==OR strcasecmp($this->tag,"RELIC")==){
                
$this->tag $this->tag "_".$name;
            }
            break;
        case 
"POPULATION":
            
$this->tag $name;
            break;
        default:
            break;
        }
        @
$depth[$parser]++;
    }


    function 
endElement($parser$name) {
        global 
$depth;
        
$this->tag "";
        
$depth[$parser]--;
    }
    
    function 
characterData($parser$name) {
        global 
$depth;
        global 
$Broceliande;

        switch(
$this->tag){
        case 
"POPULATION":
            
$this->Serveur[$this->ServeurActuel]->population=$name;
            break;
        case 
"RELIC_OWNER":
            
$this->Serveur[$this->ServeurActuel]->relic[$this->ObjetActuel]->proprietaire =$name;
            break;
        case 
"KEEP_OWNER":
            
$this->Serveur[$this->ServeurActuel]->fort[$this->ObjetActuel]->proprietaire=$name;
            break;
        default : 
            break;
        }

    }
}

$xml_parser xml_parser_create();
$daoc = new DAOC();
xml_set_object($xml_parser,$daoc);
xml_set_element_handler($xml_parser"startElement""endElement");
xml_set_character_data_handler($xml_parser"characterData");
$fp fopen($file,"r")  or die("Error reading $file.");
while (
$data fread($fp4096))    
    
xml_parse($xml_parser$datafeof($fp)) or die(sprintf("XML error: %s at line %d",xml_error_string(xml_get_error_code($xml_parser)),xml_get_current_line_number($xml_parser)));
fclose($fp);
xml_parser_free($xml_parser);

?>
Lien direct vers le message - Vieux
Avatar de Elyna
Elyna
Roi
 
Avatar de Elyna
 
pourquoi?
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Dark Age of Camelot > DAoC - Technique et Automatisation > TOUT sur les XML, C'est par ici !
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Dark Age of Camelot RSS
Les critiques de Dark Age of Camelot RSS
Thème visuel : Fuseau horaire GMT +2. Il est actuellement 05h17.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite