begin process at 2010 03 22 00:29:57
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

AddOns

 > QUIZZ TRÈS PERFOREMANT

QUIZZ TRÈS PERFOREMANT


 Information sur la source

Note :
7 / 10 - par 3 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :AddOns Classé sous :quizz Niveau :Débutant Date de création :20/02/2005 Date de mise à jour :20/02/2005 16:15:16 Vu :12 316

Auteur : In0x

Ecrire un message privé
Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

 Description

Voila c un de mais premier dialog que j'ai très bien fait. Sesi est un quizz simple que vous pouver amélioré. Je vous laisse découvrir la source :) :) :)

Source

  • dialog quizz {
  • title "Menu Quizz"
  • size -1 -1 400 530
  • option pixels
  • tab "Gestion du Quizz",1,-1 -1 515 610
  • tab "Questions - Réponses",2
  • button "Fermer",3,10 500 380 25,ok
  • button "Commencer le quizz sur le salon :",4,30 30 200 23,tab 1
  • button "Terminer le quizz",5,30 30 200 23,tab 1
  • edit "",6,240 30 100 23,autohs,tab 1
  • box "",7,5 60 390 30,tab 1
  • text "Question en cours : ",8,5 70 370 15,center,tab 1
  • text "",9,240 71 20 15,tab 1
  • button "Prec. 10",10,7 68 60 20,tab 1
  • button "Prec.",11,67 68 40 20,tab 1
  • button "Suiv.",12,293 68 40 20,tab 1
  • button "Suiv. 10",13,333 68 60 20,tab 1
  • box "Question",14,5 95 390 65,tab 1
  • edit "",15,15 115 375 20,autohs,read,tab 1
  • button "Modifier",16,15 140 50 15,tab 1
  • box "Réponse",17,5 170 390 65,tab 1
  • edit "",18,15 190 375 20,autohs,read,tab 1
  • button "Modifier",19,15 215 50 15,tab 1
  • text "Scores",20,295 247 100 15,tab 1
  • list 21,240 265 110 210,tab 1
  • list 22,345 265 42 210,tab 1
  • button "+ 1",23,240 460 26 23,tab 1
  • button "- 1",24,266 460 26 23,tab 1
  • button "Ajout.",25,292 460 50 23,tab 1
  • button "Suppr.",26,342 460 50 23,tab 1
  • button "=> Afficher la Question <=",27,20 255 190 25,tab 1
  • button "=> Afficher Réponse + Gagnant <=",28,20 280 190 25,tab 1
  • text "Gagnant :",29,20 315 50 15,tab 1
  • combo 30,75 312 135 200,drop,edit,tab 1
  • button "=> Afficher les Points <=",31,20 342 190 23,tab 1
  • text "",32,20 373 190 20,center,tab 1
  • box "Options",33,10 405 220 80,tab 1
  • check "",34,20 425 18 18,tab 1
  • text "Sélectionner le gagnant manuellement dans la liste du salon",35,40 420 180 40,tab 1
  • check "",36,20 455 18 18,tab 1
  • text "Annoncer qu'un quizz est en cours à chaque arrivant (en notice)",37,40 450 180 40,tab 1
  • box "Questions",38,5 30 390 200,tab 2
  • box "Réponses",39,5 245 390 200,tab 2
  • combo 40,15 50 370 180,tab 2
  • combo 41,15 265 370 180,tab 2
  • button "Ajouter",42,95 455 100 25,tab 2
  • button "Supprimer",43,205 455 100 25,tab 2
  • }
  • on 1:dialog:quizz:init:0:{
  • unset %quizz.br
  • .disable #Quizz.CheckReponse
  • .disable #Quizz.Annonce
  • set %quizz.qmodif $true
  • set %quizz.rmodif $true
  • if (%quiz.selectwinner) { did -c quizz 34 | did -b quizz 30 }
  • if (%quizz.encours != on) {
  • did -h quizz 5
  • did -b quizz 10,11,12,13,16,19,21,22,23,24,25,26,27,28,30,31
  • did -a quizz 32 Attente du début d'un Quizz
  • }
  • else {
  • if ($me !ison %quizz.chan) { if ($input(Vous n'êtes pas sur %quizz.chan alors qu'un quizz est commencé dessus. Voulez-vous joindre le salon maintenant ?,136,Quizz)) { join %quizz.chan } }
  • if (%quizz.nb != $null) { did -a quizz 9 %quizz.nb }
  • else { did -a quizz 9 1 }
  • if (%quizz.chan != $null) { did -o quizz 6 1 %quizz.chan | did -m quizz 6 | did -v quizz 5 | did -h quizz 4 }
  • else { did -h quizz 5 }
  • did -b quizz 28
  • did -a quizz 32 Attente de l'affichage d'une Question
  • quizz.quest
  • affichescores
  • }
  • var %i 1
  • while ($readini(Quizz.ini,questions,n $+ %i) != $null) { did -a quizz 40 $readini(Quizz.ini,questions,n $+ %i) | did -a quizz 41 $readini(Quizz.ini,reponses,n $+ %i) | inc %i }
  • }
  • on 1:dialog:quizz:sclick:1:quizz.quest
  • on 1:dialog:quizz:sclick:2:did -r quizz 40,41 | var %i 1 | while ($readini(Quizz.ini,questions,n $+ %i) != $null) { did -a quizz 40 $readini(Quizz.ini,questions,n $+ %i) | did -a quizz 41 $readini(Quizz.ini,reponses,n $+ %i) | inc %i }
  • on 1:dialog:quizz:sclick:40:did -c quizz 41 $did(quizz,40).sel
  • on 1:dialog:quizz:sclick:41:did -c quizz 40 $did(quizz,41).sel
  • on 1:dialog:quizz:sclick:42:{
  • if (($did(quizz,40,0) != $null) && ($did(quizz,41,0) != $null)) {
  • did -a quizz 40 $did(quizz,40,0)
  • did -a quizz 41 $did(quizz,41,0)
  • var %i 1 | while ($readini(Quizz.ini,questions,n $+ %i) != $null) { inc %i }
  • writeini -n Quizz.ini questions n $+ %i $did(quizz,40,0)
  • writeini -n Quizz.ini reponses n $+ %i $did(quizz,41,0)
  • did -c quizz 40,41 %i
  • }
  • }
  • on 1:dialog:quizz:sclick:43:{
  • if ($did(quizz,40).sel != $null) {
  • var %j $did(quizz,40).sel
  • remini Quizz.ini questions
  • remini Quizz.ini reponses
  • did -d quizz 40,41 %j
  • var %i 1
  • while ($did(quizz,40,%i) != $null) { writeini -n Quizz.ini questions n $+ %i $did(quizz,40,%i) | writeini -n Quizz.ini reponses n $+ %i $did(quizz,41,%i) | inc %i }
  • }
  • did -c quizz 40,41 %j
  • }
  • on 1:dialog:quizz:sclick:36: {
  • if ($did(quizz,36).state == 1) {
  • if ($left(%quizz.chan,2) == $chr(35) $+ $chr(33)) { echo -a 1*14*15* 4Cette option ne peut être engagée sur un salon public | did -u quizz 36 | halt }
  • .enable #Quizz.Annonce
  • }
  • else { .disable #Quizz.Annonce }
  • }
  • on 1:dialog:quizz:sclick:34:if ($did(quizz,34).state == 1) { set %quiz.selectwinner $true | did -b quizz 30 | if ($input(Pour définir le gagnant vous devez maintenant sélectionner un pseudo dans la liste du salon puis cliquer sur le bouton 'Afficher Réponse + Ganant'. $+ $crlf $+ $crlf $+ Si personne ne trouve la bonne réponse sélectionnez votre propre pseudo,68,Quizz)) { } } | else { set %quiz.selectwinner $false | did -e quizz 30 }
  • on 1:dialog:quizz:sclick:3:.disable #Quizz.CheckReponse | .disable #Quizz.Annonce
  • on 1:dialog:quizz:sclick:4:{
  • if ($did(quizz,6) != $null) {
  • if ($left($did(quizz,6),1) == $chr(35)) { set %quizz.chan $did(quizz,6) }
  • else { did -o quizz 6 1 $chr(35) $+ $did(quizz,6) | set %quizz.chan $did(quizz,6) }
  • if ($me !ison %quizz.chan) {
  • if ($input(Vous n'êtes pas sur %quizz.chan $+ . Voulez-vous joindre le salon maintenant ? (sinon le quizz ne sera pas commencé),136,Quizz)) { join %quizz.chan }
  • else { halt }
  • }
  • did -h quizz 4
  • did -v quizz 5
  • did -m quizz 6
  • set %quizz.nb 1
  • did -a quizz 9 %quizz.nb
  • set %quizz.encours on
  • quizz.quest
  • if ($input(Annoncer le début du Quizz sur %quizz.chan ?,136,Quizz)) { quizz.annonce }
  • did -e quizz 10,11,12,13,16,19,21,22,23,24,25,26,27,30,31
  • did -a quizz 32 Attente de l'affichage d'une Question
  • }
  • else { echo -a 1*14*15* 4Vous n'avez pas spécifié le salon }
  • }
  • on 1:dialog:quizz:sclick:5:{
  • var %i
  • while ( %i == $null) { set %i $input(Voulez-vous réellement terminer le quizz ?,168,Quizz) }
  • if (%i == $no) { halt }
  • else {
  • .disable #Quizz.Annonce
  • did -n quizz 6
  • did -h quizz 5
  • did -v quizz 4
  • set %quizz.encours off
  • did -b quizz 10,11,12,13,16,19,21,22,23,24,25,26,27,28,30,31
  • did -r quizz 15,18,9
  • unset %quizz*
  • did -r quizz 21,22,30
  • did -u quizz 36
  • .remove Qpoints.ini
  • did -a quizz 32 Attente du début d'un Quizz
  • }
  • }
  • on 1:dialog:quizz:sclick:10:{
  • if (%quizz.encours == on) {
  • if (%quizz.nb != $null) { set %quizz.nb $iif($calc(%quizz.nb -10) < 1,%quizz.nb,$calc(%quizz.nb -10)) }
  • else { set %quizz.nb 1 }
  • did -a quizz 9 %quizz.nb
  • quizz.quest
  • did -b quizz 28
  • }
  • }
  • on 1:dialog:quizz:sclick:11:{
  • if (%quizz.encours == on) {
  • if (%quizz.nb != $null) { set %quizz.nb $iif($calc(%quizz.nb -1) < 1,%quizz.nb,$calc(%quizz.nb -1)) }
  • else { set %quizz.nb 1 }
  • did -a quizz 9 %quizz.nb
  • quizz.quest
  • did -b quizz 28
  • }
  • }
  • on 1:dialog:quizz:sclick:12:{
  • if (%quizz.encours == on) {
  • if (%quizz.nb != $null) { set %quizz.nb $calc(%quizz.nb +1) }
  • else { set %quizz.nb 1 }
  • did -a quizz 9 %quizz.nb
  • quizz.quest
  • did -b quizz 28
  • }
  • }
  • on 1:dialog:quizz:sclick:13:{
  • if (%quizz.encours == on) {
  • if (%quizz.nb != $null) { set %quizz.nb $calc(%quizz.nb +10) }
  • else { set %quizz.nb 1 }
  • did -a quizz 9 %quizz.nb
  • quizz.quest
  • did -b quizz 28
  • }
  • }
  • on 1:dialog:quizz:sclick:16:{
  • if (%quizz.qmodif) { did -n quizz 15 | set %quizz.qmodif $false }
  • else { did -m quizz 15 | set %quizz.qmodif $true }
  • did -f quizz 15
  • }
  • on 1:dialog:quizz:sclick:19:{
  • if (%quizz.rmodif) { did -n quizz 18 | set %quizz.rmodif $false }
  • else { did -m quizz 18 | set %quizz.rmodif $true }
  • did -f quizz 18
  • }
  • on 1:dialog:quizz:edit:15:if (%quizz.nb != $null) { writeini -n quizz.ini questions n $+ %quizz.nb $did(quizz,15) }
  • on 1:dialog:quizz:edit:18:if (%quizz.nb != $null) { writeini -n quizz.ini reponses n $+ %quizz.nb $did(quizz,18) }
  • on 1:dialog:quizz:sclick:27:{
  • if ($me !ison %quizz.chan) {
  • if ($input(Vous n'êtes pas sur %quizz.chan $+ . Voulez-vous joindre le salon maintenant ?,136,Quizz)) { join %quizz.chan }
  • halt
  • }
  • if ($did(quizz,15) != $null) { /msg %quizz.chan 8,1Recopier le plus rapidement le mot $+ %quizz.nb :9 $did(quizz,15)
  • did -r quizz 30
  • if (<Personne> !isin $didtok(quizz,30)) { did -a quizz 30 <Personne> }
  • .enable #Quizz.CheckReponse
  • did -e quizz 28
  • did -a quizz 32 Attente d'une bonne réponse...
  • }
  • }
  • on 1:dialog:quizz:sclick:28:{
  • if ($me !ison %quizz.chan) {
  • if ($input(Vous n'êtes pas sur %quizz.chan $+ . Voulez-vous joindre le salon maintenant ?,136,Quizz)) { join %quizz.chan }
  • halt
  • }
  • if (%quiz.selectwinner) {
  • if ($sline(%quizz.chan,1) == $null) { echo -a 1*14*15* 4Veuillez sélectionner le Gagnant dans la liste du salon (ou sélectionner votre propre pseudo si personne n'a trouvé) }
  • elseif ($sline(%quizz.chan,1) == $me) { /msg %quizz.chan 8,1Personne n'a trouvé la bonne réponse. Il fallait répondre :9 $did(quizz,18) | halt }
  • else { /msg %quizz.chan 9,1 $+ $sline(%quizz.chan,1) 8a été le plus rapide à recopier le mot :9 $did(quizz,18)
  • var %nick $sline(%quizz.chan,1)
  • var %mask $address(%nick,1)
  • writeini -n Qpoints.ini %mask Nick %nick
  • if ($readini(Qpoints.ini, %mask ,Points) == $null ) { writeini -n Qpoints.ini %mask Points 1 }
  • else { writeini -n Qpoints.ini %mask Points $calc($readini(Qpoints.ini,%mask,Points)+1) }
  • affichescores
  • }
  • }
  • else {
  • if (($did(quizz,30) != $null) && ($did(quizz,30) != <Personne>) && ($did(quizz,30) ison %quizz.chan)) {
  • /msg %quizz.chan 9,1 $+ $did(quizz,30) 8a été le plus rapide à trouver la bonne réponse. Il fallait répondre :9 $did(quizz,18)
  • var %nick $did(quizz,30)
  • var %mask $address($did(quizz,30),1)
  • writeini -n Qpoints.ini %mask Nick %nick
  • if ($readini(Qpoints.ini, %mask ,Points) == $null ) { writeini -n Qpoints.ini %mask Points 1 }
  • else { writeini -n Qpoints.ini %mask Points $calc($readini(Qpoints.ini,%mask,Points)+1) }
  • affichescores
  • }
  • elseif ($did(quizz,30) == <Personne>) { /msg %quizz.chan 8,1Personne n'a trouvé la bonne réponse. Il fallait répondre :9 $did(quizz,18) }
  • elseif ($did(quizz,30) == $null) { echo -a 1*14*15* 4Veuillez sélectionner/écrire le nom du Gagnant dans la case 'Gagnant' (ou sélectionner '<Personne>' si personne n'a trouvé) | halt }
  • elseif ($did(quizz,30) !ison %quizz.chan) { echo -a 1*14*15*12 $did(quizz,30) 4ne se trouve pas sur %quizz.chan (ou vient de changer de pseudo) | halt }
  • }
  • .disable #Quizz.CheckReponse
  • did -a quizz 32 Attente de l'affichage d'une Question
  • unset %quizz.br
  • }
  • on 1:dialog:quizz:sclick:31:{
  • var %i 1
  • var %points 8,1Scores :
  • while ($did(quizz,21,%i) != $null) {
  • set %points %points 9,1 $+ $did(quizz,21,%i) 8:9 $did(quizz,22,%i) 4|
  • inc %i
  • }
  • if (%points == 8,1Scores :) { /msg %quizz.chan 8,1Personne ne possède de points pour le moment. }
  • else { /msg %quizz.chan $left( %points ,-2) }
  • }
  • on 1:dialog:quizz:sclick:21:did -c quizz 22 $did(quizz,21).sel
  • on 1:dialog:quizz:sclick:22:did -c quizz 21 $did(quizz,22).sel
  • on 1:dialog:quizz:sclick:23:{
  • set %sel $did(quizz,21).sel
  • if (%sel == $null) { halt }
  • var %nick $gettok($didtok(quizz,21,32),$did(quizz,21).sel,32)
  • if (%nick !ison %quizz.chan) {
  • var %i 1
  • while ($ini(Qpoints.ini,%i) != $null) { if (%nick == $readini(Qpoints.ini,$ini(Qpoints.ini,%i),Nick)) { writeini -n Qpoints.ini $ini(Qpoints.ini,%i) Points $calc($readini(Qpoints.ini,$ini(Qpoints.ini,%i),Points)+1) | break } | inc %i }
  • affichescores | did -c quizz 21,22 %sel | halt
  • }
  • if ($address(%nick,1) != $null) { writeini -n Qpoints.ini $address(%nick,1) Points $calc($readini(Qpoints.ini,$address(%nick,1),Points)+1) | affichescores }
  • }
  • on 1:dialog:quizz:sclick:24:{
  • set %sel $did(quizz,21).sel
  • if (%sel == $null) { halt }
  • var %nick $gettok($didtok(quizz,21,32),$did(quizz,21).sel,32)
  • if (%nick !ison %quizz.chan) {
  • var %i 1
  • while ($ini(Qpoints.ini,%i) != $null) { if (%nick == $readini(Qpoints.ini,$ini(Qpoints.ini,%i),Nick)) { writeini -n Qpoints.ini $ini(Qpoints.ini,%i) Points $calc($readini(Qpoints.ini,$ini(Qpoints.ini,%i),Points)-1) | break } | inc %i }
  • if ($readini(Qpoints.ini,$ini(Qpoints.ini,%i),Points) == 0) { remini Qpoints.ini $ini(Qpoints.ini,%i) }
  • affichescores | did -c quizz 21,22 %sel | halt
  • }
  • if ($address(%nick,1) != $null) { writeini -n Qpoints.ini $address(%nick,1) Points $calc($readini(Qpoints.ini,$address(%nick,1),Points)-1)
  • if ($readini(Qpoints.ini,$address(%nick,1),Points) == 0) { remini Qpoints.ini $address(%nick,1) }
  • affichescores
  • }
  • }
  • on 1:dialog:quizz:sclick:25:{
  • if (%quiz.selectwinner) {
  • if ($sline(%quizz.chan,1) == $null) { echo -a 1*14*15* 4Sélectionnez d'abord un pseudo dans la liste du salon | halt }
  • var %nick $sline(%quizz.chan,1)
  • }
  • else {
  • if ($did(quizz,30) == $null) { echo -a 1*14*15* 4Ecrivez d'abord un pseudo dans la case 'Gagnant' | halt }
  • var %nick $did(quizz,30)
  • }
  • if ($address(%nick,1) == $null) { .who %nick }
  • if (($readini(Qpoints.ini,$address(%nick,1),Nick) != $null) && ($readini(Qpoints.ini,$address(%nick,1),Nick) != $did(quizz,30))) { echo -a 1*14*15*12 %nick 4possède déjà des points (son pseudo était12 $readini(Qpoints.ini,$address(%nick,1),Nick) 4et vient d'être remis à jour) | writeini -n Qpoints.ini $address(%nick,1) Nick %nick | affichescores | halt }
  • if (%nick !ison %quizz.chan) { echo -a 1*14*15*12 $did(quizz,30) 4ne se trouve pas sur %quizz.chan (ou vient juste de changer de pseudo) | halt }
  • if ($istok($didtok(quizz,21,32),%nick,32)) { echo -a 1*14*15*12 %nick 4possède déjà des points | halt }
  • writeini -n Qpoints.ini $address(%nick,1) Nick %nick
  • writeini -n Qpoints.ini $address(%nick,1) Points 1
  • affichescores
  • }
  • on 1:dialog:quizz:sclick:26:{
  • var %sel $did(quizz,21).sel
  • var %nick $gettok($didtok(quizz,21,32),$did(quizz,21).sel,32)
  • if (%nick !ison %quizz.chan) {
  • var %i 1
  • while ($ini(Qpoints.ini,%i) != $null) { if (%nick == $readini(Qpoints.ini,$ini(Qpoints.ini,%i),Nick)) { break } | inc %i }
  • remini Qpoints.ini $ini(Qpoints.ini,%i) | affichescores
  • }
  • if ($address(%nick,1) != $null) { remini Qpoints.ini $address(%nick,1) | affichescores }
  • }
  • alias quizz.quest {
  • did -o quizz 15 1 $readini(quizz.ini,questions,n $+ %quizz.nb)
  • did -o quizz 18 1 $readini(quizz.ini,reponses,n $+ %quizz.nb)
  • did -r quizz 30
  • }
  • alias quizz.annonce {
  • /msg %quizz.chan 8,1 Salut à tous ! Un 9Quizz8 va commencer dans moins d'une minute. Je vous rappelle quelques règles pour que nous passions tous un bon moment.
  • .timer 1 8 /msg %quizz.chan 8,1 Tout d'abord, vous n'avez 9pas le droit à plus de 3 réponses par personne8 et il est bien sûr interdit de répéter plusieurs fois la même chose.
  • .timer 1 16 /msg %quizz.chan 8,1 Les questions seront posées et les scores comptabilisés par 9moi-même8 : si vous avez des réclamations à faire, faites-les 9en public8 tout de suite. La règle est de recopier le mot le plus rapidement possible avant tout les autres.
  • var %i $input(Le(s) thème(s) des questions ?,133,Quizz)
  • .timer 1 20 /msg %quizz.chan 8,1 $iif(%i == $null,9Pas de thème particulier 8pour les questions aujourd'hui,Les questions de ce soir seront sur le(s) thème(s) :9 %i)
  • .timer 1 32 /msg %quizz.chan 8,1 Sur ce, que le meilleur gagne !!! 9Le Quizz commence maintenant :)
  • }
  • #Quizz.CheckReponse off
  • on *:text:*:%quizz.chan:{
  • var %text $quizz.stripcodes($1-)
  • var %answer $quizz.stripcodes($readini(quizz.ini,reponses,n $+ %quizz.nb))
  • if ((%text == %answer) && ($istok($didtok(quizz,30,32),$nick,32) == $false)) {
  • did -a quizz 30 $nick
  • inc %quizz.br
  • did -a quizz 32 %quizz.br $iif(%quizz.br == 1,bonne réponse trouvée,bonnes réponses trouvées)...
  • }
  • }
  • #Quizz.CheckReponse end
  • #Quizz.Annonce off
  • #Quizz.Annonce end
  • alias quizz.stripcodes {
  • var %txt $strip($1-,burc)
  • set %txt $replace(%txt,¤,,<,,>,,.,,:,,\,,/,,&#8226;,,§,,©,,®,,&#8482;,,¥,,&#8224;,,&#8225;,,&curren;,,*,,^,,~,,é,e,è,e,ê,e,ë,e,È,e,É,e,Ê,e,Ë,e,à,a,á,a,â,a,ã,a,ä,a,À,a,Â,a,Ä,a,î,i,ï,i,Ï,i,Î,i,ù,u,û,u,ü,u,ö,o,ô,o,-,$chr(32))
  • if ($left(%txt,3) == le $+ $chr(32)) { set %txt $right(%txt,-3) }
  • elseif ($left(%txt,3) == la $+ $chr(32)) { set %txt $right(%txt,-3) }
  • elseif ($left(%txt,4) == les $+ $chr(32)) { set %txt $right(%txt,-4) }
  • elseif ($left(%txt,2) == l') { set %txt $right(%txt,-2) }
  • elseif ($left(%txt,3) == de $+ $chr(32)) { set %txt $right(%txt,-3) }
  • elseif ($left(%txt,3) == du $+ $chr(32)) { set %txt $right(%txt,-3) }
  • elseif ($left(%txt,4) == des $+ $chr(32)) { set %txt $right(%txt,-4) }
  • elseif ($left(%txt,2) == d') { set %txt $right(%txt,-2) }
  • elseif ($left(%txt,5) == dans $+ $chr(32)) { set %txt $right(%txt,-5) }
  • elseif ($left(%txt,4) == par $+ $chr(32)) { set %txt $right(%txt,-4) }
  • elseif ($left(%txt,3) == un $+ $chr(32)) { set %txt $right(%txt,-3 }
  • elseif ($left(%txt,4) == une $+ $chr(32)) { set %txt $right(%txt,-4) }
  • elseif ($left(%txt,3) == en $+ $chr(32)) { set %txt $right(%txt,-3) }
  • elseif ($left(%txt,3) == au $+ $chr(32)) { set %txt $right(%txt,-3) }
  • elseif ($left(%txt,4) == aux $+ $chr(32)) { set %txt $right(%txt,-4) }
  • elseif ($left(%txt,2) == a $+ $chr(32)) { set %txt $right(%txt,-2) }
  • elseif ($left(%txt,5) == avec $+ $chr(32)) { set %txt $right(%txt,-5) }
  • return %txt
  • }
  • alias affichescores {
  • if ($did(quizz,21,%sel) != $null) { set %selectednick $did(quizz,21,%sel) }
  • did -r quizz 21
  • did -r quizz 22
  • var %i 1
  • while ($ini(Qpoints.ini,%i) != $null) {
  • var %j 1
  • while ($readini(Qpoints.ini,$ini(Qpoints.ini,%i),Points) < $did(quizz,22,%j)) { inc %j }
  • did -i quizz 21 %j $readini(Qpoints.ini,$ini(Qpoints.ini,%i),Nick)
  • did -i quizz 22 %j $readini(Qpoints.ini,$ini(Qpoints.ini,%i),Points)
  • inc %i
  • }
  • if (%selectednick != $null) { did -c quizz 21,22 $didwm(quizz,21,%selectednick) }
  • unset %sel
  • unset %selectednick
  • }
  • alias quizz { dialog -m quizz quizz }
dialog quizz {
  title "Menu Quizz"
  size -1 -1 400 530
  option pixels
  tab "Gestion du Quizz",1,-1 -1 515 610
  tab "Questions - Réponses",2
  button "Fermer",3,10 500 380 25,ok
  button "Commencer le quizz sur le salon :",4,30 30 200 23,tab 1
  button "Terminer le quizz",5,30 30 200 23,tab 1
  edit "",6,240 30 100 23,autohs,tab 1
  box "",7,5 60 390 30,tab 1
  text "Question en cours : ",8,5 70 370 15,center,tab 1
  text "",9,240 71 20 15,tab 1
  button "Prec. 10",10,7 68 60 20,tab 1
  button "Prec.",11,67 68 40 20,tab 1
  button "Suiv.",12,293 68 40 20,tab 1
  button "Suiv. 10",13,333 68 60 20,tab 1
  box "Question",14,5 95 390 65,tab 1
  edit "",15,15 115 375 20,autohs,read,tab 1
  button "Modifier",16,15 140 50 15,tab 1
  box "Réponse",17,5 170 390 65,tab 1
  edit "",18,15 190 375 20,autohs,read,tab 1
  button "Modifier",19,15 215 50 15,tab 1
  text "Scores",20,295 247 100 15,tab 1
  list 21,240 265 110 210,tab 1
  list 22,345 265 42 210,tab 1
  button "+ 1",23,240 460 26 23,tab 1
  button "- 1",24,266 460 26 23,tab 1
  button "Ajout.",25,292 460 50 23,tab 1
  button "Suppr.",26,342 460 50 23,tab 1
  button "=> Afficher la Question <=",27,20 255 190 25,tab 1
  button "=> Afficher Réponse + Gagnant <=",28,20 280 190 25,tab 1
  text "Gagnant :",29,20 315 50 15,tab 1
  combo 30,75 312 135 200,drop,edit,tab 1
  button "=> Afficher les Points <=",31,20 342 190 23,tab 1
  text "",32,20 373 190 20,center,tab 1
  box "Options",33,10 405 220 80,tab 1
  check "",34,20 425 18 18,tab 1
  text "Sélectionner le gagnant manuellement dans la liste du salon",35,40 420 180 40,tab 1
  check "",36,20 455 18 18,tab 1
  text "Annoncer qu'un quizz est en cours à chaque arrivant (en notice)",37,40 450 180 40,tab 1
  box "Questions",38,5 30 390 200,tab 2
  box "Réponses",39,5 245 390 200,tab 2
  combo 40,15 50 370 180,tab 2
  combo 41,15 265 370 180,tab 2
  button "Ajouter",42,95 455 100 25,tab 2
  button "Supprimer",43,205 455 100 25,tab 2
}
on 1:dialog:quizz:init:0:{
  unset %quizz.br
  .disable #Quizz.CheckReponse
  .disable #Quizz.Annonce
  set %quizz.qmodif $true
  set %quizz.rmodif $true
  if (%quiz.selectwinner) { did -c quizz 34 | did -b quizz 30 }
  if (%quizz.encours != on) {
    did -h quizz 5
    did -b quizz 10,11,12,13,16,19,21,22,23,24,25,26,27,28,30,31
    did -a quizz 32 Attente du début d'un Quizz
  }
  else {
    if ($me !ison %quizz.chan) { if ($input(Vous n'êtes pas sur %quizz.chan alors qu'un quizz est commencé dessus. Voulez-vous joindre le salon maintenant ?,136,Quizz)) { join %quizz.chan } }
    if (%quizz.nb != $null) { did -a quizz 9 %quizz.nb }
    else { did -a quizz 9 1 }
    if (%quizz.chan != $null) { did -o quizz 6 1 %quizz.chan | did -m quizz 6 | did -v quizz 5 | did -h quizz 4 }
    else { did -h quizz 5 }
    did -b quizz 28
    did -a quizz 32 Attente de l'affichage d'une Question
    quizz.quest
    affichescores
  }
  var %i 1
  while ($readini(Quizz.ini,questions,n $+ %i) != $null) { did -a quizz 40 $readini(Quizz.ini,questions,n $+ %i) | did -a quizz 41 $readini(Quizz.ini,reponses,n $+ %i) | inc %i }
}
on 1:dialog:quizz:sclick:1:quizz.quest
on 1:dialog:quizz:sclick:2:did -r quizz 40,41 | var %i 1 | while ($readini(Quizz.ini,questions,n $+ %i) != $null) { did -a quizz 40 $readini(Quizz.ini,questions,n $+ %i) | did -a quizz 41 $readini(Quizz.ini,reponses,n $+ %i) | inc %i }
on 1:dialog:quizz:sclick:40:did -c quizz 41 $did(quizz,40).sel
on 1:dialog:quizz:sclick:41:did -c quizz 40 $did(quizz,41).sel
on 1:dialog:quizz:sclick:42:{
  if (($did(quizz,40,0) != $null) && ($did(quizz,41,0) != $null)) { 
    did -a quizz 40 $did(quizz,40,0)
    did -a quizz 41 $did(quizz,41,0) 
    var %i 1 | while ($readini(Quizz.ini,questions,n $+ %i) != $null) { inc %i }
    writeini -n Quizz.ini questions n $+ %i $did(quizz,40,0)
    writeini -n Quizz.ini reponses n $+ %i $did(quizz,41,0)
    did -c quizz 40,41 %i
  }
}
on 1:dialog:quizz:sclick:43:{
  if ($did(quizz,40).sel != $null) { 
    var %j $did(quizz,40).sel
    remini Quizz.ini questions 
    remini Quizz.ini reponses
    did -d quizz 40,41 %j
    var %i 1
    while ($did(quizz,40,%i) != $null) { writeini -n Quizz.ini questions n $+ %i $did(quizz,40,%i) | writeini -n Quizz.ini reponses n $+ %i $did(quizz,41,%i) | inc %i }
  }
  did -c quizz 40,41 %j
}
on 1:dialog:quizz:sclick:36: {
  if ($did(quizz,36).state == 1) { 
    if ($left(%quizz.chan,2) == $chr(35) $+ $chr(33)) { echo -a 1*14*15* 4Cette option ne peut être engagée sur un salon public | did -u quizz 36 | halt } 
    .enable #Quizz.Annonce 
  } 
  else { .disable #Quizz.Annonce }
}

on 1:dialog:quizz:sclick:34:if ($did(quizz,34).state == 1) { set %quiz.selectwinner $true | did -b quizz 30 | if ($input(Pour définir le gagnant vous devez maintenant sélectionner un pseudo dans la liste du salon puis cliquer sur le bouton 'Afficher Réponse + Ganant'. $+ $crlf $+ $crlf $+ Si personne ne trouve la bonne réponse sélectionnez votre propre pseudo,68,Quizz)) { } } | else { set %quiz.selectwinner $false | did -e quizz 30 }
on 1:dialog:quizz:sclick:3:.disable #Quizz.CheckReponse | .disable #Quizz.Annonce
on 1:dialog:quizz:sclick:4:{
  if ($did(quizz,6) != $null) {
    if ($left($did(quizz,6),1) == $chr(35)) { set %quizz.chan $did(quizz,6) }
    else { did -o quizz 6 1 $chr(35) $+ $did(quizz,6) | set %quizz.chan $did(quizz,6) }
    if ($me !ison %quizz.chan) { 
      if ($input(Vous n'êtes pas sur %quizz.chan $+ . Voulez-vous joindre le salon maintenant ? (sinon le quizz ne sera pas commencé),136,Quizz)) { join %quizz.chan }
      else { halt }
    }    
    did -h quizz 4
    did -v quizz 5
    did -m quizz 6
    set %quizz.nb 1
    did -a quizz 9 %quizz.nb
    set %quizz.encours on
    quizz.quest
    if ($input(Annoncer le début du Quizz sur %quizz.chan ?,136,Quizz)) { quizz.annonce }
    did -e quizz 10,11,12,13,16,19,21,22,23,24,25,26,27,30,31
    did -a quizz 32 Attente de l'affichage d'une Question
  }
  else { echo -a 1*14*15* 4Vous n'avez pas spécifié le salon }

}
on 1:dialog:quizz:sclick:5:{
  var %i
  while ( %i == $null) { set %i $input(Voulez-vous réellement terminer le quizz ?,168,Quizz) }
  if (%i == $no) { halt }
  else {
    .disable #Quizz.Annonce
    did -n quizz 6
    did -h quizz 5
    did -v quizz 4
    set %quizz.encours off
    did -b quizz 10,11,12,13,16,19,21,22,23,24,25,26,27,28,30,31
    did -r quizz 15,18,9
    unset %quizz*
    did -r quizz 21,22,30
    did -u quizz 36
    .remove Qpoints.ini
    did -a quizz 32 Attente du début d'un Quizz
  }
}
on 1:dialog:quizz:sclick:10:{
  if (%quizz.encours == on) {
    if (%quizz.nb != $null) { set %quizz.nb $iif($calc(%quizz.nb -10) < 1,%quizz.nb,$calc(%quizz.nb -10)) }
    else { set %quizz.nb 1 }
    did -a quizz 9 %quizz.nb
    quizz.quest
    did -b quizz 28
  }
}
on 1:dialog:quizz:sclick:11:{
  if (%quizz.encours == on) {
    if (%quizz.nb != $null) { set %quizz.nb $iif($calc(%quizz.nb -1) < 1,%quizz.nb,$calc(%quizz.nb -1)) }
    else { set %quizz.nb 1 }
    did -a quizz 9 %quizz.nb
    quizz.quest
    did -b quizz 28
  }
}
on 1:dialog:quizz:sclick:12:{
  if (%quizz.encours == on) {
    if (%quizz.nb != $null) { set %quizz.nb $calc(%quizz.nb +1) }
    else { set %quizz.nb 1 }
    did -a quizz 9 %quizz.nb
    quizz.quest
    did -b quizz 28
  }
}
on 1:dialog:quizz:sclick:13:{
  if (%quizz.encours == on) {
    if (%quizz.nb != $null) { set %quizz.nb $calc(%quizz.nb +10) }
    else { set %quizz.nb 1 }
    did -a quizz 9 %quizz.nb
    quizz.quest
    did -b quizz 28
  }
}
on 1:dialog:quizz:sclick:16:{
  if (%quizz.qmodif) { did -n quizz 15 | set %quizz.qmodif $false }
  else { did -m quizz 15 | set %quizz.qmodif $true }
  did -f quizz 15
}
on 1:dialog:quizz:sclick:19:{
  if (%quizz.rmodif) { did -n quizz 18 | set %quizz.rmodif $false }
  else { did -m quizz 18 | set %quizz.rmodif $true }
  did -f quizz 18
}
on 1:dialog:quizz:edit:15:if (%quizz.nb != $null) { writeini -n quizz.ini questions n $+ %quizz.nb $did(quizz,15) }
on 1:dialog:quizz:edit:18:if (%quizz.nb != $null) { writeini -n quizz.ini reponses n $+ %quizz.nb $did(quizz,18) }
on 1:dialog:quizz:sclick:27:{
  if ($me !ison %quizz.chan) {
    if ($input(Vous n'êtes pas sur %quizz.chan $+ . Voulez-vous joindre le salon maintenant ?,136,Quizz)) { join %quizz.chan }
    halt
  }
  if ($did(quizz,15) != $null) { /msg %quizz.chan 8,1Recopier le plus rapidement le mot $+ %quizz.nb :9 $did(quizz,15) 
    did -r quizz 30
    if (<Personne> !isin $didtok(quizz,30)) { did -a quizz 30 <Personne> } 
    .enable #Quizz.CheckReponse
    did -e quizz 28
    did -a quizz 32 Attente d'une bonne réponse...
  }
}
on 1:dialog:quizz:sclick:28:{
  if ($me !ison %quizz.chan) {
    if ($input(Vous n'êtes pas sur %quizz.chan $+ . Voulez-vous joindre le salon maintenant ?,136,Quizz)) { join %quizz.chan }
    halt
  }
  if (%quiz.selectwinner) {
    if ($sline(%quizz.chan,1) == $null) { echo -a 1*14*15* 4Veuillez sélectionner le Gagnant dans la liste du salon (ou sélectionner votre propre pseudo si personne n'a trouvé) }
    elseif ($sline(%quizz.chan,1) == $me) { /msg %quizz.chan 8,1Personne n'a trouvé la bonne réponse. Il fallait répondre :9 $did(quizz,18) | halt }
    else { /msg %quizz.chan 9,1 $+ $sline(%quizz.chan,1) 8a été le plus rapide à recopier le mot :9 $did(quizz,18) 
      var %nick $sline(%quizz.chan,1)
      var %mask $address(%nick,1)
      writeini -n Qpoints.ini %mask Nick %nick
      if ($readini(Qpoints.ini, %mask ,Points) == $null ) { writeini -n Qpoints.ini %mask Points 1 }
      else { writeini -n Qpoints.ini %mask Points $calc($readini(Qpoints.ini,%mask,Points)+1) }
      affichescores 
    }
  }
  else {
    if (($did(quizz,30) != $null) && ($did(quizz,30) != <Personne>) && ($did(quizz,30) ison %quizz.chan)) {
      /msg %quizz.chan 9,1 $+ $did(quizz,30) 8a été le plus rapide à trouver la bonne réponse. Il fallait répondre :9 $did(quizz,18) 
      var %nick $did(quizz,30)
      var %mask $address($did(quizz,30),1)
      writeini -n Qpoints.ini %mask Nick %nick
      if ($readini(Qpoints.ini, %mask ,Points) == $null ) { writeini -n Qpoints.ini %mask Points 1 }
      else { writeini -n Qpoints.ini %mask Points $calc($readini(Qpoints.ini,%mask,Points)+1) }
      affichescores
    }
    elseif ($did(quizz,30) == <Personne>) { /msg %quizz.chan 8,1Personne n'a trouvé la bonne réponse. Il fallait répondre :9 $did(quizz,18) }
    elseif ($did(quizz,30) == $null) { echo -a 1*14*15* 4Veuillez sélectionner/écrire le nom du Gagnant dans la case 'Gagnant' (ou sélectionner '<Personne>' si personne n'a trouvé) | halt }
    elseif ($did(quizz,30) !ison %quizz.chan) { echo -a 1*14*15*12 $did(quizz,30) 4ne se trouve pas sur %quizz.chan (ou vient de changer de pseudo) | halt }
  }
  .disable #Quizz.CheckReponse
  did -a quizz 32 Attente de l'affichage d'une Question
  unset %quizz.br
}
on 1:dialog:quizz:sclick:31:{
  var %i 1
  var %points 8,1Scores :
  while ($did(quizz,21,%i) != $null) {
    set %points %points 9,1 $+ $did(quizz,21,%i) 8:9 $did(quizz,22,%i) 4|
    inc %i
  }
  if (%points == 8,1Scores :) { /msg %quizz.chan 8,1Personne ne possède de points pour le moment. }
  else { /msg %quizz.chan $left( %points ,-2) }
}
on 1:dialog:quizz:sclick:21:did -c quizz 22 $did(quizz,21).sel
on 1:dialog:quizz:sclick:22:did -c quizz 21 $did(quizz,22).sel
on 1:dialog:quizz:sclick:23:{
  set %sel $did(quizz,21).sel
  if (%sel == $null) { halt }
  var %nick $gettok($didtok(quizz,21,32),$did(quizz,21).sel,32)
  if (%nick !ison %quizz.chan) { 
    var %i 1
    while ($ini(Qpoints.ini,%i) != $null) { if (%nick == $readini(Qpoints.ini,$ini(Qpoints.ini,%i),Nick)) { writeini -n Qpoints.ini $ini(Qpoints.ini,%i) Points $calc($readini(Qpoints.ini,$ini(Qpoints.ini,%i),Points)+1) | break } | inc %i }
    affichescores | did -c quizz 21,22 %sel | halt
  }
  if ($address(%nick,1) != $null) { writeini -n Qpoints.ini $address(%nick,1) Points $calc($readini(Qpoints.ini,$address(%nick,1),Points)+1) | affichescores }
}
on 1:dialog:quizz:sclick:24:{
  set %sel $did(quizz,21).sel
  if (%sel == $null) { halt }
  var %nick $gettok($didtok(quizz,21,32),$did(quizz,21).sel,32)
  if (%nick !ison %quizz.chan) { 
    var %i 1
    while ($ini(Qpoints.ini,%i) != $null) { if (%nick == $readini(Qpoints.ini,$ini(Qpoints.ini,%i),Nick)) { writeini -n Qpoints.ini $ini(Qpoints.ini,%i) Points $calc($readini(Qpoints.ini,$ini(Qpoints.ini,%i),Points)-1) | break } | inc %i }
    if ($readini(Qpoints.ini,$ini(Qpoints.ini,%i),Points) == 0) { remini Qpoints.ini $ini(Qpoints.ini,%i) }
    affichescores | did -c quizz 21,22 %sel | halt
  }
  if ($address(%nick,1) != $null) { writeini -n Qpoints.ini $address(%nick,1) Points $calc($readini(Qpoints.ini,$address(%nick,1),Points)-1) 
    if ($readini(Qpoints.ini,$address(%nick,1),Points) == 0) { remini Qpoints.ini $address(%nick,1) }
    affichescores
  }
}
on 1:dialog:quizz:sclick:25:{
  if (%quiz.selectwinner) { 
    if ($sline(%quizz.chan,1) == $null) { echo -a 1*14*15* 4Sélectionnez d'abord un pseudo dans la liste du salon | halt }
    var %nick $sline(%quizz.chan,1)
  }
  else { 
    if ($did(quizz,30) == $null) { echo -a 1*14*15* 4Ecrivez d'abord un pseudo dans la case 'Gagnant' | halt }
    var %nick $did(quizz,30)
  }
  if ($address(%nick,1) == $null) { .who %nick }
  if (($readini(Qpoints.ini,$address(%nick,1),Nick) != $null) && ($readini(Qpoints.ini,$address(%nick,1),Nick) != $did(quizz,30))) { echo -a 1*14*15*12 %nick 4possède déjà des points (son pseudo était12 $readini(Qpoints.ini,$address(%nick,1),Nick) 4et vient d'être remis à jour) | writeini -n Qpoints.ini $address(%nick,1) Nick %nick | affichescores | halt }
  if (%nick !ison %quizz.chan) { echo -a 1*14*15*12 $did(quizz,30) 4ne se trouve pas sur %quizz.chan (ou vient juste de changer de pseudo) | halt }
  if ($istok($didtok(quizz,21,32),%nick,32)) { echo -a 1*14*15*12 %nick 4possède déjà des points | halt }
  writeini -n Qpoints.ini $address(%nick,1) Nick %nick
  writeini -n Qpoints.ini $address(%nick,1) Points 1
  affichescores
}
on 1:dialog:quizz:sclick:26:{
  var %sel $did(quizz,21).sel
  var %nick $gettok($didtok(quizz,21,32),$did(quizz,21).sel,32)
  if (%nick !ison %quizz.chan) { 
    var %i 1
    while ($ini(Qpoints.ini,%i) != $null) { if (%nick == $readini(Qpoints.ini,$ini(Qpoints.ini,%i),Nick)) { break } | inc %i }
    remini Qpoints.ini $ini(Qpoints.ini,%i)  | affichescores
  }
  if ($address(%nick,1) != $null) { remini Qpoints.ini $address(%nick,1) | affichescores }
}
alias quizz.quest {
  did -o quizz 15 1 $readini(quizz.ini,questions,n $+ %quizz.nb)
  did -o quizz 18 1 $readini(quizz.ini,reponses,n $+ %quizz.nb)
  did -r quizz 30
}
alias quizz.annonce {
  /msg %quizz.chan 8,1 Salut à tous ! Un 9Quizz8 va commencer dans moins d'une minute. Je vous rappelle quelques règles pour que nous passions tous un bon moment.
  .timer 1 8 /msg %quizz.chan 8,1 Tout d'abord, vous n'avez 9pas le droit à plus de 3 réponses par personne8 et il est bien sûr interdit de répéter plusieurs fois la même chose.
  .timer 1 16 /msg %quizz.chan 8,1 Les questions seront posées et les scores comptabilisés par 9moi-même8 : si vous avez des réclamations à faire, faites-les 9en public8 tout de suite. La règle est de recopier le mot le plus rapidement possible avant tout les autres.
  var %i $input(Le(s) thème(s) des questions ?,133,Quizz)
  .timer 1 20 /msg %quizz.chan 8,1 $iif(%i == $null,9Pas de thème particulier 8pour les questions aujourd'hui,Les questions de ce soir seront sur le(s) thème(s) :9 %i)
  .timer 1 32 /msg %quizz.chan 8,1 Sur ce, que le meilleur gagne !!! 9Le Quizz commence maintenant :)
}



#Quizz.CheckReponse off
on *:text:*:%quizz.chan:{
  var %text $quizz.stripcodes($1-)
  var %answer $quizz.stripcodes($readini(quizz.ini,reponses,n $+ %quizz.nb))
  if ((%text == %answer) && ($istok($didtok(quizz,30,32),$nick,32) == $false)) { 
    did -a quizz 30 $nick
    inc %quizz.br
    did -a quizz 32 %quizz.br $iif(%quizz.br == 1,bonne réponse trouvée,bonnes réponses trouvées)...
  }
}
#Quizz.CheckReponse end
#Quizz.Annonce off
#Quizz.Annonce end
alias quizz.stripcodes {
  var %txt $strip($1-,burc)
  set %txt $replace(%txt,¤,,<,,>,,.,,:,,\,,/,,&#8226;,,§,,©,,®,,&#8482;,,¥,,&#8224;,,&#8225;,,&curren;,,*,,^,,~,,é,e,è,e,ê,e,ë,e,È,e,É,e,Ê,e,Ë,e,à,a,á,a,â,a,ã,a,ä,a,À,a,Â,a,Ä,a,î,i,ï,i,Ï,i,Î,i,ù,u,û,u,ü,u,ö,o,ô,o,-,$chr(32))
  if ($left(%txt,3) == le $+ $chr(32)) { set %txt $right(%txt,-3) }
  elseif ($left(%txt,3) == la $+ $chr(32))  { set %txt $right(%txt,-3) }
  elseif ($left(%txt,4) == les $+ $chr(32)) { set %txt $right(%txt,-4) }
  elseif ($left(%txt,2) == l') { set %txt $right(%txt,-2) }
  elseif ($left(%txt,3) == de $+ $chr(32)) { set %txt $right(%txt,-3) }
  elseif ($left(%txt,3) == du $+ $chr(32)) { set %txt $right(%txt,-3) }
  elseif ($left(%txt,4) == des $+ $chr(32)) { set %txt $right(%txt,-4) }
  elseif ($left(%txt,2) == d') { set %txt $right(%txt,-2) }
  elseif ($left(%txt,5) == dans $+ $chr(32)) { set %txt $right(%txt,-5) }
  elseif ($left(%txt,4) == par $+ $chr(32)) { set %txt $right(%txt,-4) }
  elseif ($left(%txt,3) == un $+ $chr(32)) { set %txt $right(%txt,-3 }
  elseif ($left(%txt,4) == une $+ $chr(32)) { set %txt $right(%txt,-4) }
  elseif ($left(%txt,3) == en $+ $chr(32)) { set %txt $right(%txt,-3) }
  elseif ($left(%txt,3) == au $+ $chr(32)) { set %txt $right(%txt,-3) }
  elseif ($left(%txt,4) == aux $+ $chr(32)) { set %txt $right(%txt,-4) }
  elseif ($left(%txt,2) == a $+ $chr(32)) { set %txt $right(%txt,-2) }
  elseif ($left(%txt,5) == avec $+ $chr(32)) { set %txt $right(%txt,-5) }
  return %txt
}

alias affichescores {
  if ($did(quizz,21,%sel) != $null) { set %selectednick $did(quizz,21,%sel) }
  did -r quizz 21
  did -r quizz 22
  var %i 1
  while ($ini(Qpoints.ini,%i) != $null) {
    var %j 1
    while ($readini(Qpoints.ini,$ini(Qpoints.ini,%i),Points) < $did(quizz,22,%j)) { inc %j }
    did -i quizz 21 %j $readini(Qpoints.ini,$ini(Qpoints.ini,%i),Nick) 
    did -i quizz 22 %j $readini(Qpoints.ini,$ini(Qpoints.ini,%i),Points)
    inc %i
  }
  if (%selectednick != $null) { did -c quizz 21,22 $didwm(quizz,21,%selectednick) }
  unset %sel
  unset %selectednick
}

alias quizz { dialog -m quizz quizz }

 Conclusion

Il ne vous reste que a taper /quizz pour tout configurer ( nnoublier as de copier la source dans les remote de votre mirc )


 Historique

20 février 2005 16:15:16 :
Je me suis tromper sur un tit truc

 Sources du même auteur

JOINDRE UN SALON OFFICIEL

 Sources de la même categorie

TCL - AJOUT SUPPRESSION DE LOGS par Atok
BLACKLIST PSEUDOS/MASKS par usurpateur
Source avec une capture [XCHAT] ANTI KICK / AWAY C++ par GeroXXXX
JEU DU CODE par alanpersonproject
SERVEUR FTP par hisoka2501

 Sources en rapport avec celle ci

Source avec Zip SIMPLE QUIZZ par Kentix
SYSTÈME DE TRI DE DONNÉE AVEC @WINDOW AFIN D'ÉTABLIR UN CLAS... par Anatolei
Source avec Zip ADD-ON QUIZZ POUR CSERVICE par mybox

Commentaires et avis

Commentaire de MaX_62 le 20/02/2005 17:18:06

- J'aime pas du tout le système de ce quizz. Je m'explique :
Aucune question fournie
Tu ne détectes pas automatiquement le gagnant...

- Enlève tes slashs

- Regroupe ton evenement dialog avec $dname , $devent et $did

- if (%sel == $null) devient if (!%sel)

Sinon j'ai pas bien regardé le code, mais ça a l'air un peu lourd, c'est surement optimisable...

Commentaire de wims le 20/02/2005 19:45:32

un quizz est censé tt faire tt seul
sinon quan tu n'est pas la il ne marche pas et c pas tes pratik de cliker sur des bouton pour jouer
g pas tester mais dapres le code je v pas trop aimer
essaye de faire pour quil sois completement autonome

Commentaire de Sizlaa le 21/02/2005 20:35:47

pareil que MaX_62 regroupe tes  evenements pour alléger ton code

Commentaire de GiUsTiNo le 21/02/2005 20:46:28

InOx> Pour t'aider, je t'assure que ton Quizz peut-être codé en quelques alias (aux alentours de 50 lignes)
=> Je parle avec un peu d'expérience car j'ai fait un quizz inter-serveur il y  a peu ... si ca vous interesse au fait :)
Mêmes remarques que les autres, regroupes tes évenements du dialogue, commente ton code pour les débutants qui aimeraient progresser et aussi, préfère les hash tables aux fichier ini dans ce cas-ci :p
Voila, bonne continuation !

Giustino, Admin VegaGames

Commentaire de Bal007 le 26/02/2005 00:22:29

Tu connaîtrais pas un certain Slyman ? mmh ?

Commentaire de TheStrange le 26/02/2005 00:27:15

Il resemble drolement au quizz sur teamscript non ? meme couleur...meme phrase...

Commentaire de clem54 le 25/04/2005 17:52:21

c'est le quizz de teamscript !!

Commentaire de Reload2 le 22/08/2005 21:33:20

Hmm, c'est tres bizarre. Normalement quand je vois un script, je m'en rappele plus tout de suite apres. Mais quand je vois ton truc, il me fait penser ENORMEMENT au quizz de Slyman fourni dans TeamScript. Dis, ca serait pas son quizz que tu as pris, et que au lieu de mettre le title: Ts Quizz'r par Slyman, tu l'as change par ton truc?

Commentaire de Gams le 22/12/2005 18:37:18

lol cramé ^^

bonjour je cherche un quizz comme celui  car je veu créer mes questions/réponse . par contre j'aimerais qu'une fois lancé sur mon
tchat il face tout tous seule quoi ... :)


Gams

Commentaire de GiUsTiNo le 22/12/2005 21:27:33

On est jamais mieux servi que par soit même, donc programme-le :)
Sinon, tu peux tjrs dl le WQuizz de Wizou (google : "wquizz wizou" et zoup tu le trouves :p)

Bonne continuation

Commentaire de DeAtH39 le 04/03/2006 14:13:28

il est vraiment pourrit ton quizz ça fonctionne quand ça veux nul :o(

Commentaire de cooled le 24/03/2006 03:54:21

<In0x>Voila c un de mais premier dialog que j'ai très bien fait.</In0x>

LOL

Commentaire de Allan007 le 09/06/2006 01:50:50

#Quizz.Annonce off
#Quizz.Annonce end

Humm.....

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

bot quizz [ par bbjulien ] salutje chercher un bot quizz qui peut faire plusieur quizz:1 avec des question générale1 avec '' " sur les jeux vidéoet d autre encorej probléme irc :) aidez moi [ par Mordikuss ] oila je suis en train de me faire un bot sur irc et je l'ai pas terminé , sur se bot il y a une fonction quizz et une fonction bot qui modére le salon ou peut on trouver un bot quizz [ par staria ] je vx un bot quizz ss faute et complet on je px en trouver bouhhhh j'arrive po a trouver staria ingore pour quizz [ par maaars ] coucou je voudrai savoir comment faire pour que lorsque qu'un chatteur tape "vrai" ou "faux" a une question il sois ignoré pendant 10 secondes (afin d CreaTion d'un QUizz (Simple) [ par karukeranet ] Bonjour A tous Les ScripteursApres Avoir recopier Des Questions / Reponses Sur un Bloc Note (question.txt) Je voudrai savoir COmment creer un Script Q Comment faire un quizz avec des commandes de base [ par Bal007 ] Bonjour tout le monde,Je suis une personne utilisant régulièrement IRC, et je voudrais me créer un "Quizz". (Un eggdrop admettons où j'insère des que Comment avoir un chrono comme sur les quizz ... [ par Panther007 ] J'aimerais savoir comment faire pour que quand quelqu'un est une bonne réponse sa lui dise : Bravo $nick , tu à répondu en ... secondes et tu gagne .. Le salon #sept_mn_d`intelligence sur le Serveur Voila\Wanadoo [ par LiGhT_At_ThE_EnD ] Coucou à tousJe vous invite à venir sur #sept_mn_d`intelligence où se trouve un robot de quizz particulier et une ambiance sympathiqueVous pouvez chat irc pour quizz [ par mathilde06 ] alors, je voudrais savoir où est-ce que je pourais télécharger un irc (pour faire un quizz) gratuitement, car, actuellement je fais un salon où il y A Le quizz pourais communiquer avec le site.. [ par romeomd ] Bonjour j'aimerais savoir si sa serait facile de faire que un bot (Wquizz) puisse communiquer le gagnant de la semaine a un site web...Explication: Mr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,295 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales