Quizz par socket

Soyez le premier à donner votre avis sur cette source.

Vue 12 648 fois - Téléchargée 963 fois

Description

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 :]

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
9
Date d'inscription
samedi 8 juillet 2006
Statut
Membre
Dernière intervention
25 juin 2019

comment on le deconnecte
Messages postés
6
Date d'inscription
lundi 29 décembre 2003
Statut
Membre
Dernière intervention
16 avril 2009

Pas mal du tout mais il manque l'affichage des scores de tt les pseudos ainsi que de l'indice de la réponse aux questions. Ce serait top si tu pouvais ajouter ça. Bonne continuation.
Jumperac
Messages postés
17
Date d'inscription
jeudi 24 mars 2005
Statut
Membre
Dernière intervention
5 novembre 2013

j'ai mi le quizz dans mon AlfaScript IRC et il est dans mon menu enf1 sa roule , je louvre avec /Squizz pour ouvrire la fenetre de configue et la chui pomé

je mais 6667 en port sa c bon . je chercher mon serveur qui doi etre clubinternet.ya.com ( sa na pas lerre de marché )
puis ... il me dit quand je veu le connecter :
* /sockwrite: 'SockQuizz' socket non trouvé (ligne 28, SockQuizz.mrc)

PumaZ si tu as le temps : Gamix91@msn.com

sinon :s
*Gams*
Messages postés
2
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
14 novembre 2004

je suis débutan et je voudrai savoir se que ve dir socket ?? mici de répondre
Messages postés
21
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
4 août 2004

j'ai le meme prob que devil killer
j'ai copier coller le coe dans les remotes
que faire??????????
Afficher les 15 commentaires

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.