Souci de On quit

Résolu
Soprano71 Messages postés 107 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 janvier 2009 - 11 nov. 2008 à 16:36
 cs_PosTiCh - 21 nov. 2008 à 12:50
bonsoir tous le monde.

voila je souhaiterai savoir pourquoi le code si dessous ne m'indique pas les quit imposé par le serveur ou bien meme les quit voulu par l'user .

code :

on *:[javascript:mhlp('onquit#e_quit'); quit]:{[javascript:mhlp('commandesirc#c_echo'); echo] -at ›‹  [javascript:mhlp('remoteident#i_nick'); $nick][javascript:mhlp('aliases#i_+'); $+]([javascript:mhlp('textident#i_chr'); $chr](124,[javascript:mhlp('remoteident#i_address'); $address]([javascript:mhlp('remoteident#i_nick'); $nick],4),[javascript:mhlp('textident#i_chr'); $chr](124)) à Décønnëcté du Sërveur. [javascript:mhlp('aliases#i_+'); $+]([javascript:mhlp('textident#i_chr'); $chr](124),[javascript:mhlp('remoteident#i_nick'); $nick]([javascript:mhlp('remoteident#i_chan'); $chan],0),[javascript:mhlp('textident#i_chr'); $chr](124)) [ $configurequitmsg ] }

[javascript:mhlp('aliases#c_alias'); alias] configurequitmsg {
  [javascript:mhlp('ifthenelse#c_if'); if]([javascript:mhlp('remoteident#i_1-'); $1-]== Ping Timeout){[javascript:mhlp('aliases#c_return'); return] Bug : Ping Timeout }
  [javascript:mhlp('ifthenelse#c_if'); if]([javascript:mhlp('remoteident#i_1-'); $1-]== Connection Reset By Peer){[javascript:mhlp('aliases#c_return'); return] Bug : Connection Reser By Peer }
}


merci de votre aide
cordialement 

22 réponses

cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
11 nov. 2008 à 17:59
Tout simplement parce que ton code ne respecte pas la syntaxe et parce qu'il ne fait que ce que tu lui dis de faire :p ?

il manque des espaces apres certaine accolades, parentheses, meme $+ et tu dans l'evenement on quit, $1- vaut la raison du quit, dans ton alias configurequitmsg, tu compare $1- a deux valeur de quit, (qui au passage ne sont pas des bugs mais bon, orange spirit comme on dit, bref) mais as tu meme essaye de voir ce que valait $1- ds cet alias ? Tu aurais donc vu que ca ne vallait rien puisque en effet, ds l'evenement on quit, tu ne passe pas la valeur du quit a ton alias donc ds ton alias $1- vaut $null
3
Soprano71 Messages postés 107 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 janvier 2009
11 nov. 2008 à 18:07
merci bcp wims d'avoir répondu,

alors pour ce qui est des espace ils y sont bien c'est juste en posant le code j'ai pas du faire attention qu'il les a supprimé mais je confirme les espace y sont bien .
après étant novice j'aimerai savoir comment faire pour corrigé le code afin qu'il puisse faire ce que je souhaite?
aurai tu un exemple stp ?

cordialement
3
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
11 nov. 2008 à 18:15
Dans l'evenement on quit, tu apelles l'alias configurequitmsg, et ds cet alias, tu compare la valeur passer en parametre au differentes erreurs de quit, sauf que comme tu ne passe pas la raison du quit quand tu apelles, tu compares a rien :) il faut juste passer la raison du quit en parametre : $configurequitmsg($1-)
3
Soprano71 Messages postés 107 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 janvier 2009
11 nov. 2008 à 18:18
ha très bien wims merci beaucoup je vais essayé comme sa .

merci 
3

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

Posez votre question
Soprano71 Messages postés 107 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 janvier 2009
11 nov. 2008 à 19:53
donc cela devrait donnais ceci :

