2 Frames avec DPanels

  • Initiateur de la discussion
Grainbox

Grainbox

Geek
Messages
99
Score réaction
5
Points
95
Bonjour, j'essaie de créer un bouton qui ouvre une autre fenêtre.
cl_init:
local function OpenBasicFrame() local scrw, scrh = ScrW(), ScrH() local SizeX = 300 local SizeY = 320 local BasicFrame = vgui.Create("DFrame") BasicFrame:SetSize(960, 540) BasicFrame:Center() BasicFrame:MakePopup() BasicFrame:SetTitle("") BasicFrame:ShowCloseButton(true) function BasicFrame:Paint(w, h) draw.RoundedBox(10, 0, 0, w, h, Color(0, 0, 0, 200)) end ---------- première Frame--------------- local Button1 = vgui.Create("DButton", BasicFrame) Button1:SetPos(410, 360) Button1:SetSize(400, 100) Button1:SetText("MISSIONS") Button1.DoClick = function() SecondFrame:Open() end ----------- Bouton en question ---------------------
local function OpenSecondFrame() local scrw, scrh = ScrW(), ScrH() local SizeX = 300 local SizeY = 320 local SecondFrame = vgui.Create("DFrame") SecondFrame:SetSize(960, 540) SecondFrame:Center() SecondFrame:MakePopup() SecondFrame:SetTitle("") SecondFrame:ShowCloseButton(true) function SecondFrame:Paint(w, h) draw.RoundedBox(10, 0, 0, w, h, Color(0, 0, 0, 200)) end local FrameHeader = vgui.Create("DLabel", SecondFrame) FrameHeader:SetText("Missions") FrameHeader:SetFont("Title") FrameHeader.SetPos(450,10) local Button1 = vgui.Create("DButton", SecondFrame) Button1:SetPos(410,50) Button1:SetSize(400,100) Button1:SetText("MISSION 1") Button1.DoClick = function() Mission1:Start() end function Button1:Paint(w, h) draw.RoundedBox(20, 0, 0, w, h, Color(255, 255, 255, 50)) draw.RoundedBox(20, 1, 1, w-2, h-2, Color(0, 0, 0, 255)) end
end
------------------------- 2 ème Frame --------------------------
je n'arrive pas à ouvrir la 2ème Frame. (Lua error au niveau de l'appel SecondFrame:Open() )
Je ne comprend pas bien l'utilité de cl_init.lua, init.lua et shared. de ce que j'ai compris c'est seulement cl_init = serveur, init = client et shared = les 2

Quelqu'un saurait m'expliquer?
 
Jean-Louii-Carrot

Jean-Louii-Carrot

Geek suprême
Messages
198
Score réaction
50
Points
140
cl_init.lua = client
init.lua = server
shared.lua = Les deux
("cl_" veux dire client)

pour ouvrire ta Frame fait "SecondFrame: SetVisible(false)" quand tu l'initialize
et fait "SecondFrame: SetVisible(true)" quand tu veux l'ouvrire
 
  • Initiateur de la discussion
Grainbox

Grainbox

Geek
Messages
99
Score réaction
5
Points
95
c'est fait. par contre j'ai une erreur de lua:
[npc_police] addons/npc_police/lua/entities/npc_police/cl_init.lua:84: attempt to index global 'SecondFrame' (a nil value)
1. DoClick - addons/npc_police/lua/entities/npc_police/cl_init.lua:84
2. unknown - lua/vgui/dlabel.lua:237
 
Discord d'entraide
Rejoignz-nous sur Discord