Signature en xml?

Répondre
Partager Rechercher
Bonjour a tous,

Et bien voila je désirais créer une signature en xml, affichant le rang royaume de mon perso, le nombre de RP, le nom de ma guilde, les RP de ma guilde et mon nom bien sur, avec une image qui me plait derrière.

J'ai essayé de lire un peu des guides en xml, mais bon c'est vraiment galère. Donc j'aimerais savoir si quelqu'un connaissant un peu le xml, ou mieux, comment réaliser une signature xml, pourrait-il m'aider? Ca serait très gentil .

Merci d'avance.

PS: Signature type celle de JoL que j'ai . Juste changer le fond, pour mettre une joulie photo.

http://gregory.vanerps.free.fr/testxml.png
Code PHP:

#!/usr/local/bin/perl 
# daoc sigs generator by dawm [wm@chezwm.net] 

use GD
use 
XML::Simple
use 
Data::Dumper
use 
Net::FTP

$font="/home/wm/public_html/daocsigns/bullpeni.ttf"

#opening ftp link 
$ftp Net::FTP->new("perso.nerim.net"Debug => 0); 
$ftp->login("****",'****');
$ftp->cwd("gn_sigs"); 


#opening image 
$imtest = new GD::Image(500,100); 

my $doc XMLin('163.xml',keyattr => 'character'); 
if (!
$doc) { 
 print 
"XML failed..."
 exit(); 

my $guildrp=$doc->{guild}->{guildrp}; 


#getting infos 

foreach my $char (@{$doc->{guild}->{character}}) { 
open (PNG,"GN-stat.png") || die; 
$im newFromPng GD::Image(\*PNG) || die; 
$white $im->colorAllocate(255,255,255); 
$im->stringFT($white,$font,14,0,35,65,$guildrp." guild RP"); 

        
my $name=$char->{name}; 
        
my $rp=$char->{totalrp}; 
        
my $name=$char->{name}; 
        
my $level=$char->{level}; 
        
my $rp=$char->{totalrp}; 
        
my $class=$char->{class}; 

        
my ($info1,$trash)=split(" ",$name); 
        
#rank generation 
        
if ($rp<|| $rp>=8208750) { $info4="Envahisseur"; } 
        
elsif ($rp<7125) { $info4="Skiltvakten"; } 
        
elsif ($rp<61750) { $info4="Isen Vakten"; } 
        
elsif ($rp<213875) { $info4="Flammen Vakten"; } 
        
elsif ($rp<513500) { $info4="Elding Vakten"; } 
        
elsif ($rp<1010625) { $info4="Stormur Vakten"; } 
        
elsif ($rp<1755250) { $info4="Isen Herra"; } 
        
elsif ($rp<2797375) { $info4="Flammen Herra"; } 
        
elsif ($rp<4187000) { $info4="Elding Herra"; } 
        
elsif ($rp<5974125) { $info4="Stormur Herra"; } 
        
elsif ($rp<8208750) { $info4="Einherjar"; } 
        if (
$rp<1) { $rank="1L0"; } 
        
elsif ($rp<25) { $rank="1L1"; } 
        
elsif ($rp<125) { $rank="1L2"; } 
        
elsif ($rp<350) { $rank="1L3"; } 
        
elsif ($rp<750) { $rank="1L4"; } 
        
elsif ($rp<1375) { $rank="1L5"; } 
        
elsif ($rp<2275) { $rank="1L6"; } 
        
elsif ($rp<3500) { $rank="1L7"; } 
        
elsif ($rp<5100) { $rank="1L8"; } 
        
elsif ($rp<7125) { $rank="1L9"; } 
        
elsif ($rp<9625) { $rank="2L0"; } 
        
elsif ($rp<12650) { $rank="2L1"; } 
        
elsif ($rp<16250) { $rank="2L2"; } 
        
elsif ($rp<20475) { $rank="2L3"; } 
        
elsif ($rp<25375) { $rank="2L4"; } 
        
elsif ($rp<31000) { $rank="2L5"; } 
        
elsif ($rp<37400) { $rank="2L6"; } 
        
elsif ($rp<44625) { $rank="2L7"; } 
        
elsif ($rp<52725) { $rank="2L8"; } 
        
elsif ($rp<61750) { $rank="2L9"; } 
        
elsif ($rp<71750) { $rank="3L0"; } 
        
elsif ($rp<82775) { $rank="3L1"; } 
        
elsif ($rp<94875) { $rank="3L2"; } 
        
elsif ($rp<108100) { $rank="3L3"; } 
        
elsif ($rp<122500) { $rank="3L4"; } 
        
elsif ($rp<138125) { $rank="3L5"; } 
        
elsif ($rp<155025) { $rank="3L6"; } 
        
elsif ($rp<173250) { $rank="3L7"; }          
        
elsif ($rp<192850) { $rank="3L8"; } 
        
elsif ($rp<213875) { $rank="3L9"; } 
        
elsif ($rp<236375) { $rank="4L0"; }          
        
elsif ($rp<260400) { $rank="4L1"; } 
        
elsif ($rp<286000) { $rank="4L2"; } 
        
elsif ($rp<313225) { $rank="4L3"; } 
        
elsif ($rp<342125) { $rank="4L4"; } 
        
elsif ($rp<372750) { $rank="4L5"; } 
        
elsif ($rp<405150) { $rank="4L6"; } 
        
elsif ($rp<439375) { $rank="4L7"; } 
        
elsif ($rp<475475) { $rank="4L8"; }        
        
elsif ($rp<513500) { $rank="4L9"; } 
        
elsif ($rp<553500) { $rank="5L0"; } 
        
elsif ($rp<595525) { $rank="5L1"; } 
        
elsif ($rp<639625) { $rank="5L2"; } 
        
elsif ($rp<685850) { $rank="5L3"; } 
        
elsif ($rp<734250) { $rank="5L4"; } 
        
elsif ($rp<784875) { $rank="5L5"; } 
        
elsif ($rp<837775) { $rank="5L6"; } 
        
elsif ($rp<893000) { $rank="5L7"; } 
        
elsif ($rp<950600) { $rank="5L8"; }        
        
elsif ($rp<1010625) { $rank="5L9"; } 
        
elsif ($rp<1073125) { $rank="6L0"; } 
        
elsif ($rp<1138150) { $rank="6L1"; } 
        
elsif ($rp<1205750) { $rank="6L2"; }                
        
elsif ($rp<1275975) { $rank="6L3"; } 
        
elsif ($rp<1348875) { $rank="6L4"; } 
        
elsif ($rp<1424500) { $rank="6L5"; } 
        
elsif ($rp<1502900) { $rank="6L6"; } 
        
elsif ($rp<1584125) { $rank="6L7"; } 
        
elsif ($rp<1668225) { $rank="6L8"; } 
        
elsif ($rp<1755250) { $rank="6L9"; } 
        
elsif ($rp<1845250) { $rank="7L0"; } 
        
elsif ($rp<1938275) { $rank="7L1"; } 
        
elsif ($rp<2034375) { $rank="7L2"; } 
        
elsif ($rp<2133600) { $rank="7L3"; }                
        
elsif ($rp<2236000) { $rank="7L4"; }      
        
elsif ($rp<2341625) { $rank="7L5"; }        
        
elsif ($rp<2450525) { $rank="7L6"; }            
        
elsif ($rp<2562750) { $rank="7L7"; }          
        
elsif ($rp<2678350) { $rank="7L8"; }            
        
elsif ($rp<2797375) { $rank="7L9"; }        
        
elsif ($rp<2919875) { $rank="8L0"; }            
        
elsif ($rp<3045900) { $rank="8L1"; }          
        
elsif ($rp<3175500) { $rank="8L2"; }            
        
elsif ($rp<3308725) { $rank="8L3"; }        
        
elsif ($rp<3445625) { $rank="8L4"; } 
        
elsif ($rp<3586250) { $rank="8L5"; } 
        
elsif ($rp<3730650) { $rank="8L6"; } 
        
elsif ($rp<3878875) { $rank="8L7"; } 
        
elsif ($rp<4030975) { $rank="8L8"; } 
        
elsif ($rp<4187000) { $rank="8L9"; } 
        
elsif ($rp<4347000) { $rank="9L0"; } 
        
elsif ($rp<4511025) { $rank="9L1"; } 
        
elsif ($rp<4679125) { $rank="9L2"; } 
        
elsif ($rp<4851350) { $rank="9L3"; } 
        
elsif ($rp<5027750) { $rank="9L4"; } 
        
elsif ($rp<5208375) { $rank="9L5"; } 
        
elsif ($rp<5393275) { $rank="9L6"; } 
        
elsif ($rp<5582500) { $rank="9L7"; } 
        
elsif ($rp<5776100) { $rank="9L8"; } 
        
elsif ($rp<5974125) { $rank="9L9"; } 
        
elsif ($rp<6176625) { $rank="10L0"; } 
        
elsif ($rp<6383650) { $rank="10L1"; } 
        
elsif ($rp<6595250) { $rank="10L2"; } 
        
elsif ($rp<6811475) { $rank="10L3"; } 
        
elsif ($rp<7032375) { $rank="10L4"; } 
        
elsif ($rp<7258000) { $rank="10L5"; } 
        
elsif ($rp<7488400) { $rank="10L6"; } 
        
elsif ($rp<7723625) { $rank="10L7"; } 
        
elsif ($rp<7963725) { $rank="10L8"; } 
        
elsif ($rp<8208750) { $rank="10L9"; } 
        else { 
$rank="10L10"; }            
        
$info2=$class." level ".$level;              
        
$info3=$rp." RP [".$rank."]";      
# sub function to test width and write to image. 
sub write_string 
my ($size,$info,$y)=@_
$length=141
while (
$length>140) { 
  
$size--; 
  
my ($x1,$y1,$x2,$y2,$x3,$y3,$x4,$y4)=    
    
$imtest->stringFT($white,$font,$size,0,0,0,$info); 
  
$length=$x2-$x1
  
$space=(140-$length)/2;                          

$im->stringFT($white,$font,$size,0,350+$space,$y,$info); 


write_string(14,$info1,32);                
write_string(10,$info2,50);                
write_string(10,$info3,63);                
write_string(10,$info4,75);                

# out => PNJ 
open(IMG">".$info1.".png") or die ;        
binmode IMG
print 
IMG $im->png
close IMG
close PNG
$ftp->type("I"); 
$ftp->put($info1.".png"); 

  } 
$ftp->quit(); 
J'ai trouvé ce script, mais je ne suis pas sûr que c'est bon.
Citation :
Provient du message de Lussi
Et il faut un compilateur mon amour pour afficher la signature?
Je ne sais pas là

Version alb, ça ferait :

Code PHP:

#!/usr/local/bin/perl 
# daoc sigs generator by Lussa [ton em@il] 

use GD
use 
XML::Simple
use 
Data::Dumper
use 
Net::FTP

$font="/home/wm/public_html/daocsigns/bullpeni.ttf"

#opening ftp link 
$ftp Net::FTP->new("ton FTP"Debug => 0); 
$ftp->login("****",'****');
$ftp->cwd("gn_sigs"); 


#opening image 
$imtest = new GD::Image(500,100); 

my $doc XMLin('163.xml',keyattr => 'character'); 
if (!
$doc) { 
 print 
"XML failed..."
 exit(); 

my $guildrp=$doc->{guild}->{guildrp}; 


#getting infos 

foreach my $char (@{$doc->{guild}->{character}}) { 
open (PNG,"le nom de ton arrière plan") || die; 
$im newFromPng GD::Image(\*PNG) || die; 
$white $im->colorAllocate(255,255,255); 
$im->stringFT($white,$font,14,0,35,65,$guildrp." guild RP"); 

        
my $name=$char->{name}; 
        
my $rp=$char->{totalrp}; 
        
my $name=$char->{name}; 
        
my $level=$char->{level}; 
        
my $rp=$char->{totalrp}; 
        
my $class=$char->{class}; 

        
my ($info1,$trash)=split(" ",$name); 
        
#rank generation 
        
if ($rp<|| $rp>=8208750) { $info4="Envahisseur"; } 
        
elsif ($rp<7125) { $info4="Défenseur"; } 
        
elsif ($rp<61750) { $info4="Gardien"; } 
        
elsif ($rp<213875) { $info4="Chevalier"; } 
        
elsif ($rp<513500) { $info4="Chevalier-Griffon"; } 
        
elsif ($rp<1010625) { $info4="Chevalier-Faucon"; } 
        
elsif ($rp<1755250) { $info4="Chevalier-Phénix"; } 
        
elsif ($rp<2797375) { $info4="Chevalier-Alérion"; } 
        
elsif ($rp<4187000) { $info4="Chevalier-Licorne"; } 
        
elsif ($rp<5974125) { $info4="Chevalier-Lion"; } 
        
elsif ($rp<8208750) { $info4="Chevalier-Dragon"; } 
        if (
$rp<1) { $rank="1L0"; } 
        
elsif ($rp<25) { $rank="1L1"; } 
        
elsif ($rp<125) { $rank="1L2"; } 
        
elsif ($rp<350) { $rank="1L3"; } 
        
elsif ($rp<750) { $rank="1L4"; } 
        
elsif ($rp<1375) { $rank="1L5"; } 
        
elsif ($rp<2275) { $rank="1L6"; } 
        
elsif ($rp<3500) { $rank="1L7"; } 
        
elsif ($rp<5100) { $rank="1L8"; } 
        
elsif ($rp<7125) { $rank="1L9"; } 
        
elsif ($rp<9625) { $rank="2L0"; } 
        
elsif ($rp<12650) { $rank="2L1"; } 
        
elsif ($rp<16250) { $rank="2L2"; } 
        
elsif ($rp<20475) { $rank="2L3"; } 
        
elsif ($rp<25375) { $rank="2L4"; } 
        
elsif ($rp<31000) { $rank="2L5"; } 
        
elsif ($rp<37400) { $rank="2L6"; } 
        
elsif ($rp<44625) { $rank="2L7"; } 
        
elsif ($rp<52725) { $rank="2L8"; } 
        
elsif ($rp<61750) { $rank="2L9"; } 
        
elsif ($rp<71750) { $rank="3L0"; } 
        
elsif ($rp<82775) { $rank="3L1"; } 
        
elsif ($rp<94875) { $rank="3L2"; } 
        
elsif ($rp<108100) { $rank="3L3"; } 
        
elsif ($rp<122500) { $rank="3L4"; } 
        
elsif ($rp<138125) { $rank="3L5"; } 
        
elsif ($rp<155025) { $rank="3L6"; } 
        
elsif ($rp<173250) { $rank="3L7"; }          
        
elsif ($rp<192850) { $rank="3L8"; } 
        
elsif ($rp<213875) { $rank="3L9"; } 
        
elsif ($rp<236375) { $rank="4L0"; }          
        
elsif ($rp<260400) { $rank="4L1"; } 
        
elsif ($rp<286000) { $rank="4L2"; } 
        
elsif ($rp<313225) { $rank="4L3"; } 
        
elsif ($rp<342125) { $rank="4L4"; } 
        
elsif ($rp<372750) { $rank="4L5"; } 
        
elsif ($rp<405150) { $rank="4L6"; } 
        
elsif ($rp<439375) { $rank="4L7"; } 
        
elsif ($rp<475475) { $rank="4L8"; }        
        
elsif ($rp<513500) { $rank="4L9"; } 
        
elsif ($rp<553500) { $rank="5L0"; } 
        
elsif ($rp<595525) { $rank="5L1"; } 
        
elsif ($rp<639625) { $rank="5L2"; } 
        
elsif ($rp<685850) { $rank="5L3"; } 
        
elsif ($rp<734250) { $rank="5L4"; } 
        
elsif ($rp<784875) { $rank="5L5"; } 
        
elsif ($rp<837775) { $rank="5L6"; } 
        
elsif ($rp<893000) { $rank="5L7"; } 
        
elsif ($rp<950600) { $rank="5L8"; }        
        
elsif ($rp<1010625) { $rank="5L9"; } 
        
elsif ($rp<1073125) { $rank="6L0"; } 
        
elsif ($rp<1138150) { $rank="6L1"; } 
        
elsif ($rp<1205750) { $rank="6L2"; }                
        
elsif ($rp<1275975) { $rank="6L3"; } 
        
elsif ($rp<1348875) { $rank="6L4"; } 
        
elsif ($rp<1424500) { $rank="6L5"; } 
        
elsif ($rp<1502900) { $rank="6L6"; } 
        
elsif ($rp<1584125) { $rank="6L7"; } 
        
elsif ($rp<1668225) { $rank="6L8"; } 
        
elsif ($rp<1755250) { $rank="6L9"; } 
        
elsif ($rp<1845250) { $rank="7L0"; } 
        
elsif ($rp<1938275) { $rank="7L1"; } 
        
elsif ($rp<2034375) { $rank="7L2"; } 
        
elsif ($rp<2133600) { $rank="7L3"; }                
        
elsif ($rp<2236000) { $rank="7L4"; }      
        
elsif ($rp<2341625) { $rank="7L5"; }        
        
elsif ($rp<2450525) { $rank="7L6"; }            
        
elsif ($rp<2562750) { $rank="7L7"; }          
        
elsif ($rp<2678350) { $rank="7L8"; }            
        
elsif ($rp<2797375) { $rank="7L9"; }        
        
elsif ($rp<2919875) { $rank="8L0"; }            
        
elsif ($rp<3045900) { $rank="8L1"; }          
        
elsif ($rp<3175500) { $rank="8L2"; }            
        
elsif ($rp<3308725) { $rank="8L3"; }        
        
elsif ($rp<3445625) { $rank="8L4"; } 
        
elsif ($rp<3586250) { $rank="8L5"; } 
        
elsif ($rp<3730650) { $rank="8L6"; } 
        
elsif ($rp<3878875) { $rank="8L7"; } 
        
elsif ($rp<4030975) { $rank="8L8"; } 
        
elsif ($rp<4187000) { $rank="8L9"; } 
        
elsif ($rp<4347000) { $rank="9L0"; } 
        
elsif ($rp<4511025) { $rank="9L1"; } 
        
elsif ($rp<4679125) { $rank="9L2"; } 
        
elsif ($rp<4851350) { $rank="9L3"; } 
        
elsif ($rp<5027750) { $rank="9L4"; } 
        
elsif ($rp<5208375) { $rank="9L5"; } 
        
elsif ($rp<5393275) { $rank="9L6"; } 
        
elsif ($rp<5582500) { $rank="9L7"; } 
        
elsif ($rp<5776100) { $rank="9L8"; } 
        
elsif ($rp<5974125) { $rank="9L9"; } 
        
elsif ($rp<6176625) { $rank="10L0"; } 
        
elsif ($rp<6383650) { $rank="10L1"; } 
        
elsif ($rp<6595250) { $rank="10L2"; } 
        
elsif ($rp<6811475) { $rank="10L3"; } 
        
elsif ($rp<7032375) { $rank="10L4"; } 
        
elsif ($rp<7258000) { $rank="10L5"; } 
        
elsif ($rp<7488400) { $rank="10L6"; } 
        
elsif ($rp<7723625) { $rank="10L7"; } 
        
elsif ($rp<7963725) { $rank="10L8"; } 
        
elsif ($rp<8208750) { $rank="10L9"; } 
        else { 
$rank="10L10"; }            
        
$info2=$class." level ".$level;              
        
$info3=$rp." RP [".$rank."]";      
# sub function to test width and write to image. 
sub write_string 
my ($size,$info,$y)=@_
$length=141
while (
$length>140) { 
  
$size--; 
  
my ($x1,$y1,$x2,$y2,$x3,$y3,$x4,$y4)=    
    
$imtest->stringFT($white,$font,$size,0,0,0,$info); 
  
$length=$x2-$x1
  
$space=(140-$length)/2;                          

$im->stringFT($white,$font,$size,0,350+$space,$y,$info); 


write_string(14,$info1,32);                
write_string(10,$info2,50);                
write_string(10,$info3,63);                
write_string(10,$info4,75);                

# out => PNJ 
open(IMG">".$info1.".png") or die ;        
binmode IMG
print 
IMG $im->png
close IMG
close PNG
$ftp->type("I"); 
$ftp->put($info1.".png"); 

  } 
$ftp->quit(); 
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés