Anti idle pour salon

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 663 fois - Téléchargée 27 fois

Contenu du snippet

Je devais en faire un alors je vous le fait partager, pratique pour des salons d'aide un anti-idle.

Source / Exemple :


alias kbidle {
  ban -u300 $$2 $address($$1,2) 
  kick $$2 $$1 Ban 5mins No idle please.
}
on *:join:%salonai:{
timer $+ $nick 1 600 kbidle $nick $chan
}
on *:text:*:%salonai:{
  if (($nick !isop $chan) && ($nick !isvoice $chan)) {
    .timer $+ $nick off
    .timer $+ $nick 1 600 kbidle $nick $chan
  }
}
on *:op:%salonai:{
  .timer $+ $opnick off
}
on *:deop:%salonai:{
  if ($opnick !isvoice $chan) {
    .timer $+ $nick 1 600 kbidle $opnick $chan
  }
}
on *:devoice:%salonai:{
  if ($vnick !isop $chan) {
    .timer $+ $nick 1 600 kbidle $vnick $chan
  }
}
on *:voice:%salonai:{
  .timer $+ $vnick off
}

Conclusion :


Aprés avoir chargé le script faites /set %salonai #NomDuSalonOuSeraLanti-Idle
%salonai est une variable vous permettant de définir le salon de controle anti-idle.
Sa bannira pendant 5mins si une personne non op ou voice ne parle pas sur le salon durant 10minutes.

A voir également

Ajouter un commentaire Commentaires
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

et t'en fais quoi des elseif et des else ?
Messages postés
7
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
14 juillet 2006

l interet c est de montrer l utilisation de la fonction $nick(...).idle.
Le reste viendra plus tard c est en projet mais sur une source complete !!!

a titre d info arkanais ... un bon goto est un goto qui va empecher le pipe du processeur de se remplir et empecher la creation d un jump lors du test du second if (qui evidement n arrivera jamais). Donc dans ce genre de cas, il est completement justifié. Et c est ce genre de detail qui fait qu a la longue les scripts deviennent tres lourds pour une machine.
exemple :
if (machin1) ....... ==> if (machin1) ....... /goto ok
if (machin2) ....... ==> if (machin2) ....... /goto ok
if (machin3) ....... ==> if (machin3) ....... /goto ok
if (machin4) ....... ==> if (machin4) .......
==> :ok
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

il est mal codé en tout cas ^^

berk les goto :(

utilise les variables locales ^^
la variable %idletime.over ne sert à rien, autant remplacer directement par 600 ^^
Messages postés
7
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
14 juillet 2006

désolé j ai laisser un /echo -a @highlights pour afficher ça dans une fenetre et savoir ou j en suis !!! vous trouverez bien une bidouille a faire avec !!!
Messages postés
7
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
14 juillet 2006

ce script est super car il montre une utilisation un peu plus poussée des concaténations de chaines de caracteres. Mais je pense qu il y a plus direct, surtout que ce script oblige a jongler avec les timers !!!! moi je propose celui la!!
Il est reglé pour un salon bien défini et pour un idle de 600 secondes! Certains me diront qu ils manquent des choses comme un ban mais ça peut montrer une autre optique.
Cf $nick(#salon,nick/index,aohvr,aohvr).idle
;;;;;;;;;;;;;;;;;;;;;;;;;;; anti idle ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Script : anti Idle ;;
;; Doit pouvoir permettre de virer quelqu un sur idle time over ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

on *:load : {
;; durée du ban
set %idleTime.over 600
;; Raison du kick
;; salons
}
on *:unload: {
;; durée du ban
unset %idleTime.over
;; Raison du kick
;; salons
}

alias antiidle {
if ($$1 isin start) {
/actidle
/timerantiidle 0 60 /actIdle
/goto done
}
if ($$1 isin stop) {
/timerantiidle off
}
:done
}

alias actIdle {
set %idle.nb.regular $calc($nick(#biere-entre-potes,0,r) + 1)
set %idle.ind 1
while (%idle.ind < %idle.nb.regular) {
/echo @highlights $nick(#biere-entre-potes,%idle.ind,r) $+ $chr(32) $+ idle time : $+ $chr(32) $+ $nick(#biere-entre-potes,%idle.ind,r).idle $+ $chr(32) $+ secondes
if ($nick(#biere-entre-potes,%idle.ind,r).idle > 600) {
/kick #biere-entre-potes $nick(#biere-entre-potes,%idle.ind,r) $+ $chr(32) IDLE TIME OVER - temps de squattage maximum autoriser 10 minutes (600 secondes) => $+ $chr(32) $nick(#biere-entre-potes,%idle.ind,r).idle
}
/inc %idle.ind 1
}
unset %idle.ind
unset %idle.nb.regular
}
Afficher les 11 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.