Detetcer la presence d'un nick ds un frase

cs_ido Messages postés 30 Date d'inscription jeudi 21 novembre 2002 Statut Membre Dernière intervention 9 juin 2004 - 30 sept. 2003 à 11:36
hackoustik Messages postés 81 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 8 février 2007 - 18 oct. 2003 à 08:49
salut !
Kan kelkun parle sur un salon, si ds sa frase ya un nick, celui si est reconnu par mirc et deviens clicable.

Moi ske j'aimerais faire c a peu pres pareil...
Je voudrais detecter la presence d'un pseudo dans un frase.

Une possibilité serais de passé la frase mot par mot et de la comparer a la nicklist mais bon niveau optimisation, ya mieu je pense...

Alors si vous avez une solution :)

iDo

8 réponses

Alerion Messages postés 97 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 7 juillet 2004
1 oct. 2003 à 23:58
Fait l'inverse, compare la nickliste à la phrase...

var %i = 1
while(%i < $nick($chan,0)) {
if ($nick isin $1-) { ce que tu veux faire... | halt }
}

:)
Et Quidni!
0
cs_ido Messages postés 30 Date d'inscription jeudi 21 novembre 2002 Statut Membre Dernière intervention 9 juin 2004
2 oct. 2003 à 00:39
oui, c a peut pres la methode que j'ai utlisé :)
Merci :)

domage ke yé pas une fonction native pour faire ça :/

iDo
0
jujuquatre Messages postés 274 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 24 août 2004
2 oct. 2003 à 07:16
~~~~~~~~~
JuJuQuArTrE
~~~~~~~~~

Et comment on pourrai faire pour que le nick soit en gras ?

Mci ++
0
cs_ido Messages postés 30 Date d'inscription jeudi 21 novembre 2002 Statut Membre Dernière intervention 9 juin 2004
2 oct. 2003 à 09:38
alias suivit {
; on converti la frasen en token
set %var1 $replace($2-,$chr(32),$chr(44))

var %scanpseudo = 1
:scan01
;on extrait mot a mot
set %pseudo $gettok(%var1,%scanpseudo,44)
if (%pseudo == $null) { goto end01 }
set %var2 NON
if (%pseudo ison $1) {
;si le mot corespond a un pseudo
set %var2 OUI
goto end01
}
inc %scanpseudo
goto scan01

:end01

unset %var1
unset %scanpseudo

;si on a trouvé un pseudo
;celui ci se trouve dans la variable %pseudo
;si yavais pas, %pseudo = null
if (%var2 == OUI) {
unset %var2
return %pseudo
unset %pseudo
}
else {
unset %var2
return null
unset %pseudo
}

}

Voila, avec ça, en gros, tu fait
%pseudodugars = $suivit($chan, $1-)
et
%pseudodugars prendra la valur du nick qui est di ds la frase

Par contre, si ya plus d'un nick ds la frase, les autre sont ignoré :/
iDo
0

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

Posez votre question
Alerion Messages postés 97 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 7 juillet 2004
2 oct. 2003 à 20:00
voui, j'ai planché un peu aussi à ton truc, voici un petit alias qui retourne les pseudos, et en prime, pour juju les "inverses" (au lieu de gras) dans la phrase.

alias pseudo-texte { ; $1 $chan et $2- la phrase: retourne $null ou les pseudos
; (et pour jujuquartre %texte la phrase avec les pseudo en reverse...) :o)
set %texte = $2-
var %i = 1
while (%i <= $nick($chan,0)) {
var %nick = $nick($chan,%i)
if ( %nick isin %texte ) {
set %texte $replace(%texte,%nick, $chr(22) $+ %nick $+ $chr(22))
var %pseudo-texte = %pseudo-texte %nick
}
inc %i
}
return %pseudo-texte
}
; ************************ ************** *********** ************ exemple d'utilisation
on 1:text:*:#:{
echo $chan $nick $+ : %texte :: $pseudo-texte($chan,$1-)
}

j'ai testé, ça marche bien...

:)
Et Quidni!
0
jujuquatre Messages postés 274 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 24 août 2004
2 oct. 2003 à 20:10
~~~~~~~~~
JuJuQuArTrE
~~~~~~~~~

Okay merci :)
0
hackoustik Messages postés 81 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 8 février 2007
18 oct. 2003 à 08:48
on ^1:texte:*:#:{ var %cpt 1, %total $nick(#,0), %texte = $1-
while %cpt <= %total {
var %nick = $nick(#,%cpt)
if %nick isin %texte {
%texte = $replace(%texte,%nick, $+ %nick $+  )
}
inc %cpt
}
echo -a %texte
}

essai ca sa devrait marcher, jte lé fait de tete jai pas le temps de tester, et le  biensur cest un CTRL B
0
hackoustik Messages postés 81 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 8 février 2007
18 oct. 2003 à 08:49
oups g fait une erreur, dans ON TEXT <--- g mis un E lol fo lenlever ;)
0
Rejoignez-nous