Dialog mirc scripting [Résolu]

Signaler
Messages postés
12
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
18 juin 2009
-
uaip
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
-
bonjour a tous,

je suis sur un projet actuellement et voudrais vous demandez votra avis sur un point qui pour moi est tres important.

je voulais savoir si il est possible d afficher une fenetre de tchat dans un dialogue en mirc scripting car j essaye de faire une interface de tv personnelle et donc je prefere avoir vos avis.

j avais pensé à mettre une box dans un dialog, mais bon...
si quelqu un peut me donner un petit tuyau, ce ne serais pas de refus

merci d avance,

13 réponses

Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011

Salut,
Tiens, voilà un petit exemple. Il n'est pas commenté, j'ai fait ça à l'arrache.
Tu as juste a taper /dtest pour ouvrir le dialog. Par défaut il prend comme salon celui de la fenêtre active (si ta fenêtre active n'est pas un salon, message d'erreur et il ne se passe rien).

alias dtest {
  if ($left($active,1) != $chr(35)) { echo La fenêtre active doit être un salon | return }
  set %d_act $active
  dialog -m d_test d_test
}
alias print did -a d_test 2 $crlf $+ $+([,$time,]) $1-
dialog d_test {
  title "Test"
  size -1 -1 300 200
  option dbu
  button "envoyer", 1, 260 182 30 10, default
  edit "", 2, 10 10 280 170, read multi
  edit "", 3, 10 182 248 10
}
on *:dialog:d_test:*:*:{
  if ($devent == init) { did -a $dname 2 Salon : %d_act | did -f $dname 3 }
  elseif ($devent == close) unset %d_*
  elseif ($devent == sclick) {
    if (($did == 1) && ($did(3).text != $null)) {
      msg %d_act $v1
      print $+(<,$me,>) $v1
      did -r $dname 3
    }
    did -f $dname 3
  }
}
on *:text:*:%d_act:if (%d_act) print $+(<,$nick,>) $strip($1-)
on *:join:%d_act:if (%d_act) print $chr(91) $nick rejoint le salon %d_act $chr(93)
on *:part:%d_act:if (%d_act) print $chr(91) $nick rejoint le salon %d_act $chr(93)
on *:nick:if (%d_act) print $chr(91) $nick devient $newnick $chr(93)
on *:quit:if (%d_act) print $chr(91) $nick quitte le serveur $chr(93)

Cordialement, uaip.
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011

Hum.. je suis même allé un peu vite.
- Le "default" doit être remplacé par "ok" (pour utiliser la touche Enter)
- %d_* peut être remplacé par %d_test
- et j'ai testé uniquement sous v6.17, donc je connais pas le résultat sur la v6.3*
Ca change pas grand chose, mais je tiens quand même à préciser tout ça.

Cordialement, uaip.
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011

Ah oui, exact, non ce n'est pas un beug, j'ai remarqué ça aussi lors de mes tests, mais j'ai oublié de corriger.
Tiens, j'ai rajouté quelques corrections, aussi :

alias dtest {
  if ($left($active,1) != $chr(35)) { echo La fenêtre active doit être un salon | return }
  set %d_act $active
  dialog -m d_test d_test
}
alias print did -a d_test 2 $crlf $+ $+([,$time,]) $1-
dialog d_test {
  title "Test"
  size -1 -1 300 200
  option dbu
  button "envoyer", 1, 260 182 30 10, default
  edit "", 2, 10 10 280 170, multi vsbar
  edit "", 3, 10 182 248 10
}
on *:dialog:d_test:*:*:{
  if ($devent == init) { did -a $dname 2 Salon : %d_act | did -f $dname 3 }
  elseif ($devent == close) unset %d_*
  elseif ($devent == sclick) {
    if (($did == 1) && ($did(3).text != $null)) {
      if ($me ison %d_act) msg %d_act $did(3).text
      print $+(<,$me,>) $did(3).text
      did -r $dname 3
    }
    did -f $dname 3
  }
}
on *:text:*:%d_act:if (%d_act) print $+(<,$nick,>) $strip($1-)
on *:join:%d_act:if (%d_act) print $chr(91) $nick rejoint le salon %d_act $chr(93)
on *:part:%d_act:if (%d_act) print $chr(91) $nick rejoint le salon %d_act $chr(93)
on *:nick:if ((%d_act) && ($nick ison %d_act)) print $chr(91) $nick devient $newnick $chr(93)
on *:quit:if ((%d_act) && ($nick ison %d_act)) print $chr(91) $nick quitte le serveur $chr(93)
on *:input:%d_act:if (%d_act) print $+(<,$me,>) $strip($1-)

