Fun.tcl
#1
Bonsoir je vien de créer se petit code j'aimerai savoir si il es correcte et/ou si je peu l'optimiser

tcl
bind pub - !cmd pub:cmd
proc pub:aide { nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"
putserv "NOTICE $nick :\00312Voici les commandes de fun"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!biere\0034 !coca \00312!sky"
putserv "NOTICE $nick :\0034Les commandes love:"
putserv "NOTICE $nick :\00312!kiss\0034 !palo"
putserv "NOTICE $nick :\00312Fin des commandes de fun"
}
 
bind pub - !liste pub:liste
proc pub:aide { nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"
putserv "NOTICE $nick :\00312Voici les commandes de fun"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!biere\0034 !coca \00312!sky"
putserv "NOTICE $nick :\0034Les commandes love:"
putserv "NOTICE $nick :\00312!kiss\0034 !palo"
putserv "NOTICE $nick :\00312Fin des commandes de fun"
}
 
bind pub - !jokes pub:jokes
proc pub:aide { nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"
putserv "NOTICE $nick :\00312Voici les commandes de fun"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!biere\0034 !coca \00312!sky"
putserv "NOTICE $nick :\0034Les commandes love:"
putserv "NOTICE $nick :\00312!kiss\0034 !palo"
putserv "NOTICE $nick :\00312Fin des commandes de fun"
}
 
bind pub - !biere pub:biere
proc pub:aide { nick uhost handle channel arg } {
putserv "PRIVMSG $chan :\0037$user \00312offre une bonne bière bien fraiche à \0034$pseudo"
}
 
bind pub - !coca pub:coca
proc pub:aide { nick uhost handle channel arg } {
putserv "PRIVMSG $chan :\0037$user \00312offre un coca bien frais à \0034$pseudo"
}
 
bind pub - !sky pub:sky
proc pub:aide { nick uhost handle channel arg } {
putserv "PRIVMSG $chan :\0037$user \00312offre un bon sky 16 ans d'age à \0034$pseudo"
}
 
bind pub - !kiss pub:coca
proc pub:aide { nick uhost handle channel arg } {
putserv "PRIVMSG $chan :\0037$user \00312fait un énorme kisssss à \0034$pseudo"
}
 
bind pub - !palo pub:palo
proc pub:aide { nick uhost handle channel arg } {
putserv "PRIVMSG $chan :\0037$user \00312roule un énorme paloOoOoOoOo à \0034$pseudo"
}


Merci d'avance pour vos future réponse.
Cordialement Aragorn
Répondre Avertir
#2
Ton $pseudo il est est detecter par quoi ?
Sinon tous tes procs faudrais les refaires , remplace les proc pub:aide par les proc: correspondant :
tcl
Exemple : 
bind pub - !palo pub:palo
proc pub:aide { nick uhost handle channel arg } {
 
devient
 
bind pub - !palo pub:palo
proc pub:palo { nick uhost handle channel arg } {



Pour la variable pseudo personellement sous chaque proc j'ajouterais ceci :
tcl
set pseudo [split $arg]
 if {$pseudo != ""} {


Répondre
#3
merci heretoc pour cette reponse donc j'ai suivi tes indications et met le code pour etre sur qu'il ni es pas d'erreur
tcl
bind pub - !cmd pub:cmd
proc pub:cmd { nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"
putserv "NOTICE $nick :\00312Voici les commandes de fun"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!biere\0034 !coca \00312!sky"
putserv "NOTICE $NICK :\0034Les commandes love:"
putserv "NOTICE $nick :\00312!kiss\0034 !palo"
putserv "NOTICE $nick :\0034Les commandes violantes:"
putserv "NOTICE $nick :\00312!fouette\0034 !baffe"
putserv "NOTICE $nick :\00312Fin des commandes de fun"
}
 
bind pub - !liste pub:liste
proc pub:cmd { nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"
putserv "NOTICE $nick :\00312Voici les commandes de fun"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!biere\0034 !coca \00312!sky"
putserv "NOTICE $NICK :\0034Les commandes love:"
putserv "NOTICE $nick :\00312!kiss\0034 !palo"
putserv "NOTICE $nick :\0034Les commandes violantes:"
putserv "NOTICE $nick :\00312!fouette\0034 !baffe"
putserv "NOTICE $nick :\00312Fin des commandes de fun"
}
 
bind pub - !jokes pub:jokes
proc pub:cmd { nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"
putserv "NOTICE $nick :\00312Voici les commandes de fun"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!biere\0034 !coca \00312!sky"
putserv "NOTICE $NICK :\0034Les commandes love:"
putserv "NOTICE $nick :\00312!kiss\0034 !palo"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!fouette\0034 !baffe"
putserv "NOTICE $nick :\00312Fin des commandes de fun"
}
 
bind pub - !biere pub:biere
proc pub:biere { nick uhost handle channel arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312offre une bonne bière bien fraiche à \0034$pseudo"
}
}
 
bind pub - !coca pub:coca
proc pub:coca { nick uhost handle channel arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312offre un coca bien frais à \0034$pseudo"
}
}
 
bind pub - !sky pub:sky
proc pub:sky { nick uhost handle channel arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312offre un bon sky 16 ans d'age à \0034$pseudo"
}
}
 
