Vérifié TUTO comment créer un derma panel (avec commandes fonctionnelles)

Utile?

  • Oui

    Votes: 13 76.5%
  • Non

    Votes: 4 23.5%

  • Nombre total d'électeurs
    17

snatefox

Master 🏆
Level 3

Torrents Stats

Messages
121
J'aime
16
Trophées
186
Inscrit
28 Janvier 2019
Bonjour ,
Je fais ce poste pour expliquer comment créer un PANEL fonctionnel sur garry's Mod
(Ceci est un script et non un addon , je tiens à le préciser).

Alors pour commencer , veuillez créer un fichier lua , pour ce tuto je vous conseils d'utiliser sublime text 3 avec ce package :
https://packagecontrol.io/installation

Nous allons commencer par créer le panel de base "Frame"

Code:
local frame = vgui.Create("DFrame")
frame:MakePopup()

Le MakePopup v'a faire que quand le script sera lancé , votre fenêtre v'a s'afficher .

Nous allons ensuite définir une taille , une position et un titre .
Pour la taille nous allons entré cette ligne:

Code:
frame:SetSize(250,120)

le "250" est la largeur du panel et "120" la hauteur.

Nous allons ensuite entré une position , pour ce tutoriel je vais la placer au milieu de votre jeu .

Code:
frame:Center()

Quand la position est centré , elle n'a pas besoin de cordonnées .

Pour le titre , c'est très simple , nous allons marqué ceci :

Code:
frame:SetTitle("Menu Administrateur")

Pour ce tuto , j'ai appelé le panel "Menu Administrateur".

Pour le panel nous en avons finit.
Le "frame" au début de chaque ligne signifie le panel , une entité .

Nous allons créer les boutons .

Pour la création des boutons c'est à peut près la même chose .
Nous allons créer le bouton , définir une taille , une position , un texte et comme ce tutoriel porte sur des commandes fonctionnelles , nous allons attribué une fonction sur chaque bouton.
Si vous êtes perdu , pas de panique , le code final sera à la fin du tutoriel.

Pour le bouton nous allons commencer par le créer :

Code:
local button = vgui.Create("DButton", frame)
*

le "DButton" précise que l'entité est un bouton . Il ne faut surtout pas oublier le ", frame" car celui ci permet de préciser que le bouton appartient à la frame (au panel).

Nous allons comme pour le panel , lui attribuer une taille , une position et un texte donc pour cela nous allons marquer :

Code:
button:SetSize(80,25)
button:SetPos(30,40)
button:SetText("Mode Admin")

Pour la taille du bouton , 80 est la largeur et 25 la hauteur .
J'ai appelé ce bouton "Mode Admin".

Nous allons désormais passé dans la phase 'compliqué' du tutoriel .

Pour attribuer une commande au bouton , nous allons lui attribué une fonction nommé 'function' :

Code:
button.DoClick = button1press

soit "button.DoClick" qui indique que le bouton sera pressé, le "button1press" est une variable (nous y reviendrons après) et le "=" qui donne l'ordre que quand le bouton sera actionné , il éxecutera la variable "button1press" .

Pour l'instant notre variable n'a pas de valeur donc nous allons lui en donner .
Pour lui en donner nous allons écrire ceci :

Code:
function button1press()
    RunConsoleCommand( "admin" )
end

Le "RunConsoleCommand" signifie que la commande qui est indiquée entre parenthèses sera éxecuté dans la console .
Le "end" mets fin à la configuration de la fonction "button1press".

Votre bouton numéro 1 (Mode Admin) est donc désormais fonctionnel .

Vous allez faire comme ça pour touts les boutons en ajustant les position .

Voila j'espère que ce tuto vous aura aidé et en espérant qu'il ne soit pas trop confus .

Je ferais un tutoriel n°2 pour modifier les boutons et le panel (couleurs,police, etc...)

Dites en commentaire si vous voulez des captures d'écrans dans mes tuto's , ceci est mon premier tutoriel donc je ne sais pas trop comment les éditer ??

