CONVERTISSEUR EURO POUR BOT

cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 - 13 juil. 2004 à 14:00
Kerrigan Messages postés 708 Date d'inscription lundi 15 juillet 2002 Statut Membre Dernière intervention 17 mars 2005 - 29 juil. 2004 à 19:19
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/24512-convertisseur-euro-pour-bot

Kerrigan Messages postés 708 Date d'inscription lundi 15 juillet 2002 Statut Membre Dernière intervention 17 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és 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
15 juil. 2004 à 19:05
edp3242 > ça accelererai le script (un petit peu) ... et ça évite certaines erreurs =]
edp3242 Messages postés 16 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 25 juillet 2004
15 juil. 2004 à 18:03
Merci tempusus et Kerrigan sa changerai quoi si je mettai des elseif ?
tempusus Messages postés 358 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 9 octobre 2017 1
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és 37 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 4 juillet 2012 1
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és 708 Date d'inscription lundi 15 juillet 2002 Statut Membre Dernière intervention 17 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és 3 Date d'inscription mercredi 14 juillet 2004 Statut Membre Dernière intervention 14 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és 16 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 25 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és 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
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és 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
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és 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
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és 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
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és 16 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 25 juillet 2004
13 juil. 2004 à 15:14
J'ai trouvé mon erreur, Je modifie
edp3242 Messages postés 16 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 25 juillet 2004
13 juil. 2004 à 14:52
J'ai essayer de le faire avec un seul on text voila ce que j'ai fait:

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?
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
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és 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
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 ... :)
Rejoignez-nous