Soucis pour set une var dans un dialog

Signaler
Messages postés
89
Date d'inscription
samedi 24 janvier 2004
Statut
Membre
Dernière intervention
9 avril 2008
-
Messages postés
89
Date d'inscription
samedi 24 janvier 2004
Statut
Membre
Dernière intervention
9 avril 2008
-
Bonjour,
voilà, j'essaie de faire un petit system de favoris pour joindre les salles favorites.
voici mon code, après j'esplique le soucis
on *:dialog:favoris:sclick:*: {
  if ($did == 9) {
    var %n = $nbfav
    while (%favoris. [ $+ [ %n ] ]) {
      var %favo = %favoris. [ $+ [ %n ] ]
      inc %n
    }
    if (%favo != $active) {
      did -a favoris 4 $active
      set %favoris. [ $+ [ $calc($nbfav + 1) ] ] $active
      unset %favo    
    }
    else { echo -a déja selectionné }
  }
}
donc voilà ici je selectionne les chan et ça me donne quelque chose genre : %favori.1 #[gn][fr]synant
j'aimerai que a puisse se faire qu'une fois et le cas echeant mettre le message déja selectionné.
ici, a ne fonctionne que une fois. Par exemplepremier clic ça me set mon favoris la deuxiemme ça me mets bien le message comme quoi c'est déja selectionné.
Mais si entretemps je selectionne une autre salle, et que je reviens pour selectionner, elle se selectionne genre %favoris.3 #.....
je pense que j'incremente pas au bon moment, ou que je fais totalement n'importe quoi...:p

Si quelqu'un a une idée, merci par avance.

Orus

3 réponses

Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Tu pourrais expliqué ce que le code est censé faire parce que j'comprend rien a ton probleme et tu devrais faire qu'une seul variable genre %favoris avec : #salon1,#salon2,#salon3...
Tu met un bouton pour ajouté des salon et quand on clique, tu set %favoris $addtok(%favoris,$input(Séparé les salons par une virgule,e,Salons),44)

C'est pas plus simple ? les salon déja present dans la variable seront pas ajouté
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

c'est quoi $nbfav ? t'es sûr qu'il retourne bien une valeur ?
il faudrait pas plutôt que tu mettes var %n = 1 ?

    var %n = 1
    while (%favoris. [ $+ [ %n ] ]) {
      var %favo = $addtok(%favo,%favoris. [ $+ [ %n ] ],32)
      inc %n
    }
    if (!$istok($active,%favo,32)) {
      did -a favoris 4 $active 
      set %favoris. [ $+ [ $calc($nbfav + 1) ] ] $active 
      unset %favo
    }
    else { echo -a déja selectionné }

ça semble plus logique
si ça ne fonctionne pas, mets plusieurs echo affichant la valeur des variables nécessaires
Messages postés
89
Date d'inscription
samedi 24 janvier 2004
Statut
Membre
Dernière intervention
9 avril 2008

Merci , c'est impec, j'étais trop borné à vouloir mettre une var par salle.

j'ai juste changé un truc
ça if (!$istok($active,%favo,32))  par : if (!$istok(%favo,$active,32))

merci ;)