Gerer les if....

Funik1 Messages postés 7 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 15 mai 2005 - 11 mai 2005 à 23:32
Funik1 Messages postés 7 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 15 mai 2005 - 15 mai 2005 à 19:59
Voilà j'ai besoin d'aide sur un script qui permet de "deop" quelqu'un
enregistrer sur le bot Q (qnet) qui n'a pas un certain mot dans son
pseudo (ex : le tag de la team)



Pour le script j'ai changer le chan et la tag pour pas puber, on dira que le chan est #momomo et le tag de l'équipe : JoeJoe.



Voici le script :



ON *:NICK:if (((JoeJoe !isin $newnick)
|| (JoeJoe !isin $nick)) && (($newnick isop #momomo) || ($nick
isop #momomo)) && ($me isop #momomo)) { .raw mode #momomo-o
$newnick }

ON *:OP:#momomo:{

if (($opnick Q) || ($opnick S) || ($me !isop #momomo)) return

if ((JoeJoe !isin $nick) && ($nick != Q) && ($nick != S)) { .raw mode #momomo-o $nick }

if (JoeJoe !isin $opnick) { .raw mode #momomo-o $opnick }

}






Mon soucis étant :



Acctuellement qqn nomé JoeJoe|tralala se connecte correctement, le bot n'agit pas. mais j'aimerai que les gens ayant : KoeKoe dans leur nick soir considéré comme JoeJoe, c'est à dire qu'il ne soit pas deop par le bot.



En gros la ca donne if joejoe n'est pas dans le nick sur #momomo, alors -o, moi je veux if joejoe OU koekoe n'est pas dans le nick sur #momomo, alors -o



merci de votre aide :)

12 réponses

fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
11 mai 2005 à 23:49
tu stock dans une %var les nom (pr ton exemple) JoeJoe et Koekoe

et tu remplace tes joejoe isin etc.. par des $istok(%var,$nick,32)



suis-je clair ?
0
Funik1 Messages postés 7 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 15 mai 2005
11 mai 2005 à 23:54
non, le script viens pas de moi mais d'un scripteur que je remercie au
passage, moi je n y connais pas grd chose en scripting irc, faut que je
m y mettes ;)



Peux tu me mettre le script complet si c'est pas trop demandé :p ?

FuNiK

Apprentit scripteur
0
MaX_62 Messages postés 879 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 29 juin 2007
12 mai 2005 à 17:11
Heu, ici c'est un forum d'aide, c'est pas le McDo...



-=[MaX_62]=-
0
Funik1 Messages postés 7 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 15 mai 2005
12 mai 2005 à 18:03
ok je vais faire avec, merci quand meme :)
0

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

Posez votre question
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
12 mai 2005 à 19:25
je t'explique simplement le principe



ds ton script, tu verifie si tel ou tel personne a 'joejoe' ecrit dans son nick



au lieu de verifier seulement pr 'joejoe', tu va verifier pour une
variable qui contiendra tous les noms que tu veux verifier (bon c'est
pas obligatoirement une %var mais c'est le plus simple)

en gros ds ton code , y'a 2-3 trucs a changer pr passer d'un cas general a un cas particulier



si tu est vraiment un 'apprenti scripteur', alors essaye de le faire par toi meme, y'a vraiment rien de compliqué.



indices:

set %goodtag JoeJoe KoeKoe

/help $istok
0
Funik1 Messages postés 7 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 15 mai 2005
12 mai 2005 à 23:51
Voilà j'ai add une var. au debut du script :



var %x = $istok(joejoe koekoe,$nick,32)



ensuite,j'imagine que je dois remplacer tous les "JoeJoe" acctuel par
cette variable mais comment ? tous simplement les remplacer par %x ?



merci de votre aide

FuNiK

Apprentit scripteur
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
13 mai 2005 à 17:39
c'est pas dutout ça

ta variable elle doit contenir les nom (joejoe et koekoe dans ton cas)

le istok te permet de savoir si un mot est dans une variable



j'aimerai que tu donne une explication simple mais detaillé de ce que
tu souhaite faire (ton code est vraiment horrible avec ts ces || et
&&)
0
Funik1 Messages postés 7 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 15 mai 2005
13 mai 2005 à 17:50
Bien c'est simple, je suis sur le resaux Quakenet, mon chan utilise le bot Q.



J'aimerai que si quelqu'un (d'authé) enregistré dans Q se connecte sur
le canal avec dans son nick JoeJoe ou KoeKoe, le bot n'agissent pas.

Maintenant, si la personne a PoePoe (c'est un exemple
) dans son nick, alors le bot lui inflige un -o pour de deop du chan.
Et ci cette meme personne change son nick et se remet en KoeKoe (ou
JoeJoe) je bot la remet OP.



PS : mon bot est biensur authé et +amnovg



Suis je clair

FuNiK

Apprentit scripteur
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
13 mai 2005 à 17:58
bon voila ce que je te propose (fait a l'arrache)



d'abord rajoute dans tes variables la var %goodnick qui contien les mot
sur lesquels tu veux que ça n'agisse pas (%goodnick JoeJoe KoeKoe)

ensuite copie que qu'il y a dessous dans tes remotes



ON *:NICK:{

var %i 1

while (%i <= $gettok(%goodnick,0,32)) {

if ($gettok(%goodnick,%i,32)!isin $newnick ||
$gettok(%goodnick,%i,32) !isin $nick && $newnick isop #momomo
|| $nick isop #momomo && $me isop #momomo) { .raw mode
#momomo-o $newnick }

inc %i

}

}





ON *:OP:#momomo:{

var %i 1

while (%i <= $gettok(%goodnick,0,32)) {

if (($opnick Q) || ($opnick S) || ($me !isop #momomo)) return

if (($gettok(%goodnick,%i,32) !isin $nick)
&& ($nick != Q) && ($nick != S)) { .raw mode #momomo-o
$nick }

if ($gettok(%goodnick,%i,32) !isin $opnick) { .raw mode #momomo-o $opnick }

inc %i

}

}



je n'ai pas testé et je n'ai rien changé au font de ton code
0
Funik1 Messages postés 7 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 15 mai 2005
14 mai 2005 à 00:08
marche toujours pas :( probleme d espace, ensuite je lai ai reglé, mais il accepte tous le monde en OP

FuNiK

Apprentit scripteur
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
14 mai 2005 à 00:38
si ton ancien code marchait, je vois pas pourquoi celui la ne marcherai plus

essaye peut etre de mettre des break dans chaque if ()
0
Funik1 Messages postés 7 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 15 mai 2005
15 mai 2005 à 19:59
non c'est pas ca, mais c'est pas garve, si tu veux comprendre je te donne la source, ca t'aidera peut etre.... :



add var %goodnick nick1 nick2



ON *:NICK:{

if ($me !isop #chan) return

var %i = 1

var %max = $gettok(%goodnick,0,32)

var %t = 0

while %i <= %max {

if ($gettok(%goodnick,%i,32) isin $newnick) {

var %t = 1

}

inc %i

}

if ((!%t) && (($nick isop #chan) || ($newnick isop #chan))) mode #chan -o $newnick

}



ON *:OP:#chan:{

if (($nick L) || ($opnick Q) || ($opnick == S) || ($me !isop #chan) || ($nick == $me)) return

var %i = 1

var %t = 1

var %max = $gettok(%goodnick,0,32)

while %i <= %max {

if ($gettok(%goodnick,%i,32) isin $opnick) var %t = 0

inc %i

}

if (%t) mode #chan -o $opnick

}

FuNiK

Apprentit scripteur
0
Rejoignez-nous