DComboBox

  • Initiateur de la discussion
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Bonjour,

J'aimerai faire une DComboBox avec plusieurs choix prédéfinis pour un système de ban (https://mtxserv.com/forums/threads/recherche-addon-de-bannissement.42853/page-2#post-314808 ), je fais ça pour m’entraîner mais malheureusement la Box ne m'affiche qu'un seul des choix prédéfinis ( Ban ( 1 Heure)

Code:
warnaddchoice = {} warnaddchoice = {{ txtchoice = "Ban ( 5 Heures)" Durée = 300 },} warnaddchoice = {{ txtchoice = "Ban ( 1 Heure)" Durée = 60 },} local hl = vgui.Create( "DComboBox", MenuPanel) hl:SetPos( 5 , 70) hl:SetSize( 360, 20 ) for k,v in pairs(warnaddchoice) do hl:AddChoice( v["txtchoice"] ) end
Si quelqu'un connais un autre moyen que par for k,v in pairs ou tout simplement la solution ;)
 
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
Si tu redéfinie ta table à chaque fois, normal que ça fonctionne pas

Tu peux tenter un table.insert(warnaddchoice, {txtchoice= Ban 1H, duree = 60})
table.insert(warnaddchoice, {txtchoice= Ban 5H, duree = 300})

Ou un
warnaddchoice[#warnaddchoice + 1] = { txtchoice= Ban 1H, duree = 60}

warnaddchoice[#warnaddchoice + 1] = { txtchoice= Ban 5H, duree = 300}

Ou encore

warnaddchoice = {{txtchoice = 1h, duree = 60}, {txtchoice = 5h, duree = 300}}
 
  • J'aime
Réactions: thepsyca
  • Initiateur de la discussion
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Z3k4 à dit:
Si tu redéfinie ta table à chaque fois, normal que ça fonctionne pas

Tu peux tenter un table.insert(warnaddchoice, {txtchoice= Ban 1H, duree = 60})
table.insert(warnaddchoice, {txtchoice= Ban 5H, duree = 300})

Ou un
warnaddchoice[#warnaddchoice + 1] = { txtchoice= Ban 1H, duree = 60}

warnaddchoice[#warnaddchoice + 1] = { txtchoice= Ban 5H, duree = 300}

Ou encore

warnaddchoice = {{txtchoice = 1h, duree = 60}, {txtchoice = 5h, duree = 300}}
Merci bien
 
  • Initiateur de la discussion
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
warnaddchoice = {{txtchoice = 1h, duree = 60}, {txtchoice = 5h, duree = 300}}

Et pour utiliser la durée avec ce système je fais comment ? ^^ sa m'enregistre que la dernière ..
 
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
Pardon, fait plutôt warnaddchoice = {{"txtchoice" = "1h", "duree" = 60}, {"txtchoice" = "5h", "duree" = 300}}

Fait un Printtable(warnaddchoice) et envoie un screen de ce que ça t'affiche
 
  • Initiateur de la discussion
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Code:
1: duree = 60 txtchoice = 1h
2: duree = 300 txtchoice = 5h
 
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
for k,v in ipairs(warnaddchoice) do
h1:AddChoice(v.txtchoice)*
end
*: ou h1:AddChoice(v["txtchoice"]) je sais plus xD
 
  • Initiateur de la discussion
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
mdrr j'ai déjà fait, c'est pas le soucis comment j'utilise la durée 60 parce h24 quand j'utilise
Code:
 local hl = vgui.Create( "DComboBox", MenuPanel) hl:SetPos( 5 , 70) hl:SetSize( 360, 20 )
for k,v in pairs(warnaddchoice) do hl:AddChoice( v["txtchoice"] ) hl.OnSelect = function( panel, index, value, data ) choicecombobox = value timesanction = v["duree"] print( choicecombobox .." was selected!" .. timesanction ) end
end
la timesanction est égal à 300 ^^ même si je sélectionne le txtchoice 1h
 
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
C'est compliqué de te donner une aide viable via portable mais essaye avec ça :
http://wiki.garrysmod.com/page/table/KeysFromValue
 
  • Initiateur de la discussion
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Merci :p
 
Discord d'entraide
Rejoignz-nous sur Discord