[LUA] Show Button ?

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

Charles10000

Geek
Messages
198
Score réaction
11
Points
85
Hey !
Je suis actuellement sur un nouvel addon (il vient de moi ne vous inquiétez pas ^^) et cherche comment faire apparaitre un bouton.

Ps : NomDuBouton:Show() ne marche pas... (que pour les Derma)
Par contre NomDuBouton:Remove() marche.

Voici ce que j'ai dans mon addon :

Code:
 local ButtonAmmoStart1 = vgui.Create( "DButton", StartMenu ) ButtonAmmoStart1:SetPos( 55, 120 ) ButtonAmmoStart1:SetText( "" ) ButtonAmmoStart1:SetSize( 400, 40 ) ButtonAmmoStart1:SetVisible(true) ButtonAmmoStart1.OnCursorEntered = function(self) ---------------- C'est ça qui est important surface.PlaySound("UI/hint.wav") ----------------C'est ça qui est important self.hover = true ----------------C'est ça qui est important ButtonAmmoStart1:Remove() ----------------C'est ça qui est important local test = vgui.Create ("DButton", StartMenu) ----------------C'est ça qui est important test:SetText("") ----------------C'est ça qui est important test:SetSize(400,40) ----------------C'est ça qui est important test:SetPos(57,122) ----------------C'est ça qui est important test.Paint = function( self, w, h) ----------------C'est ça qui est important draw.RoundedBoxEx( 6, 0, 0, w, h, Color(255, 255, 255, 255))---------------- ^^ end ----------------C'est ça qui est important test.OnCursorExited = function(self) ----------------C'est ça qui est important test:Remove() ----------------C'est ça qui est important
---------test:Show()----------------------------------------------------------------C'est ça qui est important end ----------------C'est ça qui est important end ----------------Oui j'aime bien le copié collé ButtonAmmoStart1.Paint = function(self, w,h) col = Color(100, 100, 100, 255) draw.RoundedBox(6, 0, 0, w, h, Color(26, 29, 34, 255) ) if self.hover then col = Color(26, 29, 34, 255) draw.RoundedBox(6, 0, 0, w, h, Color(36, 39, 44, 255)) else end draw.DrawText("Non merci", "TestPanelFont", w / 2 + 0, h / 2 - 13, col, TEXT_ALIGN_CENTER) end
Dite moi juste ce que je dois mettre pour faire apparaitre un bouton ^^
Merci de votre aide.
 
F

Freestyle Gaming

Bambi
Messages
83
Score réaction
6
Points
40
Charles10000 à dit:
Hey !
Je suis actuellement sur un nouvel addon (il vient de moi ne vous inquiétez pas ^^) et cherche comment faire apparaitre un bouton.

Ps : NomDuBouton:Show() ne marche pas... (que pour les Derma)
Par contre NomDuBouton:Remove() marche.

Voici ce que j'ai dans mon addon :

Code:
 local ButtonAmmoStart1 = vgui.Create( "DButton", StartMenu ) ButtonAmmoStart1:SetPos( 55, 120 ) ButtonAmmoStart1:SetText( "" ) ButtonAmmoStart1:SetSize( 400, 40 ) ButtonAmmoStart1:SetVisible(true) ButtonAmmoStart1.OnCursorEntered = function(self) ---------------- C'est ça qui est important surface.PlaySound("UI/hint.wav") ----------------C'est ça qui est important self.hover = true ----------------C'est ça qui est important ButtonAmmoStart1:Remove() ----------------C'est ça qui est important local test = vgui.Create ("DButton", StartMenu) ----------------C'est ça qui est important test:SetText("") ----------------C'est ça qui est important test:SetSize(400,40) ----------------C'est ça qui est important test:SetPos(57,122) ----------------C'est ça qui est important test.Paint = function( self, w, h) ----------------C'est ça qui est important draw.RoundedBoxEx( 6, 0, 0, w, h, Color(255, 255, 255, 255))---------------- ^^ end ----------------C'est ça qui est important test.OnCursorExited = function(self) ----------------C'est ça qui est important test:Remove() ----------------C'est ça qui est important