PS : excusez moi d'avance pour les fautes d'orthographes ^^

Code final :

Code:
local frame = vgui.Create("DFrame")
frame:MakePopup()
frame:SetSize(250,120)
frame:Center()
frame:SetTitle("Menu Administrateur")

-------------------------------------------------

function button1press()
    print( "!admin" )
end

function button2press()
    RunConsoleCommand( "awarn_menu" )
end

function button3press()
    RunConsoleCommand("blogs")
end

function button4press()
    RunConsoleCommand('ulx menu')
end

-------------------------------------------------

local button = vgui.Create("DButton", frame)
button:SetSize(80,25)
button:SetPos(30,40)
button:SetText("Mode Admin")
button.DoClick = button1press

local button = vgui.Create("DButton", frame)
button:SetSize(80,25)
button:SetPos(140,40)
button:SetText("Casier")
button.DoClick = button2press

local button = vgui.Create("DButton", frame)
button:SetSize(80,25)
button:SetPos(30,80)
button:SetText("Logs")
button.DoClick = button3press

local button = vgui.Create("DButton", frame)
button:SetSize(80,25)
button:SetPos(140,80)
button:SetText("ULX")
button.DoClick = button4press
 
Dernière édition:

SxdLord

Last One Beatmacker
Level 1

Torrents Stats

Messages
53
J'aime
10
Trophées
370
Inscrit
12 Novembre 2017
Ca manque juste d'images, mais pas mal ^^
 

snatefox

Master 🏆
Level 3

Torrents Stats

Messages
121
J'aime
16
Trophées
186
Inscrit
28 Janvier 2019
Ca manque juste d'images, mais pas mal ^^
D'accord ;) oui j'y ai pensé mais je n'étais pas sur le pc ou j'ai touts ce qu'il faut :/ le prochain sera illustré ! ?
 

tdsrew

Master 🏆
Level 1

Torrents Stats

Messages
93
J'aime
5
Trophées
226
Inscrit
11 Novembre 2018
slt je voudrais mettre sa sur mon serveur gmod mais tu peut pas me donner une ligne de code pour quand je tape une commande sa ouvre le derma merci
 

Nooh@

l'Accru 🥇
Level 1

Torrents Stats

Messages
61
J'aime
45
Trophées
133
Inscrit
3 Juillet 2019
Salut, jai placer le dossier dans addons/ppanel admin/lua/autorun/paneladmin.lua
et je ne sais pas comment ouvrir le panel. On pourais me dire la commande plz
 

Tommy Dubois

l'Affirmé 🥈
Level 2

Torrents Stats

Messages
59
J'aime
1
Trophées
83
Inscrit
6 Mars 2020
Esque tu serrait comment crée un message au millieux de l'ecran des joueurs quand ont lance une commande ?
 

Game Over

Donateur ❤
Level 2

Torrents Stats

Messages
72
J'aime
6 279
Trophées
370
Inscrit
15 Juillet 2021
Bonjour ,
Je fais ce poste pour expliquer comment créer un PANEL fonctionnel sur garry's Mod
(Ceci est un script et non un addon , je tiens à le préciser).

Alors pour commencer , veuillez créer un fichier lua , pour ce tuto je vous conseils d'utiliser sublime text 3 avec ce package :
https://packagecontrol.io/installation

Nous allons commencer par créer le panel de base "Frame"

Code:
local frame = vgui.Create("DFrame")
frame:MakePopup()

Le MakePopup v'a faire que quand le script sera lancé , votre fenêtre v'a s'afficher .

Nous allons ensuite définir une taille , une position et un titre .
Pour la taille nous allons entré cette ligne:

Code:
frame:SetSize(250,120)

le "250" est la largeur du panel et "120" la hauteur.

Nous allons ensuite entré une position , pour ce tutoriel je vais la placer au milieu de votre jeu .

Code:
frame:Center()

Quand la position est centré , elle n'a pas besoin de cordonnées .

