Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MESSAGE D'ACCUEIL + RÉACTION À DES COMMANDES PERSONNALISABLE


Information sur la source

Catégorie :AddOns Classé sous : addon, script, accueil, commande, irc Niveau : Débutant Date de création : 11/08/2007 Date de mise à jour : 14/08/2007 16:37:28 Vu / téléchargé: 6 230 / 180

Note :
Aucune note

Commentaire sur cette source (31)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Il permet d'envoyer jusqu'à 5 lignes de notice à la personne qui se connect sur votre channel
ainsi que de parametrer 7 notices qui réagiront à des commandes du type : !exemple
Pour l'installer mettez le dans votre dossier de votre mIRC et sa racine et taper :
/load -rs komascript.mrc
merci de votre soutien et de votre aide pour m'aider à optimiser ce code car je pense que cela est possible ^^
Pour parler avec moi go #pro-click on irc.quakenet.org

 

Source

  • on 1:load:{
  • echo -a 4Votre Script a été ajouté avec succes.
  • echo -a 4KoMa`Script V1.03 by KoMa
  • }
  • on 1:unload:{
  • echo -a 4Votre Script a été supprimé.
  • echo -a 4KoMa`Script V1.03 by KoMa
  • unset %msgaccueil?
  • unset %cmd?
  • unset %msgcmd?
  • unset %channelcmd
  • unset %checkaccueil
  • }
  • menu channel {
  • .-
  • KoMa`ScripT :/dialog -m KoMa KoMa
  • }
  • Alias KoMa { dialog -m KoMa KoMa }
  • dialog KoMa {
  • title "KoMa`Script V1.03"
  • size -1 -1 302 128
  • option dbu
  • tab "Messages d'accueil", 1, 0 0 301 127
  • text "1er message d'accueil :", 2, 6 22 62 9, tab 1
  • text "2eme message d'accueil :", 3, 6 36 62 9, tab 1
  • text "3eme message d'accueil :", 4, 6 50 62 9, tab 1
  • text "4eme message d'accueil :", 5, 6 64 62 9, tab 1
  • text "5eme message d'accueil :", 6, 6 78 62 9, tab 1
  • edit "", 7, 70 21 227 10, tab 1
  • edit "", 8, 70 35 227 10, tab 1
  • edit "", 9, 70 49 227 10, tab 1
  • edit "", 10, 70 63 227 10, tab 1
  • edit "", 11, 70 77 227 10, tab 1
  • check "Activer les messages d'accueil", 12, 10 97 86 10, tab 1
  • button "Valider", 13, 253 115 40 10, ok
  • text "Entrer le channel où les messages d'accueil et commandes s'executeront :", 15, 6 117 179 8
  • edit "", 16, 185 115 64 10
  • tab "Commandes", 18
  • text "1er cmd :", 19, 6 19 24 9, tab 18
  • text "2eme cmd :", 20, 6 33 28 9, tab 18
  • text "3eme cmd :", 21, 6 47 28 9, tab 18
  • text "4eme cmd :", 22, 6 61 28 9, tab 18
  • text "5eme cmd :", 23, 6 75 28 9, tab 18
  • text "6eme cmd :", 24, 6 89 28 9, tab 18
  • text "7eme cmd :", 25, 6 103 28 9, tab 18
  • edit "", 26, 36 18 47 10, tab 18
  • edit "", 27, 36 32 47 10, tab 18
  • edit "", 28, 36 46 47 10, tab 18
  • edit "", 29, 36 60 47 10, tab 18
  • edit "", 30, 36 74 47 10, tab 18
  • edit "", 31, 36 88 47 10, tab 18
  • edit "", 32, 36 102 47 10, tab 18
  • text "Text :", 33, 86 19 16 8, tab 18
  • text "Text :", 34, 86 33 16 8, tab 18
  • text "Text :", 35, 86 47 16 8, tab 18
  • text "Text :", 36, 86 61 16 8, tab 18
  • text "Text :", 37, 86 75 16 8, tab 18
  • text "Text :", 38, 86 89 16 8, tab 18
  • text "Text :", 39, 86 103 16 8, tab 18
  • edit "", 40, 104 18 194 10, tab 18
  • edit "", 41, 104 32 194 10, tab 18
  • edit "", 42, 104 46 194 10, tab 18
  • edit "", 43, 104 60 194 10, tab 18
  • edit "", 44, 104 74 194 10, tab 18
  • edit "", 45, 104 88 194 10, tab 18
  • edit "", 46, 104 102 194 10, tab 18
  • }
  • on *:dialog:KoMa:*:*:{
  • if ($devent == init) {
  • if (%checkaccueil) { did -c KoMa 12 | did -n KoMa 7,8,9,10,11 }
  • else { did -m KoMa 7,8,9,10,11 }
  • var %i = 1
  • while %i <= 5 { did -a KoMa $calc(%i + 6) [ %msgaccueil [ $+ [ %i ] ] ] | inc %i }
  • did -a KoMa 16 %channelcmd
  • var %i = 1
  • while %i <= 7 { did -a KoMa $calc(%i + 25) [ %cmd [ $+ [ %i ] ] ] | did -a KoMa $calc(%i + 39) [ %msgcmd [ $+ [ %i ] ] ] | inc %i }
  • }
  • elseif ($devent == sclick) {
  • if ( $did == 13 ) {
  • var %i = 1
  • while %i <= 5 { set [ %msgaccueil [ $+ [ %i ] ] ] $did($calc(%i + 6)) | inc %i }
  • set %channelcmd $did(16)
  • var %i = 1
  • while %i <= 7 { set [ %cmd [ $+ [ %i ] ] ] $did($calc(%i + 25)) | set [ %msgcmd [ $+ [ %i ] ] ] $did($calc(%i + 39)) | inc %i }
  • }
  • if ( $did == 12 ) {
  • if ($did(12).state) { did -n KoMa 7,8,9,10,11 | set %checkaccueil 1 | echo -a 7¤¤ 4Messages d'accueil 10activés }
  • else { did -m KoMa 7,8,9,10,11 | set %checkaccueil 0 | echo -a 7¤¤ 4Messages d'accueil 10déactivés }
  • }
  • }
  • }
  • on 1:join:%channelcmd:{
  • if (%checkaccueil) {
  • var %j = 1
  • while %j <= 5 {
  • if (%msgaccueil [ $+ [ %j ] ]) .notice $nick $v1
  • inc %j
  • }
  • }
  • }
  • ON *:TEXT:*:%channelcmd:{
  • var %i = 1
  • while %i <= 7 {
  • if ((%cmd [ $+ [ %i ] ] == $1) && (%msgcmd [ $+ [ %i ] ])) {
  • .notice $nick $v1
  • break
  • }
  • inc %i
  • }
  • }
on 1:load:{
  echo -a 4Votre Script a été ajouté avec succes.
  echo -a 4KoMa`Script V1.03 by KoMa
}
on 1:unload:{
  echo -a 4Votre Script a été supprimé.
  echo -a 4KoMa`Script V1.03 by KoMa
  unset %msgaccueil?
  unset %cmd?
  unset %msgcmd?
  unset %channelcmd
  unset %checkaccueil
}

menu channel {
  .-
  KoMa`ScripT :/dialog -m KoMa KoMa
}

Alias KoMa { dialog -m KoMa KoMa }

 dialog KoMa {
  title "KoMa`Script V1.03"
  size -1 -1 302 128
  option dbu
  tab "Messages d'accueil", 1, 0 0 301 127
  text "1er message d'accueil :", 2, 6 22 62 9, tab 1
  text "2eme message d'accueil :", 3, 6 36 62 9, tab 1
  text "3eme message d'accueil :", 4, 6 50 62 9, tab 1
  text "4eme message d'accueil :", 5, 6 64 62 9, tab 1
  text "5eme message d'accueil :", 6, 6 78 62 9, tab 1
  edit "", 7, 70 21 227 10, tab 1
  edit "", 8, 70 35 227 10, tab 1
  edit "", 9, 70 49 227 10, tab 1
  edit "", 10, 70 63 227 10, tab 1
  edit "", 11, 70 77 227 10, tab 1
  check "Activer les messages d'accueil", 12, 10 97 86 10, tab 1
  button "Valider", 13, 253 115 40 10, ok
  text "Entrer le channel où les messages d'accueil et commandes s'executeront :", 15, 6 117 179 8
  edit "", 16, 185 115 64 10
  tab "Commandes", 18
  text "1er cmd :", 19, 6 19 24 9, tab 18
  text "2eme cmd :", 20, 6 33 28 9, tab 18
  text "3eme cmd :", 21, 6 47 28 9, tab 18
  text "4eme cmd :", 22, 6 61 28 9, tab 18
  text "5eme cmd :", 23, 6 75 28 9, tab 18
  text "6eme cmd :", 24, 6 89 28 9, tab 18
  text "7eme cmd :", 25, 6 103 28 9, tab 18
  edit "", 26, 36 18 47 10, tab 18
  edit "", 27, 36 32 47 10, tab 18
  edit "", 28, 36 46 47 10, tab 18
  edit "", 29, 36 60 47 10, tab 18
  edit "", 30, 36 74 47 10, tab 18
  edit "", 31, 36 88 47 10, tab 18
  edit "", 32, 36 102 47 10, tab 18
  text "Text :", 33, 86 19 16 8, tab 18
  text "Text :", 34, 86 33 16 8, tab 18
  text "Text :", 35, 86 47 16 8, tab 18
  text "Text :", 36, 86 61 16 8, tab 18
  text "Text :", 37, 86 75 16 8, tab 18
  text "Text :", 38, 86 89 16 8, tab 18
  text "Text :", 39, 86 103 16 8, tab 18
  edit "", 40, 104 18 194 10, tab 18
  edit "", 41, 104 32 194 10, tab 18
  edit "", 42, 104 46 194 10, tab 18
  edit "", 43, 104 60 194 10, tab 18
  edit "", 44, 104 74 194 10, tab 18
  edit "", 45, 104 88 194 10, tab 18
  edit "", 46, 104 102 194 10, tab 18
}

on *:dialog:KoMa:*:*:{
  if ($devent == init) { 
    if (%checkaccueil) { did -c KoMa 12 | did -n KoMa 7,8,9,10,11 }
      else { did -m KoMa 7,8,9,10,11 }
      var %i = 1 
      while %i <= 5 { did -a KoMa $calc(%i + 6) [ %msgaccueil [ $+ [ %i ] ] ] | inc %i }
      did -a KoMa 16 %channelcmd
      var %i = 1
      while %i <= 7 { did -a KoMa $calc(%i + 25) [ %cmd [ $+ [ %i ] ] ] | did -a KoMa $calc(%i + 39) [ %msgcmd [ $+ [ %i ] ] ] | inc %i }
  }
  elseif ($devent == sclick) {
    if ( $did == 13 ) {
      var %i = 1
      while %i <= 5 { set [ %msgaccueil [ $+ [ %i ] ] ] $did($calc(%i + 6)) | inc %i }
      set %channelcmd $did(16)
      var %i = 1
      while %i <= 7 { set [ %cmd [ $+ [ %i ] ] ] $did($calc(%i + 25)) | set [ %msgcmd [ $+ [ %i ] ] ] $did($calc(%i + 39)) | inc %i }
    }
  
    if ( $did == 12 ) {
      if ($did(12).state) { did -n KoMa 7,8,9,10,11 | set %checkaccueil 1 | echo -a 7¤¤ 4Messages d'accueil 10activés }
      else { did -m KoMa 7,8,9,10,11 | set %checkaccueil 0 | echo -a 7¤¤ 4Messages d'accueil 10déactivés }
    }
  }
}

on 1:join:%channelcmd:{
  if (%checkaccueil) { 
    var %j = 1
    while %j <= 5 {
      if (%msgaccueil [ $+ [ %j ] ]) .notice $nick $v1
      inc %j
    }
  }
}

ON *:TEXT:*:%channelcmd:{
  var %i = 1
  while %i <= 7 {
    if ((%cmd [ $+ [ %i ] ] == $1) && (%msgcmd [ $+ [ %i ] ])) {
      .notice $nick $v1
      break
    }
    inc %i
  }
}

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

11 août 2007 17:32:12 :
ajout d'une nouvelle capture ecran
12 août 2007 04:11:56 :
optimisation du code
12 août 2007 14:19:24 :
optimisation du code + mis les unset dans un on unload
14 août 2007 16:37:28 :
optimisation du code, upload de la nouvelle version 1.03

Commentaires et avis

signaler à un administrateur
Commentaire de RCA ArKanis le 11/08/2007 18:57:33

aie aie, très très mal codé !

Beaucoup de défauts :
- ON TEXT non regroupés
- utilisation de variables globales
- limité à 5 messages, pourquoi pas plus ?
- limité à un seul salon
- pas d'anti-flood
- fautes de grammaire (Met => Mets)
- Tu aurais pu faire en sorte qu'on puisse utiliser $nick ou $chan ainsi que d'autres identifieurs ($time, $date, ...)
- Si on tape "", vu la valeur par défaut des variables, on va avoir des notices envoyées ... utilise unset %msgcmg? sur le ON LOAD


if ($did(12).state == 1) devient : if ($did(12).state)
vu que $did().state renvoie une valeur booléenne

Pour regrouper tes ON TEXT, tu fais :

ON *:TEXT:*:%channelcmd:{
  var %i = 1
  while %i <= 7 {
    if (%msgcmd [ $+ [ %i ] ]) {
      .notice $nick $v1
      break
    }
    inc %i
  }
}
ça évite tes 21 lignes ...


Conclusion :
Assez inutile sous cette forme car trop peu d'options.
Très mal codé et pas du tout optimisé

signaler à un administrateur
Commentaire de KoMa94 le 11/08/2007 19:28:45

merci pour ton message, j'était biensur conscient que mon code était pas top car j'ai commencé à codé il y 2 jours lol. je prend donc en note tes remarques et je vais essayer de faire quelques choses de plus propre quand j'aurais un peu de temps. a+

signaler à un administrateur
Commentaire de RCA ArKanis le 11/08/2007 20:35:50

tant que tu es prêt à modifier ça va encore !
y'a des gens qui osent laisser des codes (encore pire que celui-ci !!!) tels quels

on t'aidera bien volontiers et tu pourras ainsi progresser plus rapidement :)

signaler à un administrateur
Commentaire de wims le 12/08/2007 00:39:50

Pour l'histoire du truc bouléen (normalement ArKanis fais tjs cette remarque :o) set tes variables a 1 ou 0 et utilise ensuite if (%var) ou if (!%var) (qui exprime, si elle existe, c'est on, sinon, c'est off)

Les on dialog non plus ne sont pas regroupé (/help $devent)
au lieu d'afficher les variables lors de l'init du dialog, écris le nom des variables directement dans la table du dialog entre les "" et enlève tout les did -a inutiles ainsi :)

Tu devrais aussi regardé l'aide sur les whiles pour optimiser tes codes, chaque fois que tu reproduis 3 actions (ou plus) qui sont exactement les mêmes sauf pour un ou deux parametres, tu dois/peux utiliser une while (/help /while)

ps : ArKanis, ta while est fausse, tu ne vérifie pas ce que l'user écris :/

signaler à un administrateur
Commentaire de RCA ArKanis le 12/08/2007 02:11:06

Effectivement, j'ai pas pris le temps de relire

Voici la correction :
ON *:TEXT:*:%channelcmd:{
  var %i = 1
  while %i <= 7 {
    if ((%cmd [ $+ [ %i ] ] == $1) && (%msgcmd [ $+ [ %i ] ])) {
      .notice $nick $v1
      break
    }
    inc %i
  }
}

signaler à un administrateur
Commentaire de wims le 12/08/2007 03:06:39

Un petit $strip ne ferai pas de mal non plus avec ce genre de code ^^

signaler à un administrateur
Commentaire de KoMa94 le 12/08/2007 04:28:36

encore merci pour votre aide c'est cool.
donc j'ai été voir un peu comment on utilisais la boucle while effectivement c'est très pratique. Arkanis j'ai donc changé mon code avec le code que tu m'as donné mais je l'ai pas copier bêtement j'ai biensur essayé de comprendre.
ce qui ma permi aussi de faire une autre boucle while pour les %msgaccueil que voici :

on 1:join:%channelcmd:{
  if (%checkaccueil = ON) {
    var %j = 1
    while %j <= 5 {
      if (%msgaccueil [ $+ [ %j ] ]) {
      .notice $nick $v1
    }
    inc %j
  }
}
}
Sinon Wims pour les did je ferais ça quand j'aurais du temps car la il est tard lol mais d'abord j'aimerais un peu plus comprendre les codes que j'ai modifié car j'ai compris leur fonctionnement mais je me pose encore quelques questions.
c'est sur cette ligne que j'ai un peu de mal : if ((%cmd [ $+ [ %i ] ] == $1) && (%msgcmd [ $+ [ %i ] ])) {
si quelqu'un pouvais ma la commenter pour que je comprenne comment on la lit et surtout d'ou sors ce $+
et pour finir pour ce soir dans ( .notice $nick $v1 )  le $v1 signifie quoi? (enfin j'ai bien remarqué que ça me renvoi la valeur de %msgcmd* mais j'ai pas compris comment)
je sais pas si je me suis bien exprimé enfin bref je vous remerci d'avance pour le temps que vous me consacré.

signaler à un administrateur
Commentaire de wims le 12/08/2007 05:43:36

Tu t'es très bien exprimé...

if ((%cmd [ $+ [ %i ] ] == $1) && (%msgcmd [ $+ [ %i ] ])) {

le $+ sert a collé deux chose, a $+ b donne ab, ici les [ ] servent donc a vérifié que la variable %msgcmfN (ou N est le %i dans la boucle) existe bien $v1 = $ifmatch, cela permet de retourne la premiere partis d'une condition genre if (10 > %x) { echo -a ok }, ici $v1 = $ifmatch = 10, et $v2 = $ifmatch2 = la valeur de %x

signaler à un administrateur
Commentaire de RCA ArKanis le 12/08/2007 11:51:17

tu as des problèmes de {} KoMa :
on *:join:%channelcmd:{
  if (%checkaccueil = ON) {
    var %j = 1
    while %j <= 5 {
      if (%msgaccueil [ $+ [ %j ] ]) .notice $nick $v1
      inc %j
    }
  }
}
faut que le /inc soit à l'intérieur de la while, sinon c'est une boucle infinie

comme l'a dit Wims, si tu peux, essaye de fixer la variable %checkaccueil soit à 1, soit à 0
tu aurais donc if (%checkaccueil) au lieu de if (%checkaccueil == ON)

signaler à un administrateur
Commentaire de KoMa94 le 12/08/2007 14:13:10

mon /inc était bien dans le while j'avais juste mi des { } pour la notice qui serve a rien ^^, sinon j'ai modifier le checkaccueil comme vous m'avait dit maintenant que j'ai compris la signification du if (%checkaccueil) qui renvoi une valeur 1 si elle existe ou 0 si non.

sinon pour le $+ j'ai compris encore un truc qui va etre tres utile pour obtimiser le code ;)

sinon reste juste un point ou je suis un peu perdu :
if (%msgaccueil [ $+ [ %j ] ]) .notice $nick $v1
ici $v1 j'ai compris que ça renvoi mon message d'accueil pas de probleme. j'ai été voir dans l'aide pour $ifmatch et j'ai ça :
$ifmatch
Retourne le premier paramètre de la comparaison correspondante if-then-else.

donc ma question et :
if ((%cmd [ $+ [ %i ] ] == $1) && (%msgcmd [ $+ [ %i ] ])) {
dans cette ligne le premier paramêtre en question c'est %msgcmd*
apparament oui car c'est ce que renvoi $v1, mais moi par contre j'aurais plutot pensé à %cmd* en tant que premier paramêtre :s
merci encore de vos réponse

signaler à un administrateur
Commentaire de KoMa94 le 12/08/2007 14:41:07

a oui aussi wims tu as dit plus haut que les on dialog n'était pas regroupé, j'ai essayé de voir si je pouvais le faire mais vu que le event n'est pas le meme je comprend pas comme je peux faire.
je sais je suis nul mais pour le moment ça reste compliqué tout ça pour moi xD. merci

signaler à un administrateur
Commentaire de wims le 12/08/2007 18:48:17

Oui tu as tout a fait  raison pour le $v1, il renvois %cmd*, c'est juste une confusion d'ArKanis (oh le vilain!), puisque au début, il de vérifiait pas $1 ( ce que dis l'user ) donc ça condition n'avais qu'une comparaison, il faut mettre $v2 ici :p.

Pour les event on dialog, tu avais bien commencé pour l'init :

on *:dialog:Koma:*:*:{
if ($devent == init) { ici, c'est l'init }
;il faut continuer après avec les autres evenements :
elseif ($devent == sclick) { ici c'est sclick }
elseif ($devent == edit) { etc.. }
}

signaler à un administrateur
Commentaire de RCA ArKanis le 12/08/2007 19:30:37

j'ai raison pour ma boucle, c'est bien $v1 qu'il faut utiliser ^^
en fait, j'ai l'impression que $v1 et $v2 dépendent du DERNIER if vérifié.

si on a par exemple :
if ((1) && (2 < 3)) echo -a $v1 - $v2
on aura "2 - 3" étant donné que le dernier if vérifié est 2 < 3

signaler à un administrateur
Commentaire de wims le 12/08/2007 20:16:28

Lol méaculpa même si je trouve ça bien nul :)

signaler à un administrateur
Commentaire de KoMa94 le 12/08/2007 20:59:40

effectivement avec $v1 mon script fonctionne très bien.
donc dans ton exemple :
if ((1) && (2 < 3)) echo -a $v1 - $v2
2 = $v1 et 3 = $v2 mais 1 = ??? lol je commence à comprendre mais ya toujours un petit mais.
sinon wims je me pencherais sur ce on dialog dans la semaine ;)

encore merci à vous 2 de vos explication clair =)

signaler à un administrateur
Commentaire de RCA ArKanis le 12/08/2007 21:12:27

Tu ne peux pas récupérer le 1 de cette façon, il faudrait que tu sépares les deux IF si tu comptes vraiment l'avoir..

signaler à un administrateur
Commentaire de ISoKa le 13/08/2007 00:43:30

Bonjour,
en parlant de while et de reduction de code si je trompe pas :
#
# on *:dialog:KoMa:sclick:*: {
# if ( $did == 13 ) {
# set %msgaccueil1 $did(7)
# set %msgaccueil2 $did(8)
# set %msgaccueil3 $did(9)
# set %msgaccueil4 $did(10)
# set %msgaccueil5 $did(11)
# set %channelcmd $did(16)
# set %cmd1 $did(26)
# set %cmd2 $did(27)
# set %cmd3 $did(28)
# set %cmd4 $did(29)
# set %cmd5 $did(30)
# set %cmd6 $did(31)
# set %cmd7 $did(32)
# set %msgcmd1 $did(40)
# set %msgcmd2 $did(41)
# set %msgcmd3 $did(42)
# set %msgcmd4 $did(43)
# set %msgcmd5 $did(44)
# set %msgcmd6 $did(45)
# set %msgcmd7 $did(46)
# }
#
# if ( $did == 12 ) {
# if ($did(12).state) { did -n KoMa 7,8,9,10,11 | set %checkaccueil 1 | echo -a 7¤¤ 4Messages d'accueil 10activés }
# else { did -m KoMa 7,8,9,10,11 | set %checkaccueil 0 | echo -a 7¤¤ 4Messages d'accueil 10déactivés }
# }
# }
#
# on *:dialog:KoMa:*:*:{
# if $devent == init {
# if (%checkaccueil) { did -c KoMa 12 | did -n KoMa 7,8,9,10,11 }
# else { did -m KoMa 7,8,9,10,11 }
# did -a KoMa 7 %msgaccueil1
# did -a KoMa 8 %msgaccueil2
# did -a KoMa 9 %msgaccueil3
# did -a KoMa 10 %msgaccueil4
# did -a KoMa 11 %msgaccueil5
# did -a KoMa 16 %channelcmd
# did -a KoMa 26 %cmd1
# did -a KoMa 27 %cmd2
# did -a KoMa 28 %cmd3
# did -a KoMa 29 %cmd4
# did -a KoMa 30 %cmd5
# did -a KoMa 31 %cmd6
# did -a KoMa 32 %cmd7
# did -a KoMa 40 %msgcmd1
# did -a KoMa 41 %msgcmd2
# did -a KoMa 42 %msgcmd3
# did -a KoMa 43 %msgcmd4
# did -a KoMa 44 %msgcmd5
# did -a KoMa 45 %msgcmd6
# did -a KoMa 46 %msgcmd7
# }
# }
pourrai devenir ca si je m'a pas gourré :) :
on *:dialog:KoMa:sclick:*: {
if ( $did == 13 ) {
  set %channelcmd $did(16)
  var %i 1
  while (5 =< %i) { set %msgacceuil $+ %i  $did($calc(%i + 6)) | inc %i }
  var %i 1
  while (7 =< %i) { set %cmd $+ %i  $did($calc(%i + 25)) | set %msgcmd $+ %i  $did($calc(%i + 39)) | inc %i }
}
if ( $did == 12 ) {
if ($did(12).state) { did -n KoMa 7,8,9,10,11 | set %checkaccueil 1 | echo -a 7¤¤ 4Messages d'accueil 10activés }
else { did -m KoMa 7,8,9,10,11 | set %checkaccueil 0 | echo -a 7¤¤ 4Messages d'accueil 10déactivés }
}
}

on *:dialog:KoMa:*:*:{
if $devent == init {
if (%checkaccueil) { did -c KoMa 12 | did -n KoMa 7,8,9,10,11 }
else { did -m KoMa 7,8,9,10,11 }
var %i 1
while (5 =< %i) { did -a koma $calc(%i + 6) [ %msgacceuil $+ [ %i ] ] | inc %i }
did -a KoMa 16 %channelcmd
var %i 1
while (7 =< %i) { did -a koma $calc(25 + %i) [ %cmd $+ [ %i ] ] | did -a koma $calc(%i + 39) [ %msgcmd $+ [ %i ] ] | inc %i }
}
}

signaler à un administrateur
Commentaire de wims le 13/08/2007 01:04:05

Non testé ISoKa, mais =< ne signifie pas <=, tout comme => ne signifie pas >=, il me semble que => ou =< exprime == (plus ou moins un bug certes)

signaler à un administrateur
Commentaire de ISoKa le 13/08/2007 01:33:49

Ha! heu peut etre j'avou que j'ai pas testé le code que j'ai ecri donc fodrai que je verif ca. merci :)

signaler à un administrateur
Commentaire de KoMa94 le 14/08/2007 12:47:07

j'ai donc regroupé les on dialog et optimisé le code avec vos instructions ce qui donne :

on *:dialog:KoMa:*:*:{
  if ($devent == init) {
    if (%checkaccueil) { did -c KoMa 12 | did -n KoMa 7,8,9,10,11 }
      else { did -m KoMa 7,8,9,10,11 }
      var %i = 1
      while %i <= 5 { did -a KoMa $calc(%i + 6) %msgaccueil $+ %i | inc %i }
      did -a KoMa 16 %channelcmd
      var %i = 1
      while %i <= 7 { did -a KoMa $calc(%i + 25) %cmd $+ %i | did -a KoMa $calc(%i + 39) %msgcmd $+ %i | inc %i }
  }
  elseif ($devent == sclick) {
    if ( $did == 13 ) {
      var %i = 1
      while %i <= 5 { set %msgaccueil $+ %i $did($calc(%i + 6)) | inc %i }
      set %channelcmd $did(16)
      var %i = 1
      while %i <= 7 { set %cmd $+ %i $did($calc(%i + 25)) | set %msgcmd $+ %i $did($calc(%i + 39)) | inc %i }
    }
  
    if ( $did == 12 ) {
      if ($did(12).state) { did -n KoMa 7,8,9,10,11 | set %checkaccueil 1 | echo -a 7¤¤ 4Messages d'accueil 10activés }
      else { did -m KoMa 7,8,9,10,11 | set %checkaccueil 0 | echo -a 7¤¤ 4Messages d'accueil 10déactivés }
    }
  }
}

mon script marche très par contre j'ai juste un truc que j'arrive pas à trouver et qui me faisais pas avant, c'est que quand je load mon script et que je l'exécute, dans tous les édits j'ai un chiffre sauf celui qui correcpond au channel car c'est le seul qui n'est pas dans une boucle while.
dans la partie accueil par exemple dans le premier edit j'ai un 1, le 2eme un 2, le 3eme un 3, etc.
dans les edit de cmd pareil j'ai un 1 dans le premier, etc.. et pareil pour les msgcmd.
je sais pas pourquoi ça fait ça car normalement le nouveau code correspond à l'ancien en mieu biensur ^^ mais renvoi la meme chose.
merci pour vos messages ;)

signaler à un administrateur
Commentaire de KoMa94 le 14/08/2007 13:02:57

ah oui je vien de remarquer quelque chose aussi, quand j'ai changé les édit et que je clique sur validé ça prend bien en compte mes changements. par contre des que je reviens deçu tous mes édits ce sont effacé et on les chiffres comme je vous en ai parlé au dessus. je comprend vraiment pas pouquoi ça fait ça :s

signaler à un administrateur
Commentaire de ISoKa le 14/08/2007 15:14:23

bin fallait ptete laisser les crochets dans les variables elles ont vraiment une utilitée. Remets les et test à nouveau pour voir.

signaler à un administrateur
Commentaire de KoMa94 le 14/08/2007 16:52:16

bon ba effectivement c'était ça, mon script marche nikel maintenant :D
c'est vrai que maintenant ça fait plus propre et j'ai gagné beaucoup de ligne.
sinon comme ça m'amuse pas mal de codé un peu, je vais encore améliorer mon script et y ajouter meme d'autre fonction au fur et à mesure. Pour l'instant j'ai pas encore d'idée car je cherchais a faire juste quelques chose dont j'avais besoin mais ça viendra.
donc pour le moment je vais essayé d'amélioré en terme d'option sur ce qu'on m'a dit plus haut (Arkanis) :

- utilisation de variables globales : que voulais tu dire par la car je comprend pas trop lol ^^
- limité à 5 messages, pourquoi pas plus ? je suis d'accord mais je suis donc obligé de rajouté des édits hein ?
- limité à un seul salon : ça effectivement ça pourais être bien mais vu mon utilité et mon niveau j'ai limité à 1 salon lol.
- pas d'anti-flood : effectivement yen a pas mais la va faloir que je me fasse mal pour codé ça ^^
- Tu aurais pu faire en sorte qu'on puisse utiliser $nick ou $chan ainsi que d'autres identifieurs ($time, $date, ...) : oui ça serait très utile d'ailleur j'aurais bien aimé que ça puisse ce faire mais quand je tape ces commandes dans un édit elles sont pas reconnu et je sais pas comment faire et puis je n'y ai pas trop réfléchi encore.

ah oui une derniere chose, quand je tape dans un édit je suis limité en nombre de caractère car quand j'arrive au bout de la ligne je ne peux plus continué, j'aurais bien aimé une solution.

Sinon merci à vous 3 pour vos aides, conseils et explications.

signaler à un administrateur
Commentaire de KoMa94 le 14/08/2007 16:57:08

oups à chaque fois j'oubli un truc, pourquoi doit on mettre des unset?
et ou sont stockés les variables que j'ai créé? car je me demandais comment mon script rétrouvait les données rentré dans mon dialog quand je fermais mon irc et que je le r'ouvrais.
merci

signaler à un administrateur
Commentaire de RCA ArKanis le 14/08/2007 16:59:58

- variables globales : ouvre ton remote, et va dans la section Variables. T'auras une grande liste de toutes les variables que tu utilises. La plupart d'entre elles sont temporaires et doivent donc être effacées.
Tu devrais inscrire les données les plus importantes dans un fichier .ini (/writeini et $readini)

- 5 messages : non, pas si tu de débrouilles pour en avoir une infinité (while)

- un salon : en utilisant des .ini, il aurait été très simple d'avoir autant de salons que tu voulais s'il se construit comme ceci :
[#salon1]
!commande=que dire ...
!site=l'url ...
etc
[#salon2]
...

- Anti-Flood : variables/timers : set -u3 %anti.flood 1, + d'autres qui comportent le nick dans le nom de la variable, par exemple

- En utilisant $eval(...,2), je pense que ça devrait fonctionner
sinon utilise 'nick', 'chan' et tu fais un mega $replace

une solution possible pour ton problème : utiliser mon GUI xD

signaler à un administrateur
Commentaire de RCA ArKanis le 14/08/2007 17:01:00

ah bah tiens, je t'ai répondu sur tes variables même sans avoir lu ton message :D

signaler à un administrateur
Commentaire de ISoKa le 14/08/2007 18:51:48

Pour ne pas etre limiter par le nombre de salon tu peux tout à fait faire une listebox avec les noms de chans et quand tu selectionne un nom de chan ca te met dans tes edits tes differents trucs. aprés suffit de faire des variables qui prennent en compte les noms des salons genre %cmd $+ [ salon ] $+ [ %i ] . fin c'est un exemple ca car à mon avis si tu viens à gerer bcp de variables vaut mieu mettre tout ca en htables ca te pourira moins tes var. pour rajouter des edits tu peux faire un truc du meme principe avec des listbox ou combobox pour ne pas etre limiter sur le volume.

signaler à un administrateur
Commentaire de wims le 14/08/2007 19:07:03

Ton GUI ? la chose pas finis, qui est trouvable nul part et qui fait bugué tes codes ? ah oui c'est bien ça :D

signaler à un administrateur
Commentaire de RCA ArKanis le 14/08/2007 19:50:22

tu plaisantes ? :(
il ne reste que le popup et le multiedit, tout le reste est opérationnel !

il ne fait pas bugguer le code et tu peux le trouver en téléchargeant ma météo xD

signaler à un administrateur
Commentaire de wims le 14/08/2007 20:11:45

Ah ? treeview, listview c'est fais ^^ ?

signaler à un administrateur
Commentaire de KoMa94 le 16/08/2007 12:16:48

j'ai trouvé pour pas etre limité dans mes édits, je devais mettre autohs dans les edit de mon dialog. donc maintenant je vais essayé de voir pour utilisé les $nick, etc dans mes dialogues.
merci pour vos réponse au dessus

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

script irc [ par guigounnet ] 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 comman Page web sur irc. [ par SataN_sTn ] Bonjour, Je vous expose ce que je voudrais, j'ai d&#233;j&#224; un script irc qui recup&#233;re une page web :alias&nbsp;matchs {&nbsp; sockclose matc petite addon cs [ par nynja ] Voila, je cherche une addon qui permet de se connecter a un serveur cs a partir de irc, toute les addons que j'ai trouver sont trop complexe trop de c script irc [ par Bliss89 ] Bonjours,j'aimerais que l'on peut s'inscrire q'une fois.ON *:TEXT:!dispo.low:#Tournay:{  /set %l.nick %l.nick $nick  }ON *:TEXT:!lastdispo.low:#Tourna Script qui marche pas .. [ par dripp ] salut Ce script ne donne rien, tout mes scripts en haut on bien été fermés. On *:TEXT:*:#: { if ($me == %botnick) { if ($1 == commande) { msg Changer la commande USER envoyée au serveur IRC [ par Bl0tCh ] Bonjour,Pendant la connexion, mIRC envoie une commande au serveur irc qui ressemble à:USER digital.midway "gmail.coml" "eu.undernet.org" :Bl0tChCe que infos server de jeux sur irc [ par Solisoft ] salutje cherche 1 script qui me permettrais de savoir ce qu'il se passe sur mon server Unreal Tournament 2004 quand je tappe !infoserver sur irc.J'ai commande script [ par norte ] salut je voudrai ajouter des cammandes sur mon script pour que les anim passe par mon script, exemple quand les anims tape !commande   en salon par l' Script IRC ou les trouver ? [ par fullcolors ] Bonjour,Voilà je suis nouveau ici et j'utilise depuis quelques jours IRC pour le t'chat de mon site (www.metisofcolors.net).Le seul problème c'est IRC Scripting remote problème [ par Maxime15 ] Je suis actuellement un script pour mon tchat en utilisant mIRC et je débute juste. J'ai déjà trouvé quelques commandes en remote du style réponse aut


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,967 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.