Archives des forums MMO/MMORPG > Dark Age of Camelot > DAoC - Technique > XML et Flash ?????
XML et Flash ?????
Par SenkiT le 23/7/2002 à 2:29:37 (#1845607)
j'ai un gros bleme ...
et j'ai besoin d'aide :p
:aide: :aide: :aide:
arf ça rime :mdr:
bon bref ...
le fichier *.xml ici
http://www.camelot-europe.com/herald/servers.xml
donnant l'etat des serveurs etc ....
comment kom fait pour k'en flash on puisse l'exploiter
donc si kel kun pouvais me cree un exemple se serrai sympa
un petit *.fla ça m'aidrai bien à avancer sur ma map RVR
car la je suis bloquer :(
ça fait 2 H ke je cherche et j'en ai marre, de vien fou :rasta:
please un *.fla .....
Par Karig le 23/7/2002 à 3:20:35 (#1845680)
Par Waffenkrieg le 23/7/2002 à 8:18:03 (#1845946)
Par SenkiT le 23/7/2002 à 11:02:08 (#1846473)
NON j'ai po flash 4 :p
desoler :(
voila la suite
pour comprende un peu plus mon bleme :
// po les blanc
XML.prototype.ignoreWhite = true;
// declare la varible de chargement du fichier
daocXml = new XML();
// renvoie a la fonction ....
daocXml.onLoad = lectureXML;
//1er bloquage
//en local j'arrive a loader le fichier mais
// sur le net po moyen
// cible le fichier
// la ça marche
daocXml.load("servers.xml");
// la ça marche plus
//daocXml.load("http://www.camelot-europe.com/herald/servers.xml");
// debut de la fonction de lecture
function lectureXML () {
// C ici ke je bloque 2eme fois
// par exemle je veux recuperer la population du serveur YS
VarServer_Name = ?????;
// puis qui tient le fort "Dun Scathaig" <= hibernia de base
VarKeep_Name = ??????;}
voila si tu peu remplir les ?????
et me dire ou j'ai faux pour le chargement du fichier
ce serrai sympa
merchi d'avance
Par Raven / Orcanie le 23/7/2002 à 14:04:18 (#1847500)
Donc tu crées un fichier PLOP.xml avec :
et puis apres ds ton flash
daocXml.load("PLOP.xml");
Karig > http://telecharger.01net.com/ ya plein de versions de flash en version démo ( utilisable 1 mois, ca permet de te former et de te decider à l'achat )
Par SenkiT le 23/7/2002 à 18:00:43 (#1849080)
mais
a marche
pourtant j'ai bien la version 6 r40 du flash player
mais a marche po
enfin j'arrive p etre a la charger
(il broute sans s'arreter)
je suis obliger de le closer de la maniere forte :(
bref ça vien p etre a mon avis de la façon d'on je prend mes variable
enfin je suis toujour o meme point
enfin cpo grave j'ai plein d'autre truc a faire mais bon c po juste de bloquer sur une Me*#* pareil
ggggrrrrrr
Par SenkiT le 25/7/2002 à 16:32:52 (#1857672)
kel kun a une solution ???
Par SenkiT le 29/7/2002 à 3:43:40 (#1870740)
ou il y a personnes ki sais ???
bon bref
j'arrive enfin a lire la 1er balise :
voila le code ke j'ai fait
// test de la 1er balise "server_status"
function test() {
balise1 = daocXml.firstChild;
// test du nom de la premiere balise
if (balise1.nodeName != "server_status") {
toto = "oui";
} else {
toto = "non";
}
}
toto est bien egal a "oui"
mais comment avoir les autres ..???
ben je trouve po
je cherche toujour :(
mais je vais trouver !!! seul a mon avis car personne veux m'aider :sanglote:
mais je suis lke seul flasheur sur DAoC ????
ben flute alors :monstre:
Par slamp le 30/7/2002 à 10:40:26 (#1874662)
mais je suis lke seul flasheur sur DAoC ????
Snif, car tu fais un superbe boulot.
Par Polmera Mygas le 30/7/2002 à 17:25:52 (#1877070)
j'y connais rien au flash. Par contre j'ai fait des chroniques en php. Le lien ci dessous :
http://membres.lycos.fr/tinaoviel/Chroniques.html
Ca marche tres bien et ca me plait :)
Par SenkiT le 30/7/2002 à 23:58:21 (#1878962)
mai sça change rien a mon bleme
mais sinon c klair c po mal
Par SenkiT le 21/8/2002 à 22:23:35 (#2000480)
voila c tout je suis toujour en galere :(
Par apophyss le 21/8/2002 à 23:11:28 (#2000725)
Par SenkiT le 22/8/2002 à 2:34:16 (#2001822)
ah enfin kel kun ki m'aide :amour:
deja merchi a toi :merci:
meme si tu a encore rien fait :)
c deja po mal de cherche avec moi
A++
Par Amorgrid le 22/8/2002 à 8:50:53 (#2002599)
http://www.flash-box.net/aide/Flash/html/30_asd_11_u_to_x26.html
ton problème vient peut être du fait qu'en local le chargement est instantané alors que quand tu fais appel à un serveur distant le temps de chargement est mesurable
d'où peut être un boucle comprennant un test sur la valeur loaded...
Par SenkiT le 22/8/2002 à 12:15:53 (#2003724)
mais ( ben vi il y en a toujour :( )
ke se soit en local ou a distance ça changer rien j'arrive a extraire la 1er variable
mais pour extraire les autres variable j'y arrive po ..
le bleme du Local ou distant je l'ai resolu ...
la il n'y a pu de bleme
mais j'ai toujour le bleme de l'extraction de varible.
Merchi encore a toi
Par Amorgrid le 22/8/2002 à 13:50:44 (#2004481)
http://www.flash-box.net/aide/Flash/html/30_asd_11_u_to_x28.html
Par apophyss le 23/8/2002 à 2:29:56 (#2009134)
// test de la 1er balise "server_status"
function test() {
balise1 = daocXml.firstChild;
// test du nom de la premiere balise
if (balise1.nodeName != "server_status") {
toto = "oui";
} else {
toto = "non";
}
}
toto est bien egal a "oui"
ton != signale que si balise1.nodeName est different de server_status toto="oui" alors tu est pas sur la premiere balise :(
j'ai essayé de la passer a server qui est la 2eme balise tu xml mais toujours pas ca :(
Par Amorgrid le 23/8/2002 à 11:08:43 (#2010800)
Afin de contourner le problème de l'accès au fichier distant, j'ai créé le fichier xml.php dont le code est :
Puis, dans le flash :XML.prototype.ignoreWhite = true;
daocXml = new XML()
daocXml.onLoad = chargement;
daocXml.load ("xml.php");
Et enfin, dans la fonction chargement
function chargement () {
toto = daocXml.childNodes[0].nodeName;
}
toto a la valeur "server_status" à la fin de la fonction chargement...
EDIT : ET m... c'est toujours pas ça... Il ne veut pas ouvrir le fichier php dans le load... Je vais devoir employer la manière forte... copier le xml par le script php à chaque appel du flash
Par apophyss le 23/8/2002 à 15:06:36 (#2012568)
Par contre a tu trouvé le moyen de lire les autres valeurs dans le xml moi je bloc la .... car le server_status on s'en fout elle est vide ;)
sinon merci de ce code je vais m'appuyer dessu et continuer ;)
ta essayé dans ton xml.php un
Par Amorgrid le 23/8/2002 à 17:48:53 (#2013577)
sinon la commande daocXml.childNodes[0] permet de récupérer n'importe quelle donnée... childNodes[0] désigne en fait le premier noeud enfant du noeud dans lequel on se trouve. donc on peut accéder à n'importe quelle valeur
exemple essaye daocXml.childNodes[0].childNodes[0].nodeName je crois que ca donne la première balise server
J'obtiens successivement les valeurs pour excalibur
toto1 = daocXml.childNodes[0].childNodes[0].attributes.name;
toto2 = daocXml.childNodes[0].childNodes[0].attributes.type;
toto3 = daocXml.childNodes[0].childNodes[0].attributes.updated;
J'obtiens :
Variable _level0.toto1 = "Excalibur"
Variable _lelve0.toto2 = "English"
Variable _level0.toto3 = "23-08-2002 10:40:01"
Par Amorgrid le 23/8/2002 à 21:42:15 (#2015315)
XML.prototype.ignoreWhite = true;
daocXml = new XML()
daocXml.onLoad = chargement;
daocXml.load ("donnees.xml");
// Fonction qui va créer une boite de texte
function creer_texte(texte,x,y,i){
_root.createTextField(texte,i,x,y,150,100);
texte.multiline = true;
texte.wordWrap = true;
texte.border = false;
monFormat = new TextFormat();
monFormat.color = 0xff0000;
monFormat.bullet = false;
monFormat.underline = true;
texte.text = ";
texte.setTextFormat(monFormat);
}
x=0;
y=0;
function chargement () {
// La boucle for parcourt toutes les balises server successivement et inscrit
// les 3 valeurs dans 1 boite de texte à chaque fois.
for (i=0;i<daocXml.ChildNodes[0].ChildNodes.length;i++){
nom = "toto"
nom += i;
creer_texte(nom,x,y,i);
with(eval(nom)){
text += daocXml.childNodes[0].childNodes.attributes.name;
text += "\n";
text += daocXml.childNodes[0].childNodes.attributes.type;
text += "\n";
text += daocXml.childNodes[0].childNodes.attributes.updated;
}
// Pour changer de ligne (mon plan de travail fait 600x400 pixels)
if (x==450){
x=0;
y=y+100;}
else{x=x+150;}
}
}
Par apophyss le 24/8/2002 à 3:33:33 (#2016924)
Par Amorgrid le 24/8/2002 à 7:39:48 (#2017359)
<?
$url="http://www.camelot-europe.com/herald/servers.xml";
$xml=implode(",file($url));
$fp = fopen("donnees.xml","w");
fputs($fp, $xml);
echo '';
?>
Par SenkiT le 24/8/2002 à 15:07:33 (#2018804)
MDR
merchi a vous 2 pour vous defoncer la tete
je vais voir ça ce jour si j'ai le temps
encore merci j ecrois ke ça va me depanner
moi j t bloqué a fond :(
je vous tient o courant tout les 2
A++
et encore MERCHI :merci: :merci: :merci:
Par apophyss le 24/8/2002 à 17:30:21 (#2019319)
(Pour mon histoire j'ai du passer sur flash MX)
Le code suivant renvoie les valeurs (nom serveur, type, update, + tous les noms de relic/fort)
XML.prototype.ignoreWhite = true;
daocXml = new XML()
daocXml.onLoad = chargement;
daocXml.load ("donnees.xml");
// Fonction qui va créer une boite de texte
function creer_texte(texte,x,y,i,u){
_root.createTextField(texte,i,x,y,600,600);
texte.multiline = true;
texte.wordWrap = true;
texte.border = false;
monFormat = new TextFormat();
monFormat.color = 0xff0000;
monFormat.bullet = false;
monFormat.underline = true;
texte.text = ";
texte.setTextFormat(monFormat);
}
x=0;
y=0;
function chargement () {
serverTag = new XML();
// creation des sous enfants
serverTag = this.firstChild;
// creation 2eme sous enfant
relicTag = serverTag.firstChild;
// La boucle for parcourt toutes les balises server successivement et inscrit
// les 3 valeurs dans 1 boite de texte à chaque fois.
for (i=0;i<daocXml.ChildNodes[0].ChildNodes.length;i++){
nom = "toto"
nom += i;
creer_texte(nom,x,y,i,u);
with(eval(nom)){
text += serverTag.childNodes.attributes.name;
text += "\n";
text += serverTag.childNodes.attributes.type;
text += "\n";
text += serverTag.childNodes.attributes.updated;
for (u=0;u<daocXml.ChildNodes[0].ChildNodes.childNodes.length;u++){
text += "\n";
text += relicTag.childNodes.attributes.name;
}
}
// Pour changer de ligne (mon plan de travail fait 600x400 pixels)
// je ne change plus la ligne pour le moment car sinon ca superpose ;)
//if (x==450){
//x=0;
//y=y+100;}
//else{x=x+150;}
x=x+150;
}
}
Par Amorgrid le 24/8/2002 à 19:08:03 (#2019845)
EDIT :
Tiens sinon j'ai rajouté ça à la fin ;) :
text += "....";
text += relicTag.childNodes.childNodes[0].childNodes[0].nodeValue;
Pour avoir les noms des possesseurs de relique et forts
Du coup j'ai mis un pas de 300 pour qu'on y voit un peu plus clair (tant pis pour les autres forts :monstre: )
Par apophyss le 24/8/2002 à 19:14:09 (#2019877)
cette fois ci, selection du serveur à utiliser, nom des forts et relics avec le propriétaire et le possésseur actuel ;)
Va falloir entrer tous ca dans des variables pour pourvoir les utiliser en graphique maintenant ;)
XML.prototype.ignoreWhite = true;
daocXml = new XML()
daocXml.onLoad = chargement;
daocXml.load ("donnees.xml");
// Fonction qui va créer une boite de texte
function creer_texte(texte,x,y,i,u){
x=x-150; // pour coller la boite texte a gauche
_root.createTextField(texte,i,x,y,1500,600);
texte.multiline = true;
texte.wordWrap = true;
texte.border = false;
monFormat = new TextFormat();
monFormat.color = 0xff0000;
monFormat.bullet = false;
monFormat.underline = true;
texte.text = ";
texte.setTextFormat(monFormat);
}
x=0;
y=0;
function chargement () {
serverTag = new XML();
// creation des sous enfants
serverTag = this.firstChild;
serv=1; //server a utiliser (0=excalibur,1=broceliande,2=avalon...)
i=0; //on debut a 0
i++; // on implémente i
nom = "toto"
nom += i;
creer_texte(nom,x,y,i,u);
with(eval(nom)){
text += serverTag.childNodes[serv].attributes.name;
text += "\n";
text += serverTag.childNodes[serv].attributes.type;
text += "\n";
text += serverTag.childNodes[serv].attributes.updated;
for (u=2;u<serverTag.ChildNodes[serv].childNodes.length;u++){
text += "\nNom: ";
text += serverTag.childNodes[serv].childNodes.attributes.name;
text += " Propriétaire: ";
text += serverTag.childNodes[serv].childNodes.attributes.realm;
for (v=0;v<1 && v<serverTag.ChildNodes[serv].childNodes.childNodes.length;v++){
text += " Possésseur: ";
// text += serverTag.childNodes[serv].childNodes.firstChild.nodeName;
text += serverTag.childNodes[serv].childNodes.childNodes[0].firstChild.nodeValue;
}
}
}
x=x+150;
Par Amorgrid le 24/8/2002 à 19:18:52 (#2019900)
Pour ma part, mini optimisation de tes variables ;)
XML.prototype.ignoreWhite = true;
daocXml = new XML()
daocXml.onLoad = chargement;
daocXml.load ("donnees.xml");
// Fonction qui va créer une boite de texte
function creer_texte(texte,x,y,i,u){
_root.createTextField(texte,i,x,y,1500,600);
texte.multiline = true;
texte.wordWrap = true;
texte.border = false;
monFormat = new TextFormat();
monFormat.color = 0xff0000;
monFormat.bullet = false;
monFormat.underline = true;
texte.text = ";
texte.setTextFormat(monFormat);
}
x=0;
y=0;
function chargement () {
serv=1; //server a utiliser (0=excalibur,1=broceliande,2=avalon...)
i=0; //on debut a 0
i++; // on implémente i
serverTag = new XML();
// creation des sous enfants
serverTag = this.firstChild.childNodes[serv];
nom = "toto"
nom += i;
creer_texte(nom,x,y,i,u);
with(eval(nom)){
text += serverTag.attributes.name;
text += "\n";
text += serverTag.attributes.type;
text += "\n";
text += serverTag.attributes.updated;
for (u=2;u<serverTag.childNodes.length;u++){
keepTag = new XML();
keepTag = serverTag.childNodes;
text += "\nNom: ";
text += keepTag.attributes.name;
text += " Propriétaire: ";
text += keepTag.attributes.realm;
for (v=0;v<1 && v<keepTag.childNodes.length;v++){
text += " Possesseur: ";
// text += keepTag.firstChild.nodeName;
text += keepTag.firstChild.firstChild.nodeValue;
}
}
}
x=x+150;}
Par apophyss le 25/8/2002 à 3:34:09 (#2021740)
voici donc la premiere esquise (je dis bien esquise) des chroniques flash tirées du XML en temps réel.
Elles peuvent être un peu longues à afficher car je n'ai pas obtimiser biensur, alors il peut falloir attendre + de 30 sec en 56 ;)
http://www.cybernet-com.fr/hebergement/daoc/test/serverxml.php
Biensur je donnerais les source demain la je suis fatigué, ensuite aux graphistes de travailler ;)
Pour le moment meme si ca apparait pas je suis capable d'appeler toutes les infos du .xml (owner, proprio, claimant, heraldurl .. )
Par Mures le 25/8/2002 à 4:58:07 (#2021871)
oula... faut que je reprenne des cours en programation...
Par Amorgrid le 25/8/2002 à 6:31:49 (#2021998)
:mdr:
Par Amorgrid le 25/8/2002 à 11:55:32 (#2022544)
http://membres.lycos.fr/valhallaspirits/xml.php
Par SenkiT le 25/8/2002 à 20:30:10 (#2025231)
MDR
je vais encore le redire mais bon
merchi a VouS tous
donc la Map RVR devrais etre mis a jour bientot
on ne sais jamais mais vous le savez p erte deja
voila le lien vers les maps
http://perso.wanadoo.fr/senkit/DAOC/rvr.html
je vs mettraient ds les remerciements
A+++
et encore merchi
Par apophyss le 25/8/2002 à 21:56:03 (#2025773)
evolution du travail a l'adresse
http://www.cybernet-com.fr/hebergement/daoc/test/serverxml.php
JOL Archives 1.0.1
@ JOL / JeuxOnLine