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


En galère avec un codage de script de dédi
#1
Bonjour,

Je me suis lancé dans la confection d'un tcl pour faire des dédicaces mais hélas je tombe sur un os...

tcl
######################################################################
##																	##
##																	##
##  	-Système de dédicace pour webradio "Minut'Radio"            ##
## 			Partenaire de Secretchat.fr - Version 1.0				##
##																	##
##																	##
######################################################################
 
 
 
set chans "#staff"
set chansource "#control"
set chanradio "#Radio"
 
 
bind pub - "!addedi" add:edi
bind pub - "!deledi" del:msg
bind pub - "!edi" msg:edi
 
 
proc add:edi {n ht hd ch a} {
set edi [lrange $a 0 end]
	if {$ch == $::chanradio} {
		if {$edi == ""} {putserv "notice $n :Syntaxe => !addedi < message >"; return}
		if {![file exists "scripts/dedi.dab"]} {set files [open "scripts/dedi.dab" a+]; close $files}
		# enregistrement de la dedi #
		set num [expr {int(rand() * 37)}]
		set files [open "scripts/dedi.dab" a+]
		puts $files "$num $n $edi"
		close $files
		putserv "notice $n :Dedi enregistré et validé"
	} else {
		putserv "notice $n :Erreur Salon"
	} 
}
 
proc del:msg {n ht hd ch a} {
set num [lindex $a 0]
set stop 0
if {$ch == $::chans} {
	if {$num == ""} {putserv "notice $n :Syntaxe => !deledi < numéro >"; return}
	if {![file exists "scripts/dedi.dab"]} {putserv "notice $n :Aucune dedi actuellement"}
	# suppression de la dedi #
	catch {open "scripts/dedi.dab" r} liste
	while {![eof $liste]} { gets $liste verif; if {![string compare -nocase $num [lindex $verif 0]]} { set stop 1 }; if {[string compare -nocase $num [lindex $verif 0]] && $verif!=""} { lappend salle "$verif" } }
	catch {close $liste}
	if {$stop == 0} {putserv "notice $n :Numéro Inconnu"; return}
	if {[info exists salle]} {
		set del [open "scripts/dedi.dab" w+]; foreach delchan $salle { puts $del "$delchan"}; close $del
	} else { set del [open "scripts/dedi.dab" w+]; close $del }
	putserv "notice $n :La dedi vient d'être supprimer"
} else {
	putserv "notice $n :Erreur Salon"
} }
 
proc msg:edi {n ht hd ch a} {
set stop 0
if {$ch == $::chans} {
	putserv "notice $n :13~6~13~6~12 Liste des dedi 13~6~13~6~"
	putserv "notice $n : "
	if {![file exists "scripts/dedi.dab"]} {putserv "notice $n :12Aucune dedi actuellement"}
 
	# securité anti beug #
	catch {open "scripts/dedi.dab" r} secu
	while {![eof $secu]} {gets $secu xs; if {[lindex $xs 0] != ""} {
		lappend verif "[llength $xs]"
	} }; catch {close $secu}
	# Calcul nombre de ligne #
	if {[info exists verif]} {
		if {[llength $verif] > "15"} {set stop 2; putserv "notice $n :4/!\\ Alerte Surcharge /!\\ 14Merci de supprimer des dedi"}
		if {[llength $verif] > "20"} {set stop 2; putserv "notice $n :4/!\\ Alerte Surcharge Excessif /!\\ 14Supprimer des dedi Impérativement 4/!\\ Alerte Surcharge Excessif /!\\"}
		if {[llength $verif] == "25"} {set stop 5; putserv "notice $n :4/!\\ Alerte Suppression de toutes les  dedi /!\\ 14Trop de dedi on été enregistrer : $verif 4/!\\ Alerte Suppression de toutes les dedi /!\\"}
	}
	# Fin control anti beug #
	if {$stop == 5} {exec rm -rf "scripts/dedi.dab"}
	if {$stop == 2} {
		catch {open "scripts/dedi.dab" r} files
		while {![eof $files]} {gets $files x; if {[lindex $x 0] != ""} {
			putserv "privmsg $n :6\[\4 [lindex $x 0] 6\]\ 10Mis par :7 [lindex $x 1] 1-12 [lrange $x 2 end]"; set stop 1
		} }; catch {close $files}
	}
	if {$stop == 0} {
		catch {open "scripts/dedi.dab" r} files
		while {![eof $files]} {gets $files x; if {[lindex $x 0] != ""} {
			putserv "notice $n :6\[\4 [lindex $x 0] 6\]\ 10Mis par :7 [lindex $x 1] 1-12 [lrange $x 2 end]"; set stop 1
		} } ; catch {close $files}
	}
	if {$stop == 0} {putserv "notice $n :12Aucune dedi actuellement"}
	putserv "notice $n : "
	putserv "notice $n :13~6~13~6~12 Fin de la liste des dedi 13~6~13~6~"
} else {
	putserv "notice $n :Erreur Salon"
} }


La commande !edi et !deledi fonctionne mais en revanche pour la commande !addedi je me trouve avec une erreur salon sur les 3 salons en question...


Merci d'avance de votre aide.


Messages In This Thread
En galère avec un codage de script de dédi - by KeeViiNou - 14/03/2014, 10:54

Possibly Related Threads…
Thread Author Replies Views Last Post
  probleme avec le script Pooshy.tcl LTEF 18 375 22/06/2022, 12:49
Last Post: CrazyCat
  [Résolu] Problème avec le script autolog T3nS 2 3,246 06/12/2017, 16:08
Last Post: T3nS
  [Bug] Problème avec le script zurl.tcl T3nS 0 3,073 03/08/2017, 19:40
Last Post: T3nS
  Soucis de codage avec un kick KeeViiNou 14 8,540 26/03/2014, 23:18
Last Post: KeeViiNou
  Soucis avec un codage KeeViiNou 9 6,361 14/03/2014, 21:22
Last Post: aliasangelius
  probleme avec mon script Nostromo1st 7 6,053 05/06/2013, 09:51
Last Post: Nostromo1st
  Problème d'authentification avec un script Demonis 17 12,161 25/03/2013, 21:16
Last Post: aliasangelius
  soucis avec un script emprunté :s lesny 9 6,613 04/01/2011, 00:27
Last Post: lesny
  soucis avec un script de greet loulou7593 2 3,918 09/08/2009, 11:02
Last Post: loulou7593

Forum Jump:


Users browsing this thread: 1 Guest(s)