on *:quit:{ echo -at >< $nick $+($chr(124,$address($nick,4),$chr(124)) à Décønnëcté du Sërveur. $+($chr(124),$nick($chan,0),$chr(124)) [ $configurequitmsg($1-) ] }

alias configurequitmsg($1) {
if($1-== Ping Timeout){return Bug : Ping Timeout }
if($1-== Connection Reset By Peer){return Bug : Connection Reser By Peer }
}

:s

cordialement
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
11 nov. 2008 à 20:47
Non, la tu as ecris qqch de non valide, la syntaxe c'est :

alias nom_de_l'alias {

}

la valeur du quit ($1-) doit etre passe en parametre uniquement quand tu apelles l'alias, tu ne doit rien preciser au niveau de la declaration de l'alias lui meme
En plus, il y a encore des erreurs ds le code, manque de parenthese etc, c'est bizarre :

on *:quit:{
echo -at ><  $nick
$+(|,$address($nick,4),|) à Décønnëcté du Sërveur.
$+(|,$nick($chan,0),|) [ $configurequitmsg($1-) ]
}

alias configurequitmsg {

  if ($1- == Ping Timeout) return Bug : Ping Timeout
  if ($1- == Connection Reset By Peer) return Bug : Connection Reser By Peer

}

Une petite chose aussi, par definition, on quit un server, pas un salon, donc vouloir afficher le nombre d'user de $chan sur un quit, ca n'a pas de sens et c'est faux, $chan retourne la canal actif si ta fenetre active est un salon, $null autrement.Ce qu'il faut faire en general c'est recupere tout les salons commun entre l'user et toi, et afficher cet info ds tout ces salon la, et non pas sur ta fenetre active, regarde l'aide sur $comchan  :)
0
Soprano71 Messages postés 107 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 janvier 2009
14 nov. 2008 à 20:29
bonsoir tlm.

désolé de ma réponse assez tardive j'ai eu pas mal de boulot .

donc après avoir essayé de comprendre et de réalisé ce code j'avoue je n'y arrive pas et ne fonctionne pas  :x
on *:quit:{
echo -at  ><  $nick $+  | $+ $address $+ | $+  à Décønnëcté du Sërveur. $+ $calc($nick($comchan($nick,%i),0) -1)  |  [ $configurequitmsg($1-) ] }

alias configurequitmsg {
  if ($1 == Ping Timeout) { return Bug : Ping Timeout }
  if ($1 == Connection Reset By Peer) { return Bug : Connection Reser By Peer }
}

je vous remercie pour votre aide apporté pour ce code .

cordialement .
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
16 nov. 2008 à 17:40
Wow, tu ne fait qu'un seul echo et tu utilise comchan avec un %i qui n'existe même pas lol :

on *:quit:{
var %a = $comchan($nick,0)
;on stock ds %a le nombre de salon qu'on avait en commun
while (%a) {
;tant qu'il y a des salon en commun
echo -at  >< $nick $+($chr(40),$wildsite,$chr(41)) à
Décønnëcté du Sërveur. $calc($nick($comchan($nick,%a),0) -1) [ $configurequitmsg($1-) ]
dec %a
 }
}

alias configurequitmsg {
  if ($1 == Ping Timeout) { return Bug : Ping Timeout }
  if ($1 == Connection Reset By Peer) { return Bug : Connection Reser By Peer }
}

tu ne peux pas utilise les | en brut dans un code parce que c'est un séparateur de command, je t'es fait un affchage basique, si tu veux utilise un |, utilise sa valeur ascii, $chr(124)
0
Soprano71 Messages postés 107 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 janvier 2009
16 nov. 2008 à 18:19
bonsoir ,

ha très bien wims  j'pensé pas qu'il fallai utilisé " $chr(124) " ont m'avais parlé de $+ | $+ au pire ou de faire  $+ %add.signe $+

%add.signe |

 heu une autre question :x dans l'alias  :

alias configurequitmsg {
  if ($1- == Ping Timeout) { return Bug : Ping Timeout }
  if ($1- == Connection Reset By Peer) { return Bug : Connection Reser By Peer }
}

comment affiché le quit  avec le message ?  j'ajoute  if ($1- == Quit:) { return $1- } ?
 
cordialement
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
16 nov. 2008 à 18:25
Oui, vérifie que le début soit bien quit: mais met pas == sinon ca va tout comparé, regarde juste le premier mot avec $1 == quit:
0
Soprano71 Messages postés 107 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 janvier 2009
16 nov. 2008 à 18:46
erff désolé wims j'vois pas comment tu veut faire
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
16 nov. 2008 à 18:53
ben toi tu disais de mettre :