Pour le titre , c'est très simple , nous allons marqué ceci :

Code:
frame:SetTitle("Menu Administrateur")

Pour ce tuto , j'ai appelé le panel "Menu Administrateur".

Pour le panel nous en avons finit.
Le "frame" au début de chaque ligne signifie le panel , une entité .

Nous allons créer les boutons .

Pour la création des boutons c'est à peut près la même chose .
Nous allons créer le bouton , définir une taille , une position , un texte et comme ce tutoriel porte sur des commandes fonctionnelles , nous allons attribué une fonction sur chaque bouton.
Si vous êtes perdu , pas de panique , le code final sera à la fin du tutoriel.

Pour le bouton nous allons commencer par le créer :

Code:
local button = vgui.Create("DButton", frame)
*

le "DButton" précise que l'entité est un bouton . Il ne faut surtout pas oublier le ", frame" car celui ci permet de préciser que le bouton appartient à la frame (au panel).

Nous allons comme pour le panel , lui attribuer une taille , une position et un texte donc pour cela nous allons marquer :

Code:
button:SetSize(80,25)
button:SetPos(30,40)
button:SetText("Mode Admin")

Pour la taille du bouton , 80 est la largeur et 25 la hauteur .
J'ai appelé ce bouton "Mode Admin".

Nous allons désormais passé dans la phase 'compliqué' du tutoriel .

Pour attribuer une commande au bouton , nous allons lui attribué une fonction nommé 'function' :

Code:
button.DoClick = button1press

soit "button.DoClick" qui indique que le bouton sera pressé, le "button1press" est une variable (nous y reviendrons après) et le "=" qui donne l'ordre que quand le bouton sera actionné , il éxecutera la variable "button1press" .

Pour l'instant notre variable n'a pas de valeur donc nous allons lui en donner .
Pour lui en donner nous allons écrire ceci :

Code:
function button1press()
    RunConsoleCommand( "admin" )
end

Le "RunConsoleCommand" signifie que la commande qui est indiquée entre parenthèses sera éxecuté dans la console .
Le "end" mets fin à la configuration de la fonction "button1press".

Votre bouton numéro 1 (Mode Admin) est donc désormais fonctionnel .

Vous allez faire comme ça pour touts les boutons en ajustant les position .

Voila j'espère que ce tuto vous aura aidé et en espérant qu'il ne soit pas trop confus .

Je ferais un tutoriel n°2 pour modifier les boutons et le panel (couleurs,police, etc...)

Dites en commentaire si vous voulez des captures d'écrans dans mes tuto's , ceci est mon premier tutoriel donc je ne sais pas trop comment les éditer ??

PS : excusez moi d'avance pour les fautes d'orthographes ^^

Code final :

Code:
local frame = vgui.Create("DFrame")
frame:MakePopup()
frame:SetSize(250,120)
frame:Center()
frame:SetTitle("Menu Administrateur")

-------------------------------------------------

function button1press()
    print( "!admin" )
end

function button2press()
    RunConsoleCommand( "awarn_menu" )
end

function button3press()
    RunConsoleCommand("blogs")
end

function button4press()
    RunConsoleCommand('ulx menu')
end

-------------------------------------------------

local button = vgui.Create("DButton", frame)
button:SetSize(80,25)
button:SetPos(30,40)
button:SetText("Mode Admin")
button.DoClick = button1press

local button = vgui.Create("DButton", frame)
button:SetSize(80,25)
button:SetPos(140,40)
button:SetText("Casier")
button.DoClick = button2press

local button = vgui.Create("DButton", frame)
button:SetSize(80,25)
button:SetPos(30,80)
button:SetText("Logs")
button.DoClick = button3press

local button = vgui.Create("DButton", frame)
button:SetSize(80,25)
button:SetPos(140,80)
button:SetText("ULX")
button.DoClick = button4press
Salut j'aimerais savoir la commande pour ouvrir le panel. Merci tu gères
 
Haut Bas