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 :/
Répondre Avertir
#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
Répondre Avertir
#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
Répondre Avertir
#4
putquick "SAJOIN YoShi [lindex $arg 0 end]" <== Ta essayer juste avec un join ?
Répondre
#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 }
}


Répondre Avertir
#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 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.
Répondre
#7
djdu32 a écrit :
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 :/
Répondre Avertir
#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 } {


Répondre
#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. ^^
Répondre Avertir
#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!!!
Répondre Avertir
#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
Répondre Avertir
#12
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 ;)
Répondre Avertir
#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.
Répondre
#14
Oui pardon pour cette dernière phrase.

Une prise de folie...

Phrase corrigé.
Répondre Avertir


Atteindre :


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