Voilà un petit code que j'ai fait pour un pote (K-J158)
Si il n'y a pas d'opérateur dans votre chan ou si vous voulez mettre un peut de fun :D
il n'y a cas coller ce code dans les remote de mIRC
J'ai bien travaillé ce code et il ne devrais pas avoir de bug
Si la personne qui est concerné par le vote sort du chan ou quit, il ce fait bannir 10 min (valeur de base) et si il change de pseudo, ça le suit.
le vote est enregistré par ip donc impossible de voter plusieur fois si on change de nick
le vote ne peut être lancé que sur des user normal du chan (pas op/halfop/voice)
il vérifie aussi que la personne est bien présante dans le chan
il ne fait rien si il n'y ya pas minimum 3 votes
Mise à jour: (10 nov 03)
- Correction des fautes d'ortho :P
- Corrige le bug eventuel en cas de deco du bot
- Ajout d'une commande disponible pour les opérateurs du chan pour stopper le vote (!votekick stop)
- Verification en debut de code si il n'y a pas eu de bug (et reset le code si ya eu bug)
et wanadoo jlé **** :P zon K avoâr des ircd normaux
Source / Exemple :
on *:TEXT:*:?:{
if ($1 != !votekick) halt
if ($timer(kickvote_vote).secs == $null) /unset %kickvote*
;si ya eu un prob d'unset
if (%kickvote_on != $null) /notice $nick Désolé, le vote est déjà lancé, vous devez attendre encore4 $timer(kickvote_vote).secs sec | halt
if ($2 !ison %chan) /notice $nick Désolé, $2 n'est pas présent dans le canal %chan ! | halt
if ($2 !isreg %chan) /notice $nick Désolé, les votes-kick ne s'adresse pas aux personnes ayant des privilèges ! | halt
if ($2 == $me) /kick %chan $nick Oops | halt
/notice $nick Le vote-Kick pour $2 vien de débuter ! ::: Delire Vote Kick par Delirium@IRC.ZeFunChat.NET niark niark
/timerkickvote_vote 1 60 kickvote_end
/timerkickvote_vote2 1 45 /msg %chan Il ne reste plus que 15 secondes pour voter !
set %kickvote_on 1
set %kickvote_qui $2
/notice %chan 4Kick Vote sur $2 de la part de $nick !
/msg %chan 4Kick Vote sur $2 de la part de $nick ! :::: Pour le kicker, tapez: 12!byby sinon, tapez: 12!reste :::: 3Vous ne pouvez voter qu'une seule fois ! :::: durée du vote: 60 sec
/notice $2 Un Vote-Kick se déroule sur toi en ce moment sur le canal: %chan , si tu le quitte en cours de vote tu seras banni 10 min.
}
on *:TEXT:*:#:{
if (($1 == !votekick off) && ($nick isop $chan) && %chan == $chan)) /timerkickvote* off | /msg %chan $nick a stoppé le vote ! | /unset %kickvote* | halt
if (($chan != %chan) || (($1 != !byby) && ($1 != !reste))) { halt }
if (%kickvote_on != 1) /notice $nick Désolé, il n'y a pas de vote-kick en cours. | halt
if (%kickvote_host_ [ $+ [ $address($nick,2) ] ] != $null) { /notice $nick Désolé, on ne peut voter qu'une seule fois ! | halt }
set %kickvote_host_ $+ $address($nick,2) 1
if ($1 == !byby) inc %kickvote_res_byby
elseif ($1 == !reste) inc %kickvote_res_reste
/notice $nick Merci pour ton vote !
}
alias kickvote_end {
set %kickvote_on 2
/msg %chan 4FIN DU VOTE !
/msg %chan Résultats:
if (%kickvote_res_byby == $null) set %kickvote_res_byby 0
if (%kickvote_res_reste == $null) set %kickvote_res_reste 0
/msg %chan Kicker %kickvote_qui $+ : %kickvote_res_byby voix
/msg %chan Ne pas kicker %kickvote_qui $+ : %kickvote_res_reste voix
if (%kickvote_res_reste == $null) { set %kickvote_result 100 }
elseif (%kickvote_res_byby == $null) { set %kickvote_result 0 }
else { set %kickvote_result $int($calc((%kickvote_res_byby / (%kickvote_res_byby + %kickvote_res_reste)) * 100)) }
/msg %chan %kickvote_result $+ $chr(37) pour
if ($calc(%kickvote_res_reste + %kickvote_res_byby) < 3) { /msg %chan Pas assé de votes ! | halt }
if (%kickvote_result <= 50) { /msg %chan %kickvote_qui l'a échapé belle ! }
if ((%kickvote_result > 50) && (%kickvote_result < 80)) { /msg %chan Sanction: %kickvote_qui sera kické ! | /kick %chan %kickvote_qui }
if (%kickvote_result > 80) { /msg %chan Sanction: %kickvote_qui sera KB 10 minutes | /mode %chan +b $address(%kickvote_qui,2) | /kick %chan %kickvote_qui | /timer 1 600 /mode %chan -b $address(%kickvote_qui,2) }
unset %kickvote*
}
ON *:NICK:{ if ($nick == %kickvote_qui) { set %kickvote_qui $newnick | /msg %chan $nick est maintenan $newnick $+ , le vote continue.. (mouhahaha) } }
ON *:PART:#:{ if ((%chan == $chan) && ($nick == %kickvote_qui)) { /mode %chan +b $address(%kickvote_qui,2) } }
ON *:QUIT:{ if ($nick == %kickvote_qui) { /mode %chan +b $address(%kickvote_qui,2) } }
ON *:DISCONNECT: /unset %kickvote*
Conclusion :
les commandes:
- /msg nom-du-bot !votekick pseudo
- !byby
- !reste
- !votekick stop (op selement)
Note:
pour une question de modularité, le chan est contenu dans la variable: %chan
si vous êtes un débutant, tapez dans votre mIRC /set %chan #votre-chan
sinon vous pouvez modif ou faire un replace avec cotre chan à vous de voire :)
voilà, j'espère que sa vous amusera bien :)
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.