29/02/2008, 00:53
(Modification du message : 10/03/2008, 00:06 par MenzAgitat.)
Bonjour,
Je poste la, car vraiment, je ne vois plus la solution, j'ai éssayer pas mal de solution, mais toujours des erreurs.
Donc en gros, ont par du principe ou j'ai une variable "x", qui a une valeur, je veut l'additionner a une variable "y" que je vais récuperer dans un fichier.
Voila en gros ce que je dois faire.
En pratique :
En gros, la proc waar:up se lance tout les quarts d'heures et je voudrais qu'elle mette a jour deux variables.
- "totor", qui définie le nombre d'or que possède la personne
- "ntotpop", qui définie la population totale de la personne
Je vous poste la proc waar:get pour que les choses soient bien claire :
Le soucis, comme dit précédement, se trouve bel et bien a se niveau la :
Avec cette solution, l'erreur retourner est :
J'ai donc essayer :
Avec cette nouvelle solution, l'erreur retourner est :
Alors n'ayant trouver, j'ai essayer une méthode barbare, adapter a mon script, qui me retourne elle encore une erreur. Il s'agit de crée une proc addition, voyez cela :
J'utilise donc pour mon chimblic :
L'erreur retournée est :
Voila, si quelqu'un a la solution, sa serait sympa de me la donner, car bon, je suis sur que pour mon cas se sont des erreurs a la con.
Je poste la, car vraiment, je ne vois plus la solution, j'ai éssayer pas mal de solution, mais toujours des erreurs.
Donc en gros, ont par du principe ou j'ai une variable "x", qui a une valeur, je veut l'additionner a une variable "y" que je vais récuperer dans un fichier.
Voila en gros ce que je dois faire.
En pratique :
tcl
proc waar:up {min hour day month year} {
set liste [open [dofia:dir]db/waar-access.db r]
putlog "Pseudo / Pass / Mail / Date-Inscription / Total-Or / Total-Population / Total-Xp / Total-Soldat / Total-Chevalier / Total-Héros / Lvl-Or"
foreach var [split [read $liste] "\n"] {
foreach a [list pseudo pass mail dinscription totor totpop totxp totsoldat totchevalier totheros lvlor] b [list 0 1 2 3 5 6 7 8 9 10] { set $a [lindex $var $b] }
set lvlpowa [waar:get "lookor $lvlor"]
# Le soucis se trouve a se niveau
set ntotor [expr $totor + $lvlpowa]
set ntotpop [expr {$totsoldat + $totchevalier + $totheros}]
dofia:file "verif waar-access $pseudo"
dofia:file "multiwrite waar-access $pseudo $pass $mail $dinscription $ntotor $ntotpop $totxp $totsoldat $totchevalier $totheros $lvlor"
}
}
En gros, la proc waar:up se lance tout les quarts d'heures et je voudrais qu'elle mette a jour deux variables.
- "totor", qui définie le nombre d'or que possède la personne
- "ntotpop", qui définie la population totale de la personne
Je vous poste la proc waar:get pour que les choses soient bien claire :
tcl
proc waar:get {arg} {
set arg [split $arg]
set cmd [string tolower [lindex $arg 0]]
set opt [string tolower [lindex $arg 1]]
switch -exact $cmd {
"lookor" {
#Oragnisation: <lvl> <nbreor>
set liste [open [dofia:dir]db/waar-database.db r]
foreach var [split [read $liste] "\n"] {
if {[lindex $var 0] eq $opt} {
return [expr {[lindex $var 1] / 4}]
break;
} else {
continue;
}
}
}
}
}
Le soucis, comme dit précédement, se trouve bel et bien a se niveau la :
tcl
set ntotor [expr $totor + $lvlpowa]
Avec cette solution, l'erreur retourner est :
Citation :Tcl error: syntax error in expression "0 + ": premature end of expression
J'ai donc essayer :
tcl
set ntotor [expr {$totor + $lvlpowa]
Avec cette nouvelle solution, l'erreur retourner est :
Citation :Tcl error: can't use empty string as operand of "+"
Alors n'ayant trouver, j'ai essayer une méthode barbare, adapter a mon script, qui me retourne elle encore une erreur. Il s'agit de crée une proc addition, voyez cela :
tcl
proc addition {e1 e2} {
set a "0"
incr a $e1
incr a $e2
return $a
}
J'utilise donc pour mon chimblic :
tcl
set ntotor [addition $totor $lvlpowa]
L'erreur retournée est :
Citation :Tcl error: expected integer but got ""
Voila, si quelqu'un a la solution, sa serait sympa de me la donner, car bon, je suis sur que pour mon cas se sont des erreurs a la con.