Bonjour : )
Alors pour marquez ma venu parmis vous je dépose un code : ). C'est ma premiere source que je dépose alors me linchez pas hin... :x
Pour ce qui est du code. En faite comme je m'innicie tout juste à l'utilisation des fenetres... Quand on est sur plusieurs chans, et que l'on parle à x personnes, c'est assez embetant de devoir absolument jongler entre les chans pour repondre tout ca. Alors tout à l'heure j'ai scripter un pti add-on qui en faite crée une fenetre "@ALL" avec une nicklist. Dans cette fenetre, vous recevez tout ce qu'une personne dit quelque soit le chan ou elle le dit du moment que vous l'avez ajouté (menu nicklist\fenetre-All\ajouter) ou du moment qu'elle vous a HL une fois. Ensuite vous pouvez directement dans cette fenetre taper du texte. pour parler à quelqu'un, il vous suffit d'une fois taper le pseudo de la personne comme premier mot de ce que vous dites et ca enverra automatiquement votre message sur le salon ou il vous a HL pour la derniere fois. Pour changer de personne ou de chan, il suffit de taper de nouvo un pseudo kom premier mot de votre texte. Automatiquement ca gere les renick, les parts (en changeant alors le chan de reference comme le premier chan commun entre vous), les quits en vous disant qu'il a quit et en le supprimant de la liste. normalement ca devrai gerer les kicks aussi en faisant ke si une personne est kické et vous n'avez pas de chan communs pendant 30s il est automatiquement enlevé, MAIS cette partie là ne marche pas, mon $comchan refuse categoriquement de passer bizar... Voila c'est un premier code sans prétentions qui je sais devra etre arranger/optimiser pour etre optimal. Toutefois il me semble pas avoir deja vu une source comme celle ci, donc si c'est bien le cas, elle a le merite d'innover (je vous ai epargné mes gestionnaires de pv etc... lol) : ))))
Désolé d'avoir été aussi long sur les explications mais bon je voyai pas trop comment expliquer autrement :x
Essayez le, et hésiter pas à me dire vos remarques\suggestions en les esperants au maximum constructives :x
Source / Exemple :
;----------------FENETRE VOIR ALL-----------------
on 1:LOAD: {
echo -a 4 Chargement de Fenetre @ALL By ISoKA. Add-On pour pouvoir parler à plusieurs personnes sur plusieurs chans
set %coulecriall $$?"Veuillez rentrer votre code couleur d'écriture : )"
set %policeall $$?"Veuillez rentrer la taille de la police d'écriture : )"
echo -a %coulecriall Ceci sera votre couleur d'écriture : )
echo -a 4 Vous aurez une taille de police de %policeall . Pour changer ces valeurs, il vous suffit d'aller dans le menu de configuration de cet Add-On
echo -a 4 Il est possible que cet Add-On posséde certains Bugs. Même probable... :x pour toute remarque constructive n'hésitez pas à me contacter : )
}
dialog Voir-All {
title "Voir-All"
size -1 -1 71 138
option dbu
box "Configurations", 1, 7 7 57 108
button "Close", 2, 19 118 34 12
edit "", 3, 14 28 43 10
text "Couleur ecriture", 4, 13 17 47 8, center
button "Aj.", 7, 11 97 21 12
button "Supp.", 8, 40 97 21 12
text "Ignore-List", 9, 17 68 37 8, center
combo 10, 10 82 52 50, drop
text "Taille Police", 11, 18 41 36 8, center
edit "", 12, 14 53 43 10
}
on *:dialog:Voir-all:init:*:{
echo -a 4 Ouverture panneau de configuration Fenetre @ALL | var %i 1
did -r voir-all 10
while ($lines(ignoreall.txt) >= %i) {
did -a voir-all 10 $read(ignoreall.txt,%i)
inc %i
}
}
on *:dialog:Voir-all:sclick:7:{
var %pseudpourignall $$?"Pseudo à ignorer"
write ignoreall.txt %pseudpourignall
if ($hget(ignoreall,0).data) {
var %taillehashignall $lines(ignoreall.txt) | hadd ignoreall [ %taillehashignall ] [ %pseudpourignall ]
}
did -r Voir-all 10
var %i 1
while ($lines(ignoreall.txt) >= %i) {
did -a voir-all 10 $read(ignoreall.txt,%i)
inc %i
}
}
on *:dialog:Voir-all:sclick:8:{
var %pseudpourdesignall $did(voir-all,10).seltext
if ($read(ignoreall.txt,w,$+(%pseudpourdesignall))) { write $+(-dl,$readn) ignoreall.txt }
hfree ignoreall
if ($isfile(ignoreall.txt)) {
var %nbinignoall $lines(ignoreall.txt) | hmake ignoreall 50 | var %comptajouignoreall 1
while (%nbinignoall >= %comptajouignoreall) {
hadd ignoreall %comptajouignoreall $read(ignoreall.txt,%comptajoubasefin) | inc %comptajouignoreall
}
}
did -r Voir-all 10
var %i 1
while ($lines(ignoreall.txt) >= %i) {
did -a voir-all 10 $read(ignoreall.txt,%i)
inc %i
}
}
on *:dialog:Voir-all:sclick:2:{
if (!%coulecriall) && (!$did(3)) { echo -a 4 veuillez préciser une couleur d'écriture : ) | halt }
if ($did(3)) { set %coulecriall $did(3) | echo -a %coulecriall Voici vos couleurs d'écriture :) }
if (!%policeall) && (!$did(12)) { echo -a 4 Veuillez préciser une taille pour la police de la fenetre @ALL | halt }
if ($did(12)) {
if ($did(12) !isnum) { echo -a 4 La taille de la police doit etre désignée par un nombre : ) | halt }
else { set %policeall $did(12) | echo -a 4 La taille de la police de la fenetre sera de %policeall }
}
dialog -x Voir-All Voir-All | echo -a 4 Fermeture panneau configurations Fenetre @ALL
}
alias ouverturefentreall {
if (!$window(@ALL)) { window -abCefmnkl18S @ALL 1 1 640 480 Arial %policeall | unset %listepersonnevoir | .enable #voirall
if ($isfile(ignoreall.txt)) {
var %nbinignoall $lines(ignoreall.txt) | hmake ignoreall 50 | var %comptajouignoreall 1
while (%nbinignoall >= %comptajouignoreall) {
hadd ignoreall %comptajouignoreall $read(ignoreall.txt,%comptajouignoreall) | inc %comptajouignoreall
}
}
}
}
alias fermeturefenetreall {
if ($window(@ALL)) { close -@ @all }
unset %chanpourrepondre* | hfree ignoreall
.disable #voirall
}
#voirall on
on *:text:*:#:{
if (!$hmatch(ignoreall,$gettok($nick,1,124),0).data) {
if ($me isin $1-) && ($fline(@ALL,$nick,1,1)) { echo -t @ALL ( $+ $nick $+ ) $1- | set %chanpourrepondre $+ $gettok($nick,1,124) $chan }
elseif ($me isin $1-) && (!$fline(@ALL,$nick,1,1)) { aline -inl @ALL $nick | echo -t @ALL ( $+ $nick $+ ) $1- | set %chanpourrepondre $+ $gettok($nick,1,124) $chan }
elseif ($fline(@ALL,$nick,1,1)) { echo -t @ALL ( $+ $nick $+ ) $1- }
}
}
on *:action:*:#:{
if (!$hmatch(ignoreall,$gettok($nick,1,124),0).data) {
if ($me isin $1-) && ($fline(@ALL,$nick,1,1)) { echo -t @ALL $nick 6 $1- | set %chanpourrepondre $+ $gettok($nick,1,124) $chan }
elseif ($me isin $1-) && (!$fline(@ALL,$nick,1,1)) { aline -inl @ALL $nick | echo -t @ALL $nick 6 $1- | set %chanpourrepondre $+ $gettok($nick,1,124) $chan }
elseif ($fline(@ALL,$nick,1,1)) { echo -t @ALL $nick 6 $1- }
}
}
on ^*:nick:{
if ($fline(@ALL,$nick,1,1)) { rline -inl @all $fline(@ALL,$nick,1,1) $newnick }
}
on ^*:part:#:{
if ($fline(@ALL,$nick,1,1)) && (!$comchan($nick,1)) { .timer 1 3 supprimerpersonneall $nick }
elseif ($fline(@ALL,$nick,1,1)) && ($chan == %chanpourrepondre $+ $gettok($nick,1,124)) { set %chanpourrepondre $+ $gettok($nick,1,124) $comchan($nick,1) }
}
on ^*:quit:{
if ($fline(@ALL,$nick,1,1)) { .timer 1 3 supprimerpersonneall $nick }
}
on *:kick:#:{
if ($fline(@ALL,$knick,1,1)) { .timer $+ [ $gettok($knick,1,124) ] 1 30 supprimerpersonneall $knick }
if ($fline(@ALL,$knick,1,1)) && ($comchan($knick,0) != 0) { set %chanpourrepondre $+ $gettok($knick,1,124) $comchan($knick,1) }
}
on ^*:join:#:{
if (timer $+ gettok($nick,1,124)) { .timer $+ gettok($nick,1,124) off | set %chanpourrepondre $+ $gettok($nick,1,124) $chan }
}
on *:close:@ALL:{ fermeturefenetreall }
on 1:INPUT:@ALL:{
echo -t @ALL ( $+ $me $+ ) %coulecriall $1-
var %nbpseudodansfenetreall $line(@ALL,0,1)
if ( [ % $+ [ chanpourrepondre $+ [ $gettok($1,1,124) ] ] ] ) { msg [ % $+ [ chanpourrepondre $+ [ $gettok($1,1,124) ] ] ] %coulecriall $1- | set %chanrepondreall [ % $+ [ chanpourrepondre $+ [ $gettok($1,1,124) ] ] ] }
else { msg %chanrepondreall %coulecriall $1- }
}
#voirall end
menu channel {
-
Fenetre-All
.Lancer:ouverturefentreall
.Fermer:fermeturefenetreall
.Configuration:dialog -m Voir-All Voir-All
-
}
menu nicklist,@ALL {
-
Fenetre-All
.Ajouter:{ aline -inl @ALL $$1 | set %chanpourrepondre $+ $gettok($$1,1,124) $chan }
.Supprimer:{ unset %chanpourrepondre $+ $gettok($$1,1,124) | dline -inl @all $fline(@ALL,$$1,1,1) }
-
}
alias supprimerpersonneall {
if (!$address($1,1)) { echo -t @ALL 4Vous n'avez plus de salons communs avec $1 | unset %chanpourrepondre $+ $gettok($1,1,124) | dline -inl @all $fline(@ALL,$1,1,1) }
}
on ^1:HOTLINK:*(*)*:@ALL*:{
set %pseudoaqueryall $remove($strip($gettok($hotline,2,32)),$chr(41),$chr(40))
}
on 1:HOTLINK:*(*)*:@ALL*:query %pseudoaqueryall
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.