Anti idle !!! un de plus

0/5 (11 avis)

Snippet vu 10 481 fois - Téléchargée 24 fois

Contenu du snippet

un anti idle de base !
Simple et efficace!
Pas de tests sur le fait d etre operateur , celui qui le charge et ne l est pas doit arreter de scripter.
Désolé pour le goto c est une vieille habitude pour ne pas remplr les pipes de processeurs et creer un Jump ( et un seul ).
Je pourrais mettre du elsif mais c est pareil !! vidage du pipe !
Quelques petites ameliorations a faire, mais pas fioritures.
> multichan
> %server.chan.pseudo pour le multiserver par exemple
...

Source / Exemple :


;;;;;;;;;;;;;;;;;;;;;;;;;;; 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 a faire
}
on *:unload: {
  ;; durée du ban
  unset %idleTime.over
  ;; Raison du kick
}

on *:connect: {
  /timeridstart 1 2  /antiidle stop
  /timeridstart 1 10 /antiidle start %idleTime.over
}

alias antiidle {
  if (($$1 isin start) && ($$2 isnum )) {
    /timerfirstact 1 2 /actidle
    /set %idleTime.over $$2
    /timerantiidle 0 30 /actIdle
    ;;/echo @highlights > Script anti idle launched : $+ $chr(32) $+ $$2  $+ $chr(32) $+ secondes
    /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
  ;; pour tous les utilisateurs de bases (aucun mode)
  while (%idle.ind < %idle.nb.regular) {
    ;; j affiche dans une fenetre speciale ( a commenter ou a créer )
    ;; /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
    ;; si il y a un depassement du temps autoriser >> action
    if ( $nick(#biere-entre-potes,%idle.ind,r).idle > %idleTime.over ) {
      ;; si une variable de type %pseudo existe
      if ($var( $chr(37) $+ $nick(#biere-entre-potes,%idle.ind,r),1) != $null) {
        ;; alors je l incremente
        /inc $var( $chr(37) $+ $nick(#biere-entre-potes,%idle.ind,r),1) 1 
        ;; si cette valeur est superieure a 2 alors je kick/ban
        if ( $var( $chr(37) $+ $nick(#biere-entre-potes,%idle.ind,r),1).value > 2) {
          /mode #biere-entre-potes +bb $nick(#biere-entre-potes,%idle.ind,r) $address($nick(#biere-entre-potes,%idle.ind,r),2)
          /kick #biere-entre-potes $nick(#biere-entre-potes,%idle.ind,r) $+ $chr(32) IDLE TIME OVER - temps de squattage maximum autoriser $+ $chr(32) $+  $calc(%idleTime.over / 60) $+ $chr(32) $+ minutes ( $+ %idleTime.over $+ $chr(32) $+ secondes) => $+ $chr(32) $nick(#biere-entre-potes,%idle.ind,r).idle $+ ( $+ $var( $chr(37) $+ $nick(#biere-entre-potes,%idle.ind,r),1).value $+ $chr(32) $+ fois, kick/ban à 3)
          ;; je detruit la variable %pseudo
          /unset $var( $chr(37) $+ $nick(#biere-entre-potes,%idle.ind,r),1)
        }
        ;;/echo @highlights >> $var( $chr(37) $+ $nick(#biere-entre-potes,%idle.ind,r),1).value
      }
      ;; sinon si la variable %pseudo n existe pas >> je la crée et je kicke
      else {
        /set % $+ $nick(#biere-entre-potes,%idle.ind,r),1) 1
        /kick #biere-entre-potes $nick(#biere-entre-potes,%idle.ind,r) $+ $chr(32) IDLE TIME OVER - temps de squattage maximum autoriser $+ $chr(32) $+  $calc(%idleTime.over / 60) $+ $chr(32) $+ minutes ( $+ %idleTime.over $+ $chr(32) $+ secondes) => $+ $chr(32) $nick(#biere-entre-potes,%idle.ind,r).idle $+ ( $+ $var( $chr(37) $+ $nick(#biere-entre-potes,%idle.ind,r),1).value $+ $chr(32) $+ fois, kick/ban à 3)
        ;;/echo @highlights >> $var( $chr(37) $+ $nick(#biere-entre-potes,%idle.ind,r),1).value
      }
    }
    ;; j incremente
    /inc %idle.ind 1
  } 
  ;; je detruis les variables pour eviter les residus accidentels
  unset %idle.ind
  unset %idle.nb.regular
}

A voir également

Ajouter un commentaire Commentaires
loulouzou Messages postés 58 Date d'inscription mercredi 21 novembre 2007 Statut Membre Dernière intervention 7 mars 2009
16 oct. 2008 à 19:28
fonctionne pas por moi chepa chez vous
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
18 juil. 2006 à 01:36
Tu le dis toi même:
"un anti idle de base !"
"Simple et efficace!"
Donc il est tout naturellement de niveau débutant. (pas super bien codé, pas dutout configurable...)
Mettre des commentaires c'est bien, en mettre trop ça devient absurde:
;; j incremente
/inc %idle.ind 1

D'ailleurs, inc %pouet va incrementer %pouet de 1 si aucun nombre n'est précisé, donc c'est inutile de le mettre

Quand au niveau initié...no comment...
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
15 juil. 2006 à 23:53
http://www.cppfrance.com/forum.v2.aspx?ID=778362
On attrape de mauvaises habitudes en C ??? nouveau ça, viens donc nous l'expliquer sur cppfrance.
talking Messages postés 343 Date d'inscription dimanche 30 novembre 2003 Statut Membre Dernière intervention 19 août 2006 1
15 juil. 2006 à 22:39
"Pour les variables c est une mauvaise habitudes du c , je prefere les desalouer a la mano"

-> Désalouer des variables ? Jolie expression. On peux avoir une démo ?
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
14 juil. 2006 à 23:18
on a tous nos habitudes pour coder mais une fois fini, regarde ce qui est fait et ce que tu peux amelioré
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.