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


Code d'avertissement d'arrive
#1
Bonjour,

j'ai codé ce petit bout de code pour avertir les membres de mon staff de l'arriver d'une personne sur un salon
tcl
set chans "#XXX"
set chanradio "#XXX"
 
bind raw - "JOIN" cs:joins
proc cs:joins {f k t} {
set nick [lindex [split $f !] 0]
set salon [string trim [lindex $t 0] :]
	if {[string match "#Radio" $salon] == 1 || $salon == "#Radio"} {
		putspeed "NOTICE $nick 12Bonjour à Toi4 $nick 10Bienvenue Sur7 $salon 12Tu Veux Un Coup De Pouce, Pour Plusieurs Commandes Je Suis 4Un Bot D'aide, 12Dans Un Premier Temp Tape ---> 4!voir"
		putspeed "PRIVMSG $::chans :12 $nick 10est sur #Aide 4BIIIIIIIIIIIIIIIIIIIIIIP Merci d'aller aider si possible !!!!"
		putspeed "PRIVMSG $::chans :14BIIIIIIIIIIIIIIIIIIIIIIP visite sur #minut-radio !!!!"
	} else {
		if {[string match "#minut-radio" $salon] == 1 || $salon == "#minut-radio"} {
			putspeed "PRIVSMG $chans :Bienvenue a toi $nick sur le salon d'accueil"
		}
	}
}


Mais hélas je tombe sur cette erreur
Quote:Tcl error [cs:joins]: can't read "chans": no such variable
Alors j'ai essaye de faire des modifications comme enleve le $::chans comme enleve le s de join mais rien y fait...


Merci à vous.
#2
Bon, déjà je pense qu'il faut que tu arrêtes tes putspeed. Ensuite, pourquoi du bind raw ? Et dernier point : utilise de vrais codes couleur.


tcl
set chans "#XXX"
set radiochan "#minut-radio"
set helpchan "#aide"
 
bind join - "*" cs:joins
proc cs:joins {nick uhost handle chan} {
   if {[string compare -nocase $chan $::helpchan]} {
      puthelp "NOTICE $nick :Bonjour à toi $nick - Bienvenue Sur $chan Tu Veux Un Coup De Pouce, Pour Plusieurs Commandes Je Suis Un Bot D'aide, Dans Un Premier Temp Tape ---> !voir"
      puthelp "PRIVMSG $::chans :$nick est sur $chan BIIIIIIIIIIIIIIIIIIIIIIP Merci d'aller aider si possible !!!!"
      return 0
   if {[string compare -nocase $chan $::radiochan]} {
      puthelp "PRIVSMG $chan :Bienvenue a toi $nick sur le salon d'accueil"
      return 0
   }
}


Sinon, ton erreur était dans:

tcl
putspeed "PRIVSMG $chans :Bienvenue a toi $nick sur le salon d'accueil"

Il manque :: ($::chans)
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#3
Salut,

Même erreur que dans les autres post, dont un je t'ai dit..
Tu déclare "chans" ou ?
La variables chans tu te doit la "set".

tu "set salon", mais pas "chans", donc tu va avoir un soucis.
De plus tu incorpore des couleurs mirc, pour le TCL il faut utilisé des codes couleurs propres au TCL.
Je pense va falloir, faire un tour du côté wiki et autres.. Pour arrive à comprendre, voici donc quelques liens utiles :

Premier lien les codes couleurs TCL : http://wiki.eggdrop.fr/Couleurs_et_mise_en_forme
Second lien les binds, Pour permettre de bien comprendre certaines bases : http://wiki.eggdrop.fr/Binds
Ensuite comprendre le(s) set, ce qui correspond au variables : http://wiki.eggdrop.fr/Set

Voila tu devrais mieux comprendre, Ensuite je vais être grossier, mais tu commence à être gavant avec ton putspeed de merde..
putspeed reprend juste le putquick avec un retour de chariot, donc sa n'a absolument aucune utilité.
La seul chose ou que sa peut servir c'est à bourrer la liste d'attente du server, et au bout d'un moment l'eggdrop va partir en exees de flood, donc sa sert à rien.
Regarde aussi cela sa pourra aussi t'aider : http://wiki.eggdrop.fr/Commandes_de_sortie
Vous interdisez les erreurs, vous empêchez ainsi la victoire.

Ma super kikoo-page loll
#4
J'ai une erreur encore
Quote:"proc cs:joins {nick uhost handle chan} {
if { [string compare -nocase $chan $::helpchan] } {
puthelp "NOTICE $nick :Bonjour à toi $nick - Bi..."
(file "scripts/arrive.tcl" line 5)
invoked from within

Merci pour les tutos
#5
Salut,

Merci d'utilisé les balises tcl. => [ tcl ] le code [ /tcl ] Sans les espace.

Et ton soucis regarde :

KeeViiNou Wrote:"proc cs:joins {nick uhost handle chan} {

Retire le : " avant proc
Vous interdisez les erreurs, vous empêchez ainsi la victoire.

Ma super kikoo-page loll
#6
Pardon pour l'espace. Et y a pas de " avant proc ...
#7

Code:
.tcl set errorInfo
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#8
J'ai pas accès au ssh vu qu'il est même pas lance le script
#9
...
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#10
cette erreur
Quote:"proc cs:joins {nick uhost handle chan} {
if { [string compare -nocase $chan $::helpchan] } {
puthelp "NOTICE $nick :Bonjour à toi $nick - Bi..."
(file "scripts/arrive.tcl" line 5)
invoked from within
est sous ssh et je vois pas c'est quoi... :s
#11
Reprenons la base...
- Lance ton eggdrop sans l'appel à ton script dans le .conf
- connecte toi en party-line
- fais .tcl source scripts/tonscript.tcl
- quand tu as l'erreur, fais .tcl set errorInfo
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away


Possibly Related Threads…
Thread Author Replies Views Last Post
  Correction d'un codage tcl d'avertissement de comportement KeeViiNou 4 3,940 30/12/2012, 12:36
Last Post: KeeViiNou

Forum Jump:


Users browsing this thread: 1 Guest(s)