Hello tout le monde, écoutais j'ai coder un pti code ^^ et malheuresement je ne voie pas où est l'erreur :/ et disont que j'ai casiment finie le TCL que je vais mêtre en publication ^^ alors merci de m'aider sur ce pti projet :)
tcl
bind pub - !rehash rehash
proc rehash {nick host hand chan}{global vhost3
foreach vhost $vhost3{if{[string match -nocase $vhost$uhost]}{
rehash
putquick "PRIVMSG #Admin \00307$nick \00312à utiliser la commande \00306!rehash"}}}
bind pub - !restart restart
proc restart {nick host hand chan}{global vhost3
foreach vhost $vhost3{if{[string match -nocase $vhost$host]}{
restart
putquick "PRIVMSG #Admin \00307$nick \00312à utiliser la commande \00306!restart"}}}
Voici l'erreur que j'ai en CTCP
[01:04:26] <YoShi> [07:04] Tcl error [restart]: wrong # args: should be "restart nick host hand chan"
[01:04:28] <YoShi> [07:04] Tcl error [rehash]: wrong # args: should be "rehash nick uhost hand chan"
Et j'ai une autre question, je vienne de remarquet que mon eggdrop quand je lui demande de ce sajoin, ou de sajoin une personne il ne réagi pas... le code est bon pourtant... et il ce passe rien :/ Jvous donne un code
tcl
bind pub - !apub apub
proc apub { nick host hand chan arg }{global vhost3
foreach vhost $vhost3{if![string compare -nocase $chan"#Admin"]{if[string match -nocase $vhost$host]{
putquick "SAJOIN YoShi [lindex $arg 0 end]"
putquick "MODE [lindex $arg 0 end] +qo YoShi YoShi"
putquick "PRIVMSG [lindex $arg 0 end] \037\00304\002AVERTISSEMENT\037\002 :\00312 Toute plublicité pour un salon est strictement interdit, si vous continuer de faire de la publicité pour ce salon, ils risquent d'être fermer. Merci de votre compréhension."return0}}}}
Et si je fait !apub #Zet-Land Il va réagir car il est déjà sur ce salon vous comprenais? J'espére que ouii
Tout d'abord, pourriez-vous (un peu tous) faire des efforts pour écrire correctement. Que ce soit au niveau de l'orthographe ou de la grammaire.
Babytigrou16 a écrit :Hello tout le monde, écoutais j'ai coder un pti code ^^ et malheuresement je ne voie pas où est l'erreur :/ et disont que j'ai casiment finie le TCL que je vais mêtre en publication ^^ alors merci de m'aider sur ce pti projet :)
Mode traduit: Hello tout le monde, j'ai codé un petit script et malheureusement je ne vois pas où est l'erreur, alors que j'ai quasiment fini le TCL que je vais mettre en publication./mode
Babytigrou16 a écrit :
tcl
bind pub - !rehash rehash
proc rehash {nick host hand chan}{global vhost3
foreach vhost $vhost3{if{[string match -nocase $vhost$uhost]}{
rehash
putquick "PRIVMSG #Admin \00307$nick \00312à utiliser la commande \00306!rehash"}}}
bind pub - !restart restart
proc restart {nick host hand chan}{global vhost3
foreach vhost $vhost3{if{[string match -nocase $vhost$host]}{
restart
putquick "PRIVMSG #Admin \00307$nick \00312à utiliser la commande \00306!restart"}}}
Déjà, nous dire ce qu'il y a dans $vhost3 peut nous aider. Et c'est "bidule a utilisé", conjugaison niveau CE1.
Babytigrou16 a écrit :Voici l'erreur que j'ai en CTCP
[01:04:26] <YoShi> [07:04] Tcl error [restart]: wrong # args: should be "restart nick host hand chan"
[01:04:28] <YoShi> [07:04] Tcl error [rehash]: wrong # args: should be "rehash nick uhost hand chan"
Normal. Un bind pub envoie un argument de plus que ceux que tu as définis dans tes procédures: Cette page te dit que la procédure doit comporter: <nick> <user@host> <handle> <channel> <text>
Babytigrou16 a écrit :Et j'ai une autre question, je vienne de remarquet que mon eggdrop quand je lui demande de ce sajoin, ou de sajoin une personne il ne réagi pas... le code est bon pourtant... et il ce passe rien :/ Jvous donne un code
Le SAJOIN, c'est mal.
Qui est Yoshi ? L'eggdrop ? Si oui, le SAJOIN est inutile, il vaudrait mieux un simple join, et de toutes manières ça ne marchera pas si l'eggdop n'a pas ce canal dans sa liste de canaux: il en repartira automatiquement en te disant "joined #canal but don't want to... leaving"
Regarde plutôt avec channel add pour lui ajouter le canal, il le rejoindra automatiquement.
Et tu cherches à comparer "machin@ChefZone.Zet-Land.Com" avec "*@ChefZone.Zet-Land.Com" ? Tu crois vraiment que "eq" est capable de dire que "*" correspond à n'importe quoi ?
Donc, il te manque quelque chose du genre:
tcl
set ahost [lindex[split$vhost"@"]1]set uhost [lindex[split$host"@"]1]if{$uhost eq $ahost}{
Reprend tout les astuces que CrazyCat t'as donner...
Lis bien tout ce qui est écrie et tu va y arriver !
De mon côté tout fonctionne parfaitement !
-------------------------------------------------
On reprend !
Ton code
tcl
bind pub - !rehash rehash
proc rehash {nick host hand chan}{global vhost3
foreach vhost $vhost3{if{[string match -nocase $vhost$uhost]}{
rehash
putquick "PRIVMSG #Admin \00307$nick \00312à utiliser la commande \00306!rehash"}}}
bind pub - !restart restart
proc restart {nick host hand chan}{global vhost3
foreach vhost $vhost3{if{[string match -nocase $vhost$host]}{
restart
putquick "PRIVMSG #Admin \00307$nick \00312à utiliser la commande \00306!restart"}}}
Ton deuxième code
tcl
bind pub - !apub apub
proc apub { nick host hand chan arg }{global vhost3
foreach vhost $vhost3{if![string compare -nocase $chan"#Admin"]{if[string match -nocase $vhost$host]{
putquick "SAJOIN YoShi [lindex $arg 0 end]"
putquick "MODE [lindex $arg 0 end] +qo YoShi YoShi"
putquick "PRIVMSG [lindex $arg 0 end] \037\00304\002AVERTISSEMENT\037\002 :\00312 Toute plublicité pour un salon est strictement interdit, si vous continuer de faire de la publicité pour ce salon, ils risquent d'être fermer. Merci de votre compréhension."return0}}}}
-------------
Les corrections pour le 1er code
tcl
bind pub - !restart
proc restart {nick host hand chan arg}{set ad "#Admin"global$vhost3if{$host eq $vhost3}{
restart
putquick "PRIVMSG $ad :$nick à utiliser la commande !restart"}else{return0}}
tcl
bind pub - !rehash
proc rehash {nick host hand chan arg}{set ad "#Admin"global$vhost3if{$host eq $vhost3}{
rehash
putquick "PRIVMSG $ad :$nick à utiliser la commande !rehash"}else{return0}}
---------------------------------- Corrections pour le deuxième code
tcl
set ahost [lindex[split$vhost"@"]1]set uhost [lindex[split$host"@"]1]if{$uhost eq $ahost}{
Pas obliger de dire que je fait n'importe quoi non plus, j'essai simplement de coder un bon tcl, mais d'aprés moi mon eggdrop à un probléme il c'est peux-être mal installer parce que la moitier des commandes marche dans l'autre eggdrop et dans celui-ci rien ne fonctionne alors je vais tenter de re installer un eggdrop version 1.6.19
Marc a écrit :Si vous ne savez pas coder, ne coder pas !!!
Plutôt "si vous ne savez pas coder, apprenez" et c'est bien pour ça que les gens fréquentent ce genre de forums et posent tout un tas de questions idiotes : pour apprendre ;)
Et d'ailleurs, c'est "ne codez pas".
Sinon, je plussoie ce que dit MenzAgitat, parce que je n'ai encore rencontré personne qui sache coder sans apprendre.
Par contre, réfléchissez bien à ce que vous codez et comment vous le codez, le souci de Babytigrou16 est manifestement (pour moi) une lacune de conception (on compare des choses différentes) que de programmation.