Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


Rehash & Restart
#1
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"


Encore merci de m'aider :/
Le meuilleur du Web www.zet-land.org
#2
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."
    return 0
      }
    }  
  }
}


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
Le meuilleur du Web www.zet-land.org
#3
wha wha wha... c'est des codes chinois sa .. Tu a plus simple pour ton apub

Quel sont tes erreurs pour ton rehash & restart s'il te plait
Chris© Unlimited based..
www.zumeo.fr | irc://irc.zumeo.fr:6667
#4
putquick "SAJOIN YoShi [lindex $arg 0 end]" <== Ta essayer juste avec un join ?
#5

tcl
bind pub - !restart
proc restart {nick host hand chan arg} {
set ad "#Admin"
global $vhost3
 if {$host eq $vhost3} {
 restart
 putquick "PRIVMSG $ad :$nick à utiliser la commande !restart"
 } else { return 0 }
}



tcl
bind pub - !rehash
proc rehash {nick host hand chan arg} {
set ad "#Admin"
global $vhost3
 if {$host eq $vhost3} {
 rehash
 putquick "PRIVMSG $ad :$nick à utiliser la commande !rehash"
 } else { return 0 }
}

Chris© Unlimited based..
www.zumeo.fr | irc://irc.zumeo.fr:6667
#6
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 Wrote: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 Wrote:
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 Wrote: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 Wrote: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.
zeolia: tchat gratuit, sans inscription ni publicité
Merci de ne pas demander d'aide en MP
Away
#7
djdu32 Wrote:
tcl
bind pub - !restart
proc restart {nick host hand chan arg} {
set ad "#Admin"
global $vhost3
 if {$host eq $vhost3} {
 restart
 putquick "PRIVMSG $ad :$nick à utiliser la commande !restart"
 } else { return 0 }
}

Ton code est bon, mais malheuresement je n'est aucune réaction
et pourtant j'ai le bon code. Je ne comprend pas que l'eggdrop ne réagie pas au code.


tcl
bind pub - !rehash
proc rehash {nick host hand chan arg} {
set ad "#Admin"
 global vhost3
  foreach vhost $vhost3 {
if {$host eq $vhost3} {
reshash
putquick "PRIVMSG $ad :$nick à utiliser la commande !rehash"
} else { return 0 }
}
}


Et pour CrazyCat voila ce qui est de vhost3

set vhost3 {
*@ChefZone.Zet-Land.Com
*@NetAdmin.Zet-Land.Com
*@ChefAdmin.Zet-Land.Com
*@TechAdmin.Zet-Land.Com

}

Oui Heretoc j'ai essayer un simple JOIN mais je n'est aucune réaction quand même :/
Le meuilleur du Web www.zet-land.org
#8
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 } {

zeolia: tchat gratuit, sans inscription ni publicité
Merci de ne pas demander d'aide en MP
Away
#9
Malheuresement encore une fois, aucune réaction de la part de l'eggdrop.

On dirais qu'il ne veut pu réagir à c'est commande, enfin bon si CrazyCat t'arrive à trouver ce qui ce passe je te félicite. ^^
Le meuilleur du Web www.zet-land.org
#10
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."
    return 0
      }
    }  
  }
}


-------------

Les corrections pour le 1er code


tcl
bind pub - !restart
proc restart {nick host hand chan arg} {
set ad "#Admin"
global $vhost3
if {$host eq $vhost3} {
restart
putquick "PRIVMSG $ad :$nick à utiliser la commande !restart"
} else { return 0 }
}



tcl
bind pub - !rehash
proc rehash {nick host hand chan arg} {
set ad "#Admin"
global $vhost3
if {$host eq $vhost3} {
rehash
putquick "PRIVMSG $ad :$nick à utiliser la commande !rehash"
} else { return 0 }
}


----------------------------------
Corrections pour le deuxième code


tcl
set ahost [lindex [split $vhost "@"] 1]
set uhost [lindex [split $host "@"] 1]
if { $uhost eq $ahost } {


------------------------------------------------------------------------------

Tout les corrections ici présente fonctionne parfaitement !
Il suffi seulement d'y aller avec sa logique et de savoir coder le TCL.....

Si vous ne savez pas coder, apprenez!!!
#11
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
Le meuilleur du Web www.zet-land.org
#12
Marc Wrote: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 ;)
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
#13
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.
zeolia: tchat gratuit, sans inscription ni publicité
Merci de ne pas demander d'aide en MP
Away
#14
Oui pardon pour cette dernière phrase.

Une prise de folie...

Phrase corrigé.


Possibly Related Threads…
Thread Author Replies Views Last Post
  Le deauth au rehash. aliasangelius 1 2,406 27/09/2012, 12:25
Last Post: aliasangelius
  j'ai un souci sur le .restart aliasangelius 8 4,536 30/03/2011, 19:54
Last Post: aliasangelius

Forum Jump:


Users browsing this thread: 1 Guest(s)