JeuxOnLineForumsPlusConnectés : 749 (sites) | 1382 (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
Apophyss/Tehobene [JAHS]
Alpha & Oméga
 
oui aron le seul hic c'est qu'on demande les sources et on nous donne des résultats Moi j'aime bien le coté je travaille pour moi les allez vous .... (comme billou)

Pour info des jolies chroniques avec classement qu'on a vu circuler, il m'a fallu reprendre ce travail de zero, creation du script que remplis la base sql ... alors que si les sources sont open on va beaucoup plus vite (c'est aussi ce qu'on apelle "travailler pour la communutée")
Maintenant il est vrai que certains préfèrent les garder mais bon ...
Je précise qu'une fois ma base sql en fonctions opérationnelle et sans bugs elle sera ouverte avec un acces en lecture pour les personnes qui le désirerons.
Lien direct vers le message - Vieux
Avatar de kathryl
kathryl
Alpha & Oméga
 
Avatar de kathryl
 
Le probleme aussi c'est l'integration.
Concernant mon script il est integré au systeme DaCode.
Ensuite, j'ai du creer plusieurs XML Parser par fichier XML a dispo, et meme plusieurs pour un meme fichier.

Néanmoins voici ma methode pour recuperer un fichier XML et le traiter.
On va prendre par exemple les informations de guildes (guild_id,name et rp)

Code:
$fichier = "http://www.camelot-europe.com/herald/servers/Ys/guild_list.php?realm=hib";	//On specifie notre fichier a utiliser

											// On crée d'abord les fonctions de parsing

function startElement($parser, $name, $attrs) {    
global $name,$guild_id,$rp;								//ici cest pour qu'il gardes les valeur entre chaque fonction

if ($name == "GUILD") {									// Ici on regarde si le nom de la "ligne" correspond a ce qu'on desire traiter
	while (list ($key, $val) = each ($attrs)) {
		if ($key == "GUILD_ID") {						//Ici on traite la valeur qui se trouve dans la "ligne"
		$guild_id = $val;
		}
		if ($key == "NAME") {							//Meme chose
		$name = $val;
		}
		if ($key == "RP") {							//Idem
		$rp = $val;
		}
	}
}

}

function characterData($parser, $data) {						//Ici c'est pour traiter les valeur des "sous-lignes" (pas les valeur qui se trouvent dans les lignes elle memes, dans notre cas il n'y en a pas
global $name,$guild_id,$rp;

}


function endElement($parser, $name) {							//ici c'est pour cloturer une "ligne" et passer a la suivante, generalement cest aussi la qu'on affiche ou qu'on recupere les données
global $name,$guild_id,$rp;

if ($name == "GUILD") {									//Est ce que l'on cloture la ligne GUILD ? si oui on traite, si non on continue

echo "$name ($guild_id) : $rp";								//On affiche (en brut) le resultat

}

}

$xml_parser = xml_parser_create();							//La on crée une variable de parsing (traitement)

xml_set_element_handler($xml_parser, "startElement", "endElement");			//On assigne les fonctions de debut et fin de traitement a notre parsing

xml_set_character_data_handler($xml_parser, "characterData");				//Ici on assigne les fonctions de traitement de donnée a notre parsing

$fp = fopen($fichier,"r")  or die("Erreur de lecture de $fichier");			//On ouvre notre fichier, si ca ne marche pas on renvoie une erreur

while ($data = fread($fp, 4096)) {							//On entame le traitement, on commence la boucle
xml_parse($xml_parser, $data, feof($fp));						//Ici on fait le traitement pendant la boucle
}											//On referme la boucle

fclose($fp);										//On referme le fichier

xml_parser_free($xml_parser);								//on vide la memoire

Voila desolé pour la taille mais les commentaires s'imposent
Lien direct vers le message - Vieux
Avatar de Feroas de Fouen
Feroas de Fouen
Roi
 
Avatar de Feroas de Fouen
 
Edité le 09/02/03

Voila en open source ma méthode afin d'obtenir un tableau avec le classement selon la colonne désiré.

D'un point de vue macroscopique, il y a 1 table MySQL, un fichier membres.php qui assure le remplissage de la table MySQL et qui sort le premier tableau sur internet ainsi que 5 fichiers dans un répertoire membres nommés membres1.php à membres5.php qui sort chaque colonne classée à partir de la table SQL.

Vous pouvez voir comment ça marche sur: http://www.gaia-team.net/index.php?m...xml&page=index
Note: la page met quelques secondes à s'afficher, car le code est important avec beaucoupd e requètes SQL.

Attention, ce script ne marche pas chez Multimania mais fonctionne chez Free.


Pour la table MySQL:

CREATE TABLE daoc_membres (
nom varchar(35) NOT NULL default '',
classe varchar(30) NOT NULL default '',
level int(2) NOT NULL default '0',
total int(25) NOT NULL default '0',
lastw int(25) NOT NULL default '0',
lastconnect varchar(15) NOT NULL default '',
id int(3) NOT NULL default '0'
)

Le fichier membres.php qui remplie la base SQL et affiche la première page des membres:

<?php
include ('codes.php'); //inclusion du fichier contenant les codes pour accéder à MySQL
// on se connecte à MySQL
$db = mysql_connect($hebergeur, $pseudo, $password);
// on séléctionne la base
mysql_select_db($base,$db);
$sql = "DELETE FROM daoc_membres"; //mise à 0 de la table afin de réactualiser les données à partir du fichier XML
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$id=1; //initialisation de la variable $id
$ficxml=@fopen("http://www.camelot-europe.com/herald/servers/Broceliande/guilds/82.xml","r"); // ouverture du fichier XML
$ligne=fgets($ficxml,256);

while($ligne=fgets($ficxml,256)) {
switch(substr(trim($ligne),0,6)) {
case "<chara":
$sql = "INSERT INTO daoc_membres VALUES('', '', '', '', '', '', '$id')"; // insertion d'autant de ligne dans la table qu'il y a de perso, tous avec un $id différent.
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$id=$id+1;
};};

$id=0; // réinitialisation de $id

$ficxml=@fopen("http://www.camelot-europe.com/herald/servers/Broceliande/guilds/82.xml","r"); //réinitialisation des variables
$ligne=fgets($ficxml,256);

echo "<table border=1 bordercolor=black cellspacing=0 cellpadding=0 width='600'><tr><td><center><b>Nom</b></center></td><td><center><b><a href=membres/membres1.php>Classe</a></b></center></td><td><center><b><a href=membres/membres2.php>Niveau</a></b></center></td><td><center><b><a href=membres/membres3.php>RP total</a></b></center></td><td><center><b><a href=membres/membres4.php>RP dernière sem.</a></b></center></td><td><center><b><a href=membres/membres5.php>Dernière connec.</a></b></center></td></tr>\n";
//création du tableau
while($ligne=fgets($ficxml,256)) {
switch(substr(trim($ligne),0,6)) {
case "<chara":
$id=$id+1;
$pos1=strpos($ligne,"\"",1)+1;
$pos2=strpos($ligne,"\"",$pos1)-1;
$nom=substr($ligne,$pos1,($pos2-$pos1)+1);
$pos1=strpos($ligne,"\"",$pos2+2)+1;
$pos2=strpos($ligne,"\"",$pos1)-1;
$lastconnect=substr($ligne,$pos1,($pos2-$pos1)+1);
if ($lastconnect==Recently) {$lastconnect= ".récente";};
if ($lastconnect=="3_Days") {$lastconnect="..3 jours";};
if ($lastconnect=="7_Days") {$lastconnect="...7 jours";};
if ($lastconnect=="2_Weeks") {$lastconnect="....2 semaines";};
if ($lastconnect==Inactive) {$lastconnect=".....sup. 2 sem.";};
$sql = "UPDATE daoc_membres SET nom='$nom', lastconnect='$lastconnect' WHERE id='$id'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo "<tr><td><center>$nom</center></td>";
break; //on vient de rentrer dans la table SQL le nom et la dernière connection, affichage dans le tableau.

case "<class":
$pos1=strpos($ligne,">",1)+1;
$pos2=strpos($ligne,"<",$pos1)-1;
$classe=substr($ligne,$pos1,($pos2-$pos1)+1);
$classe=str_replace("ô","ô",$classe);
$classe=str_replace("'","\\'",$classe);
$classe=str_replace("aî","aî",$classe);
$classe=str_replace("é","é",$classe);
$sql = "UPDATE daoc_membres SET classe='$classe' WHERE id=$id";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo "<td><center>$classe</center></td>\n";
break;


case "<level":
$pos1=strpos($ligne,">",1)+1;
$pos2=strpos($ligne,"<",$pos1)-1;
$level=substr($ligne,$pos1,($pos2-$pos1)+1);
$sql = "UPDATE daoc_membres SET level='$level' WHERE id=$id";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo "<td><center>$level</center></td>\n";
break;
//on vient de rentrer dans la table SQL le level, affichage dans le tableau.

case "<total":
$pos1=strpos($ligne,">",1)+1;
$pos2=strpos($ligne,"<",$pos1)-1;
$total=substr($ligne,$pos1,($pos2-$pos1)+1);
$sql = "UPDATE daoc_membres SET total='$total' WHERE id=$id";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo "<td><center>$total</center></td>\n";
break;
//on vient de rentrer dans la table SQL le total des RP, affichage dans le tableau.

case "<lastw":
$pos1=strpos($ligne,">",1)+1;
$pos2=strpos($ligne,"<",$pos1)-1;
$lastw=substr($ligne,$pos1,($pos2-$pos1)+1);
$sql = "UPDATE daoc_membres SET lastw='$lastw' WHERE id=$id";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo "<td><center>$lastw</center></td><td><center>$lastconnect</center></td></tr>\n";
break;
//on vient de rentrer dans la table SQL les RP de la dernière semaine, affichage dans le tableau.
};
};
fclose($ficxml);

// on ferme la connexion à mysql
mysql_close();
?>
</table>
</center>






Après, chaque fichier est dans un répertoire "membres" (ou sinon, modifier les noms dans le code précédant):

membres1.php:

<?php
include ('../codes.php');
// on se connecte à MySQL
$db = mysql_connect($hebergeur, $pseudo, $password);
// on séléctionne la base
mysql_select_db($base,$db);

// on créer la requete SQL et on l'envoie
$sql = 'SELECT * FROM daoc_membres ORDER by classe';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo "
<table border=1 bordercolor=black cellspacing=0 cellpadding=0 width='600'>
<tr>
<td><center><b><a href=../membres.php>Nom</a></b></center></td>
<td><center><b>Classe</a></b></center></td>
<td><center><b><a href=membres2.php>Niveau</b></center></td>
<td><center><b><a href=membres3.php>RP total</a></b></center></td>
<td><center><b><a href=membres4.php>RP dernière sem.</a></b></center></td>
<td><center><b><a href=membres5.php>Dernière connec.</a></b></center></td>
</tr>\n";
// on fait une boucle qui va faire un tour pour chaque enregistrements
while($data = mysql_fetch_array($req))
{
echo'<tr><td><center>'.$data['nom'].'</center></td>
<td><center>'.$data['classe'].'</center></td>
<td><center>'.$data['level'].'</center></td>
<td><center>'.$data['total'].'</center></td>
<td><center>'.$data['lastw'].'</center></td>
<td><center>'.$data['lastconnect'].'</center></td>
</tr>';};


// on ferme la connexion à mysql
mysql_close();
?>
</table>





membres 2.php:

<?php
include ('../codes.php');
// on se connecte à MySQL
$db = mysql_connect($hebergeur, $pseudo, $password);
// on séléctionne la base
mysql_select_db($base,$db);

// on créer la requete SQL et on l'envoie
$sql = 'SELECT * FROM daoc_membres ORDER by level DESC';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo "
<table border=1 bordercolor=black cellspacing=0 cellpadding=0 width='600'>
<tr>
<td><center><b><a href=../membres.php>Nom</a></b></center></td>
<td><center><b><a href=membres1.php>Classe</a></b></center></td>
<td><center><b>Niveau</b></center></td>
<td><center><b><a href=membres3.php>RP total</a></b></center></td>
<td><center><b><a href=membres4.php>RP dernière sem.</a></b></center></td>
<td><center><b><a href=membres5.php>Dernière connec.</a></b></center></td>

</tr>\n";
// on fait une boucle qui va faire un tour pour chaque enregistrements
while($data = mysql_fetch_array($req))
{
echo'<tr><td><center>'.$data['nom'].'</center></td>
<td><center>'.$data['classe'].'</center></td>
<td><center>'.$data['level'].'</center></td>
<td><center>'.$data['total'].'</center></td>
<td><center>'.$data['lastw'].'</center></td>
<td><center>'.$data['lastconnect'].'</center></td>
</tr>';};


// on ferme la connexion à mysql
mysql_close();
?>
</table>




membres3.php:

<?php
include ('../codes.php');
// on se connecte à MySQL
$db = mysql_connect($hebergeur, $pseudo, $password);
// on séléctionne la base
mysql_select_db($base,$db);

// on créer la requete SQL et on l'envoie
$sql = 'SELECT * FROM daoc_membres ORDER by total DESC';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo "
<table border=1 bordercolor=black cellspacing=0 cellpadding=0 width='600'>
<tr>
<td><center><b><a href=../membres.php>Nom</a></b></center></td>
<td><center><b><a href=membres/membres1.php>Classe</a></b></center></td>
<td><center><b><a href=membres2.php>Niveau</a></b></center></td>
<td><center><b>RP total</b></center></td>
<td><center><b><a href=membres4.php>RP dernière sem.</a></b></center></td>
<td><center><b><a href=membres5.php>Dernière connec.</a></b></center></td>

</tr>\n";
// on fait une boucle qui va faire un tour pour chaque enregistrements
while($data = mysql_fetch_array($req))
{
echo'<tr><td><center>'.$data['nom'].'</center></td>
<td><center>'.$data['classe'].'</center></td>
<td><center>'.$data['level'].'</center></td>
<td><center>'.$data['total'].'</center></td>
<td><center>'.$data['lastw'].'</center></td>
<td><center>'.$data['lastconnect'].'</center></td>
</tr>';};


// on ferme la connexion à mysql
mysql_close();
?>
</table>




membres4.php:

<?php
include ('../codes.php');
// on se connecte à MySQL
$db = mysql_connect($hebergeur, $pseudo, $password);
// on séléctionne la base
mysql_select_db($base,$db);

// on créer la requete SQL et on l'envoie
$sql = 'SELECT * FROM daoc_membres ORDER by lastw DESC';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo "
<table border=1 bordercolor=black cellspacing=0 cellpadding=0 width='600'>
<tr>
<td><center><b><a href=../membres.php>Nom</a></b></center></td>
<td><center><b><a href=membres1.php>Classe</a></b></center></td>
<td><center><b><a href=membres2.php>Niveau</a></b></center></td>
<td><center><b><a href=membres3.php>RP total</a></b></center></td>
<td><center><b>RP dernière sem.</b></center></td>
<td><center><b><a href=membres5.php>Dernière connec.</a></b></center></td>

</tr>\n";
// on fait une boucle qui va faire un tour pour chaque enregistrements
while($data = mysql_fetch_array($req))
{
echo'<tr><td><center>'.$data['nom'].'</center></td>
<td><center>'.$data['classe'].'</center></td>
<td><center>'.$data['level'].'</center></td>
<td><center>'.$data['total'].'</center></td>
<td><center>'.$data['lastw'].'</center></td>
<td><center>'.$data['lastconnect'].'</center></td>
</tr>';};


// on ferme la connexion à mysql
mysql_close();
?>
</table>





membres5.php:

<?php
include ('../codes.php');
// on se connecte à MySQL
$db = mysql_connect($hebergeur, $pseudo, $password);
// on séléctionne la base
mysql_select_db($base,$db);

// on créer la requete SQL et on l'envoie
$sql = 'SELECT * FROM daoc_membres ORDER by lastconnect DESC';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo "
<table border=1 bordercolor=black cellspacing=0 cellpadding=0 width='600'>
<tr>
<td><center><b><a href=../membres.php>Nom</a></b></center></td>
<td><center><b><a href=membres1.php>Classe</a></b></center></td>
<td><center><b><a href=membres2.php>Niveau</a></b></center></td>
<td><center><b><a href=membres3.php>RP total</a></b></center></td>
<td><center><b><a href=membres4.php>RP dernière sem.</a></b></center></td>
<td><center><b>Dernière connec.</b></center></td>
</tr>\n";
// on fait une boucle qui va faire un tour pour chaque enregistrements
while($data = mysql_fetch_array($req))
{
echo'<tr><td><center>'.$data['nom'].'</center></td>
<td><center>'.$data['classe'].'</center></td>
<td><center>'.$data['level'].'</center></td>
<td><center>'.$data['total'].'</center></td>
<td><center>'.$data['lastw'].'</center></td>
<td><center>'.$data['lastconnect'].'</center></td>
</tr>';};


// on ferme la connexion à mysql
mysql_close();
?>
</table>









Voilà, bon courage.
feroas@nomade.fr
Lien direct vers le message - Vieux
Avatar de Amorgrid
Amorgrid
Roi
 
Avatar de Amorgrid
 
Pour l'artisanat
Pour chaque catégorie d'artisanat j'ai créé un ptit tableau :

Dans la fonction ouverture j'ai mis :
Citation:
case "TOP":
if ($r++==0) {echo "</table>\n";}
$craft=$attrs["TYPE"];
if ($craft=="fletching"){$craft="Empenage";}
elseif ($craft=="weaponcraft"){$craft="Forge";}
elseif ($craft=="armorcraft"){$craft="Armurerie";}
elseif ($craft=="tailoring"){$craft="Couture";}
echo "<table ID='crafting$r' border=1 width='200'>\n";
echo "\t<caption><b><font face='Viking-Normal' color='#FFCC66'>Top 5 $craft</font></b></caption>\n";
break;

case "TOP_CHAR":
echo " <tr>
<td><font face='Viking-Normal' color='#FFCC66'>",$attrs["NAME"],"</font></td>
<td><font face='Viking-Normal' color='#FFCC66'>",$attrs["POINT"],"</font></td>
</tr>\n";
break;
Dans la fonction fermeture :
Citation:
case "TOP":
echo "</table>\n";
default:
return TRUE;
break;

case "TOP_CHAR":
default:
return TRUE;
break;
Lien direct vers le message - Vieux
Apophyss/Tehobene [JAHS]
Alpha & Oméga
 
pour les artisants en voici un autre qui ne prend juste que les info et les met dans un tableau

<html>
<head>
<title>Artisanat</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<center>
<table width="40%" border="1" bordercolor="#000000">
<tr>
<td colspan="2" BGCOLOR="#000000"> <font face="Arial" color="#000000"><b>Type :</b></font></td>
</tr><tr>
<td width="70%" BGCOLOR="#000000"> <font face="Arial" color="#0000000"><center><b>Nom</b></center></font></td>
<td width="30%" BGCOLOR="#000000"><font face="Arial" color="#000000"><center><b>Niveau</b></center></font></td>
</tr>
</table>
<?
if (isset($guilde) == 0)
{
// NUMERO DE LA GUILDE A CHANGER
$guilde = "317";
}
$xml_parseur = xml_parser_create();
$k;
function ouverture ($parser, $name, $attrs){
global $k;
global $r;
global $guilde;
global $craft;
global $type;

switch ($name)
{
case "TOP":
?><table width="40%" border="1" bordercolor="#000000"><tr><font face="Arial" color="#FFFFFF"><?
$type = $attrs["TYPE"];
if ($type== fletching)
{
$craft = "Empenage";
}
elseif ($type == weaponcraft)
{
$craft = "Forge";
}
elseif ($type == armorcraft)
{
$craft = "Armurerie";
}
elseif ($type == tailoring)
{
$craft = "Couture";
}
echo $craft;
?></tr><?
break;

case "TOP_CHAR":
?><tr><td width="70%"><font face="Arial" color="#000000"><?
echo $attrs["NAME"];
?></td><?
?><td width="30%"><center><font face="Arial" color="#000000"><?
echo $attrs["POINT"];
?></td></tr><?
break;
}
}

function fermeture ($parser, $name){
global $k;
global $r;
switch ($name)
{
}
}

function texte ($parser, $data_text){
global $k;
global $r;

if ($k == 1)
{
echo $data_text;
return $data_text;
}
}

function defaut (){
return TRUE;
}
xml_set_element_handler($xml_parseur, "ouverture", "fermeture");
xml_set_character_data_handler($xml_parseur, "texte");
xml_set_default_handler($xml_parseur,"defaut");
$fp = fopen("http://www.camelot-europe.com/herald/servers/Broceliande/guilds/$guilde.xml", "r") or die("Fichier introuvable. L'analyse a ete suspendue");
while ($fdata = fread($fp, 2048)){
xml_parse($xml_parseur, $fdata, feof($fp)) or die(
sprintf("Erreur XML : %s à la ligne %d\n",
xml_error_string(xml_get_error_code($xml_parseur)),
xml_get_current_line_number($xml_parseur))
);
}
?>
</tr>
</table>
</center>
</body>
</html>


De plus j'ai fini ma base de donnée, je peux biensur mettre le script en ligne de génération mais c'est tres lourd 32085 perso sur brocéliande.
Par contre je suis pas contre des personnes connaissant bien php/sql pour m'aider à mettre en ligne cette base (comme les actes de naissance c'est base et le site allant avec serais pour voir les infos d'un joueur avec moteur de recherche, possibilité d'ajouter une description....)

apophyss@djeyl.net
Lien direct vers le message - Vieux
Avatar de Feroas de Fouen
Feroas de Fouen
Roi
 
Avatar de Feroas de Fouen
 
Merci !!
Merci à Apophyss et à Bodia Bruleuse pour leur script concernant l'artisanat.
Résultat visible sur www.gaia-team.com/daoc/artisanat.php
Lien direct vers le message - Vieux
Avatar de Amorgrid
Amorgrid
Roi
 
Avatar de Amorgrid
 
Moteur de recherche ca va être très facile si tu mets tout dans une base MySQL... Description aussi
contacte moi je pourrai peut être t'aider
vlatombe@wanadoo.fr ou icq 2360395
Lien direct vers le message - Vieux
Avatar de Aron
Aron
Alpha & Oméga
 
Avatar de Aron
 
Citation:
Provient du message de apophyss
oui aron le seul hic c'est qu'on demande les sources et on nous donne des résultats Moi j'aime bien le coté je travaille pour moi les allez vous .... (comme billou)

Pour info des jolies chroniques avec classement qu'on a vu circuler, il m'a fallu reprendre ce travail de zero, creation du script que remplis la base sql ... alors que si les sources sont open on va beaucoup plus vite (c'est aussi ce qu'on apelle "travailler pour la communutée")
Maintenant il est vrai que certains préfèrent les garder mais bon ...
Je précise qu'une fois ma base sql en fonctions opérationnelle et sans bugs elle sera ouverte avec un acces en lecture pour les personnes qui le désirerons.
Ben moi je veux bien mettre mes scripts en ligne mais :

- je suis débutant en php, donc c'est pas forcément du code ni eficace, ni propre, ni réutilisable facilement,
- c'est intégré dans mon site, lui-même construit artisanalement, ce qui veut dire qu'une partie des scripts n'ont rien avoir avec le traitement en lui-même

Mais c'est vrai que ton script m'avait bien aidé.
Lien direct vers le message - Vieux
Avatar de sirboss
sirboss [WS]
Roi
 
Avatar de sirboss
 
salut apophrys

tes script marche nikel

pourait-tu traduire les derniere connexion dans le 2emme script ??
et
pourait-tu traduire les type d'artisanat ????


merci

@+
Lien direct vers le message - Vieux
Apophyss/Tehobene [JAHS]
Alpha & Oméga
 
voila les traductions sont faites

Edit des 2 scripts
Lien direct vers le message - Vieux
Avatar de kathryl
kathryl
Alpha & Oméga
 
Avatar de kathryl
 
Un if/endif cest lourd plus y en a plus c'est long )
(Bon je sais on dit plus cest long plus c'est bon )

Ceci :
Code:
$type = $attrs["TYPE"]; 
if ($type== fletching)
{
$craft = "Empenage";
}
elseif ($type == weaponcraft)
{
$craft = "Forge";
}
elseif ($type == armorcraft)
{
$craft = "Armurerie";
}
elseif ($type == tailoring)
{
$craft = "Couture";
}
echo $craft;
Peut etre fait en trois ligne :

Code:
$skill = array("fletching" => "Empenage", "weaponcraft" => "Forge", "armorcraft" => "Armurerie", "tailoring" => "Couture");
$craft = $skill[$attrs['TYPE']];
echo $craft;
Donc on peut faire la meme chose pour chaque traduction
Lien direct vers le message - Vieux
Avatar de sirboss
sirboss [WS]
Roi
 
Avatar de sirboss
 
merci apophrys

tout marche nikel

@++++++
Lien direct vers le message - Vieux
Avatar de Maudith
Maudith
Alpha & Oméga
 
Avatar de Maudith
 
Bravo pour tout ce magnifique code auquel je ne comprends que la moitié mais enfin bon...

Mon grand rêve à moi (les skalds, c'est un peu rêveur parfois), c'est non seulement d'avoir une page complète des membres mais également de pouvoir faire un lien sur chaque nom pour fournir à chaque membre une page individuelle avec portrait (insertion manuelle évidemment), informations du personnage automatiques (xml) et background du personnage (manuel par les membres ou par moi, admin).

Quelqu'un a-t-il la gentillesse de me donner une piste dans le cas où quelque chose du style est possible? Je ne suis pas à l'aise avec xml et juste un peu plus avec sql (utilisation récente par la méthode du tâtonnement).

Merci d'avance!

Maudith
Lien direct vers le message - Vieux
Apophyss/Tehobene [JAHS]
Alpha & Oméga
 
juste un petit truc va voir sur http://www.templiers-nornes.fr.st
dans la section membres biensur et tu clique sur un des noms de perso
Lien direct vers le message - Vieux
Polmera
Roi
 
Avant l'apparition des chroniques, j'avais fait ce tableau: www.coeursbraves.online.fr, section membres.
Chaque membre de la guilde peut y modifier ses données en utilisant un mot de passe qu'il me donnait.
Les seules choses qu'il ne peut pas faire sont la modification de son rang de guilde et la modification de l'image (je dois le faire à la main).

Coté technique, les infos sont contenues dans un fichier xml qui se met à jour automatiquement si des infos sont changées. Les textes de bg sont des fichiers xt dans un répertoire à part.

Evidemment c bcp mieux avec une base de donnée mais je connaissais pas à l'époque.

A propos des chroniques, j'en ai fait avec une base de données contenant pls tables :
- une de tous les joueurs français
- une de toutes les guildes françaises
- une de tous les artisans français
- d'autres pour les stats
C vraiment trop bien le sql ^^ Qqs minutes pour la mise à jour, et un accés super rapide
Le site : daoc.aranwe.com
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 22h49.
   

© 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