Aide Script TCL TozTrivia (Quizz)
#1
Bonjour,

Ayant envie d'ameliorer mon quizz, j'essaie d'y integrer un classement par equipe. Le probleme c'est que je bloque.
Je n'arrive pas a mettre un joueur dans une team pour que ce soit cette tema qui marque le point.

Ensuite, je veux qu'une fois arrivé à 100 points, l'equipe remporte 1 point au classement general et qui entraine un reset des scores. Sur ça je bug quand le reset se passe. Les points marqués aprés s'enregistre en inconnu dans le general

Comme c'est la premier efois que je poste ici, dois je mettre mon code ?
Qui peux me donner des conseils ? SVP
Répondre Avertir
#2
tout d'abord, la question qui tue: est-ce que ton TCL gère les équipes?

Le mieux est que tu me l'envois par mail (crazycat [AT] c-p-f.org) pour que je regarde ça de plus près.
Le système de reset des scores arrivé à un certain niveau est relativement simple à faire: le TCL doit normalement comporter une procédure de reset, il suffit de l'appeler lorsque le compteur d'un des joueurs est à 100.

A mon avis, le plus gros problème est la gestion des équipes, mais je pense qu'en faisant des joueurs virtuels (les équipes) et un tableau des membres de chaque équipe c'est possible.
Répondre
#3
J'ai fait un petit code qui gere le changement de pseudo avec un fichier txt pour chaque user. Ce qui me permet d'organiser n'importe quel Quizz (filles contre garçons; Quizz par equipe, etc).

Il est tres simple et tres rapide (et sans bug).
Répondre Avertir
#4
Non, mon tcl ne gere pas les equipes. C'est ce que je veux integrer.
Par contre veux tu l'original ou ma modification ?

Sinon BdS, il y a t'il moyen que tu me fasse voir ton code ? stp
Répondre Avertir
#5
Code :
#Efface la gestion du pseudo score, pour un joueur sortant du salon.
proc tgnickpart {nick uhost hand chan {msg ""}} {
    global botnick tganick
    if {$nick != $botnick} {
        if {[file exists $tganick[strlwr $nick].txt]} {
            file delete -force $tganick[strlwr $nick].txt
        } else {
            return 0
        }
    }
}

#Efface la gestion du pseudo score, pour un joueur quittant le serveur.
proc tgnickquit {nick uhost hand chan {msg ""}} {
    global botnick tganick
    if {$nick != $botnick} {
        if {[file exists $tganick[strlwr $nick].txt]} {
            file delete -force $tganick[strlwr $nick].txt
        } else {
            return 0
        }
    }
}

#Changement de nick une fois sur le salon.
proc tgnick { nick uhost handle chan newnick } {
    global botnick tganick tgstreak
    if {$nick != $botnick} {
        if {[lindex [split $tgstreak ,] 0] == [strlwr $nick]} {
        set _tmptgstreak [lindex [split $tgstreak ,] 1]
        set tgstreak [strlwr $newnick],$_tmptgstreak
        }
        if {[strlwr $newnick] != [strlwr $nick]} {
            if {[file exists $tganick[strlwr $nick].txt]} {
                set fHnd3 [open $tganick[strlwr $nick].txt r]
                set _nick [lsort -dict -increasing [split [gets $fHnd3]]]
                close $fHnd3
                set fHnd3 [open $tganick[strlwr $newnick].txt w]
                puts $fHnd3 "[strlwr $_nick]"
                close $fHnd3
                file delete -force $tganick[strlwr $nick].txt
            } else {
                set fHnd3 [open $tganick[strlwr $newnick].txt w]
                puts $fHnd3 "[strlwr $nick]"
                close $fHnd3
            }
        } else {
            return 0
        }
    }
}

#Attribution manuelle d'un nick de jeu.
proc tgmnick { nick uhost handle chan arg } {
    global botnick tganick tgchan
    if {$chan == $tgchan } {
        if {$nick != $botnick} {
            if {$arg=="fille" || $arg=="garcon"} {
                [tgpriv] $nick "[tgcolmisc1]Erreur ! Veuillez ajouter un [tgcolmisc2]S[tgcolmisc1] à [tgcolmisc2][strlwr $arg][tgcolmisc1] svp !"
                return 0
            }            
            if {$arg=="filles" || $arg=="garcons"} {
                set fHnd4 [open $tganick[strlwr $nick].txt w]
                puts $fHnd4 "[strlwr $arg]"
                close $fHnd4
                [tgpriv] $nick "[tgbold][tgcolmisc2]$nick[tgcolmisc1], J'ai bien enregistré ta demande, tu joueras avec les [strlwr $arg], Bonne chance !"
            } else {
                [tgpriv] $nick "[tgcolmisc1]Cette soirée est basé sur le thème filles contre garçons, merci de preciser votre camp, en tapant: [tgcolmisc2]!jesuis filles[tgcolmisc1] ou [tgcolmisc2]!jesuis garcons"
            }
        }
    }
}

#Attribution forcé par un admin d'un nick de jeu.
proc tgmnickadmin { nick uhost handle chan arg } {
    global botnick tganick tgchan
    if {$chan == $tgchan } {
        if {[lindex $arg 1]=="fille" || [lindex $arg 1]=="garcon"} {
            [tgpriv] $nick "[tgcolmisc1]Erreur ! Veuillez ajouter un [tgcolmisc2]S[tgcolmisc1] à [tgcolmisc2][strlwr [lindex $arg 1]][tgcolmisc1] !"
        }            
        if {[lindex $arg 1]=="filles" || [lindex $arg 1]=="garcons"} {
            set fHnd4 [open $tganick[strlwr [lindex $arg 0]].txt w]
            puts $fHnd4 "[strlwr [lindex $arg 1]]"
            close $fHnd4
            [tgpriv] $nick "[tgbold][tgcolmisc1]Validation ![tgcolmisc2] [strlwr [lindex $arg 0]] [tgcolmisc1]jouera avec les[tgcolmisc2] [strlwr [lindex $arg 1]][tgcolmisc1]."
        } else {
            return 0
        }
    }
}

#Vérification des pseudos non identifiés en filles ou garçons.
proc tgmnickcontrole { nick uhost handle chan arg } {
    global tganick tgchan
    if {$chan == $tgchan } {
        set _listenick "[tgcolmisc1]Liste des pseudos non identifiés: "
        set _listenick1 ""
        foreach nick [lsort [chanlist $tgchan]] {
            if {![file exists $tganick[strlwr $nick].txt]} {
                append _listenick1 "[tgcolmisc2]$nick[tgcolmisc1], "
            }
        }
        if {$_listenick1==""} {
            tggamemsg "[tgcolmisc1]La liste est vide."
        } else {
            append _listenick $_listenick1
            tggamemsg "$_listenick"
        }
    }    

}

j'utilise cette version du code, que j'ai crée pour la gestion des pseudos, pour les Quizz filles vs Garçons.
Pour les equipes tu peux aussi l'utiliser, en modifiant ou ajoutant quelques lignes.

Dsl pour le pavé ^^;
Répondre Avertir
#6
Voici mon TCL !

http://sixelaempire.keo.in/TozTrivia1.tcl

J'ai presque reussi les equipes mais je plante au niveau classement general !
100 pts --> Reset --> + 1 pts au Classement General
Répondre Avertir
#7
Je regarderais depuis chez moi ton tcl et le code de BdS, :)
Répondre
#8
Oki ! Pff je vais recommencer de zero parce que mon code devient n'importe quoi ! lol
Répondre Avertir
#9
J'y arrive pas ! snif
Répondre Avertir


Atteindre :


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