C'est un systeme de vote avec plusieurs possibilitées ( oui/non, vrai/faux ou choix multiple ).
ça m'a pris un certain temps pour le faire mais, avec l'aide de quelqu'un et beaucoup de persévérence, j'ai réussi a le finir. Je viens de découvrir ce site donc je le met ici pour voir ce qu'il vaut :)
Source / Exemple :
;Systeme de Vote
menu channel {
. »»» Faire un vote ««« : dialog -m vote vote
}
dialog vote {
title "Option des Votes"
size -1 -1 252 217
option pixels
combo 2, 133 48 112 152, drop
edit "", 3, 10 22 231 21, autohs limit 100
combo 4, 134 79 112 196, drop
list 5, 5 118 122 110, disable
button "Ajouter", 6, 133 120 108 22, disable
button "Supprimer", 7, 133 143 108 22, disable
button "Fermer", 8, 133 166 108 22, cancel
button "Lancer", 9, 133 189 108 22, disable ok
text "Type de vote:", 1, 60 55 71 19
text "Temps:", 10, 93 83 42 16
text "Tapez votre question ici ", 11, 51 3 156 17
text " Reponses au choix :", 12, 15 103 105 16
}
ON *:DIALOG:vote:init:0:{
unset %Vote.*
%Vote.Canal = $active
did -ac vote 2 Oui/Non
did -a vote 2 Vrai/Faux
did -a vote 2 Choix multiples
did -a vote 4 15 secondes
did -a vote 4 30 secondes
did -a vote 4 45 secondes
did -a vote 4 60 secondes
did -a vote 4 90 secondes
did -ac vote 4 120 secondes
did -a vote 4 150 secondes
did -a vote 4 180 secondes
did -a vote 4 240 secondes
did -a vote 4 300 secondes
%Vote.Type = 1
}
ON *:DIALOG:vote:sclick:2:{
%Vote.Type = $did(2).sel
VotePret
}
ON *:DIALOG:vote:edit:3:{
VotePret
}
ON *:DIALOG:vote:sclick:6:{
did -a vote 5 $$?="Entrez le nouveau choix de vote"
VotePret
}
ON *:DIALOG:vote:sclick:7:{
var %index
%index = $did(5).sel
if (%index != $null) {
did -d vote 5 %index
VotePret
}
}
ON *:DIALOG:vote:sclick:8:{
unset %Vote.*
}
ON *:DIALOG:vote:sclick:9:{
var %i 1
var %message
%Vote.Temps = $int($did(4, ($did(4).sel).text))
%Vote.Question = $did(3).text
if (%Vote.Type == 1) {
%Vote.Oui = 0
%Vote.Non = 0
msg %Vote.Canal 4L14a question de Vote est 10 %Vote.Question
msg %Vote.Canal 4P14our répondre a ce vote, tapez 7 !oui 14ou 7 !non 14(durée du vote :10 %Vote.Temps secondes 14)
}
elseif (%Vote.Type == 2) {
%Vote.Vrai = 0
%Vote.Faux = 0
msg %Vote.Canal 4L14a question de Vote est 8 %Vote.Question
msg %Vote.Canal 4P14our répondre a ce vote, tapez 7 !vrai 14ou 7 !faux (durée du vote :10 %Vote.Temps secondes)
}
elseif (%Vote.Type == 3) {
%Vote.Choix.Total = $did(5).lines
%message = 4T14apez
while (%i < %Vote.Choix.Total) {
%message = %message !v %i pour $did(5, %i).text $+ , $+ $chr(32)
%Vote.Choix. [ $+ [ %i ] $+ .Votes ] = 0
%Vote.Choix. [ $+ [ %i ] $+ .Description ] = $did(5, %i).text
inc %i
}
%message = %message 14et !v %i pour $did(5, %i).text
%Vote.Choix. [ $+ [ %i ] $+ .Votes ] = 0
%Vote.Choix. [ $+ [ %i ] $+ .Description ] = $did(5, %i).text
msg %Vote.Canal 4V14ote :10 %Vote.Question
msg %Vote.Canal %message 14(durée du vote :10 %Vote.Temps secondes 14)
}
%Vote.Actif = $true
.timerVote 1 %Vote.Temps VoteFini
}
alias -l VotePret {
did -b vote 9
if (%Vote.Type != 3) {
did -b vote 5,6,7
if ($supprespace($did(vote, 3).text) != $null) {
did -e vote 9
}
}
else {
did -e vote 5,6,7
if (%Vote.Type = 3) {
if ($supprespace($did(vote, 3).text) != $null) {
did -e vote 9
}
}
}
}
alias -l VoteFini {
var %message
var %i 1
var %pourcent
msg %Vote.Canal 4L14a question pour le vote était :10 %Vote.Question
if (%Vote.Type == 1) {
%pourcent = $calc(100 / (%Vote.Oui + %Vote.Non))
msg %Vote.Canal 4I14l y a eu10 %Vote.Oui ( $+ $int($calc(%Vote.Oui * %pourcent)) $+ $chr(37) $+ ) 14vote(s) pour 10Oui14 et10 %Vote.Non ( $+ $int($calc(%Vote.Non * %pourcent)) $+ $chr(37) $+ ) 14vote(s) pour 10Non14.
}
elseif (%Vote.Type == 2) {
%pourcent = $calc(100 / (%Vote.Vrai + %Vote.Faux))
msg %Vote.Canal 4I14l y a eu10 %Vote.Vrai ( $+ $int($calc(%Vote.Vrai * %pourcent)) $+ $chr(37) $+ ) 14vote(s) pour 10Vrai14 et10 %Vote.Faux ( $+ $int($calc(%Vote.Faux * %pourcent)) $+ $chr(37) $+ ) 14vote(s) pour 10Faux14.
}
else if (%Vote.Type == 3) {
%message = $+ %FFWS.Options.Couleur.Vote $+ 4I14l y a eu
while (%i < %Vote.Choix.Total) {
%message = %message $+ %Vote.Choix. [ $+ [ %i ] $+ .Votes ] pour %Vote.Choix. [ $+ [ %i ] $+ .Description ] ,
inc %i
}
%message = %message et $+ %Vote.Choix. [ $+ [ %i ] $+ .Votes ] pour %Vote.Choix. [ $+ [ %i ] $+ .Description ]
msg %Vote.Canal %message
}
unset %Vote.*
}
ON *:TEXT:!oui*:%Vote.Canal:{
if (%Vote.Actif) {
if (%Vote.Type == 1) {
if (%Vote.Perso. [ $+ [ $nick ] ] == 1) {
.notice $nick 4T14u as déja voté !
}
else {
%Vote.Perso. [ $+ [ $nick ] ] = 1
%Vote.Oui = %Vote.Oui + 1
.notice $nick 4M14erci d'avoir voté !
}
}
}
}
ON *:TEXT:!non*:%Vote.Canal:{
if (%Vote.Actif) {
if (%Vote.Type == 1) {
if (%Vote.Perso. [ $+ [ $nick ] ] == 1) {
.notice $nick 4T14u as déja voté !
}
else {
%Vote.Perso. [ $+ [ $nick ] ] = 1
%Vote.Non = %Vote.Non + 1
.notice $nick 4M14erci d'avoir voté !
}
}
}
}
ON *:TEXT:!vrai*:%Vote.Canal:{
if (%Vote.Actif) {
if (%Vote.Type == 2) {
if (%Vote.Perso. [ $+ [ $nick ] ] == 1) {
.notice $nick 4T14u as déja voté !
}
else {
%Vote.Perso. [ $+ [ $nick ] ] = 1
%Vote.Vrai = %Vote.Vrai + 1
.notice $nick 4M14erci d'avoir voté !
}
}
}
}
ON *:TEXT:!faux*:%Vote.Canal:{
if (%Vote.Actif) {
if (%Vote.Type == 2) {
if (%Vote.Perso. [ $+ [ $nick ] ] == 1) {
.notice $nick 4T14u as déja voté !
}
else {
%Vote.Perso. [ $+ [ $nick ] ] = 1
%Vote.Faux = %Vote.Faux + 1
.notice $nick 4M14erci d'avoir voté !
}
}
}
}
ON *:TEXT:!v *:%Vote.Canal:{
if (%Vote.Actif) {
if (%Vote.Type == 3) {
if ($2 != $null) {
if (%Vote.Perso. [ $+ [ $nick ] ] == 1) {
.notice $nick 4T14u as déja voté !
}
else {
if ($int($2) <= %Vote.Choix.Total) {
%Vote.Perso. [ $+ [ $nick ] ] = 1
%Vote.Choix. [ $+ [ $2 ] $+ .Votes ] = %Vote.Choix. [ $+ [ $2 ] $+ .Votes ] + 1
.notice $nick 4M14erci d'avoir voté !
}
}
}
}
}
}
alias supprespace {
if ($1 == $null) {
return $null
}
else {
return $1-
}
}
Conclusion :
Vous copiez la source dans remote, et c'est tout :)
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.