[Glua] DIconLayout

  • Initiateur de la discussion thepsyca
  • Date de début
  • Initiateur de la discussion
thepsyca

thepsyca

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

J'ai commencé à faire un npc vendeur de vêtements.
Screen

Seulement j'aimerais mettre le DButton en dessous du model mais je ne vois pas par quelle fonction passer, le code actuel :

Code:
net.Receive("C::OpenPanel", function(len, pl) local FPanel = vgui.Create("DFrame" ) FPanel:SetSize( 900, 600) FPanel:SetPos( ScrW()*0.25, ScrH()*1 ) FPanel:SetTitle("") FPanel:SetDraggable(true) FPanel:ShowCloseButton(true) FPanel:MakePopup() FPanel:MoveTo(ScrW()*0.25, ScrH()*0.25, 0.25, 0, 10) function FPanel:Paint( w,h ) draw.RoundedBox(5, 0, 0, w, 600,Color(0, 0, 0, 245)) draw.RoundedBox(5, 0, 0, w, 30,Color(226, 0, 0)) draw.SimpleText("Clothes NPC", "Trebuchet24", 400 , 3, Color(255, 255, 255) ) end local CScrool = vgui.Create("DScrollPanel", FPanel) CScrool:Dock( FILL ) local CVet = vgui.Create("DIconLayout", CScrool) CVet:DockMargin( 2 , 15 , 5 , 60) CVet:Dock( FILL ) CVet:SetSpaceX( 5 ) CVet:SetSpaceY( 5 ) for k, v in pairs (cclothes.addvet) do local ShowV = CVet:Add("DModelPanel") ShowV:SetSize(160, 200) ShowV:SetModel(v.models) function ShowV:LayoutEntity(Entity) return end local pos = ShowV:GetPos() local AllV = CVet:Add("DButton") AllV:SetSize( 120, 20 ) AllV:SetPos(pos.x-120, pos.y) AllV:SetText( "Achete le vêtement :\n" .. v.name ) AllV.DoClick = function () net.Start("C::BuyV") net.WriteUInt(k, 8) net.WriteEntity(net.ReadEntity()) net.SendToServer() FPanel:Remove() end end
end)

J'avais penser à un GetPos seulement j'ai une erreur
attempt to index local 'pos' (a number value)
Du coup je ne sais pas vraiment comment m'y prendre ^^

Merci de votre lecture et peut être futur aide.
 
  • Initiateur de la discussion
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Je viens de voir que le GetPos() me donne des cordonnées nul, je suppose donc que se n'est pas la bonne méthode :confused:
Je ne vois vraiment pas comment faire ..
 
RazzMo

RazzMo

Geek suprême
Messages
314
Score réaction
192
Points
120
Tu peu faire la fonction DoClick sur le dmodel panel ou paint le dbutton avec rien dans celui ci
 
  • J'aime
Réactions: thepsyca
  • Initiateur de la discussion
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
RazzMo à dit:
Tu peu faire la fonction DoClick sur le dmodel panel ou paint le dbutton avec rien dans celui ci
Petit dernier soucis, le model ne se draw plus quand j'utilise le paint, j'ai donc essayer avec DrawModel() ce qui donne le code suivant mais rien ne fait.
Code:
local ShowV = CVet:Add("DModelPanel") ShowV:SetSize(160, 200) ShowV:SetModel(v.models) function ShowV:LayoutEntity(Entity) return end function ShowV:Paint( w, h) draw.RoundedBox(5, 0, 170, w, 30,Color(226, 0, 0)) draw.SimpleText("Achète le vêtements : "..v.name,"Trebuchet24", 80, 170, Color(255, 255, 255)) end ShowV:DrawModel() ShowV.DoClick = function () net.Start("C::BuyV") net.WriteUInt(k, 8) net.WriteEntity(net.ReadEntity()) net.SendToServer() FPanel:Remove() end
 
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
thepsyca à dit:
Petit dernier soucis, le model ne se draw plus quand j'utilise le paint, j'ai donc essayer avec DrawModel() ce qui donne le code suivant mais rien ne fait.
Code:
local ShowV = CVet:Add("DModelPanel") ShowV:SetSize(160, 200) ShowV:SetModel(v.models) function ShowV:LayoutEntity(Entity) return end function ShowV:Paint( w, h) draw.RoundedBox(5, 0, 170, w, 30,Color(226, 0, 0)) draw.SimpleText("Achète le vêtements : "..v.name,"Trebuchet24", 80, 170, Color(255, 255, 255)) end ShowV:DrawModel() ShowV.DoClick = function () net.Start("C::BuyV") net.WriteUInt(k, 8) net.WriteEntity(net.ReadEntity()) net.SendToServer() FPanel:Remove() end
Si tu veux rajouter un paint sur ton dmodel utilise PaintOver à la place du Paint http://wiki.garrysmod.com/page/PANEL/PaintOver
 
  • J'aime
Réactions: Feytone et thepsyca
  • Initiateur de la discussion
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Zaros_Live à dit:
Si tu veux rajouter un paint sur ton dmodel utilise PaintOver à la place du Paint http://wiki.garrysmod.com/page/PANEL/PaintOver
Niquel merci à toi
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Zaros_Live à dit:
Si tu veux rajouter un paint sur ton dmodel utilise PaintOver à la place du Paint http://wiki.garrysmod.com/page/PANEL/PaintOver
Oh je connaissais pas ça, ça m'a l'air bien cool :)
 
Discord d'entraide
Rejoignz-nous sur Discord