Z16Howner
Messages postés2Date d'inscriptionvendredi 18 août 2006StatutMembreDernière intervention21 août 2006
-
20 août 2006 à 05:20
Z16Howner
Messages postés2Date d'inscriptionvendredi 18 août 2006StatutMembreDernière intervention21 août 2006
-
21 août 2006 à 09:02
Help!
J'ai trouvé se code :
alias random {
if ($1 == $null) { halt }
if ($me ison $1) { goto ifok }
else { halt }
:ifok
set %random.chan $1
set %random.a $nick(%random.chan,0)
return $nick(%random.chan,$rand(0,%random.a))
unset %random.a
unset %random.chan
}
Je voudrai l'utilisé pour mes slaps.
on 1:TEXT:!quiprendqui*:#: /msg $chan S'est $random qui prend $random
Je n'e s'est pas associer les 2 codes
Thx pour un coup de pousse :)
Panthouffle
Messages postés281Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention14 avril 2008 20 août 2006 à 18:08
Logiquement si y'a qu'une personne sur le chan, c'est bien celui qui possède le code, donc pas nécèssaire de mettre une condition pour ça puisqu'on peut pas se utiliser un "on text" nous même
J'ai retoucher un peu ton code Arkanis, donc en gros sa donne ça:
on *:text:!quiprendqui:#:{
var %a, %b
while (%a == %b) var %a $nick($chan,$r(1,$nick($chan,0))), %b $nick($chan,$r(1,$nick($chan,0)))
msg $chan C'est %a qui prend %b
}
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009 20 août 2006 à 11:40
pourquoi pas directement $nick($chan,$r(1,$nick($chan,0))) ?
dans ton alias, tes deux "unset" ne servent à rien car ils sont placés après le RETURN
Au passage, il est vraiment très mal codé ce $random ^^
0/10 pour l'auteur
Panthouffle
Messages postés281Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention14 avril 2008 20 août 2006 à 16:17
Et puis faut faire gaffe à ne pas se prendre avec soi-même non ?
on *:text:!quiprendqui*:#:msg $chan C'est $nick($chan,$r(1,$nick($chan,0))) qui prend $nick($chan,$r(1,$nick($chan,0)))
Cette manière pourrait être bonne mais elle ne vérifie pas à ce que les deux nicks choisis ne sois pas les mêmes...
J'opterais plutôt pour cette méthode (en plus le goto est utile contrairement au code la haut...)
alias random :revar | var %a $nick($1,$r(1,$nick($1,0))) , %b $nick($1,$r(1,$nick($1,0))) | if (%a != %b) return C'est %a qui prend %b | else goto revar
on *:text:!quiprendqui*:#:msg $chan $random($chan)
Du même avis que S333 et Arkanis pour le code la haut
Vous n’avez pas trouvé la réponse que vous recherchez ?
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009 20 août 2006 à 16:31
bof la goto :x
tu peux faire deux raisons pour une boucle infinie :
si $1 n'est pas un salon
s'il n'y a qu'une personne sur le salon
alias random {
if (($1 !ischan) || ($nick($1,0) <= 1)) return
var %a, %b
while (%a == %b) var %a $nick($1,$r(1,$nick($1,0))) , %b $nick($1,$r(1,$nick($1,0)))
}
autant le faire dans le ON TEXT, ce qui évite une des deux protections (anti boucle infinie)
on *:TEXT:!quiprendqui:{
if ($nick($chan,0) > 1) {
var %a, %b
while (%a == %b) var %a $nick($1,$r(1,$nick($chan,0))), %b $nick($1,$r(1,$nick($chan,0)))
msg $chan C'est %a qui prend %b
}
}