Remote de comptabilisation join/part qui foire a moitié

PatchankaBZH Messages postés 8 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 mai 2008 - 22 mai 2008 à 23:08
PatchankaBZH Messages postés 8 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 mai 2008 - 29 mai 2008 à 11:47
hello all :p


voilà je suis nouveau sur le forum ainsi qu'en script IRC et j'ai
essayé, sur mon propre chan, de créer un remote permettant de
comptabiliser le nombre d'users sur un seul et meme chan, c à d qu 'a
chaque "join" ou "part" un message apparaisse pour dire qu il reste "x"
users sur ce chan...

bon je l'ai réussi qu a moitié : je m'explique : pour le "join" c'est bon, le texte apparait, et le calcul se fait

pour le "part", la phrase ne s'affiche pas mais le calcul se fait quand
meme, c à d que si je me déconnete puis me reconnecte le nombre d'users
s'est calculé...


donc voici le remote proprement dit :


on *:join:#: {

  if ( $chan == #nom_du_chan ) { /inc %var +1 | /msg $chan �3;Bonjour
$nick ! Tu es le %var ème user connecté sur ce salon ! Un petit coucou
ne fait jamais de mal !

}

on *:part:#: {

  if ( $chan == #nom_du_chan ) { /inc %var -1 | /msg $chan Maintenant nous ne sommes plus que %var user sur ce salon !  | halt }

}


donc je recommence :


sur le 1er remote "on:join" : pas de p, le message s'affiche et le
calcule de variable se fait --> tout en sachant que je mets en +
dans l'onglet variable --> %val"nb_exact_d_'_users" --> par
exemple,  %val 6 si il ya 6 users sur le chan a la création du
remote........bref, ça marche donc pas de p...


sur le 2ème remote on:part : là ça se corse : le calcul de variable se
fait --> %val -1, mais le hic c'est que le texte : "Maintenant nous
ne sommes plus que %var user sur ce salon ! " ne s'affiche pas...là je
comprend plus...(pour vérifier ça j'ai 2 PC donc je vois les quit et
join de chaque user --> enfin de 2 users différents)


donc si qq'un a une astuce sur ce remote qu'il me le dise s.v.p, j'ai essayé pas mal de trucs genre :


- remplacer /inc par /dec dans le 2ème remote "on:part"... --> apparemment ça calcule %var -1 de base...


- remplacer "on:part" par "on:quit"... ou bien mettre les 2 comme ça a chaque quit ou part ça calcule qd meme...


et pis d'autres trucs dont je dirais rien car j'ai honte,et oé y'a un début a tout en script IRC


donc voilà si qq'un peut m'éclairer sur ce problème je suis preneur


j'éspère avoir été assez clair sinon n'hésitez pas a me poser des
questions j'y répondrais le + rapidement possible et les plus
clairement possible
A voir également:

14 réponses

PatchankaBZH Messages postés 8 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 mai 2008
23 mai 2008 à 10:41
bon, en fouillant un peu sur ce site j'ai trouvé ça --> http://www.ircfr.com/infomsg_REMOTE_886988.aspx

je comprends pas trop mais avec cette méthode ça marche, j'ai juste changé ma variable, au lieu de %var j'ai mis %nombreuser et ça marche, j'ai bien le texte quand qq'un quit mon chan...pourtant le remote est quasi le meme voir identique m'enfin bon...

voilà un problème auto-résolu :p

@ ++
0
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
24 mai 2008 à 17:29
pourquoi ne pas utiliser $nick($chan,0) ?

on *:join:#tonsalon:msg $chan �3;Bonjour $nick ! Tu es le $+($nick($chan,0),ème) user connecté sur ce salon ! Un petit coucou ne fait jamais de mal !

petit détail, pour enlever 1, tu utilises /dec (decrease) au lieu d'increase -1
0
PatchankaBZH Messages postés 8 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 mai 2008
25 mai 2008 à 08:53
ok je vais tester merci RCA Arkanis

sinon j'ai un autre soucis en ce moment, du meme style...
pour les "quit", je remet a priori le meme remote que pour lers part et là surpirse ça ne marche pas non plus...

je l'ai re fait plusieurs fois et nada...ça ne marche pas...la phrase ne s'affiche pas et le compteur ne compte plus :p
0
PatchankaBZH Messages postés 8 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 mai 2008
25 mai 2008 à 09:17
bon ben aucun calcul ne se fait avec ton script o_O
c à d qu'avec ton remote je suis toujours le seul user meme si on est 10...pliz help !
0

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

