Anti idle !!! un de plus

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 358 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
Messages postés
58
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
7 mars 2009

fonctionne pas por moi chepa chez vous
Messages postés
840
Date d'inscription
vendredi 28 janvier 2005
Statut
Membre
Dernière intervention
25 février 2009
1
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...
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
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.
Messages postés
343
Date d'inscription
dimanche 30 novembre 2003
Statut
Membre
Dernière intervention
19 août 2006
1
"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 ?
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
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.