|
Il faut que tu puisses accéder à l'espace ftp ce qui n'est pas le cas sur ce type de forum
|
25/08/2006, 23h35 |
|
Aller à la page... |
TOUT sur les XML, C'est par ici !
Suivre Répondre |
|
Partager | Rechercher |
|
Déjà un Grand merci à Glenfiddich grâce à qui j'ai pu mettre les chroniques de ma guilde sur mon site (je mettrais un lien vers ton site d'ailleurs dans le cadre de l'un de mes remaniement).
Je précise que je suis débutant ++ dans la création de page internet, je commence tout juste à comprendre les bases du html et du css et concernant le php et le xml j'ai du mal. Mais cela fonctionne maintenant sur mon site et je voudrais faire part de ma démarche afin d'aider, si je le peux, ceux qui sont dans mon cas. Je précise que je suis partis du lien fourni par Glenfiddich. J'ai donc repris le code du lien "colorized source" de la page se nommant "eu_guildxml.phps". D'ailleurs une petite remarque, je n'ai pas compris le "s" à la fin des fichiers *.php, je l'ai donc oté à tout ces fichiers et cela fonctionne bien. Sur Free, lorsque je laissais le "s" il m'était proposé de dl le fichier au lieu de me l'afficher. Et j'ai effectué les modification suivantes au sein de ce code : Code:
// Specify basic variables $xml_file = "1043.xml"; $realm = 'hib'; // can be either: alb, mid or hib Etant sur mid, j'ai remplacé sur la ligne $realm le mot "hib" par "mid". Code:
// Ouvre un dossier bien connu, et liste tous les fichiers $classes_from_xml = getClassNamesFromXML('feeds/goa_en_class.xml'); $class_titles_from_xml = getClassTitlesFromXML('feeds/goa_en_tlevel.xml'); $races_from_xml = getRaceNamesFromXML('feeds/goa_en_race.xml'); $ranks_from_xml = getRealmRankFromXML('feeds/goa_en_trealm.xml','hib'); Je m'explique, j'avais placé à la racine de mon site les fichiers php "eu_guildxm" ; "functions" ; "class_guildxml" et "class_xml2array". J'ai aussi mis tous les fichiers xml (je ne vais pas les renommer ils se trouvent dans le lien fournis par Glenfiddich c'est à dire ICI ) Le code ci-dessus demandait les fichiers xml au sein du répertoire "feeds". Je n'avais pas créé ce répertoire vu que j'ai tout mis à la racine..... Donc deux solutions soit vous créez ce répertoire sois vous faites comme moi et vous supprimez "feeds/". De plus le terme "goa_en_" précédent NomDuFichier.xml était en trop, je l'ai donc aussi supprimé (plus facile que de renommer tous mes fichiers *.xml avec ce terme devant) afin que les lignes de commandes pointent vers les fichiers xml que je venais de dl et que j'avais mis à la racine du site. Enfin j'ai remplacé sur la dernière ligne le mot "hib" par le mot "mid" Ces modifications effectuées j'ai pu mettre en ligne et j'ai constaté avec plaisir et soulagement qu'il n'y avait plus d'erreur et que cela fonctionnait, depuis le temps que je recherchais une chose de la sorte :P Je me suis permis de mettre en français les termes anglais et de centrer le tableau. Je réfléchis pour deux ou trois petites choses de présentation afin que cela colle à la charte graphique de mon site. @ Glenfiddich : Je tente d'appeler la variable 'lastweekrp' pour faire apparaître dans une colonne les rp's de la semaine mais j'ai du mal. De plus à terme je désirerais créer une dernière colonne me permettant de faire apparaître le nombre de rp's restant à faire avant d'atteindre le prochain rang mais la il doit y avoir une formule de calcule avec des conditions Te serait il possible de m'apporter ton aide stp ? Edit : Liens mis en place ; Chroniques mises en place avec la chartre graphique de mon site ; Recherches en cours pour tenter de mettre la valeur lastweekrp au sein du tableau (<lutte>). |
29/08/2006, 14h21 |
|
|
Bonjour,
Les liens indiqués par Glenfiddich ne sont plus valides. Quelqu'un disposerait des fichiers sources et pourrait les poster ? Merci pour toute aide apportée |
05/09/2006, 12h52 |
|
|
J'ai mis un sujet ici :
https://forums.jeuxonline.info/showthread.php?t=708425 pour savoir si des gens souhaite avoir des outils basés sur les XML. |
05/09/2006, 15h45 |
|
|
Bonjour ,
Dsl de posé une question qui à surement déjà été posé mais vu la longueur du fil je n'ai pas eu le courage de tous relire Voila je cherche le fichier qui me dit quel fort ou quel tour de fort correspond au keep ID que l'on optient par cette page : http://camelot-europe.goa.com/herald...eeps/keeps.xml J'ai beau cherche je ne comprend pas comment il arrive à ressortir le nom du fort , ou alors je m'y prend mal. Merci d'avance. |
15/09/2006, 14h39 |
|
|
|
17/09/2006, 01h11 |
|
|
C'est exactement ce que je cherchais , je n'ai pas pensé à regardé dans le LOCAL
Merci beaucoup |
17/09/2006, 01h23 |
|
|
merci
|
22/09/2006, 18h56 |
|
|
Je met à disposition un script permettant d'afficher le tableau de registre pour une guilde, l'installation est automatique, aucune connaissance n'est requise à pars savoir mettre les fichiers sur FTP.
Fichier : http://www.draeli.com/daoc/scripts/affichage_guilde.zip Licence : GNU GPL Auteur : Draeli (Ys - Hibernia) Le script fourni demande à être enrichi, la TODO liste montrant ce que je n'ai pas eu le temps de faire. Je ne fourni aucune maintenance, l'évolution ce fera donc via d'autres auteurs ayant plus de temps Installation : voir le fichier Installation.txt fourni dans l'archive zip. En espérant que cela pourra être utiles à certains. |
13/11/2006, 16h19 |
|
Légende
|
je veux bien une explication complémentaire avec quelques lignes de code si c'est possible merci .
|
13/12/2006, 17h34 |
|
|
|
13/12/2006, 17h51 |
|
|
Citation :
remplace le serveur par le tiens et mid par hib ou alb et ca t'affichera la liste Quand a moi j'ai un petit problème avec le script de Glenfidich censé afficher les 10 plus gros rang de ma guilde. Mais il n'est pas au point il m'affiche juste 10 membres au hazard aparament et sans aucune valeur pour les points de royaume Quelqu'un serais me dire mon erreur ? Code:
<?php /* * top10rpxml.php * a Dark Age of Camelot Guild XML data parser that returns a guild roster * sortable with some parameters like name, Realm Points, Level, etc... * for use on Dark Age of Camelot community websites. * * Dark Age of Camelot (or DAoC) is a MMORPG * (massively multiplayer online rolepaying game) * developed by Mythic Entertainment (http://www.mythicentertainment.com) * * Author: Julien COQUET * a.k.a Glenfiddich Singlemalt on DAoC Merlin/Albion * e-mail glenfiddich@purpledragons.net * http://www.purpledragons.net/xml/ * * Adapted from generic PHP code from http://www.php.net * * Developed in February of 2004 under the GNU GPL License. * For more information, visit http://www.gnu.org/licenses/gpl.html * * Enjoy and please link to our site * http://www.purpledragons.net * * Changelog: * September 9, 2003 : added support for realm title selection according to realm in XML * March 28, 2003 : added UTF8 support for GOA XML - Euro servers only * Feb. 25, 2003 : finally added $param as $_GET['param'] */ class guildXML { /* * This class takes a Dark Age of Camelot Herald XML guild data file and parses it */ var $xml_parser; var $xml_file; var $html; var $open_tag ; var $close_tag ; var $in_char; var $in_alliance; var $chars_array; var $alliance_array; var $current_tag =''; /* * Class Constructor */ function guildXML() { $this->xml_parser = ""; $this->xml_file = ""; $this->html = ""; } //Class Destructor (has to be invoked manually as PHP does not support destructors) function destroy() { xml_parser_free($this->xml_parser); } //Class Members function concat($str) { $this->html .= $str; } function startElement($parser, $name, $attrs) { global $totalchars, $num_activechars,$num_inactivechars, $insideElement, $in_char, $current_tag, $i; if (($in_char==1)||($in_alliance==1)){ $current_tag = $name; } if ($name=='GUILD'){ $current_tag= $name; if (sizeof($attrs)) { while (list($k, $v) = each($attrs)) { if ($k=='GUILDRP'){$this->guildrp=$v;}; if ($k=='TIMESTAMP'){$this->timestamp=$v;}; if ($k=='REALM'){$this->realm=$v;}; } } } if ($name=='CHARACTER'){ $in_alliance = 1; } if ($name=='CHARACTER'){ $in_char=1; $totalchars++; if (sizeof($attrs)) { while (list($k, $v) = each($attrs)) { if ($k=='NAME'){ $this->chars_array[$i]['name']=trim($v); $this->chars_array[$i]['firstname']= trim (substr($this->chars_array[$i]['name'],0, strpos($this->chars_array[$i]['name'],' '))); $this->chars_array[$i]['lastname']= trim (substr($this->chars_array[$i]['name'], strpos($this->chars_array[$i]['name'],' '))); // Italian servers with Base64 encoding for last name, comment the above line and uncomment the following line //$this->chars_array[$i]['lastname']= base64_decode(trim (substr($this->chars_array[$i]['name'], strpos($this->chars_array[$i]['name'],' ')))); if (!$this->chars_array[$i]['firstname'] && $this->chars_array[$i]['lastname']){ $this->chars_array[$i]['firstname'] = $this->chars_array[$i]['lastname']; $this->chars_array[$i]['lastname']=''; } } if ($k=='LASTON') { $this->chars_array[$i]['laston']=$v; if ($v!='Inactive') { $num_activechars++; } elseif($v=='Inactive'){ $num_inactivechars++; } } } } } } function endElement($parser, $name) { global $close_tag, $current_tag, $in_char, $i; if ($name=='CHARACTER'){$i++; $in_char=0;} if ($name=='ALLIANCE'){$i++; $in_alliance=0;} } function characterData($parser, $data) { global $guildrp, $inactiverp, $current_tag, $in_char, $i; //$content_output .= '<br>'.$current_tag.' = '.$data.'<br>'; if (($in_char==1) && ($current_tag=='RACE')){ $this->chars_array[$i]['race'].=$data; } if (($in_char==1) && ($current_tag=='CLASS')){ $this->chars_array[$i]['class'].=$data; } if (($in_char==1) && ($current_tag=='LEVEL')){ $this->chars_array[$i]['level'].=$data; } if (($in_char==1) && ($current_tag=='TOTALRP')){ $this->chars_array[$i]['rp'].=$data; if ($this->chars_array[$i]['laston']=='Inactive'){ $inactiverp += $data; } else { $guildrp += $data; } } if (($in_char==1) && ($current_tag=='GUILDRANK')){ $this->chars_array[$i]['guildrank'].=$data; } //$this->html .= $data; } function parse() { $this->xml_parser = xml_parser_create(); xml_set_object($this->xml_parser, &$this); // use case-folding so we are sure to find the tag in $map_array xml_parser_set_option($this->xml_parser, XML_OPTION_CASE_FOLDING, true); xml_set_element_handler($this->xml_parser, "startElement", "endElement"); xml_set_character_data_handler($this->xml_parser, "characterData"); //xml_set_processing_instruction_handler($this->xml_parser, "PIHandler"); if (!($fp = fopen($this->xml_file, "r"))) { die("could not open XML input"); } while ($data = fread($fp, 4096)) { if (!xml_parse($this->xml_parser, $data, feof($fp))) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($this->xml_parser)), xml_get_current_line_number($this->xml_parser))); } } } } // End of class // Support functions /* * The function sortItems() is used for sorting, called upon by uksort() * It uses querystring parameter $param as the sorting parameter * querystring parameter $dir indicates ascending or descending order */ function sortItems($a, $b) { global $gu, $dir; $param='rp'; $val_a = ($gu[$a][$param]); $val_b = ($gu[$b][$param]); if (!$dir){$dir='down';} switch ($param){ case 'rp': $val_a = $val_a - 0; $val_b = $val_b - 0; break; } if ($dir=='up'){ if ( $val_a > $val_b ){return 1;} if ( $val_a < $val_b ){return -1;} if ( $val_a = $val_b ){return 0;} } else { if ( $val_a < $val_b ){return 1;} if ( $val_a > $val_b ){return -1;} if ( $val_a = $val_b ){return 0;} } } /* * returns Realm Rank/Level */ function realmlevel ($rp){ $rap =1; for ($i=1; $i<11; $i++){ if ($i!=1){ for ($j=0;$j<10;$j++){ $rp_needed = ((25/3)*(pow($rap,3))) - ((25/2)*(pow($rap,2))) + ((25/6)*$rap); if ($rp_needed <10) { $rp_needed =0; } if ($rp>=$rp_needed) { $level = 'R'.$i.'L'.$j; } $rap++; } } else { for ($j=1;$j<10;$j++){ $rp_needed = ((25/3)*(pow($rap,3))) - ((25/2)*(pow($rap,2))) + ((25/6)*$rap); if ($rp_needed <10) { $rp_needed =0; } if ($rp>=$rp_needed) { $level = 'R'.$i.'L'.$j; } $rap++; } } } return $level; } /* * returns Realm Title */ function realmtitle($rp){ /* * You start at Rank 1. To rise to Rank 2, you need 7125 realm points. * Rank 3 = 61750, Rank 4 = 213875, Rank 5 = 513500, Rank 6 = 1010625, Rank 7 = 1755250, Rank 8 = 2797375, Rank 9 = 4187000 * and finally Rank 10 = 5974125 * * These ranks are for the Albion Realm. You need to add correct values for Hibernia or Midgard. * The list of ranks per realm can be found at http://www.purpledragons.net/camelot/rp_chart.php */ global $realm_id; if ($rp >=0) $rank= array ('Guardian','Savant','Skilvakten'); if ($rp > 7125) $rank = array ('Warder','Cosantoir','Isen Vakten'); if ($rp > 61750) $rank = array ('Myrmidon','Brehon','Flamen Vakten'); if ($rp > 213875) $rank = array ('Gryphon Knight','Grove Protector','Elding Vakten'); if ($rp > 513500) $rank = array ('Eagle Knight','Raven Ardent','Stormur Vakten'); if ($rp > 1010625) $rank = array ('Phoenix Knight','Silver Hand','Isen Herra'); if ($rp > 1755250) $rank = array ('Alerion Knight','Thunderer','Flammen Herra'); if ($rp > 2797375) $rank = array ('Unicorn Knight','Gilded Spear','Elding Herra'); if ($rp > 4187000) $rank = array ('Lion Knight','Tiarna','Stormur Herra'); if ($rp > 5974125) $rank = array ('Dragon Knight','Emerald Rider','Einherjar'); if ($rp > 8208750) $rank = array ('Lord/Lady','Barun/Banbharun','Herra/Fru'); if ($rp > 23308097) $rank = array ('Baronet/Baronetess','Ard Tiarna/Ard Bantiarna','Hersir/Baronsfru'); return $rank[$realm_id]; } // Main content $guild = new guildXML(); //instantiate class $guild->xml_file = "http://camelot-europe.goa.com/herald/servers/Broceliande/guilds/1034.xml"; // the xml_file property referes to you guild XML data file. // Example given is the Merlin/Albion guild Dragon's Blood $guild->parse(); // Copy some variables $gu = $guild->chars_array; $guildrp = $guild->guildrp; $guildtimestamp = $guild->timestamp; $realm = $guild->realm; switch($realm){ case 'Albion': $realm_id=0; break; case 'Hibernia': $realm_id=1; break; case 'Midgard': $realm_id=2; break; default: $realm_id=0; } // switch $xml_file = $guild->xml_file; $guild->destroy(); // destroy the object uksort($gu, "sortItems"); // call upon sortItems() to sort the guild information array reset($gu); /* * Creates the output table */ $content_output .= 'Top 10 RP holders:<br><span style="font-size:9pt;">Data last updated: <b>'.$guildtimestamp.'</b></span><hr noshade="true"> <table cellspacing="0" cellpadding="0" style="border: solid 1px #3F5471;"> <tr> <td> <table cellspacing="0" cellpadding="5"> <tr style="font-weight: bold;" bgcolor="#CCCCCC"> <td>Name</td> <td>RPs</td> </tr> '; $i=0; foreach ($gu as $key=>$value){ if ($i==10){break;} if ($_GET['active']!='no'){ if ($value['laston']!='Inactive') { if ($i%2==0){$color='#CCCCCC';}else{$color='#DDDDFF';} $content_output .= ' <tr bgcolor="'.$color.'" style="font-size:9pt;"> <td><b>'.$value['firstname'].' '.$value['lastname'].'</b></td> <td align="right">'; if ($value['level']>=20){ $content_output .= number_format($value['rp']); } else { $content_output .= ' '; } $content_output .= ' </td> </tr>'; $i++; } } } $content_output .= ' </table> </td> </tr> </table>'; /* For Euro guilds: uncomment the following instructions */ $content_output = utf8_decode($content_output); // handles UTF8 character encoding /* * Outputs table; end of script */ print $content_output; ?> |
01/07/2007, 05h56 |
|
|
Même si ma réponse tarde un peut et que les chroniques sont HS depuis un moment ( ), apparemment tu prend les anciens fichiers XML, pas le nouveau ladder.
|
17/01/2008, 01h08 |
|
|
d'ailleurs elles vont être débugguées un jour ces chroniques ?
il me semble qu'ils avaient dit bientôt, cela doit faire 6mois, quelqu'un a des nouvelles depuis ? |
24/02/2008, 13h42 |
|
|
hop je complete ici :
Le nouveau lien pour les fichiers xml des registres Europe de Daoc est : http://xmldaoc.goa.com/servers/ vous y trouverez l'ensemble ! Dommage que Goa n'ai pas mis la FAQ du site officiel a jour avec les nouveaux liens |
23/07/2008, 13h33 |
|
Suivre Répondre |
Connectés sur ce fil1 connecté (0 membre et 1 invité)
Afficher la liste détaillée des connectés
|