cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 3 nov. 2008 à 20:44
Eessaye ca :
on *:text:*:#:{
;quand qqun dis qqch, qqpart
if ($nick == pseudo) {
;si le pseudo qui parle est le pseudo (a modifie) que tu veux
msg #autre-salon $v1 a dis sur $chan : $1-
;on envoi un msg sur l'autre salon (a modifie)
}
}
Attention, ceci ne marche qu'a travers un seul server, n'oublie pas de modifie le pseudo et l'autre salon
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 3 nov. 2008 à 21:38
Si on peut, mais c'est ce que j'ai dis, ce code la ne fonctionne que pour des salons sur les meme server, pour le faire marcher sur different server, il faut utiliser /scid ou /scon pour modifie la connection courante et envoye le msg
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 3 nov. 2008 à 22:55
ca donnera ce que tu seras capable de faire ou ce que qqun fera p-e pour toi, moi je t'ai donne la base, rapidement (en sachant pertinament que tu demanderai pour plusieur server ;)) et je t'ai meme donner les commandes a utiliser.Essaye de regarder l'aide sur /scid et /scon, et reviens en expliquant ce que tu ne comprend pas ou avec un semblant de debut de code.
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 7 nov. 2008 à 19:03
moi j'paris un coca que c'est qqun qui a commence a t'aider, puis qui ta laisse avec ce bout de code, parce que si tu arrives a pondre ce code, tu arrives aussi a le debugger.... *logiquement*
je le reecris proprement, avec des commentaires... mais je le laisse tel quel hein.
on *:text:*:#chansource:{
;quand on ecris sur le salon source if ($nick `nicksource`) && ($network networkircsource) {
;on verifie le pseudo ainsi que le reseau (network)
var %temp = $strip($1-)
;on retire les controls code de $1-
var %r = \[(.*)\] \[ (.*) \] \[ (.*) \].*
;on stock une certain expression reguliere, je suppose que c'est toi qui la voulu
if ($regex(%temp, %r)) {
;on verifie si le texte de l'user (sans les controls code) correspond a l'expression reguliere
if ($regml(1) = pre) {
;ici, $regml(1) vaut ce qui sera entre le premier couple de () ds l'exepression reguliere
scid -t1 $idnet(serveurirccible)
;on se place sur la connexion d'id $idnet(...)
msg #chancible [3;3 $regml(1) 3;] - [3;07 $regml(2) 3;] - 3;[ $regml(3) ]
;on /msg ...
}
if ($regml(1) = nuke) {
scid -t1 $idnet(serveurirccible)
msg #chancible [3;4 $regml(1) 3;] - [ $regml(2) ] - 3;[3;4 $regml(3) 3;]
}
}
}
}
alias idnet {
var %k = 1
while (%k <= $scid(0)) {
if ($scid($scon(%k)).network == $1) { return $scon(%k) }
inc %k
}
}
cet alias la sert a retourne l'identite de connexion du server passe en parametre, mais celui qu'il la fait n,est pas tres malin, jte conseil de regarde la section Tip sur www.scriptsdb.org, en cherchant bien, tu trouvera le meme alias, mais qui est juste...
Autre chose aussi, imagine que je poste un code de 130 000 ligne, et que jte dise, "ca marche pas, aide moi !" tu crois que ya qqun qui va prendre la peine de m'aider ? c'est pareil ici, au lieu de dire ca ne marche pas, decris un petit peu ce qui ne marche pas, ce qu'il se passe, ce qu'il devrait se passer, ce genre de chose...
Pourquoi avoir demander du code tout cuit a qqun ? Maintenant t'es comme un con a poster ici, et tu ne depend que de nos reponses, alors que si t'avais appris cmt faire, tu saurais debugger le code :)
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 8 nov. 2008 à 12:16
Donc ca veux dire que l'evenement on text est juste, mais qu'il ne se place pas sur la bonne connection (bon server, ou network), donc jte conseille de faire un ptit test, tu vas sur le salon ou tu veux envoyer le message, et tu regarde la valeur de $cid (c'est ce dont tu as besoin, et ce qu'est cense te renvoye l'alias idnet) ensuite tu regarde la valeur que te renvoi $idnet(network) et tu compare, si c'est different, alors l'alias idnet ne fonctionne pas correctement.
Une petite note a propos de $network c'est qu'il peut ne pas renvoyer de valeur (c'est le cas sur orange d'apres mes souvenirs) donc si tu essaye ca sur orange, network ne vaut rien, fait gaffe, utilise plutot $server)
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 8 nov. 2008 à 17:54
non quand tu es sur le bon server, $cid renvoi l'IDentite de Connexion,
$scid renvoi une identite de connexion par rapport a $cid
Utilise par exemple //echo -a $cid une fois sur le bon server, ca n'a pas de rapport avec les salons.
le but etant de faire une boucle sur chaque connexion, $scid(0) retourne le nombre total de connexion, $scid(1) renvoi 1 si il existe une connexion ayant pour identite 1 (les identites de connexion peuvent avoir des valeurs illogique)
$scon lui, fonctione par rapport au numero de connexion, $scon(0) retourne egalement le nombre de connexion, mais $scon(1) retourne l'identite de connexion du premier server.
Regarde bien l'aide sur $scid $scon /scid et /scon, ce sont des notions qui embrouille souvent les gens (meme moi), jespere meme ne pas avoir dis de connerie dans ce post :)
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 9 nov. 2008 à 17:53
Relis bien mes precedent post, tu na besoin que de l'identite de connexion ($cid) du server source, $cid n'est pas associe a un salon, mais a une connexion, un server.
La valeur 4 que tu as obtenu sur le server source est variable c'est pour ca qu'il y a $scid et $scon pour retrouver facilement ces information.
Cette valeur c'est ce que tu doit mettre dans ton /scid pour qu'il change la connexion active.
var %a $scon(0);
;%a contient le nombre de connexion total
while (%a)
;tant qu'il y a des connexion
if (irc.tonserverirc.com == $scon(%a).server) {
;si le server de la connexion numero %a est le server que tu veux
echo -a $scon(%a).cid
;on affiche l'identite de connexion pour cette connexion
}
dec %a
;on decremente %a pour faire la boucle :)
}
voila le bout de code que tu doit utiliser, $scon(%a).cid est la valeur que tu veux pour le /scid...
A noter que je t'ai dis que ce bout de code etais dispo qqpart, bref, normalement avec ca tu devrais y arriver
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 9 nov. 2008 à 20:50
Quel annonce sur le chan source ? L'annonce sur le chan source est ce qui declenche ton code oO, tu doit surement parler du msg qui devait s'envoyer ds le vide que toi tu voyait, c'est parce que tu as commente la ligne ds le code....
Ton code a egalement des problemes de {}
Sinon je ne t'avais donne qu'un bout de code, il fallait pas l'ecrire comme ca
, tu respectes rien la, essayes avec ca :
on *:text:*:#:if ($nick == `pseudosource`) { scid -t1 $$idnet(irc.server.com) | msg #chancible $v1 a dis sur $chan : $1- }
alias idnet var %a $scon(0) | while (%a) && (irc.server.com != $scon(%a).server) dec %a | return $$scon(%a).cid
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 9 nov. 2008 à 22:41
Je sais pas cmt tu copie ca, mais le code ne fait que deux ligne normalement, je l'ai bien compacte.As tu bien pense a changer les infos tel que le nick et le nom des server ? fait voir ici cmt est ton code avec les bonnes valeurs...
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 11 nov. 2008 à 18:07
C'est bien de me remercier, mais plutot que de valider tes reponses, valide celle de celui qui a passer 30 messagea t'aider pour finalement te donner la solution ^^.