bind pub - !kiss pub:kiss
proc pub:kiss { nick uhost handle channel arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312fait un énorme kisssss à \0034$pseudo"
}
}
 
bind pub - !palo pub:palo
proc pub:palo { nick uhost handle channel arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312roule un énorme paloOoOoOoOo à \0034$pseudo"
}
}
 
bind pub - !fouette pub:fouette
proc pub:fouette { nick uhost handle channel arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312fouette \0034$pseudo \00312de toute ses force (t'aime sa hein)"
}
}
 
bind pub - !baffe pub:baffe
proc pub:baffe { nick uhost handle channel arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312prend le plus d'élant possible et donne une enorme baffe à \0034$pseudo"
}
}


Répondre Avertir
#4
je vien de tester le script coller çi-dessu: j'ai se message d'erreur en partyline

tcl
[22:47] Tcl error in file 'fun.conf':
[22:47] invalid command name "Bind"
 while executing
"Bind pub - !cmd pub:cmd"
(file "scripts/fun.tcl" line 1)
invoked from within
 "source scripts/fun.tcl"
     (file "fun.conf" line 1357)
[22:47] * FICHIER DE CONFIGURATION NON CHARGE (INTROUVABLE OU ERREUR)



visiblement sa viendrai de la 1er ligne mais je ne voi pas ou es le problème je veu juste metre as un eggdrop sur mon salon des commandes d'animations.
merci de votre aide future
Cordialement Aragorn.
Répondre Avertir
#5
regarde bien tes procs ^^
Répondre
#6
erreur dans tes proc

