ANTI IDLE POUR SALON

COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 - 7 juin 2005 à 23:30
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009 - 14 juil. 2006 à 00:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31909-anti-idle-pour-salon

RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
14 juil. 2006 à 00:23
et t'en fais quoi des elseif et des else ?
elkwi Messages postés 7 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 14 juillet 2006
14 juil. 2006 à 00:08
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
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
13 juil. 2006 à 23:45
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 ^^
elkwi Messages postés 7 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 14 juillet 2006
13 juil. 2006 à 23:35
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 !!!
elkwi Messages postés 7 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 14 juillet 2006
13 juil. 2006 à 23:31
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
}
MaX_62 Messages postés 879 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 29 juin 2007
8 juin 2005 à 10:53
Si t'as qu'une seule commande, pas besoin d'accolades :
on *:voice:%salonai:.timer $+ $vnick off
Pour le ban, je pense qu'il vaut mieux faire :
/ban -ku300 $$2 $$1 2 Ban 5mins No idle please. (sinon t'es pas sur de récupérer les $address, et ça evite de faire un /kick)
(et les halfops ?...)
MaX_62 Messages postés 879 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 29 juin 2007
8 juin 2005 à 10:52
Si t'as qu'une seule commande, pas besoin d'accolades :
on *:voice:%salonai:.timer $+ $vnick off
Pour le ban, je pense qu'il vaut mieux faire :
/ban -ku300 $$2 $$1 2 Ban 5mins No idle please. (sinon t'es pas sur de récupérer les $address, et ça evite de faire un /kick)
(et les halfops ?...)
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
8 juin 2005 à 01:13
.timer $+ $nick off
.timer $+ $nick 1 600 kbidle $nick $chan

ta première ligne n'est pas nécessaire, vu que tu as donné un nom au timer
si la personne change de nick, elle est sauvée :p
cs_tofu Messages postés 1726 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 13 juin 2009 1
8 juin 2005 à 00:51
je suis personnellement contre cette pratique de bannir les users qui idle sur les chans d'aide. (dailleurs jss jms sur les salons d'aident qui kick les gens qui idle va savoir pk jss tjrs ban. (:)
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
8 juin 2005 à 00:32
Generalement sur les salon d'aide ce qui ne sont ni voice ni op ( ni halfop. pas traité ici ) bah c'est ceux qui aide le plus.J'vois pas l'utilité de les viré parce qu'il parle pas.
ajoute un truc du style : on load var %z $$input(quel sont les channel,e,(separé par une virgule)) et tu set %z ds ta var et tu utilise $istok
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
7 juin 2005 à 23:30
Utilise RAWMODE, verifie que tu es op du salon.
Renome le query en cas de changement de nick.
Vérifier que $nick != toi :)

En mettant un nom de $chan dans le timer, tu pourrais faire multi chan ! (et un nom de $server, multi serveur)

Niveau utilité...
Rejoignez-nous