cs_simoi
Messages postés87Date d'inscriptionsamedi 1 janvier 2005StatutMembreDernière intervention19 juillet 2008
-
15 mai 2007 à 10:36
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009
-
18 mai 2007 à 21:07
bjr voici mon ptit prob surement que quelqu'un peu m'aider ?!
alias essai {
var %a 1
var %b = $count(bal,%lis)
while (%a <= %b) {
var %pos = $pos(bal,%lis,%a) var %fin $iif(%pos 1,$+(%lis,$right(bal,-1),$+($mid(bal,1,$calc(%pos - 1)),%lis,$mid(bal,$+($calc(%pos + 1),-))))))
/msg $chan 2;3;5 %fin
inc %a
}
}
on 1:text:!*!:#: {
set %lis $mid($1,2,1) {
if (%lis isletter bal is bal) /essai
}
}
;!l! me donne ceci : pas de msg
;!a! me donne ceci : pas de msg
;!b! me donne ceci : al3al
;le but est de remettre la lettre (!*!) a la bonne place ??
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 15 mai 2007 à 20:58
Ok, il y avait quelque erreurs en fait, notamment au niveau des parentheses :
alias essai {
var %f phrase ,%a 1 ,%b = $count(%f,$1)
while (%a <= %b) {
var %pos = $pos(%f,$1,%a) var %fin $iif(%pos 1,$+($1,$right(%ga!,-1)),$+($mid(%ga!,1,$calc(%pos - 1)),$1,$mid(%ga!,$+($calc(%pos + 1),-)))))
set %ga! %fin
inc %a
}
}
Donc dans l'alias, %f represente la phrase entière ( je suppose que c'est ce que les autres doivent trouver ), remplace phrase par là ou tu stock cette phrase.
%ga! represente la phrase que les autres peuvent voir ( au début je suppose que ce ne sont que des * ) donc tu remplace aussi par là ou tu stock ce que peuvent voir les autres.A la fin, le /set sert a modifié la variable que les users vont voir.
cs_simoi
Messages postés87Date d'inscriptionsamedi 1 janvier 2005StatutMembreDernière intervention19 juillet 2008 17 mai 2007 à 17:14
akanis
le but de mon alias est :
kan une pers. tape une lettre (!*! ) est ke cette lettre se trouve dans la phrase,cela l'a met a la bonne place idem si la lettre est a plusieurs place dans la phrase
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009 17 mai 2007 à 21:21
regarde ce que j'avais fait comme pendu
alias pendu echo -a Nouveau pendu : !pendu <#salon> en PV :: Ensuite pour jouer sur #salon : !pendu <lettre|mot|phrase>
on *:text:!pendu *:*:{
tokenize 32 $strip($1-)
if (!$2-) return
if (!$chan) {
;"!pendu #salon mot, expression" en privé pour lancer un nouveau pendu sur #salon
if (!$3) return
if ($left($2,1) != $chr(35)) return
if ($hget(Pendu)) hfree Pendu
hadd -m Pendu Salon $2
hadd -m Pendu Mot $3-
var %r $regsubex($hget(Pendu,Mot),/[a-z]/ig,_)
hadd -m Pendu Masque %r
msg $2 Pendu - Nouveau mot : $regsubex(%r,/(_+)/g,$+($str(_,$len(\t)),$chr(40),$len(\t),$chr(41))) $+($chr(40),Proposé par $nick,$chr(41))
}
elseif (($chan == $hget(Pendu,Salon)) && ($hget(Pendu,Mot))) { var %r $hget(Pendu,Masque), %e $2-, %p = $pos($hget(Pendu,Mot),%e,0)
while %p { var %s $calc($pos($hget(Pendu,Mot),%e,%p) -1), %m $+(/^,$left(%r,%s),$chr(40),$str(.,$len(%e)),$chr(41),/i), %r = $regsubex(%r,%m,$+($left(%r,%s),%e))
dec %p
}
if ($pos($hget(Pendu,Mot),_,0) == $pos(%r,_,0)) {
msg $chan Bravo, vous avez réussi ce pendu ! Il s'agit effectivement de : $hget(Pendu,Mot)
hdel Pendu Mot
}
elseif (%r != $hget(Pendu,Masque)) {
hadd -m Pendu Masque %r
msg $chan Pendu : %r
}
else msg $chan Faux $nick !
}
}
Il ne remplace que les lettres par _ (il ne remplace ni les accents ni les chiffres)
On peut également taper !pendu "plusieurs lettres".
Par exemple, si la phrase est Ga is Ga exemple (comme ça Wims sera content :p)
Pour déclarer (en privé)
!pendu #tonsalon Ga is Ga exemple
-> Nouveau pendu : __(2) __(2) __(2) _______(7)
!pendu Ga
-> Pendu : Ga __ Ga _______
!pendu si
-> Faux
!pendu i
-> Pendu : Ga i_ Ga _______
!pendu s Ga
-> Pendu : Ga is Ga _______
!pendu em
-> Pendu : Ga is Ga __em___
!pendu exemple
-> Bravo, vous avez réussi ce pendu ! Il s'agit effectivement de : Ga is Ga exemple
Tu peux adapter un peu et mettre des étoiles si ça t'amuse :)
Si tu as besoin d'aide pour le modifier, n'hésite pas
J'espère que ça te conviendra
cs_simoi
Messages postés87Date d'inscriptionsamedi 1 janvier 2005StatutMembreDernière intervention19 juillet 2008 18 mai 2007 à 20:34
Bon désolé cla marche toujours pas
alias essai {
; qest.txt contient ma phrase ex: le chien
; qoit.txt contient ma phrase ex: ¤¤ ¤¤¤¤¤
var %f = $read(qest.txt)
var %b = $count(%f,$1)
while %a <= %b) {
var %pos = $pos(%f,$1,%a) var %fin $iif(%pos 1,$+($1,$right($read(qoit.txt),-1)),$+($mid($read(qoit.txt),1,$calc(%pos - 1)),$1,$mid($read(qoit.txt),$+($calc(%pos + 1),-))))
set %ga %fin
/msg $chan %fin
inc %a
}
}
on 1:text:!*!:#: {
var %f = $read(qest.txt)
if ($mid($1,2,1) isletter %f ) essai $v1
}
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009 18 mai 2007 à 21:07
les $read lisent une ligne aléatoire, "le chien" ne correspondra donc pas à "¤¤ ¤¤¤¤¤", sauf chance incroyable ...
utilise ça : var %masque = $regsubex(ta phrase,/[a-z]/ig,¤)
while %a <= %b) {
il manque une ( ...
le / devant msg ne sert à rien