tcl
bind pub - !liste pub:liste
proc pub:cmd { nick uhost handle channel arg } {



qui devrais etres

tcl
bind pub - !liste pub:liste
proc pub:liste { nick uhost handle channel arg } {



pareille ici

tcl
bind pub - !jokes pub:jokes
proc pub:cmd { nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"



qui devrais etre
tcl
bind pub - !jokes pub:jokes
proc pub:jokes{ nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"


[font=Times New Roman]La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.[/font]
Répondre Avertir
#7
3 Procs pour 3 commandes différentes, c'est une perte de temps monumentale
Il vaut mieux garder la premiere proc une seule fois, et placer les 3 binds dessus
Répondre Avertir
#8
je me suis aperçu de sa hier soir juste apres avoir poster le message lol
sinon j'ai fait tout mes bind de cette maniere
tcl
bind pub - "!liste" pub:liste


au lieu de
tcl
bind pub - !liste pub:liste



pour regrouper les 3 procs je ne sais absolument pas comment faire j'imagine que sa donnerai sa
tcl
bind pub - "!cmd" pub:cmd
bind pub - "!liste" pub:liste
bind pub - "!jokes" pub:jokes
proc pub:cmd { nick uhost handle chan arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"
putserv "NOTICE $nick :\00312Voici les commandes de Fun"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!biere\0034 !coca \00312!sky"
putserv "NOTICE $NICK :\0034Les commandes love:"
putserv "NOTICE $nick :\00312!kiss\0034 !palo"
putserv "NOTICE $nick :\0034Les commandes violantes:"
putserv "NOTICE $nick :\00312!fouette\0034 !baffe"
putserv "NOTICE $nick :\0034Les commandes diverses:"
putserv "NOTICE $nick :\00312!story\0034 !chuck\00312 !oracle"
putserv "NOTICE $nick :\00312Fin des commandes de Fun"
}


mais je ne suis absolulent pas sur de moi.
merci de votre aide future
cordialement Aragorn.
Répondre Avertir
#9
Pour regrouper les trois binds il faut qu'ils appellent la meme proc ...
ex:
tcl
bind pub - "!cmd" pub:cmd
bind pub - "!liste" pub:cmd
bind pub - "!jokes" pub:cmd
proc pub:cmd { nick uhost handle chan arg } {
...
}



Prend le temps de lire et de relire et de re-relire tes codes Smile
CrazyCat a écrit :La prochaine fois, essaye d'imaginer que j'ai un cerveau ...
Répondre Avertir
#10
j'ai tester mon code mais il y as des bug quand je tape !cmd j'obtient sa en partyline:
tcl
[13:14:45] <Fun> [15:26] Tcl error [pub:cmd]: extra characters after close-quote


et quand je tape !biere pseudo j'obtien ça:
tcl
[13:16:02] <Fun> [15:27] Tcl error [pub:biere]: can't read "user": no such variable


par quoi doije remplacer ma variable user:
tcl
bind pub - "!biere" pub:biere
proc pub:biere { nick uhost handle chan arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312offre une bonne bière bien fraiche à \0034$pseudo"
}
}


Répondre Avertir
#11
La variable user n'est pas définie, normal qu'il ne la trouve pas: utilise $nick comme variable à la place.

Pour ton problème dans la proc pub:cmd, redonne nous la proc telle qu'elle est maintenant.
CrazyCat a écrit :La prochaine fois, essaye d'imaginer que j'ai un cerveau ...
Répondre Avertir
#12
Problème résolu j'avai oublier un " sur une ligne sa fonctionne impec merci de votre aide.
Cordialement Aragorn
Répondre Avertir
#13
c'est encore moi désolé lol je voudrai ajouter as mon script Fun.tcl un message automatique as chaque entrer d'un user sur le salon j'avai penser as faire ceci:
tcl
proc tgjoinmsg {nick host hand chan} {
putserv "NOTICE $nick :\00312Bonjour ou Bonsoir\0034 $nick ,\00312 je suis Fun le robot d'animation pour connaitre mes commandes tapez !cmd
}


cela est il correct ?
Cordialement Aragorn
Répondre Avertir
#14
Mais pourquoi tu ne pars pas de Jokes qui est, sans me jeter de fleurs, plus souple qu'un script avec toutes les actions et réponses dans le code ?
Répondre
#15
tout simplment par ce que je souhaite vraiment le faire moi même et que je pense que la meilleur façon d'aprendre c'est en codant donc allez prendre la reponse sur un autre code sans savoir comment sa marche c'est pas genial.
donc j'ai essaier de le faire en suivant cette page http://www.eggdrop.fr/Binds#MSGM au niveau du bind join
j'avoue que j'ai pas tout compris je pense que le proc es bon mais je voi pas comment metre le bind:
tcl
proc joinproc {nick uhost hand chan } {
putserv "NOTICE $nick :\00312Bonjpur ou Bonsoir\0034 $nick ,\00312 je suis Fun le robot d'animation pour connaitre mes commandes tapez !cmd (uniquement en couleur noir)"
}


merci de votre aide futur
Cordialement Aragorn.
Répondre Avertir


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté