[GLUA] For k,v in pairs

  • Initiateur de la discussion
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
Hello,

je n'arrive pas a utiliser les for k,v in pairs, même en suivant tutos sur tutos, je n'arrive pas a faire mon cloth shop.. :/

J'aimerais qu'il y est un fichier config ou on peux rajouter des tenues.
Mais soit il y a sa :
Code:
[ERROR] addons/ws_clothshop/lua/entities/npc_cloth/cl_init.lua:279: attempt to index global 'ShopVet' (a nil value)
1. func - addons/ws_clothshop/lua/entities/npc_cloth/cl_init.lua:279
2. unknown - lua/includes/extensions/net.lua:32
J'ai mis ceci:
Code:
 local Scroll = vgui.Create( "DScrollPanel", CLOTH ) Scroll:SetSize(750,400) Scroll:Center() local sbar = Scroll:GetVBar() function sbar:Paint( w, h ) draw.RoundedBox( 0, 0, 0, w, h, Color(0,0,0,255) ) end function sbar.btnUp:Paint( w, h ) draw.RoundedBox( 0, 0, 0, w, h, Color(0,0,0,255) ) end function sbar.btnDown:Paint( w, h ) draw.RoundedBox( 0, 0, 0, w, h, Color(0,0,0,255)) end function sbar.btnGrip:Paint( w, h ) draw.RoundedBox( 0, 0, 0, w, h, Color(0,0,0,255) ) end for k, v in pairs( ShopVet.Create ) do lerpv = 0 local VET = vgui.Create( "DButton", Scroll) VET:SetText("") VET:SetSize(w / 16, h / 8) VET:DockMargin( 0, 0, 0, 5 ) VET:Dock( TOP ) VET.Paint = function(self) if VET:IsHovered() then lerpv = Lerp(FrameTime()*12, lerpv, h) else lerpv = Lerp(FrameTime()*12, lerpv, 0) end draw.RoundedBox( 0, 0, 0, ScrW() / 16, ScrH() / 8, Color(43, 49, 54, 255)) draw.RoundedBox( 0, 0, h-lerpv, ScrW() / 16, lerpv, Color(83, 89, 94, 255)) end VET.DoClick = function() end local VETICON = vgui.Create( "DModelPanel", Scroll ) VETICON:SetSize( w / 15, h / 7) VETICON:DockMargin( 0, 0, 0, 5 ) VETICON:Dock( TOP ) VETICON:SetModel( ShopVet.Create[k].Model ) VETICON:SetCamPos( Vector(10,60,60)) lerpx = 0 local VET2 = vgui.Create( "DButton", Scroll) VET2:SetText("") VET2:SetSize(ScrW() / 16, ScrH() / 8) VET2:DockMargin( 0, 0, 0, 5 ) VET2:Dock( TOP ) VET2.Paint = function(self) if VET2:IsHovered() then lerpx = Lerp(FrameTime()*12, lerpx, h) else lerpx = Lerp(FrameTime()*12, lerpx, 0) end draw.RoundedBox( 0, 0, 0, ScrW() / 16, ScrH() / 8, Color(43, 49, 54, 0)) draw.RoundedBox( 0, 0, h-lerpx, ScrW() / 16, lerpx, Color(83, 89, 94, 255)) draw.SimpleText("ACHETER", "wsfont15", ScrW() / 31, ScrH() / 65, Color(176, 176, 176, 255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER) draw.SimpleText("Prix: " ..ShopVet.Create[k].Price , "wsfont10", ScrW() / 31, h-lerpx+50, Color(176, 176, 176, 255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER) end VET2.DoClick = function() surface.PlaySound( "buttons/button15.wav" ) end
end
 
M

Membre supprimé 98332

Anonyme
WabelGame à dit:
Hello,

je n'arrive pas a utiliser les for k,v in pairs, même en suivant tutos sur tutos, je n'arrive pas a faire mon cloth shop.. :/

J'aimerais qu'il y est un fichier config ou on peux rajouter des tenues.
Mais soit il y a sa :
Code:
[ERROR] addons/ws_clothshop/lua/entities/npc_cloth/cl_init.lua:279: attempt to index global 'ShopVet' (a nil value)
1. func - addons/ws_clothshop/lua/entities/npc_cloth/cl_init.lua:279
2. unknown -
lua/includes/extensions/net.lua:32
[/QUOTE]
Hey !

Tu as la réponse dans ton erreur !

Le problème viens de ta variable globale ShopVet. ;)

Ca ne viens pas de ta boucle for;)

Edit :

Ta boucle for kv pairs doit se referer à un tableau, est tu sur que ShopVet.Create est un tableau ?
 
Taink

Taink

El Magnifico
Messages
5 292
Score réaction
2 720
Points
965
Eh bien tu crées ton tableau dans ton fichier config et tu le récupère avec une boucle for autre part, j'imagine...
Si j'ai bien compris hein.
 
  • J'aime
Réactions: anthonin lahterman
anthonin lahterman

anthonin lahterman

Geek suprême
Messages
589
Score réaction
124
Points
150
Dans une boucle, Le « k » exprime le nombre de la valeurs, le « v » exprime la valeure en elle même.
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
anthonin lahterman à dit:
Dans une boucle, Le « k » exprime le nombre de la valeurs, le « v » exprime la valeure en elle même.
K = Key *, le k n'est pas forcément un nombre ^^
 
  • J'aime
Réactions: brh450
anthonin lahterman

anthonin lahterman

Geek suprême
Messages
589
Score réaction
124
Points
150
slownls à dit:
K = Key *, le k n'est pas forcément un nombre ^^
Oui m’enfin bon C’est compliqué a expliquer, tu dirais sa comment toi?
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
anthonin lahterman à dit:
Oui m’enfin bon C’est compliqué a expliquer, tu dirais sa comment toi?
Bah

K = key
V = Value
 
Taink

Taink

El Magnifico
Messages
5 292
Score réaction
2 720
Points
965
anthonin lahterman à dit:
Oui m’enfin bon C’est compliqué a expliquer, tu dirais sa comment toi?
k, identifiant d'une case d'un tableau
v, valeur associée à cette case

Pour reprendre mon image :
ou
 
  • J'aime
Réactions: anthonin lahterman
  • Initiateur de la discussion
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
EpicGaby à dit:
Hey !

Tu as la réponse dans ton erreur !

Le problème viens de ta variable globale ShopVet. ;)

Ca ne viens pas de ta boucle for;)

Edit :

Ta boucle for kv pairs doit se referer à un tableau, est tu sur que ShopVet.Create est un tableau ?
Oui mais j'ai pas très bien compris l'erreur et oui j'ai mis dans un tableau (dans un fichier config et rien ne marche)
 
Discord d'entraide
Rejoignz-nous sur Discord