Kerrigan
Messages postés708Date d'inscriptionlundi 15 juillet 2002StatutMembreDernière intervention17 mars 2005 29 juil. 2004 à 19:19
si tu met des elseif ça evite au mirc de continuer a tester toues les autres possibilités. Des qu'il en trouve une il s'arrete. Exemple concret, imagine que tu cherches ta montre, tu peux la chercher dans ta chambre dans la cuisne le bureau etc. imaginons qu'avant de faire toues les pieces tu retrouve ta montre. Tu ne vas pas continuer a la chercher alors que tu l'as deja au bras. Pour le mirc c pareil (dans ce cas) dans la mesure ou une seule action va se déclencher a la foi ça ne sert a rien de continuer a chercher les autres possibilité. (on cherche plus qu'on on trouve qqch ... pauvre mmirc, il a du se sentir bete lol)
dsl pour le retard de la réponse gt pas chez moi :D
winwarrior
Messages postés654Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention10 février 20091 15 juil. 2004 à 19:05
edp3242 > ça accelererai le script (un petit peu) ... et ça évite certaines erreurs =]
edp3242
Messages postés16Date d'inscriptionlundi 12 juillet 2004StatutMembreDernière intervention25 juillet 2004 15 juil. 2004 à 18:03
Merci tempusus et Kerrigan sa changerai quoi si je mettai des elseif ?
tempusus
Messages postés358Date d'inscriptiondimanche 8 février 2004StatutMembreDernière intervention 9 octobre 20171 15 juil. 2004 à 17:24
bonjour,
pour un debutant je trouve que c'est pas mal. Avec l'aide des scripteurs de ce site je suis sur que tu va vite t'améliorer.
Je te met 6/10 pour cette premiere source :)
cordialement
Tempusus
cs_eleve
Messages postés37Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention 4 juillet 20121 15 juil. 2004 à 04:58
moi j'ai fait un code il y a deja un moment pour convertir fr eur et vis versa.
assez simple mais tout aussi efficace pour bot aussi.
on *:TEXT:!euro *:#:{
if ($2 == $null) { notice $nick Tu n'as pas précisé la conversation à effectuer }
else { msg $chan 1,1 4 $2- Euros 7font 4 $calc($2- * 6.55957) 7Francs | halt }
}
on *:TEXT:!franc *:#:{
if ($2 == $null) { notice $nick Précise la conversation à effectuer }
else { msg $chan 1,1 4 $2- Francs 7font 4 $calc($2- / 6.55957) 7Euros | halt }
}
voila j'suis pas un grand scripteur alors j'vais etre critiqué :) m'enfin chez moi ça marche
Kerrigan
Messages postés708Date d'inscriptionlundi 15 juillet 2002StatutMembreDernière intervention17 mars 2005 14 juil. 2004 à 18:55
trop de if ! c pas bon faut garder le premier et transformer tous les autres en elseif.
sinon c deja vu ... dommage.
cs_dutscher
Messages postés3Date d'inscriptionmercredi 14 juillet 2004StatutMembreDernière intervention14 juillet 2004 14 juil. 2004 à 01:31
c pas mal pour un debutant edp je té mets 6/10 compte tenu de ton niveau
edp3242
Messages postés16Date d'inscriptionlundi 12 juillet 2004StatutMembreDernière intervention25 juillet 2004 13 juil. 2004 à 20:03
Merci PaDa je vais essayé de comprendre ton code et après je changerai le mien ;)
cs_PaDa
Messages postés1804Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention22 septembre 20095 13 juil. 2004 à 19:56
ah oui ... rebootez votre mirc a la première utilisation ou sinan " /hadd -m Conversions Euro 1 " suffira
cs_PaDa
Messages postés1804Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention22 septembre 20095 13 juil. 2004 à 19:53
A titre pédagogique (LOL) : c'est surement très mal codé surement plein d'erreurs etc je poste juste ca pour donner une idée de ce qui peut etre intéressant ...
fonctionnement : " !convertir Euro|FFR 5 "
pour cui qui a l'alias /dialog -m Convert Convert ...
dialog Convert {
title "Taux"
size -1 -1 109 28
option dbu
combo 1, 24 2 60 101, size drop
text "Monnaie", 2, 1 4 21 8
edit "", 3, 17 17 44 10
text "Taux", 4, 1 18 14 8
text "= 1 Euro", 5, 63 18 23 8
button "+", 6, 86 2 10 10
button "-", 7, 98 2 10 10
button "Ok", 8, 88 17 20 10,ok
}
on *:Start:{
hmake Conversions 50
if ($exists(taux.txt)) { hload Conversions taux.txt }
else { hadd Conversions Euro 1 | hsave -o Conversions taux.txt }
}
on *:dialog:Convert:*:*:{
if ($devent == init) { Conver.update }
if ($devent == sclick) {
if ($did == 1) { did -ra $dname 3 $hget(Conversions,$did(1).seltext) }
if ($did == 6) { hadd Conversions $$?="Nom de la monnaie ? (ex: FFR,Mark)" $$?="Taux de conversion ? (équivalence à 1 Euro)" | Conver.update }
if ($did == 7) && ($did(1).seltext != Euro) { hdel Conversions $did(1).seltext | Conver.update }
}
if ($devent == edit) && ($did(1).seltext != Euro) { hadd Conversions $did(1).seltext $iif($did(3),$ifmatch,0) }
if ($devent == close) { hsave -o Conversions taux.txt }
}
alias Conver.update {
did -r Convert 1,3
var %x = $hget(Conversions,0).item
while %x { did -a Convert 1 $hget(Conversions,%x).item | dec %x }
did -c Convert 1 1
did -ra Convert 3 $hget(Conversions,$did(1).seltext)
}
alias Conversion {
if (!$hget(Conversions,$1)) || (!$hget(Conversions,$2)) || ($3 !isnum) return ERROR
else return $calc($3 * $hget(Conversions,$2) / $hget(Conversions,$1))
}
On *:text:!convertir *:#: {
msg $chan $nick $+ , $3 $gettok($2,1,124) $+ s valent $round($conversion($gettok($2,1,124),$gettok($2,2,124),$3),2) $gettok($2,2,124) $+ s
}
C'est une piste , ca te fait voir un peu le fonctionnement des hashtables et tu pourras surement faire un truc configurable de cette manière ... et donc intéressant niveau code a défaut de l'être vraiment niveau utilisation j'avoue =)
bonne continuation
cs_PaDa
Messages postés1804Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention22 septembre 20095 13 juil. 2004 à 18:48
pour mieux le coder il faudrait déja donner a chaque monnaie un nom sans " | " de facon a pouvoir reconnaitre les monnaies de facon claire ...
ensuite un alias reconnait la premiere monnaie et la deuxième et cherche les taux qu'on a stocké j'sais pas ou... la bonne opération est faite ensuite en repassant toujours a l'euro par exemple ... c pas d'une utilité foudroyante mais c ca ke j'entendais par mieux le coder : faire un truc configurable et pour lequel on pourrait même rajouter des monnaies etc ... j'vais ptet le faire juste pour montrer a edp3242 a la limite ... lol
winwarrior
Messages postés654Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention10 février 20091 13 juil. 2004 à 18:03
et voila encore un convertisseur ... enfin pour une fois il y a plusieurs pays ...
voila sinon je vois pas trop comment mieu le coder lol
Bon scripting.
edp3242
Messages postés16Date d'inscriptionlundi 12 juillet 2004StatutMembreDernière intervention25 juillet 2004 13 juil. 2004 à 15:14
J'ai trouvé mon erreur, Je modifie
edp3242
Messages postés16Date d'inscriptionlundi 12 juillet 2004StatutMembreDernière intervention25 juillet 2004 13 juil. 2004 à 14:52
J'ai essayer de le faire avec un seul on text voila ce que j'ai fait:
if ($1 == !euro|marks|fin*) { .msg $chan $nick $+ , $2 $+ € valent $calc($2 * 5.94573) Marks finlandais }
}
Ca marche pas, pourquoi?
cs_PaDa
Messages postés1804Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention22 septembre 20095 13 juil. 2004 à 14:06
qq conseils tout de même : $2- < le "moins" est inutile : si il ya un $3 , alors le $calc($2- * ou / gnagna) rendra 0 auquel cas c pas bon . donc $2 suffit .
Ensuite fais un seul on text :
on *:text:*:#:{
if ($1 == !fr|euro) { ... }
}
etc .
Quand tu maitriseras mieux tout ca pourquoi ne pas faire un dialog avec les taux de conversions configurables , que tu mettras dans un fichier .ini ou une hashtable . (fais d'abord une version ou tu les mets dans des variables c plus facile au début et ensuite tu changeras)
Bref plein de trucs a exploiter =)
cs_PaDa
Messages postés1804Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention22 septembre 20095 13 juil. 2004 à 14:00
j'aime "pas trop" la facon dont tu as codé... tu aurais pu faire une table des taux de conversion et ensuite faire un seul on text en considérant les deux monnaies citées c'eut été plus joli et intéressant ... et configurable aussi ... :)
29 juil. 2004 à 19:19
dsl pour le retard de la réponse gt pas chez moi :D
15 juil. 2004 à 19:05
15 juil. 2004 à 18:03
15 juil. 2004 à 17:24
pour un debutant je trouve que c'est pas mal. Avec l'aide des scripteurs de ce site je suis sur que tu va vite t'améliorer.
Je te met 6/10 pour cette premiere source :)
cordialement
Tempusus
15 juil. 2004 à 04:58
assez simple mais tout aussi efficace pour bot aussi.
on *:TEXT:!euro *:#:{
if ($2 == $null) { notice $nick Tu n'as pas précisé la conversation à effectuer }
else { msg $chan 1,1 4 $2- Euros 7font 4 $calc($2- * 6.55957) 7Francs | halt }
}
on *:TEXT:!franc *:#:{
if ($2 == $null) { notice $nick Précise la conversation à effectuer }
else { msg $chan 1,1 4 $2- Francs 7font 4 $calc($2- / 6.55957) 7Euros | halt }
}
voila j'suis pas un grand scripteur alors j'vais etre critiqué :) m'enfin chez moi ça marche
14 juil. 2004 à 18:55
sinon c deja vu ... dommage.
14 juil. 2004 à 01:31
13 juil. 2004 à 20:03
13 juil. 2004 à 19:56
13 juil. 2004 à 19:53
fonctionnement : " !convertir Euro|FFR 5 "
pour cui qui a l'alias /dialog -m Convert Convert ...
dialog Convert {
title "Taux"
size -1 -1 109 28
option dbu
combo 1, 24 2 60 101, size drop
text "Monnaie", 2, 1 4 21 8
edit "", 3, 17 17 44 10
text "Taux", 4, 1 18 14 8
text "= 1 Euro", 5, 63 18 23 8
button "+", 6, 86 2 10 10
button "-", 7, 98 2 10 10
button "Ok", 8, 88 17 20 10,ok
}
on *:Start:{
hmake Conversions 50
if ($exists(taux.txt)) { hload Conversions taux.txt }
else { hadd Conversions Euro 1 | hsave -o Conversions taux.txt }
}
on *:dialog:Convert:*:*:{
if ($devent == init) { Conver.update }
if ($devent == sclick) {
if ($did == 1) { did -ra $dname 3 $hget(Conversions,$did(1).seltext) }
if ($did == 6) { hadd Conversions $$?="Nom de la monnaie ? (ex: FFR,Mark)" $$?="Taux de conversion ? (équivalence à 1 Euro)" | Conver.update }
if ($did == 7) && ($did(1).seltext != Euro) { hdel Conversions $did(1).seltext | Conver.update }
}
if ($devent == edit) && ($did(1).seltext != Euro) { hadd Conversions $did(1).seltext $iif($did(3),$ifmatch,0) }
if ($devent == close) { hsave -o Conversions taux.txt }
}
alias Conver.update {
did -r Convert 1,3
var %x = $hget(Conversions,0).item
while %x { did -a Convert 1 $hget(Conversions,%x).item | dec %x }
did -c Convert 1 1
did -ra Convert 3 $hget(Conversions,$did(1).seltext)
}
alias Conversion {
if (!$hget(Conversions,$1)) || (!$hget(Conversions,$2)) || ($3 !isnum) return ERROR
else return $calc($3 * $hget(Conversions,$2) / $hget(Conversions,$1))
}
On *:text:!convertir *:#: {
msg $chan $nick $+ , $3 $gettok($2,1,124) $+ s valent $round($conversion($gettok($2,1,124),$gettok($2,2,124),$3),2) $gettok($2,2,124) $+ s
}
C'est une piste , ca te fait voir un peu le fonctionnement des hashtables et tu pourras surement faire un truc configurable de cette manière ... et donc intéressant niveau code a défaut de l'être vraiment niveau utilisation j'avoue =)
bonne continuation
13 juil. 2004 à 18:48
ensuite un alias reconnait la premiere monnaie et la deuxième et cherche les taux qu'on a stocké j'sais pas ou... la bonne opération est faite ensuite en repassant toujours a l'euro par exemple ... c pas d'une utilité foudroyante mais c ca ke j'entendais par mieux le coder : faire un truc configurable et pour lequel on pourrait même rajouter des monnaies etc ... j'vais ptet le faire juste pour montrer a edp3242 a la limite ... lol
13 juil. 2004 à 18:03
voila sinon je vois pas trop comment mieu le coder lol
Bon scripting.
13 juil. 2004 à 15:14
13 juil. 2004 à 14:52
On *:text:*:#: {
if ($1 == !fr|euro*) { .msg $chan $nick $+ , $2 Francs francais valent $calc($2 / 6.55957) € }
if ($1 == !fr|bel|euro*) { .msg $chan $nick $+ , $2 Francs belges ou luxembougeois valent $calc($2 / 40.3399) € }
if ($1 == !pes|euro*) { .msg $chan $nick $+ , $2 Pesetas espagnols valent $calc($2 / 166.386) € }
if ($1 == !liv|euro*) { .msg $chan $nick $+ , $2 Livres irlandaise valent $calc($2 / 0.787564) € }
if ($1 == !marks|all|euro*) { .msg $chan $nick $+ , $2 Marks allemands valent $calc($2 / 1.95583) € }
if ($1 == !lires|euro*) { .msg $chan $nick $+ , $2 Lires italiennes valent $calc($2 / 1936.27) € }
if ($1 == !flo|euro*) { .msg $chan $nick $+ , $2 Florins hollandais valent $calc($2 / 2.2037) € }
if ($1 == !sch|euro*) { .msg $chan $nick $+ , $2 Schillings autrichiens valent $calc($2 / 13.7603) € }
if ($1 == !ecus|euro*) { .msg $chan $nick $+ , $2 Ecus portugais valent $calc($2 / 200.482) € }
if ($1 == !marks|fin|euro*) { .msg $chan $nick $+ , $2 Marks finlandais valent $calc($2 / 5.94573) € }
if ($1 == !euro|fr*) { .msg $chan $nick $+ , $2 $+ € valent $calc($2 * 6.55957) Francs francais }
if ($1 == !euro|fr|bel*) { .msg $chan $nick $+ , $2 $+ € valent $calc($2 * 40.3399) Francs belges ou luxembourgeois }
if ($1 == !euro|marks|all*) { .msg $chan $nick $+ , $2 $+ € valent $calc($2 * 1.95583) Marks allemands }
if ($1 == !euro|pes*) { .msg $chan $nick $+ , $2 $+ € valent $calc($2 * 166.386) Pesetas espagnols }
if ($1 == !euro|liv*) { .msg $chan $nick $+ , $2 $+ € valent $calc($2 * 0.787564) Livres irlandaises }
if ($1 == !euro|lires*) { .msg $chan $nick $+ , $2 $+ € valent $calc($2 * 1936.27) Lires italiennes }
if ($1 == !euro|flo*) { .msg $chan $nick $+ , $2 $+ € valent $calc($2 * 2.2037) Florins hollandais }
if ($1 == !sch|euro*) { .msg $chan $nick $+ , $2 $+ € valent $calc($2 * 13.7603) Schillings autrichiens }
if ($1 == !euro|ecus*) { .msg $chan $nick $+ , $2 $+ € valent $calc($2 * 200.482) Ecus portugais }
if ($1 == !euro|marks|fin*) { .msg $chan $nick $+ , $2 $+ € valent $calc($2 * 5.94573) Marks finlandais }
}
Ca marche pas, pourquoi?
13 juil. 2004 à 14:06
Ensuite fais un seul on text :
on *:text:*:#:{
if ($1 == !fr|euro) { ... }
}
etc .
Quand tu maitriseras mieux tout ca pourquoi ne pas faire un dialog avec les taux de conversions configurables , que tu mettras dans un fichier .ini ou une hashtable . (fais d'abord une version ou tu les mets dans des variables c plus facile au début et ensuite tu changeras)
Bref plein de trucs a exploiter =)
13 juil. 2004 à 14:00