Script pour admin stressé affrontant une urgence.

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 392 fois - Téléchargée 17 fois

Contenu du snippet

L'idée étant que quand on a 20 clones qui débarquent d'un coup sur le chan, c'est chiant de perdre du temps à taper des commandes.
Du coup, on va dire que si on tape un message qui n'a qu'une lettre, ça serait pas mal que ça soit pour mettre un mode.
Les modes que j'ai sélectionné sont à peu près tout ceux qu'un utilisateur normal (pas ircOP ou NetAdmin) peut être amené à mettre sur un chan, suivant son statut. (attention, c'est pour un réseau particulier, les modes actifs sur ce réseau ne sont pas les même partout. - pour adapter, il faut modifier la série de chiffre (ascii des lettres de modes))
De plus, ce sont uniquement les modes qui n'ont qu'un seul paramètre.
Donc en gros, quand on tape "R", on met le mode +R.

Source / Exemple :


on 1:INPUT:#:{ 
  if (($len($1-) == 1) && (($me isop #) || ($me ishop #))) {
    var %cm 67,71,77,78,81,82,83,84,86,99,105,109,110,112,115,117,122
    if ($matchtok(%cm,$asc($1),0,44) == 1) { 
      bset -t &T 1 $chan(#).mode
      var %ccm $bvar(&T,1,$bvar(&T,0))
      if ($matchtok(%ccm,$asc($1),0,32) == 0) { mode # + $+ $1 }
      if ($matchtok(%ccm,$asc($1),0,32) == 1) { mode # - $+ $1 }
      haltdef
    }
  }
}

A voir également

Ajouter un commentaire

Commentaires

cs_wims
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1 -
Mdr, plusieurs remarque :

J'aime bien l'idée de base mais je trouve ton code complètement inutile en lui même.
Si quelqu'un clone, le but est de le savoir avec du code, dans le sens ou si on utilise ton code tel quel, il va plus nous pourrire la vie qu'autre chose et je suppose que tu es au courant de ça, du coup pourquoi ne pas faire un trucs qui detecte la présence de X clone sur un salon en Y seconde, et activé cet on input si on dépasse X clone en Y seconde, là ça deviens intéréssant ;).

Au niveau du code aussi ya de bonne absurdité.
L'utilisation des variables binaires, c'étais pour faire roxxor avoue non ? Parce que c'est completement injustifié même si c'est ton droit lol.

on 1:INPUT:#:{
Tu devrais utiliser on *:input:

if (($len($1-) == 1)
Tu devrais permettre de mettre plusieur mode d'un coup

Tu devrais également ne pas utiliser les variables binaire ici parce que ça ne fais que compliqué le script et le rendre illisible, ou du moins n'utilise pas les valeur ascii et ensuite $asc() qui ne fais que prendre du temps et des caractères ds le code pour rien

if ($matchtok(%cm,$asc($1),0,44) == 1) {
Tu doit utiliser $istok, qui est fait pour ça, $istok(%cm,$asc($1),44), voir même $istokcs ($matchtokcs existe aussi) parce que les mode salon sont sensible a la casse (R r,c C)

Ton code ne gère pas un mode comprenant des arguments, i/I, e, b, k....

Dernière chose, je vois dans l'historique :
"Remplacement de "$active" par "#", ça marche aussi bien."

j'espère que tu sais que tu dis ça parce que ton evenement ne fonctionne que sur des salons et est un on input, donc si ton event se déclenche, $active est forcément un salon, mais sinon dans un code # = $chan, donc pas forcément $active, là c'est le cas obligatoirement donc pas de soucis, c'étais juste au cas ou.

Voilà, la première remarque est la plus importante, ce bout de code reste peu utile en lui même :)
ouroumov
Messages postés
4
Date d'inscription
jeudi 6 septembre 2007
Statut
Membre
Dernière intervention
6 septembre 2007
-
okay, merci pour les remarques :p
effectivement, je devrais prendre l'habitude d'utiliser les "cs" plutôt que de me faire chier avec des &binvar.
Perso, le code ne me pourrit pas trop la vie vu qu'il est plutôt rare que j'envoie des messages d'une seule lettre (sauf l'habituel "k" qui n'est pas concerné par ce truc)
le "on *:", effectivement c'est mieux si je décide de me mettre un jours dans ma propre liste d'axx.
cs_wims
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1 -
C'est quoi les 'cs' ?

le "on *:", effectivement c'est mieux si je décide de me mettre un jours dans ma propre liste d'axx

Tu postes un code ici pour qu'il soit utile au autre, donc le code est avant tout pour les autres, donc ce n'est pas pour toi que tu change le 1 en * mais pour les 0,0098% pignioufs qui change leur propre levels d'utilisateurs :))
ouroumov
Messages postés
4
Date d'inscription
jeudi 6 septembre 2007
Statut
Membre
Dernière intervention
6 septembre 2007
-
cs case sensitive genre les $istokcs
okay, jtacherais de garder ça en mémoire
WorldDMT
Messages postés
882
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
6 janvier 2012
1 -
salut

@wims: pour ta remarque sur #/$active regarde bien l'event c'est "on *:input:#:" donc c'est presisé que c'est input sur un salon

@ouroumov:

au lieu de (($me isop #) || ($me ishop #))) tu peut aussi utiliser $nick(#,$me,oh) :)

j'esprer que ça peut te donner des idée voilà ce que tu peux faire aussi si tu veux

on *:INPUT:#:{
if ($len($1-) == 1) && ($nick(#,$me,oh)) {
var %cm C,G,M,N,Q,R,S,T,V,c,i,m,n,p,s,u,z
if $istokcs(%cm,$1,44) {
mode # $iif($1 isincs $chan(#).mode,-,+) $+ $1
}
}
}

mais faut aussi permetre plusieurs mode comme wims l'a dis

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.

Du même auteur (ouroumov)