Quizz qui se lance par socket , ba son nom l'indique , a noter que c mon premier addon en socket et que jdebute en socket
Source / Exemple :
alias xquizz { sockopen SockQuizz %sock-server %sock-port }
alias xstop { .timerq off | unset %Etat-Quizz | unset %xreponse | unset %X-noreponse
sockwrite -tn SockQuizz PRIVMSG %chanquizz : $+ %xlogoquizz $+ $+ %couleurquizz $+ %couleurquizz $+ Stop4 » $+ %couleurquizz Le quizz est stoper temporairement par4 $me | .timerq 1 30 xquestion2
.timeretat 0 0 unset %Etat-Quizz | .timerxxx 5 0 .timerq off
}
alias xvidage { unset %xreponse | unset %question | unset %X-NOREPONSE | unset %etat-quizz }
alias stopnoreponse {
.timerq off | unset %Etat-Quizz | unset %xreponse | unset %X-noreponse
sockwrite -tn SockQuizz PRIVMSG %chanquizz : $+ %xlogoquizz $+ $+ %couleurquizz $+ %couleurquizz $+ Stop4 » $+ %couleurquizz Le quizz est stopé temporairement car il y'a eu trop de reponse non répondu , pour le relancer tapez %xReaction | .timerq 1 30 xquestion2
.timeretat 0 0 unset %Etat-Quizz | .timerxxx 5 0 .timerq on
}
on *:sockopen:SockQuizz:{ unset %xreponse | unset %xuqestion | .timerq off | xvidage
sockwrite -tn $sockname USER $rand(a,z) $rand(a,z) $rand(a,z) : $+ %quizzusername | unset %Etat-Quizz
sockwrite -tn $sockname NICK %nickQuizz | .timerxxjoin 0 3 sockwrite -tn $sockname JOIN %chanquizz | unset %Etat-Quizz | unset %X-noreponse
}
alias Xquestion { $iif(%X-NOREPONSE == $null,set %X-NOREPONSE 0)
if (%X-NOREPONSE => %X-NOREPONSE-limit) && (%no-reponse-etat == on) { .timerq off | unset %X-noreponse | stopnoreponse | halt }
else {
set %temp $read base.txt | set %Xquestion $gettok(%temp,1,92) | set %Xreponse $mid($gettok(%temp,2,92),2,999) | set %Etat-Quizz on
sockwrite -tn SockQuizz PRIVMSG %chanquizz : $+ %xlogoquizz $+ $+ %couleurquizz $+ %couleurquizz $+ Question4 » $+ %couleurquizz %Xquestion
.timerq 1 1 .timerq 1 30 xquestion2
$iif(%reponse-echo == on,echo -a 14[4Réponse14]7 »12 %xreponse)
}
}
alias Xquestion2 {
sockwrite -tn SockQuizz PRIVMSG %chanquizz : $+ %xlogoquizz $+ $+ %couleurquizz $+ %couleurquizz $+ Attention il reste 15secondes je repête ma question4 » $+ %couleurquizz %Xquestion
.timerq 1 15 Xquestion3 | set %Etat-Quizz on
}
alias Xquestion3 {
sockwrite -tn SockQuizz PRIVMSG %chanquizz : $+ %xlogoquizz $+ $+ %couleurquizz $+ %couleurquizz $+ Fin du temps réglementaire4 » $+ %couleurquizz Trop tard ! Faites pas la tête prochaine question dans 10secondes :? 14[ La réponse été $+ %Xreponse $+ 14]
unset %Xreponse | set %Etat-Quizz on
.timerq 1 10 Xquestion | inc %X-noreponse
}
on *:SOCKREAD:SockQuizz:{
sockread -f %xtemp
if ($mid($gettok(%xtemp,1,33),2,999) == %nickquizz) && ($gettok(%xtemp,2,32) == JOIN) {
sockwrite -tn $sockname PRIVMSG %chanquizz : $+ %xlogoquizz $+ $+ %couleurquizz Pour lancé le quizz tapez4 %xReaction
}
if ($left(%xtemp,4) == PING) { sockwrite -n $sockname PONG : $+ $gettok(%xtemp,2,58) }
if ($gettok(%xtemp,2,32) == PRIVMSG) && ($gettok(%xtemp,3,32) == %chanquizz) && (%Xreponse isin $strip($gettok(%xtemp,4-,32))) {
set %ntemp $mid($gettok(%xtemp,1,33),2,999) | var %x = %Xreponse | inc %s- [ $+ [ %ntemp ] ]
sockwrite -tn $sockname PRIVMSG %chanquizz : $+ %xlogoquizz $+ $+ %couleurquizz 4Félicitation ! $+ %couleurquizz $+ Ce point est attribué à2 %ntemp ( $+ %s- [ $+ [ %ntemp ] ] $+ Points $+ )
unset %Xreponse | .timerq 1 10 Xquestion | set %Etat-Quizz on | unset %X-noreponse | unset %X-noreponse
}
if ($gettok(%xtemp,2,32) == PRIVMSG) && ($gettok(%xtemp,3,32) == %chanquizz) && (!score isin $strip($gettok(%xtemp,4,32))) && (%Xsay- [ $+ [ $mid($gettok(%xtemp,1,33),2,999) ] ] == $null) {
set %ntemp $mid($gettok(%xtemp,1,33),2,999)
if (%Xsay- [ $+ [ $mid($gettok(%xtemp,1,33),2,999) ] ] == d) { halt }
if (%Xsay- [ $+ [ $mid($gettok(%xtemp,1,33),2,999) ] ] == premier) {
sockwrite -tn $sockname NOTICE %ntemp : $+ %xlogoquizz $+ $+ %couleurquizz 4Tu me prend pour un Cake ? ! $+ %couleurquizz $+ Eh ho je te l'ai dit y'a meme pas 5secondes! Pas de tentatives de flood , tu est ignorer pour 10secondes !
.timerxt [ $+ [ %ntemp ] ] 1 5 unset %Xsay- [ $+ [ $mid($gettok(%xtemp,1,33),2,999) ] ]
set %Xsay- [ $+ [ $mid($gettok(%xtemp,1,33),2,999) ] ] d | halt
}
if (%Xsay- [ $+ [ $mid($gettok(%xtemp,1,33),2,999) ] ] == $null) {
sockwrite -tn $sockname NOTICE %ntemp : $+ %xlogoquizz $+ $+ %couleurquizz 4Ton score ! $+ %couleurquizz $+ Tu à repondu correctement à4 %s- [ $+ [ %ntemp ] ] question(s)
set %Xsay- [ $+ [ $mid($gettok(%xtemp,1,33),2,999) ] ] premier
.timerxt [ $+ [ %ntemp ] ] 1 5 unset %Xsay- [ $+ [ $mid($gettok(%xtemp,1,33),2,999) ] ] | halt
}
}
if ($gettok(%xtemp,2,32) == PRIVMSG) && ($gettok(%xtemp,3,32) == %chanquizz) && (%xReaction isin $strip($gettok(%xtemp,4-,32))) && (%Etat-Quizz != on) {
sockwrite -tn SockQuizz PRIVMSG %chanquizz : $+ %xlogoquizz $+ $+ %couleurquizz $+ %couleurquizz $+ Début4 » $+ %couleurquizz Allez on se motive ici le quizz y commence :]
.timer 1 1 xquestion | .timeretat off | set %Etat-Quizz on | unset %xquestion | unset %xreponse | unset %X-noreponse
}
}
alias quizzpart { sockwrite -tn SockQuizz PART %chanquizz }
;----------------------------------------
;
; DIALOG
;
;----------------------------------------
alias squizz dialog -md squizz squizz
on *:dialog:squizz:*:*:{
if ($devent == init) { if (%no-reponse-etat == on) { did -c $dname 18 } | if (%reponse-echo == on) { did -c $dname 22 } | did $iif(%no-reponse-etat == on,-e,-b) $dname 19 }
if ($DeVent == sclick) {
if ($did == 18) { set %no-reponse-etat $iif($did($did).state == 1,on,off) | did $iif($did($did).state == 1,-e,-b) $dname 19 }
if ($did == 22) { set %reponse-echo $iif($did($did).state == 1,on,off) }
}
if ($devent == edit) {
if ($did == 3) { set %sock-server $did($did) } | if ($did == 5) { set %sock-port $did($did) }
if ($did == 6) { set %chanquizz $did($did) } | if ($did == 10) { set %nickquizz $did($did) }
if ($did == 13) { set %quizzusername $did($did) } | if ($did == 8) { set %couleurquizz $did($did) } | if ($did == 14) { set %xlogoquizz $did($did) }
if ($did == 26) { set %xreaction $did($did) } | if ($did == 19) { set %X-NOREPONSE-limit $did($did) }
}
}
dialog Squizz {
title "SockQuizz » By PuMaZ"
size -1 -1 108 163
option dbu
box "", 1, 1 0 105 61
text "Server du Quizz", 2, 4 7 40 8, center
edit %sock-server, 3, 46 7 58 10, autohs
text "Port du Quizz", 4, 4 17 40 8, center
edit %sock-port, 5, 46 17 58 10, autohs
edit %chanquizz, 6, 46 27 58 10, autohs
text "Salon du Quizz", 7, 3 28 41 8, center
edit %couleurquizz , 8, 46 62 58 10, autohs
text "Couleur principal", 9, 4 63 41 8, center
edit %nickquizz , 10, 46 37 58 10, autohs
text "Nick du Quizz", 11, 4 38 41 8, center
text "Username", 12, 4 48 41 8, center
edit %quizzusername , 13, 46 48 58 10, autohs
edit %xlogoquizz , 14, 46 72 58 10, autohs
text "Logo du Quizz", 15, 4 73 41 8, center
box "", 16, 1 57 105 45
box "", 17, 1 98 105 32
check "Stopage Automatique au bout de", 18, 5 104 96 10, flat
edit %X-NOREPONSE-limit , 19, 3 116 21 10, limit 3
text "Questions sans réponse", 20, 25 117 73 8
box "", 21, 1 126 105 20
check "Afficher les réponses sur ta fenêtre", 22, 4 131 98 10, flat
button "Fermer", 23, 67 148 38 12, ok
;check "Relancer le quizz", 24, 4 148 56 10, flat
text "Mot de lancement", 25, 4 84 41 15, center
edit %xReaction , 26, 46 86 58 10, autohs
}
alias quitquizz { sockclose *quizz* }
alias xrelance {
quitquizz
xquizz
}
alias xreset { unset %s-* }
menu menubar,channel {
-
» SockQuizz «
.Configurer ( /squizz ) :squizz
.Relancer le Quizz ( /Xrelance ):xrelance
.-
.Connecter le Quizz ( /xquizz ):xquizz
.Deconnecter le Quizz ( /quitquizz ):sockclose *quizz*
.-
.Lancer le quizz ( /Xquestion ):xquestion
.Stoper le quizz ( /xstop ):xstop
.-
.Reset Scores ( /xreset ):xreset
-
}
on *:load: {
set %sock-server chat1.voila.fr | set %sock-port 6667 | set %nickquizz SoCk-QuiZz | set %quizzusername 14.:2 SockQuizz By PuMaZ 14:.
set %X-NOREPONSE-limit 5 | set %no-reponse-etat on | set %chanquizz #Chan- [ $+ [ $rand(1,999999) ] ] | set %xlogoquizz 12[QuiZz] | set %couleurquizz 12
echo -a 4SockQuizz7 »12 Addon Chargé avec 4Succèss 14[2 /Squizz 14] | set %xreaction !quizz
}
Conclusion :
Pour connecter le quizz » /xquizz
Pour stoper le quizz » /xstop
Pour avoir son score » !score
Je n'ai rien à ajouter ...
PS: Le zip c'est la databass du Quizz à mettre dans mircdir tout comme Ce remote :]
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.