Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/09/2009, à 17:44

mattis

[Script] Les stats de votre ville Hordes.fr dans votre conky

Réalisé grâce aux membres de ma coalition :

POUR LE CONKY :

${offset 35}${execi 300 /home/USER_A_REMPLACER/.hordes VOTRE_IDENTIFIANT_EXTERNE_SUR_HORDES}

Le script .hordes à créer dans votre USER à nommer ".hordes" et à rendre exécutable :

#!/usr/bin/perl

if(!defined($ARGV[0]))
{
	print "Veuillez fournir la clef API !\n";
} else {
	use XML::Simple;
	use LWP::Simple;
	$xml = new XML::Simple;
	$data = $xml->XMLin(get("http://www.hordes.fr/xml/?k=$ARGV[0]"));
	
	$count = 0;
	$heros = 0;
	
	foreach $cit (keys (%{$data->{data}->{citizens}->{citizen}})){
		$count++;
	}
	
	foreach $cit (%{$data->{data}->{citizens}->{citizen}}){
		if($cit->{hero} == 1)
		{
			$heros++;
		}
	}
	
	
	print "$data->{data}->{city}->{city} [$data->{data}->{map}->{hei}x$data->{data}->{map}->{wid}] (jour $data->{headers}->{game}->{days})\n";
	print "\tPopulation : $count\n";
	print "\tHéros : $heros\n";
	print "\tRations d'eau : $data->{data}->{city}->{water}\n";
	print "\tDéfense : $data->{data}->{city}->{defense}->{total}\n";

	foreach $est (%{$data->{data}->{estimations}}){
		if(ref($est) eq 'ARRAY')
		{
			print "\tAttaque Jour $est->[0]->{day} : [min = $est->[0]->{min}] - [max = $est->[0]->{max}] ";
			if($est->[0]->{maxed} == 1) {
				print "(max)\n";
			} else {
				print "(partiel)\n";
			}
			print "\tAttaque Jour $est->[1]->{day} : [min = $est->[1]->{min}] - [max = $est->[1]->{max}] ";
			if($est->[1]->{maxed} == 1) {
				print "(max)\n";
			} else {
				print "(partiel)\n";
			}
		} else {
			if(defined($est->{day})) {
				print "\tAttaque Jour $est->{day} : [min = $est->{min}] - [max = $est->{max}] ";
				if($est->{maxed} == 1) {
					print "(max)\n";
				} else {
					print "(partiel)\n";
				}
				print "\tPas d'estimation de planificateur\n";
			}
		}
	}	
	
	if($data->{data}->{city}->{door} == 1) {
		print "\tPorte Ouverte !\n";
	} else {
		print "\tPorte Fermée\n";
	}
}

Voici ce que ça donne chez moi (conky de droite, en bas) :


capturemp.th.png

Hors ligne

#2 Le 23/11/2009, à 13:18

Rizzen Virnn

Re : [Script] Les stats de votre ville Hordes.fr dans votre conky

waw pas mal du tout, je vais rejouer a hordes pour essayer ^^
On sait vraiment mettre n'importe quoi dans un script conky

sinon est-ce que tu pourrais me donner le code complet de ton conky (pour la mise en page)

merci

Dernière modification par Rizzen Virnn (Le 23/11/2009, à 16:53)


Ubuntu 12.04 32bit - Archlinux 64 bit
HP Pavilion dv6790eb
Blog

Hors ligne

#3 Le 08/12/2009, à 21:52

mattis

Re : [Script] Les stats de votre ville Hordes.fr dans votre conky

#avoid flicker
double_buffer yes
out_to_console no

#own window to run simultanious 2 or more conkys
own_window  yes
own_window_transparent yes
own_window_type normal
own_window_hints undecorate,sticky,skip_taskbar,skip_pager 

#borders
draw_borders no
border_margin 2

#shades
draw_shades no

#position
gap_x 5
gap_y 5
alignment top_right

#behaviour
update_interval 1

#colour
default_color  8f8f8f
#default_shade_color 000000
own_window_colour 262626

#font
use_xft yes
xftfont bauhaus:pixelsize=12

#to prevent window from moving
use_spacer none
minimum_size 350 710
maximum_size 350 710

#mpd
mpd_host localhost
mpd_port 6600


TEXT
${color1}${voffset 35}${offset 85}${font Openlogos:pixelsize=55}u${font}${voffset -25}${alignc}${font Purisa:bold:pixelsize=15}Jaunty Inside${font}



${color1}${font StyleBats:pixelsize=30}g${font URW Chancery L:style=Medium Italic:pixelsize=25} Général ${color2}${hr}${font}

${offset 35}${time %A %d %B %Y} - ${color1}${time %H:%M:%S}
${offset 35}$sysname ${color1}$kernel ${color2}$machine
${offset 35}${color2}Uptime :  ${color3}$uptime


${color1}${font StyleBats:pixelsize=30}q${font URW Chancery L:style=Medium Italic:pixelsize=25} Météo ${color2}${hr}${font}

${offset 35}${color1}${execi 120 ~/.conky/meteo.sh FRXX0153}Météo à ${execi 120 ~/.conky/meteo2.sh "Ville"}
${offset 35}${color1}Aujourd'hui : ${execi 120 ~/.conky/meteo2.sh "Température aujourd'hui"}  ${font weather:size=40}${voffset -18}${execi 120 ~/.conky/meteo2.sh "Conditions aujourd'hui"}${font}${voffset -11}
${offset 35}Vent : ${execi 120 ~/.conky/meteo2.sh "Vent aujourd'hui"}
${offset 35}Lever du soleil : ${execi 120 ~/.conky/meteo2.sh "Lever du soleil"}
${offset 35}Coucher du soleil : ${execi 120 ~/.conky/meteo2.sh "Coucher du soleil"}
${offset 35}Demain : ${execi 120 ~/.conky/meteo2.sh "Température demain"}  ${font weather:size=32}${voffset -10}${execi 120 ~/.conky/meteo2.sh "Conditions demain"}${font}

${color1}${font Sun n Moon:pixelsize=30}s${font URW Chancery L:style=Medium Italic:pixelsize=25} Ephemeride ${color2}${hr}${font}

