Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ANTI IDLE !!! UN DE PLUS


Information sur la source

Catégorie :Scripts Classé sous : anti, idle, nick, ban, kick Niveau : Initié Date de création : 14/07/2006 Date de mise à jour : 14/07/2006 14:32:09 Vu : 5 842

Note :
Aucune note

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

Description

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

  • ;;;;;;;;;;;;;;;;;;;;;;;;;;; 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
  • }
;;;;;;;;;;;;;;;;;;;;;;;;;;; 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
}

Historique

14 juillet 2006 14:32:09 :
Perspective d evolution du script

Commentaires et avis

signaler à un administrateur
Commentaire de gentilhommerouge le 14/07/2006 14:32:14

:o
yeah, il tourne comme une horloge ce script, j'en avait deja dl queklques uns pour tester, et là je suis bluffé, efficace, leger, mon epave apprecie.

signaler à un administrateur
Commentaire de Panthouffle le 14/07/2006 16:41:00

J'ai pas testé mais en lisant le code, j'ai vu qu'il y avait un nom de salon à quelques places dans ton code (#biere-entre-potes), les slash "/" sont inutiles..

signaler à un administrateur
Commentaire de wims le 14/07/2006 17:56:32

Pourquoi reposter un anti-idle si il y en a déja?

# 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
# }

Raison du kick ¿
Met des points devant les commandes /timer
au lieu de ton /goto done, met un /return
Utilise des /var au lieu de /set, %%idleTime.over est inutile
set %idle.nb.regular $calc($nick(#biere-entre-potes,0,r) + 1)
Pourquoi un + 1 ?

signaler à un administrateur
Commentaire de RCA ArKanis le 14/07/2006 19:52:41

Wims : "au lieu de ton /goto done, met un /return"
utilise plutôt else ...
"Je pourrais mettre du elsif mais c est pareil !! vidage du pipe !"
justement non, c'est très moche le goto

j'avais déjà commenté ton code quand tu l'avais déposé en commentaire sur une autre source ...
donc, comme l'a dit wims, pense à utiliser /var plutôt que /set
tu ne respectes pas ta propre règle n°2 :
;; Règle 2 : une variable locale ne coute rien et augmente les perfs

(je répète) la variable idletime.over est absolument inutile ...

je suppose que le +1 c'est pour ça :
while (%idle.ind < %idle.nb.regular) {
tu connais pas <= (inférieur ou égal) ?

Niveau initié ça ?
j'aurais dit expert ^^

signaler à un administrateur
Commentaire de wims le 14/07/2006 20:50:36

J'avais pas vu le initié :')

Dans ton alias actidle, stock dans une var local le $nick() pour ne pas reévaluer a chaque fois
Pour kick ban > ban -k

signaler à un administrateur
Commentaire de elkwi le 14/07/2006 21:31:20

prochaine evolution Wims !!!! merci pour la remarque !!!
(( en plus je le sais !!!! mouarf ))
Pour les variables c est une mauvaise habitudes du c , je prefere les desalouer a la mano

signaler à un administrateur
Commentaire de wims le 14/07/2006 23:18:00

on a tous nos habitudes pour coder mais une fois fini, regarde ce qui est fait et ce que tu peux amelioré

signaler à un administrateur
Commentaire de talking le 15/07/2006 22:39:54

"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 ?

signaler à un administrateur
Commentaire de BruNews le 15/07/2006 23:53:49 administrateur CS

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.

signaler à un administrateur
Commentaire de fjxokt le 18/07/2006 01:36:16

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...


Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

recherche anti-ban anti-kick.... [ par TaitsuO ] J'aimerai trouver un anti-kick et un anti-ban assez puissant, ceux que j'ai trouver ici ne marche pas si bien que ça (dsl...) et je ne suis pas trés b besoin d aide urgente pour bote de moderation [ par yvesman ] bonjourpouvez vous m aider le bot uune fos le processus lance s emballe et ne fait plus la difference entre bons et mauvais mots (+ plantages divers)m aidez moi svp c important [ par yvesman ] bonjour voila le probleme: j'essaye ((deseperement) sic! vu mon niveau) de creer un bot de moderation qui doit etre mis urgemment sur un server avc de Aidez moi [ par reva94 ] kelk1 pourai me crée un anti flood : - au bout de 4 phrases en flood il le kick ban 5 min anti-pub : 1 er pub Qui avertit 2 eme pub qui kick 3 emem p pourquoi ce script anti j/p ban les mecs qui /hop??? [ par int3r_ ] Bonjour, Voilà c'que j'ai dans le remote ;anti join-part ON *:JOIN:#monChan: { set %join. [ $+ [ $nick ] ] 1 .timerunset 1 60 unset %join. [ $+ Anti flood [ par Zqokmi ] kelkun pourai me dire ski va pas ds mon anti-flood ? on *:text:*:#:{ inc -u2 %flood $+ $nick if %flood [ $+ [ $nick ] ] >= 3 { ban -u900 # $nick 2 } Kick Ban no réponse [ par Newbieeeeee ] Salut tous le monde, serait til possible que quand je auto ban kick ctcp avec ce script!!!on !*:join:#abcedf:ctcp $nick versionon *:ctcpreply:version* il y a un probleme là [ par WorldDMT ] salutc'est au cas qu'il y a ban sur un mask ( par exp: +b *!*@120.120.120.12 ) tout les nick qui se raportent a ce mask doivent etre kick bon j'ai fai Remote averto , kick et après ban [ par tim01 ] Bonjour,Voilà j'essaye de coder un anti spam et badwords, voilà mon code On *:TEXT:*pute*:#:{    if ( %pute &lt;= 1 | halt ) { /inc %pute $+ $nick 1 | traceur de kick && ban [ par moho1 ] bonjour à tt, C'est la premiere fois que je poste une question ici lol, parce que je vois que c'est un bon site pour scripting et autre truc. Là je vo


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.