Quant à mdx, c'est une dll qui permet de créer plus de controles, mais il y a mieux : dcx.
Les "dialogs" sont en fait tout simplement des fenêtres. Quand tu ouvres n'importe quel programme (msn, firefox, internet explorer, l'exporateur, un dossier quelconque, etc) ce sont tous des fenêtres, au même titre qu'un "dialog".
On peut donc créer des boutons, des cases à cocher, des boites d'édition, des listes déroulantes, etc etc.

Cordialement, uaip.
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011

oui on peut.
-> on peut simuler une fenêtre de salon en dialog (si le salon est ouvert)
-> on peut simuler un pv (même si celui-ci n'est pas "ouvert")
-> on peut simuler n'importe quelle fenêtre où il y a du dialogue

mais je comprends pas tres bien ce que tu veux faire exactement...

Cordialement, uaip.
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
"j essaye de faire une interface de tv personnelle et donc je prefere avoir vos avis."

Comme dis plus haut, faudrait détailler un peu plus cette partie là
Messages postés
12
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
18 juin 2009

en faite, j ai une tv perso c est a dire que je veus creer une interface diffusable par le biais du dualscreen de mon ordi.

j ai un robot qui ce charge du chan et je veus simplement qu il gere aussi l affichage grace a un dialogue.

Dans l interface je veus integre un chat (que tous les telespectateurs pourront voir)

en faite le dialog je l ai deja, avec ma banniere de chaine une box pour la video.
mais le seul point qui me manque c est d integré ce chat a mon dialogue
Messages postés
12
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
18 juin 2009

dialog design.dialog {
title "media-video"
size 0 0 420 300
option dbu notheme
icon images/joe_bot.ico, 0
box "play", 1, -12 -17 425 265 ; ma box vidéo
icon 100, 180 -1 200 50, $mircdir\images\ban.png ; ma banniere
box "tchat", 1, 5 195 410 110, ; (*)
button "Fermer_la_Box", 2, 12 185 50 8, ok cancel


(*) le voilà le reel probleme, jai la box mais je ne sais vraiment pas comment faire pour faire apparaitre la fenetre de tchat
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011

euh... je risque de paraitre idiot, mais je vois pas le rapport entre le bot (qui est sur un salon irc, donc visible par tous les users de ce salon) et ton client perso avec lequel tu vas afficher ton dialog...

Cordialement, uaip.
Messages postés
16
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
30 juin 2009

Désoler de remonté ce post mais j'ai le meme probleme! Enfaite waip il a un bot en remote et ensuite il se connecte a son tchat par un autre client. Et il voudrais aficher ce qui ce dit sur le tchat dans un dialog tout simplement et c'est ce que je voudrais faire aussi!

Merci d'avance,
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011

Salut,
En effet ce post est bien vieux.
Soit tu utilises une dll pour docker la fenêtre du salon dans un dialog, soit tu récupères les événements (text, input, nick, join, part, etc) et tu affiches les messages adéquats dans un dialog, par l'intermédiaire d'un edit par exemple.

Cordialement, uaip.
Messages postés
16
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
30 juin 2009

euh comment mettre des evenements dans une dialog ?

PS: je debute dans les dialog :S
Messages postés
12
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
18 juin 2009

merci à tous , à tous ceux qui ont ecris sur ce post et ça fais plaisirs de voir jimpy ici

pour rentrer un peu dans le detail, nous faisons de la tv personnelle, jimpy est aussi un peudo presentateur d'emission de tv amateur , comme moi

et j ai crée un bot multimedia pour webtv en mirc scripting...

grace aussi à l'aide que vous m'avez si gentiment offerte... merci encore...

et Bonne route....
Messages postés
16
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
30 juin 2009

Merci beaucoup waip pour ton aide, maintenant je comprend mieux les dialog car avant je croyez que c'était juste pour faire des boutons mais enfaite on peut faire plein de chose et si on rajoute mdx.dll c'est encore mieux!

Parcontre effectivement il y a un bug dans la 6.3 car quand les messages arivent en bas et que d'autre arive rien ne defile sa reste sur les anciens message :s je voudrais confirmation que c'est a cause de ma version pour savoir si je doit changer ou pas.

Merci encore,