Probleme remplacement variable auto

cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009 - 9 avril 2006 à 15:25
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009 - 9 avril 2006 à 18:04
hello :)

Je fais un sound manager pour mon script et je bute sur un petit problème.
Dans celui-ci je propose un bouton qui correspond à :

set %sound1 $$sfile( sound\*.mp3, Choix du son, add)

Cela set donc la variable %sound1 lorsque on à selectionné un son dans le repertoire choisit le probleme que je rencontre c'est que si on reclick pour selectionner un autre son , il ne remplace pas le précédent mais s'ajoute au suivant , exemple pour moi :
%sound1 C:\Program Files\BaRoNScRiPt\sounds\hl.wavC:\Program Files\BaRoNScRiPt\sounds\ban.mp3

La variable se set avec les 2 sons

Je n'arrive pas à faire en sorte que si on reclick sur le bouton permettant de selectionner un autre son , il remplace la variable précédente par la nouvelle de facon automatique

J'ai testé avec des trucs genre :
if (%sound1 != $null) { unset %sound1 | set %sound1 $$sfile( sound\*.mp3, Choix du son, add) }

Mais ca ne fonctionne pas corectement , au mieux il l'éfface mais réouvre 2 fois de suite le dialogue de selection du nouveau son avant de le set à nouveau

3 réponses

RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
9 avril 2006 à 15:32
tu as quelle version de mIRC ?

à mon avis la 2e ouverture correspond en fait à une deuxième commande, je m'explique
tu as du mettre à la suite de
if (%sound1 != $null) { ...}
ceci :
set %sound1 $$sfile( sound\*.mp3, Choix du son, add)

2 solutions : mets un else, ou à la place de tes ..., mets unset %sound1, ce qui donne
if (%sound1) unset %sound1
set %sound1 $$sfile( sound\*.mp3, Choix du son, add)

colle tout ton code si ça ne marche pas
le non-remplacement de la variable, ça doit aussi venir de ton code
0
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
9 avril 2006 à 17:17
j'ai mirc 6.14.

Effectivement dans les solutions testées j'ai fait un :
elseif ($devent == sclick) {
if (%sound1 == $null) { set %sound1 $$sfile( sound\*.mp3, Choix du son, add) }
else {
unset %sound1
set %sound1 $$sfile( sound\*.mp3, Choix du son, add)
}
}

ou aussi
elseif ($devent == sclick) {
if (%sound1 != $null) {
unset %sound1
set %sound1 $$sfile( sound\*.mp3, Choix du son, add)
}
else {
set %sound1 $$sfile( sound\*.mp3, Choix du son, add)
}
}

Mais toujours le même problème , la nouvelle variable selectionnée s'ajoute à la précédente déja sété
0
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
9 avril 2006 à 18:04
J'ai résolu mon problème :

elseif ($devent == sclick) {
if ($mouse.x isnum 140-210 && $mouse.y isnum 40-60) {
did -r $dname 43 | unset %sound1 {
set %sound1 $$sfile( sounds\*.mp3, Choix du son, add) | did -a $dname 43 %sound1
}
}

Le $dname 43 est une édit qui affiche dans le dialogue le son selectionné

Bref cela fonctionne comme cela et éfface bien la variable et l'édit des que je click et la rempalcepar la nouvelleselectionnée
0
Rejoignez-nous