Aide pour un script

cerbere17 Messages postés 2 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 13 juin 2008 - 28 juin 2004 à 17:12
fanatik75 Messages postés 10 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 31 mai 2005 - 30 mai 2005 à 00:15
voilà je voudrai un script pour kicker une personne qui slappe ou pour spam au bout de trois avertissements. es ce possible et si oui comment faire... je suis tout nouveau en scripting et je ne comprends pas encore tout. j'ai besoin de ce coup d epouce pour mon chan .

Merci d'avance

10 réponses

cs_Huitre Messages postés 290 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 29 février 2008
28 juin 2004 à 20:10
On *:action:#: {
if ( slap isin $1-) {
if (!$hget($nick)) hmake $nick 3 | hadd $nick a 1
if ( $hget($nick,a) < 2 ) {
 hadd $nick a $calc($hget($nick,a) +1) 
msg $chan Stop slap $nick , $hget($nick,a) avertissement ! 3 eme c le kick !
}
else kick $nick Stop slaps ! 3 eme avertissement !
}
}


Bon g pas tester cet anti slap mais en principe ca devrait marcher !

Precise pour ton anti spam car tu es trop vague,
0
cs_maaars Messages postés 111 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 14 août 2005
28 juin 2004 à 23:24
coucou

HatMan a fait ce code qui pourai te plaire ( il te reste juste a l'adapter )

http://www.ircfr.com/code.aspx?ID=14829

('' )
0
Kerrigan Messages postés 708 Date d'inscription lundi 15 juillet 2002 Statut Membre Dernière intervention 17 mars 2005
29 juin 2004 à 12:51
Huitre :
hadd $nick a $calc($hget($nick,a) +1)

devient :
hinc $nick a

plus simple non ? lol
jolie code ceci dit simple conci que demander de mieux.
Ha oui je sais quoi reprocher lol. Le code pourrait creer trop de hashtable, ce qui pourrait nuire a la bonne marche du script.
donc sur ta base je te propose cette petite optimisation :

On *:action:#: {
if (slap isin $1-) {
if (!$hget(slaps).size) hmake slaps 10 | hadd slaps $nick 1
if ( $hget(slaps,$nick) < 2 ) {
hinc slaps $nick
msg $chan Stop slap $nick , $hget(slaps,$nick) avertissement ! 3 eme c le kick !
}
else kick $nick Stop slaps ! 3 eme avertissement !
}
}

wala rien de très sorcier tu aurais pu le faire sans problème.

j'ai entedu dire que parfois les hastable se vidaient sans raisons ... c'est vrai ? ou le bug a été corrigé ?
0
cs_Huitre Messages postés 290 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 29 février 2008
29 juin 2004 à 22:13
Oui c vrai, mais bon g fait a la va vite je rentrer du taff =)
Ceci bonne optimistation :)
Pour les hash tables qui se vide ce n est point une legende urbaine, celle ci se vide toutes seules des fois, g remarquer qu avec des &binvar je n avais pas ce probleme, voila =)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Kerrigan Messages postés 708 Date d'inscription lundi 15 juillet 2002 Statut Membre Dernière intervention 17 mars 2005
30 juin 2004 à 14:09
merci Huitre :)
0
fanatik75 Messages postés 10 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 31 mai 2005
29 mai 2005 à 20:57
il faut le placer dans remote ?

On *:action:#: {

if (slap isin $1-) {

if (!$hget(slaps).size) hmake slaps 10 | hadd slaps $nick 1

if ( $hget(slaps,$nick) < 2 ) {

hinc slaps $nick

msg $chan Stop slap $nick , $hget(slaps,$nick) avertissement ! 3 eme c le kick !

}

else kick $nick Stop slaps ! 3 eme avertissement !

}

Si c le cas sa marche pas pour moi :(
0
MaX_62 Messages postés 879 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 29 juin 2007
29 mai 2005 à 21:35
Je te propose ce code a la place :
on *:ACTION:#:{
if (slap isin $strip($1-)) {
inc %slaps [ $+ [ $nick ] ]

}
}



-=[MaX_62]=-
0
fanatik75 Messages postés 10 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 31 mai 2005
29 mai 2005 à 22:20
mais ce code il faut le placer ou ? dans remote ?
(dsl jsuis un gros debutant ^^ )
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
29 mai 2005 à 22:30
on *:ACTION:#:{

if (slap isin $strip($1-)) {

inc %slaps [ $+ [ $nick ] ]

if (%slaps [ $+ [ $nick ] ] < 2) { msg $chan Stop slap $nick , $v1 avertissement ! 3 eme c le kick ! }

esleif (%slaps [ $+ [ $nick ] ] == 3) { kick $nick
Stop slaps ! 3 eme avertissement ! | unset %slaps [ $+ [ %nick ] ] }

}

}



(j'ai juste complété le code de max)

tu dois mettre ce code dans tes remotes (alt + r)
0
fanatik75 Messages postés 10 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 31 mai 2005
30 mai 2005 à 00:15
merci mais apparament sa marche pas :/
0