Bonsoir à tous,
Pour mon premier script je me lance dans une usine à gaz ^^
Voici donc le premier outil de la liste : le calculateur de temps de trajet
Ce script n'est pas opérationnel ...
j'ai une erreur au lancement de l'eggdrop :
Citation :missing close-brace ..... (file "script/ogame.tcl line 127)
et je comptais à vrai dire un peu sur vous pour m'aider à le corriger car je trouve pas cette foutu close-brace manquante ;)
D'autre part j'aurais souhaité avoir un commentaire sur la façon de m'y prendre. Merci par avance de vos conseils et suggestions.
A toutes fins utiles, il faut savoir qu'il est important d'équilibrer les { et } même lorsqu'ils sont situés dans des lignes mises en commentaire, car ils sont quand même lus par l'interpréteur.
Par exemple, ce morceau de code :
tcl
proc test {}{
# ceci est un test } # set test 1}
provoque cette erreur :
Code :
invalid command name "}" while executing "}"
alors que tu peux constater que les accolades sont parfaitement équilibrées.
Mis à part cette remarque, j'ai parcouru vite fait le code et à vue de nez y'a un problème d'équilibrage dans ton switch :
tcl
## Assignation de la vitesse du vaisseauswitch$type{"GT"{set vitvaisseau {7500*(1 + $comb / 10)}"S"{set vitvaisseau {1000000*(1 + $comb / 10)}
...
}
S'il reste d'autres erreurs après avoir arrangé cette partie, Aide-nous à t'aider en postant le contenu de $errorInfo de la façon expliquée.
Tout d'abord merci MenzAgitat pour ta réponse, effectivement j'avais omis toute une série de "}", du coup je me suis empressé d'activer la détection des correspondances des parenthèses sous Gedit :)
Erreur de débutant...
Du coup est apparut une nouvelle erreur à l'exécution de la commande cette fois:
tcl
invalid command name "elseif"while executing
"elseif { $gdep == $gdest } {
set distsys { $sdep - $sdest }
set temps { 10 + (35000 / $vitesse * sqrt((2700000 + abs($distsys) * 95000) / $vitvaisseau )) }
}"(procédure "pub:fly" line 47)
J'ai également la même erreur si j'utilise une condition simple avec "else" : (invalid command name "else")
Edit: J'ai trouvé, apparemment il ne faut pas commenter à l'intérieur de la condition, j'ai donc mis un commentaire général avant le premier "if" au lieu de détailler étape par étape.
Afin d'éviter un double post voici donc le nouveau problème que je rencontre:
Au niveau de l'exécution tout se passe sans erreur par contre la variable $temps me retourne la formule et non le résultat... je cherche la solution et vous tiens au courant. Si toutefois vous avez une indication n'hésitez pas à m'en faire part ;)
Note que le elseif et le else ne sont pas situés individuellement sur une ligne mais sont considérés comme étant à la suite du if en raison de la position des accolades.
MenzAgitat a écrit :A toutes fins utiles, il faut savoir qu'il est important d'équilibrer les { et } même lorsqu'ils sont situés dans des lignes mises en commentaire, car ils sont quand même lus par l'interpréteur.
Par exemple, ce morceau de code :
tcl
proc test {}{
# ceci est un test } # set test 1}
provoque cette erreur :
Code :
invalid command name "}" while executing "}"
Ah ben j'apprends en lisant. Et je le note.
MenzAgitat a écrit :elseif n'est pas une commande Tcl, il s'agit d'un paramètre de la commande if.
Comme dans la plupart des (tous les) langages d'ailleurs, un elseif est une instruction conditionnelle qui ne peut qu'être à la suite d'un if.
Au moins mes bourdes servent à quelque chose :)
Pour le soucis du bas de mon post précédent, c'est bon j'ai aussi trouvé, c'etait la syntaxe qui allait pas et puis je n'utilisait pas "expr" donc çà rimait a rien..
Bonjour zarkox,
mon script n'est pas complètement terminé pour le moment, si tu veux le récupérer en l'état passe me voir sur le chan #eggdrop sur epiknet ou sur #deathnote du reseau ogamenet.
J'y ai associer d'autres outils:
Calculateur de probabilité de destruction de lune et RIP attanquante
Portée des phalanges et MIP avec temps avant impact
Calculateur de cout de batiment
Bien que les calculs des temps soient opérationnels, il me manque un convertisseur secondes -> hh:mm:ss
Si une âme charitable pouvait m'indiquer comment employer la fonction clock pour arriver à mes fins et me dire si cette fonction me permet bien de réaliser cette conversion.
Pour info, je comptais évidement une fois tous les outils opérationnel, proposer mon script à la commu ;)