Besoin d'aide bouton [GLUA]

  • Initiateur de la discussion
Weyzer

Weyzer

Geek suprême
Messages
71
Score réaction
3
Points
100
Bonjour/Bonsoir.

Je demande votre aide pour régler un problème au niveau de mon npc job, j'ai crée un petit menu ou on a plusieurs choix [Un pour dire non désolé, je me suis trompé], [Une autre pour ouvrire la fuction de mon npc job], voila bref j'ai crée le bouton qui (je voudrais ouvrire mon menu) voici le code, mes je ne ses comment ouvrire une autre fonction :

local openf = vgui.Create( "DButton", frame )
openf:SetPos(131, 75)
openf:SetText( "" )
openf:SetSize( 598, 22 )
openf.Paint = function( self, w, h )
if self.cursor_on then
draw.RoundedBox(0, 0, 0, w, h, Color(180, 0, 0, 255))
else
draw.RoundedBox(0, 0, 0, w, h, Color(80, 80, 80, 235))
end
draw.SimpleText("Excuser-moi, je recherche un métier.", "fontderma_n22", w/2+1, h/2-1, Color(200,200,200), 1, 1)
end
openf.DoClick = function(self)
if IsValid(frame) then frame:Remove() end
end

PS: Mon autre fonction se trouve dans le même .lua
PS2: Désolé des fautes d'hortographes
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Il suffit de mettre le nom de la nouvelle fonction (avec les arguments si besoin mais je pense pas) :

Nomdelafonction()
 
  • Initiateur de la discussion
Weyzer

Weyzer

Geek suprême
Messages
71
Score réaction
3
Points
100
En dessout de :
openf.DoClick = function(self)
if IsValid(frame) then frame:Remove() end
end

?
Parceque j'ai dejâ essayer mes sa me fait une erreur dans la consol comme quoid il comprend pas le nom de ma fonction
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Weyzer à dit:
En dessout de :
openf.DoClick = function(self)
if IsValid(frame) then frame:Remove() end
end

?
Parceque j'ai dejâ essayer mes sa me fait une erreur dans la consol comme quoid il comprend pas le nom de ma fonction
Dans le DoClick, juste après frame:Remove()
 
  • J'aime
Réactions: Weyzer
  • Initiateur de la discussion
Weyzer

Weyzer

Geek suprême
Messages
71
Score réaction
3
Points
100
Cela ne marche pas je veint de ressayer, [C'est pour ouvrire une autre fonction, ou se trouve toutes les ligne de mon menu npc job, et elle se trouve dans le même .lua]
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Code:
 local openf = vgui.Create( "DButton", frame ) openf:SetPos(131, 75) openf:SetText( "" ) openf:SetSize( 598, 22 ) openf.Paint = function( self, w, h ) if self.cursor_on then draw.RoundedBox(0, 0, 0, w, h, Color(180, 0, 0, 255)) else draw.RoundedBox(0, 0, 0, w, h, Color(80, 80, 80, 235)) end draw.SimpleText("Excuser-moi, je recherche un métier.", "fontderma_n22", w/2+1, h/2-1, Color(200,200,200), 1, 1) end openf.DoClick = function(self) if IsValid(frame) then frame:Remove() NomDeLaFonction() end end
 
  • Initiateur de la discussion
Weyzer

Weyzer

Geek suprême
Messages
71
Score réaction
3
Points
100
D'accord, merci j'essayerai demain. Je suis exténué donc je vais dormir mes merci au personne qui on répondu.
 
  • Initiateur de la discussion
Weyzer

Weyzer

Geek suprême
Messages
71
Score réaction
3
Points
100
désolé de revenir sur la discussion mes @Feytone la ligne ne marche pas xD, si quelqu'un peut m'aider !

je n'est pas mis les lignes avant.

local openf = vgui.Create( "DButton", frame )
openf:SetPos(131, 75)
openf:SetText( "" )
openf:SetSize( 598, 22 )
openf.Paint = function( self, w, h )
if self.cursor_on then
draw.RoundedBox(0, 0, 0, w, h, Color(180, 0, 0, 255))
else
draw.RoundedBox(0, 0, 0, w, h, Color(80, 80, 80, 235))
end
draw.SimpleText("Excuser-moi, je recherche un métier.", "char_roboto_c", w/2+1, h/2-1, Color(200,200,200), 1, 1)
end
openf.DoClick = function(self)
if IsValid(frame) then frame:Remove() menuopenf() end
end

--[]--------------------------[]--
----------- Job Menu -------------
--[]--------------------------[]--

local function menuopenf()

ID = net.ReadInt(8)

local color = {}
color.white = Color(255, 255, 255)
color.a_black = Color(0, 0, 0, 225)
color.d_grey = Color(50, 50, 50, 225)
color.l_red = Color(125, 125, 125, 255)

local f = vgui.Create("DFrame")
f:SetSize(720, 650) -- Taille de la fenetre
f:SetPos(561, 260)
f:SetTitle("Choissiser votre métier :")
f:SetDraggable(false)
f:ShowCloseButton(false)
f:MakePopup()
f.Paint = function(self,w,h)
blurPanel(self, 6)
surface.SetDrawColor( blanc_alpha20 )
surface.DrawOutlinedRect( 0, 0, w, h )
end

et il y a encore plein d'autre lignes..... moi je veut juste ouvrire la fonction (menuopenf)
voila l'erreur que j'ai quand j'appuye sur le bouton :

[ERROR] addons/npc_job/lua/entities/job_npc/cl_init.lua:155: attempt to call global 'menuopenf' (a nil value)
1. DoClick - addons/npc_job/lua/entities/job_npc/cl_init.lua:155
2. unknown - lua/vgui/dlabel.lua:232
 
Dernière édition:
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
C'est ta fonction qui apparemment n'existe pas. nil value -> Valeur Nulle -> 0 -> Rien.
Es-tu sûr déjà de pas avoir fait une autre erreur ? Type avoir oublié un end ?
Juste pour tester, pourrais-tu enlever le local devant menuopenf() ? Je sais où se trouve ta fonction mais du coup c'est peut être parce qu'elle est locale qu'elle bloque.
 
Discord d'entraide
Rejoignz-nous sur Discord