31/12/2011, 15:57
Bonjour, je viens car j'ai un petit soucis avec un tcl de quizz.
voici la procedure de lancement du jeux
mon soucis est que j'ai rajouté une commande pour que toutes les deux heures la base de données des questions change et qu'ensuite le bot tape !bac sur le saln pour RElancer le jeu, mais apparement quand c'est lui meme qui tape !bac ca ne prend pas en compte la commande et le jeu ne se lance pas.
j'ai bien rajouté dans la procedure de lancement un flag pour le bot comme ca
et cette ligne de façon a ce qu'il n'y ai que les op qui puisse lancer le quizz et aussi le bot
comme ceci
mais je pense qu'il doit y avoir une erreur quelque part.
Si quelqu'un peu m'aider.
Merci
voici la procedure de lancement du jeux
tcl
bind pub -|b !bac KAOS_Start
# Global Variables
set KAOSRunning 0
set KAOSAllAnswered 0
set KAOSRoundOver 0
set KAOSQNumber 0
set KAOSQuestion ""
set KAOSQuestions(0) ""
set KAOSAsked ""
set KAOSMonthFileName ""
set KAOSQCount 0
set KAOSAnswerCount 0
set KAOSDisplayNum 0
set KAOSNumAnswered 0
set KAOSForced 0
set KAOSForcedQuestion ""
set KAOSAutoStart 0
# Scores And Ads
set KAOSAdNumber 0
set KAOSAd(0) "$botnick"
set KAOSAd(1) "$botnick"
set KAOSAd(2) "$botnick"
set KAOSAd(3) "$botnick"
set KAOSLastMonthScores(0) "Vide 0"
set KAOSLastMonthScores(1) "Vide 0"
set KAOSLastMonthScores(2) "Vide 0"
# Timers
set KAOSAdTimer ""
set KAOSQuestionTimer ""
# Version
set KDebug 0
set KAOSVersion "0.91.0"
#
# Start KAOS
#
proc KAOS_Start {nick uhost hand chan args} {
global KAOSChannel KAOSRunning KAOSQCount KAOSQNumber chanban KAOSAdNumber KAOSVersion KDebug
global botnick
set args [stripcodes bcruag $args]
if {($chan != $KAOSChannel)||($KAOSRunning != 0)} {return}
if {![isop $nick $chan]} {return}
if {![$botnick]} {return}
set KAOSQCount 0
set KAOSAdNumber 0
KAOS_ReadCFG
if {![file exist $chanban]} {
putcmdlog "\[KAOS\] Question File: $chanban Unreadable Or Does Not Exist"
return 0
}
set KAOSQCount [KAOS_ReadQuestionFile]
if {$KAOSQCount < 2} {
putcmdlog "\[KAOS\] Not Enough Questions in Question File $chanban"
return 0
}
set KAOSAskedFileLen [KAOS_ReadAskedFile]
if {$KAOSAskedFileLen >= $KAOSQCount} {
kaosmsg "[kaos] [kcr] Mise à jour de la base de donnée tapez !bac \003"
KAOS_ResetAsked
return 0
}
set KAOSRunning 1
kaosmsg "[kaos] [kcm]Jeu du KAOS\[$KAOSQCount Questions\] \003"
bind pubm - "*" KAOSCheckGuess
KAOSAskQuestion
return 1
}
mon soucis est que j'ai rajouté une commande pour que toutes les deux heures la base de données des questions change et qu'ensuite le bot tape !bac sur le saln pour RElancer le jeu, mais apparement quand c'est lui meme qui tape !bac ca ne prend pas en compte la commande et le jeu ne se lance pas.
j'ai bien rajouté dans la procedure de lancement un flag pour le bot comme ca
tcl
bind pub -|b !bac KAOS_Start
et cette ligne de façon a ce qu'il n'y ai que les op qui puisse lancer le quizz et aussi le bot
comme ceci
tcl
proc KAOS_Start {nick uhost hand chan args} {
global KAOSChannel KAOSRunning KAOSQCount KAOSQNumber chanban KAOSAdNumber KAOSVersion KDebug
global botnick
set args [stripcodes bcruag $args]
if {($chan != $KAOSChannel)||($KAOSRunning != 0)} {return}
if {![isop $nick $chan]} {return}
if {![$botnick]} {return}
mais je pense qu'il doit y avoir une erreur quelque part.
Si quelqu'un peu m'aider.
Merci