Script irc

guigounnet Messages postés 8 Date d'inscription dimanche 24 décembre 2006 Statut Membre Dernière intervention 24 mars 2009 - 22 déc. 2007 à 19:53
cs_SpaceJosh Messages postés 4 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 15 mai 2008 - 13 mai 2008 à 15:58
bonjour je suis debutant je cherche à creer un script qui enverai un message quand il se conecte. Ensuite il compte le nombre de fois que cette commande est executé il l'arrete puis il compte un certain temps avant de la remetre en marche.
la commande en question est n 1:join:#:/msg $nick "mon texte".

les 3 point qui me parraissent indispensable c'est 1 pouvoir demaré et arrété la commande on 1:join
2 trouver un moyen qui me permet de compté le nombre de fois ou elle est excutée
3 creer un timer qui me permete de la relancer

exemple de l'application
la commande est lancée des qu'une personne se conecte la commende leur ecrit "bonjour ca va "
a la dixieme fois elle s'arrete pendant 30 secondes puis recommence

voila merci de me repondre

14 réponses

cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
23 déc. 2007 à 02:29
bonjour,

bin :
on 1:join:#:{
if (%unnomdevar =< X) && (!%uneautrevar)  { msg $nick "mon texte" | inc %unnomdevar }
else {
set %unnomdevar 0
set %uneautrevar 1
.timer T  1 unset %uneautrevar
}
}
sur l'principe ca devrait ressembler à ca X c'est ton 10 et T c'est ton 30s. suis pas certain k'y ai po d'faute surtt ke ca fai un moment que je script pas du tout.
ISoKa
0
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
23 déc. 2007 à 17:53
set %uneautrevar 1
.timer T  1 unset %uneautrevar

devient :
set -uT %uneautrevar 1

l'en-tête : on *:join:#:{

sur la syntaxe du if :
if ((%unnomdevar =< X) && (!%uneautrevar))

si tu tiens à utiliser ton timer, au temps lui donner un nom et tu gagnes une variable ^^

en gros, tout ceci donne :
on *:join:#:{
  if ((%unnomdevar =< X) && (!$timer(RaZ)))  {
    msg $nick "mon texte"
    inc %unnomdevar
  }
  else {
    unset %unnomdevar
    .timerRaZ T  1 noop
  }
}

où noop est défini à partir de mIRC 6.17
si tu veux pas de timer, utilise le /set -u
0
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
23 déc. 2007 à 17:54
tu peux même mettre un ! devant l'étoile du on *:JOIN, pour ne pas déclencher l'évènement quand c'est toi qui rejoins le salon :
on !*:JOIN:#:{
0
guigounnet Messages postés 8 Date d'inscription dimanche 24 décembre 2006 Statut Membre Dernière intervention 24 mars 2009
23 déc. 2007 à 20:31
merci beaucoup mais cela ne marche pas ^^' les variable doive etre declarées ou ?
je ne comprend pas pourquoi ca ne marche pas cela me parrait clair pourtant
0

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

Posez votre question
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
23 déc. 2007 à 20:35
j'ai pas vérifié tout le code, pardon !

le =< n'existe pas ... c'est <=
ça devrait déjà aider :)

sinon, mets des echos pour savoir par où passe le code
0
guigounnet Messages postés 8 Date d'inscription dimanche 24 décembre 2006 Statut Membre Dernière intervention 24 mars 2009
24 déc. 2007 à 13:40
alias a { set %unnomdevar 0
  on 1:join:#:{
    if ((%unnomdevar <= 10) && (!$timer(RaZ)))  {
      msg $nick salut
      inc %unnomdevar
    }
    else {
      unset %unnomdevar
      .timerRaZ 30  1 noop
    }
  }
}

il me dis que on n'est pas une commande connu ^^'
0
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
24 déc. 2007 à 14:16
que vient faire cet alias ?!

c'est un évènement ... faut le laisser aligné tout à gauche ... exactement comme on te l'a donné
0
guigounnet Messages postés 8 Date d'inscription dimanche 24 décembre 2006 Statut Membre Dernière intervention 24 mars 2009
1 janv. 2008 à 12:03
on 1:join:#:{
  if ((%unnomdevar <= 10) && (!$timer(RaZ)))  {
    msg $nick texte
    inc %unnomdevar
  }
  else {
    set %unnomdevar 0
    .timerRaZ 30  1 noop
  }
}

j'ai trouver le bug c'est que si le timer est en marche il passe au else et il remet le timer donc le message n'apparait jamais ^^ comment faire pour que le if marche mieux ^^
0
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
1 janv. 2008 à 13:51
on *:join:#:{
  if ($timer(RaZ)) return
  if (%unnomdevar <= 10) {
    msg $nick texte
    inc %unnomdevar
  }
  else {
    set %unnomdevar 0
    .timerRaZ 30  1 noop
  }
}

devrait fonctionner un peu mieux je pense
0
guigounnet Messages postés 8 Date d'inscription dimanche 24 décembre 2006 Statut Membre Dernière intervention 24 mars 2009
1 janv. 2008 à 17:26
voila ca marche mercide t'etre dnner autant de mal pour un cretin comme moi merci bcp !!! t'es genial merci encore !! ++
0
cs_SpaceJosh Messages postés 4 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 15 mai 2008
23 avril 2008 à 15:17
Bonjour, faire un unset sur une variable c'est /unset %variable. Mais comment effacer toutes les variables du même nom. 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
23 avril 2008 à 18:44
utilise les jokers "*" et "?"

exemple : /unset %temp.*
0
cs_SpaceJosh Messages postés 4 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 15 mai 2008
23 avril 2008 à 22:08
d'accord, si je comprend bien, la commande "/unset %var*" effacera toutes les variables qui ont le nom "%var".
Merci pour l'info :)
0
cs_SpaceJosh Messages postés 4 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 15 mai 2008
13 mai 2008 à 15:58
Re Bonjour :). Je cherche des tutoriaux / cours permettant d'apprendre a manier des fichiers textes via un script. Comprendre en faite les commandes writeini, readini, puis les scripting contenant $remtok, $addtok et tout ca. Comment puis-je orienter mes recherches, y'a des mots clés ?
0
Rejoignez-nous