Voila un petit dialog permettant d'envoyer une notice ou un mémo à n'importe quel pseudo. Limité à 307 caractères comme c'est le cas sur tous les serveurs je crois ;) Vous pouvez choisir d'envoyer la notice ou le mémo à une personne du salon actif ou d'entrer le pseudo manuellement.
Source / Exemple :
dialog BS.Nm {
title "Sender de notices et mémos (BSmax)"
size -1 -1 208 91
option dbu
combo 1, 48 4 60 50, size drop
text "", 2, 2 4 38 8
text "Ou entre le pseudo manuellement", 3, 111 3 48 14, center
edit "", 4, 162 4 43 10, autohs limit 30
button "Rafraichir liste", 5, 57 16 39 10, flat
edit "", 6, 3 28 201 39, multi vsbar limit 307
edit "Caractères restants :", 7, 112 18 92 10, read
radio "Notice", 8, 3 69 27 10
radio "Mémo", 9, 3 79 27 10
box "", 10, 31 66 176 24
button "Effacer", 11, 33 71 36 17, flat
button "Fermer", 12, 168 71 36 17, flat ok
button "Envoyer", 13, 71 71 96 17, default flat
text "", 14, 2 17 53 8, disable
}
on *:dialog:BS.Nm:*:*:{
if ($devent == init) {
BS.Nm-Nick
did -c $dname 8
did -ra $dname 2 Notice pour :
did -ra $dname 7 Caractères restants : 307
did -ra $dname 14 [Aucun Pseudo]
}
elseif ($devent == close) { unset %BS.Nm-Nk }
elseif ($devent == edit) {
if ($did == 4) { set %BS.Nm-Nk $remove($did($did).text,@,+,$chr(37)) | did -ra $dname 14 %BS.Nm-Nk }
elseif ($did == 6) {
if $did($dname,6,1) { var %e1 $replace($did($dname,6,1).text,$chr(32),$chr(160)) }
if $did($dname,6,2) { var %e2 $replace($did($dname,6,2).text,$chr(32),$chr(160)) }
if $did($dname,6,3) { var %e3 $replace($did($dname,6,3).text,$chr(32),$chr(160)) }
if $did($dname,6,4) { var %e4 $replace($did($dname,6,4).text,$chr(32),$chr(160)) }
if $did($dname,6,5) { var %e5 $replace($did($dname,6,5).text,$chr(32),$chr(160)) }
if $did($dname,6,6) { var %e6 $replace($did($dname,6,6).text,$chr(32),$chr(160)) }
if $did($dname,6,7) { var %e7 $replace($did($dname,6,7).text,$chr(32),$chr(160)) }
if $did($dname,6,8) { var %e8 $replace($did($dname,6,8).text,$chr(32),$chr(160)) }
if $did($dname,6,9) { var %e9 $replace($did($dname,6,9).text,$chr(32),$chr(160)) }
var %e %e1 $+ %e2 $+ %e3 $+ %e4 $+ %e5 $+ %e6 $+ %e7 $+ %e8 $+ %e9
did -ra $dname 7 Caractères restants : $calc(307 - $len(%e))
}
}
elseif ($devent == sclick) {
if ($did == 8) { did -ra $dname 2 Notice pour : | did -u $dname 9 }
elseif ($did == 9) { did -ra $dname 2 Mémo pour : | did -u $dname 8 }
elseif ($did == 1) { set %BS.Nm-Nk $remove($did(1).seltext,@,+,$chr(37)) | did -ra $dname 14 %BS.Nm-Nk }
elseif ($did == 5) { BS.Nm-Nick }
elseif ($did == 11) { did -ra $dname 6 | did -ra $dname 7 Caractères restants : 307 }
elseif ($did == 13) {
var %x 1
while (%x <= $did(6).lines) { set %BS.Nm-Msg %BS.Nm-Msg $did($dname,6,%x).text | inc %x }
if (!%BS.Nm-Nk) { var %u $input(Tu dois préciser un pseudo !,2564,Erreur) | halt }
if (!%BS.Nm-Msg) { var %u $input(Tu n'as pas écrit de message !,2564,Erreur) | halt }
if ($did(8).state) { notice %BS.Nm-Nk %BS.Nm-Msg }
elseif ($did(9).state) { .msg memoserv send %BS.Nm-Nk %BS.Nm-Msg }
unset %BS.Nm-Msg
dialog -k $dname $dname
}
}
}
on *:ACTIVE:#:{ if ($dialog(BS.Nm)) { BS.Nm-Nick } }
alias BS.Nm-Nick {
var %dn BS.Nm
if $dialog(%dn) {
var %a $nick($active,0)
var %b 1
did -r %dn 1
while (%b <= %a) {
if ($nick($active,%b) isop $active) { did -a %dn 1 @ $+ $nick($active,%b) }
elseif ($nick($active,%b) ishop $active) { did -a %dn 1 % $+ $nick($active,%b) }
elseif ($nick($active,%b) isvo $active) { did -a %dn 1 + $+ $nick($active,%b) }
else { did -a %dn 1 $nick($active,%b) }
inc %b
}
}
}
alias Nm { if (!$dialog(BS.Nm)) { dialog -m BS.Nm BS.Nm } }
menu * {
Notice-Mémo Sender:nm
}
Conclusion :
Copiez/collez ce code dans vos remote (ALT+R)
Pour lancer, tapez /nm ou dans les menus ;)
Pour le compteur de caractères restants j'ai essayé avec while et tout mais j'ai pas réussi :/ si quelqu'un a une idée pour faire mieux...
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.