Posez votre question
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
25 mai 2008 à 14:59
Lors d'un on join, mIRC ne connait pas encore le nombre d'user sur le salon, il ne voit que toi, mIRC envois un /names pour connaitre tout ça, tu peux donc attendre la fin des /names (raw 366 si jme souviens bien) pour connaitre ça, sinon un petit timer sur le on join le fait aussi
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
25 mai 2008 à 15:06
Ah pour le on quit, c'est pas le même format que les on join et part (/help quit)
0
PatchankaBZH Messages postés 8 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 mai 2008
25 mai 2008 à 18:56
wims, merci de ta réponse et de ton aide
pourrais tu etre + précis en ce qui concerne le "format" du on:quit stp (dsl je débute hein :p)
je suppose que c'est l'intégralité du script qui est faux car je l'ai tourné et retourné dans tout les sens, là je sèche un peu

copie de ce que j'ai :

on *:quit:#:{
  if ( $chan == #Nom_du_salon ) { /dec %var | /msg $chan Maintenant nous ne sommes plus que %var users sur ce salon ! | halt }
}

--> merci d'avance !
0
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
25 mai 2008 à 19:04
le ON QUIT n'utilise pas de salon, ton :#: est donc faux et $chan ne renvoie rien (cf l'aide quoi ... tape /help on quit)
Tu peux peut-être utiliser ison, mais je ne sais pas à quel moment le ison est mis à jour. Teste, de toute façon comme ça tu seras fixé ^^

Les / ne servent à rien à part indiquer que tu débutes. Il en est de même pour le halt dans ton cas.
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
25 mai 2008 à 19:05
Tu as regardé l'aide sur l'evenement on quit ?
Vu que le format n'est pas le même forcément ça marche pas, /quit te déconnecte d'un server donc il n'y a pas de parametre pour le salon, tu doit simplement vérifié que le nick étais bien sur le salon. pour ça tu regarde tout les salon commun avec le nick :

on !*:quit:if ($istok($regsubex($str(a,$comchan($nick,0)),/(a)/g,$+($comchan($nick,\n),$chr(32)),#salon,32))
 { dec %var | msg #salon Maintenant nous ne sommes plus que %var users sur ce salon ! }

Devrait fonctionner
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
25 mai 2008 à 19:38
Ma methode n'est p-e etre pas très clair, je t'explique un petit peu :
$regsubex permet d'imiter une boucle sur $comchan($nick,0) (qui retourne le nombre de salon commun avec le nick) je match tout les "a" qu'il y a (sachant que j'en met autant qu'il y a de salon commun, et sur chaque match, je remplace le "a" par le nom du Nieme salon commun suivis d'un espace (le \n vaut le Nieme match) pour se retrouvé avec un truc du style "#salon1 #salon2 #salon3" ensuite je regarde simplement si ton #salon existe parmis cette liste avec $istok

La methode la plus utilisé ici aurait été une boucle /while, mais cette methode permet de n'avoir qu'une ligne de code ;)
0
PatchankaBZH Messages postés 8 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 mai 2008
26 mai 2008 à 07:24
berf je tete ça en rentrant du taf touyt  l'heure

encore merci ^^
0
PatchankaBZH Messages postés 8 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 mai 2008
27 mai 2008 à 16:33
bon ben après moulte et moulte essai et meme avec ton remote wims, je n'arrive pas a comptabiliser les quit :(
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
27 mai 2008 à 19:21
Poste le code entier qui intervient la dedans, ton on join part, quit etc, cela ne sert a rien d'utiliser une variable, regarde bien les réponses a tes questions.

on !*:join:#:msg $chan Nous sommes maintenant $nick($chan,0) users sur le salon
on !*:part:#:msg $chan Nous sommes maintenant $nick($chan,0) users sur le salon
on !*:quit:tokenize 32 $regsubex($str(a,$comchan($nick,0)),/(a)/g,$+($comchan($nick,\n),$chr(32))) | scon -r msg $* Nous sommes maintenant $!nick( $* ,0) users sur le salon

Je suis presque certain que ces trois lignes te conviendront.
0
PatchankaBZH Messages postés 8 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 mai 2008
29 mai 2008 à 11:47
ah ! ça marche mieux !
pour l'instant le message ne dit qu il y a un seul user mais peut etre faut il attendre que les autres se déconnectent ou quittent le chan

j'te dirais ça dès que j'en saurais + wims et merci encore !
0
Rejoignez-nous