if ($1- == Quit:) { return $1- }

mais la, ça va comparé le message entier du quit de l'user parce que $1- réfere au message entier, alors que $1 réfere au premier mot
0
Soprano71 Messages postés 107 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 janvier 2009
16 nov. 2008 à 18:57
oui tout a fait mais quand je met :

if ($1 == Quit:) { return $1- }

il ne m'affiche pas le message de quit, j'ai aucun message
0
Soprano71 Messages postés 107 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 janvier 2009
16 nov. 2008 à 19:56
j'ai essayé if ($1 == $1-) { return $1- } il m'affiche bien le message de Quit mais pour tout .

et if ($1 == Quit:) { return $1- } il m'affiche plus rien
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
16 nov. 2008 à 20:19
Hum oui, en fait lorsque tu passes en paramettre le message de quit de l'user, cela se fait en un seul parametre, ce qui fait que dans l'alias, il n'y a qu'un seul parametre au total, ce qui fait que $1 == $1-, mais toi ce que tu veux, c'est récupéré le premier mot de ce parametre, avec $gettok($1,1,32), donc vérifie que cela est égal a Quit: et ça devrait le faire
0
Soprano71 Messages postés 107 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 janvier 2009
16 nov. 2008 à 20:28
heu.. oui mais la j'ai déjà beaucoup de mal juste avec une alias pour différencié les quits qui on était résolu grace a toi (faut le dire) alors avec $gettok($1,1,32) je suis perdu complet . j'ai bien comprit le systeme que $1 == Quit ou autre sert a prendre le premier mot (chose que avant je savais pas) mais la :x
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
16 nov. 2008 à 20:46
Lol ok donc imaginons :

alias checkquit {

}

Dans cette alias si tu l'apelle comme un identifieur, et que tu lui passe un parametre genre $checkquit(parametre), bah dans l'alias, $1 vaudra "parametre".
Si tu l'apelle comme ça $checkquit(un parametre), dans l'alias $1 vaudra "un parametre"
Donc toi imaginons qu'un user quit et que son message soit "voici un quit", le server ajoute automatiquement le Quit: devant ce qui fait que dans l'evenement on quit, $1- vaut le message entier soit "Quit: voici un quit".

Donc c'est comme si on faisait $checkquit(Quit: voici un quit) donc dans l'alias $1 vaut "Quit: voici un quit"
Toi tu veux vérifié que le premier mot de ce parametre est bien "Quit:" , $gettok permet de récupéré le Nieme token séparé par un le caractère que tu veux, regarde l'aide sur $gettok, $gettok($1,1,32) veux dire que dans $1, on prend le 1er token séparé par le caractère ascii 32, qui représente l'espace, donc le premier token séparé par un espace dans "Quit: voici un quit" c'est bien "Quit:"

En bref :

alias configurequitmsg {
  ;ici $1 = $1-
  if ($1 == Ping Timeout) return Bug : Ping Timeout
  elseif ($1 == Connection Reset By Peer) return Bug : Connection Reser By Peer
elseif ($gettok($1,1,32) == quit:) return $1
}

Voila ça devrait aller :)
0
Soprano71 Messages postés 107 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 janvier 2009
16 nov. 2008 à 21:01
humm très bien wims merci pour ton explication,vraiment gentil de ta part.

et pour le killed j'utilise la meme chose elseif ($gettok($1,1,32) == Killed) return $1

ect ..
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
16 nov. 2008 à 21:08
Ben pour le killed je sais pas, si le message a la même forme qu'un quit normal ouais, essaye :)
0
Soprano71 Messages postés 107 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 janvier 2009
16 nov. 2008 à 21:13
après avoir essayé oui c'est la même chose wims :)

je te remercie énormément pour ta patience et ton aide apporté pour ce bout de code c'était vraiment gentil de ta part merci aussi pour tes explication qui sont vraiment très clair et mon aidé a comprendre certaine chose .

merci beaucoup wims

cordialement
0
Rejoignez-nous