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
}
Afficher les 11 commentaires