---------test:Show()----------------------------------------------------------------C'est ça qui est important end ----------------C'est ça qui est important end ----------------Oui j'aime bien le copié collé ButtonAmmoStart1.Paint = function(self, w,h) col = Color(100, 100, 100, 255) draw.RoundedBox(6, 0, 0, w, h, Color(26, 29, 34, 255) ) if self.hover then col = Color(26, 29, 34, 255) draw.RoundedBox(6, 0, 0, w, h, Color(36, 39, 44, 255)) else end draw.DrawText("Non merci", "TestPanelFont", w / 2 + 0, h / 2 - 13, col, TEXT_ALIGN_CENTER) end
Dite moi juste ce que je dois mettre pour faire apparaitre un bouton ^^
Merci de votre aide.
Ton code est désordonné:

Essaye de faire des alignement propre, des espaces... Par exemple tout les end sont aligné à la même position.
 
  • Initiateur de la discussion
Charles10000

Charles10000

Geek
Messages
198
Score réaction
11
Points
85
Freestyle Gaming à dit:
Ton code est désordonné:

Essaye de faire des alignement propre, des espaces... Par exemple tout les end sont aligné à la même position.
Je l'ai fait dans le code mais je l'ai mit comme ça sur mtx.
 
  • Initiateur de la discussion
Charles10000

Charles10000

Geek
Messages
198
Score réaction
11
Points
85
Freestyle Gaming à dit:
Ton code est désordonné:

Essaye de faire des alignement propre, des espaces... Par exemple tout les end sont aligné à la même position.
solution ?
 
  • Initiateur de la discussion
Charles10000

Charles10000

Geek
Messages
198
Score réaction
11
Points
85
Aucune idée ? Non ?
....
 
M

Makeudreams

Geek
Messages
115
Score réaction
26
Points
95
Bah déjà si tu es un dev, cherches toi aussi de ton coté et sinon soit patient au lieu de mettre des messages à minutes d'écart
 
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
Ton bouton apparaît automatiquement, cependant il faut qu'il ait un parent (fenêtre, panel, ou autre) et ensuite faut définir sa position par rapport à son parent
De plus, créer d'abord ton nouveau bouton avant de supprimer l'ancien, du coup le "ButtonAmmoStart1:Remove()" tu le met à la fin de ta fonction
ButtonAmmoStart1.OnCursorEntered
 
  • Initiateur de la discussion
Charles10000

Charles10000

Geek
Messages
198
Score réaction
11
Points
85
Z3k4 à dit:
Ton bouton apparaît automatiquement, cependant il faut qu'il ait un parent (fenêtre, panel, ou autre) et ensuite faut définir sa position par rapport à son parent
De plus, créer d'abord ton nouveau bouton avant de supprimer l'ancien, du coup le "ButtonAmmoStart1:Remove()" tu le met à la fin de ta fonction
ButtonAmmoStart1.OnCursorEntered
Au début ou à la fin, ça ne change rien
 
_Remax

_Remax

Geek
Messages
345
Score réaction
69
Points
80
Tu veux faire apparaitre ton bouton dans quoi ( Panel ... )

C'est un peu dur de comprendre ton code sans structure rien :/
 
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
Charles10000 à dit:
Au début ou à la fin, ça ne change rien
Met le à la fin quand même, et met ton code pour créer ton bouton dans une fonction
 
  • Initiateur de la discussion
Charles10000

Charles10000

Geek
Messages
198
Score réaction
11
Points
85
Z3k4 à dit:
Met le à la fin quand même, et met ton code pour créer ton bouton dans une fonction
C'est fait.
J'ai oublié de mettre l'erreur :


[ERROR] lua/includes/extensions/client/panel.lua:541: Tried to use invalid object (type Panel) (Object was NULL or not of the right type)
1. SetVisible - [C]:-1
2. Show - lua/includes/extensions/client/panel.lua:541
3. unknown - addons/npc_test/lua/entities/npc_test/cl_init.lua:144
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Déjà pourquoi tu removes un bouton pour mettre le même ? Est-ce que tu ne cherches pas simplement à changer la couleur du bouton ?

Ensuite, donne de ta ligne 138 à 150 dans ton cl_init merci ;)
 
_Remax

_Remax

Geek
Messages
345
Score réaction
69
Points
80
Manger Bouger à dit:
Mdrr ntm arrete de coder stp ont te dit un truc tu nous dit l'inverse fdp t'es pas content va voir alleur
Baptiste, 8 ans, nouveau, rage sur les topic d'MTX voici son histoire :
 
  • J'aime
Réactions: Charles10000
Discord d'entraide
Rejoignz-nous sur Discord