${offset 35}${color2}Aujourd'hui nous fêtons les :
${offset 35}${execi 300 /home/mattis/.conky/conky-rss.sh http://feed43.com/lesaintdujour.xml 1 2}


${color1}${font Guifx v2 Transports:pixelsize=30}i${font URW Chancery L:style=Medium Italic:pixelsize=25} Sondes ${color2}${hr}${font}

${offset 35}${color2}HDD : ${hddtemp /dev/sda}°
${offset 35}${color2}CPU : ${hwmon 1 temp 2} C°
${offset 35}${color2}M/B : ${hwmon 1 temp 1} C°


${color1}${font survivalhorror:pixelsize=30}q${font URW Chancery L:style=Medium Italic:pixelsize=25} Hordes ${color2}${hr}${font}


${offset 35}${execi 300 /home/mattis/.hordes 3bc9d3672dcfebb2ab0de18e83b14ebd}

Hors ligne

#4 Le 09/12/2009, à 08:25

Rizzen Virnn

Re : [Script] Les stats de votre ville Hordes.fr dans votre conky

Dankeschön smile

c'est quoi ces polices qui te permet de faire des images ?


Ubuntu 12.04 32bit - Archlinux 64 bit
HP Pavilion dv6790eb
Blog

Hors ligne

#5 Le 10/12/2009, à 16:23

Efix

Re : [Script] Les stats de votre ville Hordes.fr dans votre conky

Pour en revenir au conky hordes, comme on peut le voir sur la capture les accents ne s'affichent pas, et même pire ils coupent les mots. J'ai donc changé le paramètre override_utf8_locale yes en no et pour ne pas avoir de problèmes d'affichage d'accents avec le reste du conky, j'ai mis celui de Hordes tout seul, dans le sien. smile

J'ai aussi rajouté le nombre de bannis (dans le else, au début du fichier) avec :

    foreach $cit (%{$data->{data}->{citizens}->{citizen}}){
        if($cit->{ban} == 1)
        {
            $banni++;
        }
    }

Il ne faut pas oublier de rajouter la variable au début, à la suite des autres :

    $count = 0;
    $heros = 0;
    $banni = 0;

Je ne suis pas très bon pour lire le flux xml mais je suis sûr qu'on peut sortir d'autres informations intéressantes. smile

Hors ligne

#6 Le 13/12/2009, à 09:32

Rizzen Virnn

Re : [Script] Les stats de votre ville Hordes.fr dans votre conky

quelque chose qui m'intéresserais pas mal serait de savoir si le personnage est assoiffé mais je crois pas que ça apparait dans le flux sad


Ubuntu 12.04 32bit - Archlinux 64 bit
HP Pavilion dv6790eb
Blog

Hors ligne

#7 Le 18/07/2010, à 10:04

damnit

Re : [Script] Les stats de votre ville Hordes.fr dans votre conky

Salut !

je déterre le topic hmm

J'ai installé le script comme cité plus haut ainsi édité mon conky.rc mais je n'ai rien qui apparait, des personnes auraient eu ce soucis ?
Y a t-il des modules à activer ?

Cordialement


Acer [ Squeeze + Openbox ] / Thinkcentre [ Debian Lenny ] / Asus [ Ubuntu 10.04 EMT64 / UbuntuStudio 10.04 EMT64 ]

Hors ligne

#8 Le 26/08/2010, à 21:14

Tuxbong

Re : [Script] Les stats de votre ville Hordes.fr dans votre conky

Il te faut la librairie pour lire le flux xml avec perl comme libxml-simple-perl, j'ai modifié un peu le script:

#!/usr/bin/perl

if(!defined($ARGV[0]))
{
    print "Veuillez fournir la clef API !\n"; #utilisation ID de Hordes
} else {
    use XML::Simple;
    use LWP::Simple;
    $xml = new XML::Simple;
    $data = $xml->XMLin(get("http://www.hordes.fr/xml/?k=$ARGV[0]")); #récupération du flux xml 
    
    $count = 0; #habitant
    $heros = 0; #héros
    $ban = 0; #banni
    $out = 0; #personne dehors
    $calod = ($data->{data}->{city}->{defense}->{items})*($data->{data}->{city}->{defense}->{itemsMul}); #calcul du nbre de points de défenses des OD
    $chaos = ($data->{data}->{city}->{chaos}); #chaos
    $devast = ($data->{data}->{city}->{devast}); #ville dévastée
    $door = ($data->{data}->{city}->{door}); #porte
    $absville = ($data->{data}->{city}->{x}); #postion de la ville en abscisse
    $ordville = ($data->{data}->{city}->{y}); #position de la ville en ordonnée
    
    foreach $cit (keys (%{$data->{data}->{citizens}->{citizen}})){
        $count++; #décompte du nombre d'habitants
    }
    
    foreach $cit (%{$data->{data}->{citizens}->{citizen}}){
        if($cit->{hero} == 1)
        {
            $heros++; #décompte du nombre de héros
        }
    }
    
    foreach $cit (%{$data->{data}->{citizens}->{citizen}}){
        if($cit->{ban} == 1)
        {
            $ban++; #décompte du nombre de banni
        }
    }
    
    foreach $cit (%{$data->{data}->{citizens}->{citizen}}){
        if($cit->{out} == 1)
        {
            $out++; #décompte du nombre de personnes dehors
        }
    }
    
    print "\Ville: $data->{data}->{city}->{city}\n"; #affichage nom de la ville
    use utf8;  #utilisation d'unicode pour affichage texte car désactivé dans Conky
    print "\Jour: $data->{headers}->{game}->{days}\n"; #affichage du nombre de jours
       	if(($chaos  == 1) && ($devast==0)){
    print "\C'est le Chaos !\n"; #si la variable Chaos est égale à 1 et que la ville n'est pas dévastée affichage de: C'est le Chaos !
        }
    	if(($chaos  == 1) && ($devast==1)){
    print "\Ville dévastée !\n"; #si la variable Chaos est égale à 1 et que la ville est dévastée affichage de: Ville dévastée !
        }
    print "\n";
    print "\Habitants en vie: $count\n"; #affichage du nombre d'habitant
    print "\Héros: $heros\n"; #affichage du nombre de héros
    print "\Banni: $ban\n"; #affichage du nombre de banni
    print "\Rations d'eau: $data->{data}->{city}->{water}\n"; #affichage du nombre restant de rations d'eau
    print "\n";
    
    foreach $est (%{$data->{data}->{estimations}}){
        if(ref($est) eq 'ARRAY')
        {
            print "\Attaque Jour $est->[0]->{day}: [min = $est->[0]->{min}] - [max = $est->[0]->{max}] ";
            if($est->[0]->{maxed} == 1) {
                print "(max)\n";
            } else {
                print "(partiel)\n";
            }
            print "\Attaque Jour $est->[1]->{day}: [min = $est->[1]->{min}] - [max = $est->[1]->{max}] ";
            if($est->[1]->{maxed} == 1) {
                print "(max)\n";
            } else {
                print "(partiel)\n";
            }
        } else {
            if(defined($est->{day})) {
                print "\Attaque Jour $est->{day}: [min = $est->{min}] - [max = $est->{max}] ";
                if($est->{maxed} == 1) {
                    print "(max)\n";
                } else {
                    print "(partiel)\n";
                }
                print "\Pas d'estimation du planificateur\n"; #affichage de l'attaque et du planificateur 
            }
        }
    }
    print "\n";
    print "\Muraille de base: $data->{data}->{city}->{defense}->{base} Pts\n"; #affichage points de défenses de la muraille
        if($calod > 1){
    print "\Objets de défense: $calod Pts ($data->{data}->{city}->{defense}->{items} ODx$data->{data}->{city}->{defense}->{itemsMul} Pts)\n"; #affichage nombres de points de défenses si OD supérieur à 1
    }
    print "\Chantiers: $data->{data}->{city}->{defense}->{buildings} Pts\n"; #affichage points de défenses chantier
    print "\Maisons citoyens: $data->{data}->{city}->{defense}->{citizen_homes} Pts\n"; #affichage points de défenses maison citoyens      
    print "\Total Défenses: $data->{data}->{city}->{defense}->{total} Pts\n"; #affichage total points de défenses
    print "\n";
        if(($door  == 1)  && ($devast == 0)){
    print "\Portes de la ville ouverte !\n";
        }
        if(($door == 0) && ($devast == 0)){
    print "\Portes de la ville fermées\n";
    } 
        if(($door == 1) && ($devast == 1)){
    print "Portes détruites\n"; #affichage de l'état de la porte, prise en compte si la ville est dévastée
    } 
    print "\Carte: $data->{data}->{map}->{hei}x$data->{data}->{map}->{wid}\n"; #taille de la carte
    print "\Personne dehors: $out\n"; #décompte du nombres de personnes à l'extérieur
    print "\n";
}

Ce qui donne ce résultat:
http://a.imageshack.us/img825/6032/captureqo.png

Hors ligne

#9 Le 26/08/2010, à 23:57

damnit

Re : [Script] Les stats de votre ville Hordes.fr dans votre conky

Ok super je teste sa ce soir quand je rentrerais du boulot wink

Merci bien


Acer [ Squeeze + Openbox ] / Thinkcentre [ Debian Lenny ] / Asus [ Ubuntu 10.04 EMT64 / UbuntuStudio 10.04 EMT64 ]

Hors ligne

#10 Le 02/09/2010, à 15:19

sarkan

Re : [Script] Les stats de votre ville Hordes.fr dans votre conky

moi quelque qui n'as pas grand chose à voir avec conky mais j'ai vu sur ta photo que tu as mise que tu as ta console intégrait à ton wallpaper et j'aimerais savoir comment tu as fais?je te remercie et desolé pour le hors sujet

Hors ligne

#11 Le 03/09/2010, à 05:43

damnit

Re : [Script] Les stats de votre ville Hordes.fr dans votre conky

Ok pour le script tout roule parfaitement !

Merci Tuxbong !


Acer [ Squeeze + Openbox ] / Thinkcentre [ Debian Lenny ] / Asus [ Ubuntu 10.04 EMT64 / UbuntuStudio 10.04 EMT64 ]

Hors ligne

#12 Le 11/09/2010, à 14:49

Tuxbong

Re : [Script] Les stats de votre ville Hordes.fr dans votre conky

C'est simple Sarkan, il utilise un terminal comme Tilda par ex.

Hors ligne