Deleted

  • Initiateur de la discussion
D3YM0NYT

D3YM0NYT

Je vie dans un igloo
Messages
154
Score réaction
16
Points
125
This message has been be deleted by the user
 
Dernière édition:
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
Bonjour,

Pas trop trop mal pour un premier addons, en revanche, il serait peut être préférable pour toi d'attendre de faire des choses plus compliqués et avec un meilleur derma surtout ^^ avant de présenter tes créations :)
 
  • Initiateur de la discussion
D3YM0NYT

D3YM0NYT

Je vie dans un igloo
Messages
154
Score réaction
16
Points
125
RayZz à dit:
Bonjour,

Pas trop trop mal pour un premier addons, en revanche, il serait peut être préférable pour toi d'attendre de faire des choses plus compliqués et avec un meilleur derma surtout ^^ avant de présenter tes créations :)
Je trouve qu'il est pas mal mon derma ^^ Surtout que j'ai juste 3 DermaPanel... J'ai celui de l'interface, un kick menu et un ban menu
 
Dernière édition:
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
D3YM0NYT à dit:
Je trouve qu'il est pas mal mon derma ^^ Surtout que j'ai juste 3 DermaPanel... J'ai celui de l'interface, un kick menu et un ban menu

Ils ne sont pas mal fait mais pas très esthétique on va dire ^^
 
Hosgor

Hosgor

Geek suprême
Messages
209
Score réaction
60
Points
130
Bonjour !

Alors j'ai regardé de mon côté et j'ai vu selon moi pas mal de petits problèmes.

Les problèmes que je vais citer, sont les problèmes qui selon moi peuvent gêner !

1 problème:

Lorsque j'ai testé l'ouverture du panel pour la première fois, il n'y a que le premier grade qui a fonctionné
mtx1.PNG

En Admin j'avais la possibilité d'ouvrir le panel mais pas en Superadmin j'ai donc remplacé le or par and et pour ma part, c'est devenu fonctionnel (à tester) :p

Imaginons que je souhaite rajouter un grade modérateur, ce n'est pas forcément le plus clean d'utiliser ta technique, je te conseille de faire un tableau :
C#:
 (tu peux mettre local devant) grade { -- tu le mets le nom que tu veux
["superadmin"] = true,
["admin"] = true,
}
if grade [ply:GetUserGroup()] then -- tu dois remettre le nom de ton tableau

2 problème :

J'ai vu que pour ouvrir ton panel, tu avais crée une ConCommand.Add, pour ma part je n'utilise pas cette technique, je ne pourrai donc pas dire si elle est opti. Cependant je pense qu'il est plus commun d'utiliser des nets pour créer justement l'ouverture du panel ;)

C#:
Coté serveur :
AddCSLuaFile("autorun/client/cl_menu.lua")
include("core/sh_config.lua")
util.AddNetworkString("ouverturedumenud3y") -- on enregistre le net on peut le faire uniquement côté serveur
hook.Add( "PlayerSay", "DPanel", function( ply, text, team ) if text == "!panel" then net.Start("ouverturedumenud3y") -- on débute le net lorsque le joueur écrit !panel net.Send(ply) --on envoie l info au joueur return "" end
end)
Coté client :
-- A la place de la ligne ConCommand, tu peux mettre ça :
net.Receive("ouverturedumenud3y", function(len) -- on reçoit le net que l'on a envoyé côté serveur local ply = LocalPlayer() -- Vu que tu utilises souvent le ply on dit a quoi il correspond
La suite de ton code habituel.

3 problème :

Lorsque tu "travailles" dans autorun, il me semble que tu n'as pas besoin d'inclure des fichiers (avec include) ou (avec
AddCSLuaFile) il se relie presque automatiquement, ce qui veut dire qu'il faut faire attention au nom que tu donnes car si tu le souhaites tu pourras réutiliser le net que tu as mis dans ce script. ( Il est important de mettre des noms en rapport avec ton script)
Bien sur si tu crées des fonctions local etc tu ne pourras pas les utiliser dans tes autres scripts.
Je parle ici des net ou du fichier config qui peuvent être utilisé dans plusieurs scripts.

4 problème :

Dès que tu veux vérifier si un joueur est "Superadmin" ou "admin", il faut au maximum le faire coté serveur, on te le dira souvent mais si tu vérifies le grade du joueur coté client, il ne faut pas oublier que tout le monde peut modifier son jeu coté client. :D

La solution pour le fichier config :

Du coup tu n'as plus qu'a créer un fichier dans le autorun de ton script et tu commences par :
C#:
D3YPanel = D3YPanel or {} -- le nom que tu veux
D3YPanel.unnom = Color(255,255,255) -- tu peux mettre ce que tu veux
D3YPanel.unautrenom = SetPos(150,150)
-- Après tu remplaces dans ton script

Pour terminer je rejoins l'avis de Rayzz, sur le "design" qui reste très simpliste. Tu pourras essayer d'aligner la colonne rank avec le grade. Après ce n'est pas le plus important mais, il faut quand même y porter un minimum d'attention :)

Tout ce que je t'ai dis n'est que mon Avis, il y a des personnes bien plus expérimenté que moi, donc s'ils ont des avis ou des conseils.

Je suis preneur
 
Dernière édition:
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
Hosgor à dit:
suffit de remplacer par and
Non

Hosgor à dit:
je te conseille de faire un tableau :
C#:
grade { -- tu le mets le nom que tu veux
["superadmin"] = true,
["admin"] = true,
}
if grade [ply:GetUserGroup()] then -- tu dois remettre le nom de ton tableau
Avec une variable local c’est mieux

Le reste flemme de lire, le mode arc-en-ciel m’a donner mal de tête 4Head
 
Hosgor

Hosgor

Geek suprême
Messages
209
Score réaction
60
Points
130
ZarosOVH à dit:
Non


Avec une variable local c’est mieux

Le reste flemme de lire, le mode arc-en-ciel m’a donner mal de tête 4Head
pour le and je me suis mal exprimé autant pour moi, quand j'ai testé le script le premier grade était fonctionnel mais pas le deuxième. Du coup j'ai changé le or pas and. Ca a fonctionné, j'ai donc voulu dire qu'il y avait une deuxième possibilité .

Pour la variable local tu as raison, c'est simplement que j'ai pris un exemple issu d'un de mes scripts.

Après Je vois pas forcément en quoi c'est arc-en-ciel. J'ai juste mis deux couleurs le bleu et le orange KappaPride. Je vais changer comme ça les gens n'auront plus d'excuse pour ne pas lire TriHard

Je vais edit mon message.
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Hosgor à dit:
Bonjour !

Alors j'ai regardé de mon côté et j'ai vu selon moi pas mal de petits problèmes.

Les problèmes que je vais citer, sont les problèmes qui selon moi peuvent gêner !

1 problème:

Lorsque j'ai testé l'ouverture du panel pour la première fois, il n'y a que le premier grade qui a fonctionné
Regarde la pièce jointe 13650
En Admin j'avais la possibilité d'ouvrir le panel mais pas en Superadmin j'ai donc remplacé le or par and et pour ma part, c'est devenu fonctionnel (à tester) :p

Imaginons que je souhaite rajouter un grade modérateur, ce n'est pas forcément le plus clean d'utiliser ta technique, je te conseille de faire un tableau :
C#:
 (tu peux mettre local devant) grade { -- tu le mets le nom que tu veux
["superadmin"] = true,
["admin"] = true,
}
if grade [ply:GetUserGroup()] then -- tu dois remettre le nom de ton tableau

2 problème :

J'ai vu que pour ouvrir ton panel, tu avais crée une ConCommand.Add, pour ma part je n'utilise pas cette technique, je ne pourrai donc pas dire si elle est opti. Cependant je pense qu'il est plus commun d'utiliser des nets pour créer justement l'ouverture du panel ;)

C#:
Coté serveur :
AddCSLuaFile("autorun/client/cl_menu.lua")
include("core/sh_config.lua")
util.AddNetworkString("ouverturedumenud3y") -- on enregistre le net on peut le faire uniquement côté serveur
hook.Add( "PlayerSay", "DPanel", function( ply, text, team ) if text == "!panel" then net.Start("ouverturedumenud3y") -- on débute le net lorsque le joueur écrit !panel net.Send(ply) --on envoie l info au joueur return "" end
end)
Coté client :
-- A la place de la ligne ConCommand, tu peux mettre ça :
net.Receive("ouverturedumenud3y", function(len) -- on reçoit le net que l'on a envoyé côté serveur local ply = LocalPlayer() -- Vu que tu utilises souvent le ply on dit a quoi il correspond
La suite de ton code habituel.

3 problème :

Lorsque tu "travailles" dans autorun, il me semble que tu n'as pas besoin d'inclure des fichiers (avec include) ou (avec
AddCSLuaFile) il se relie presque automatiquement, ce qui veut dire qu'il faut faire attention au nom que tu donnes car si tu le souhaites tu pourras réutiliser le net que tu as mis dans ce script. ( Il est important de mettre des noms en rapport avec ton script)
Bien sur si tu crées des fonctions local etc tu ne pourras pas les utiliser dans tes autres scripts.
Je parle ici des net ou du fichier config qui peuvent être utilisé dans plusieurs scripts.

4 problème :

Dès que tu veux vérifier si un joueur est "Superadmin" ou "admin", il faut au maximum le faire coté serveur, on te le dira souvent mais si tu vérifies le grade du joueur coté client, il ne faut pas oublier que tout le monde peut modifier son jeu coté client. :D

La solution pour le fichier config :

Du coup tu n'as plus qu'a créer un fichier dans le autorun de ton script et tu commences par :
C#:
D3YPanel = D3YPanel or {} -- le nom que tu veux
D3YPanel.unnom = Color(255,255,255) -- tu peux mettre ce que tu veux
D3YPanel.unautrenom = SetPos(150,150)
-- Après tu remplaces dans ton script

Pour terminer je rejoins l'avis de Rayzz, sur le "design" qui reste très simpliste. Tu pourras essayer d'aligner la colonne rank avec le grade. Après ce n'est pas le plus important mais, il faut quand même y porter un minimum d'attention :)

Tout ce que je t'ai dis n'est que mon Avis, il y a des personnes bien plus expérimenté que moi, donc s'ils ont des avis ou des conseils.

Je suis preneur
Préfères utiliser https://wiki.garrysmod.com/page/GM/OnPlayerChat lorsque tu n’as pas réellement besoin du côté serveur, ça permet d’eviter un surplus de requête
 
  • J'aime
Réactions: ZarosOVH
Hosgor

Hosgor

Geek suprême
Messages
209
Score réaction
60
Points
130
thepsyca à dit:
Préfères utiliser https://wiki.garrysmod.com/page/GM/OnPlayerChat lorsque tu n’as pas réellement besoin du côté serveur, ça permet d’eviter un surplus de requête
Merci de l'info, c'est vrai que j'avais jamais fait attention à ce hook BloodTrail
 
  • Initiateur de la discussion
D3YM0NYT

D3YM0NYT

Je vie dans un igloo
Messages
154
Score réaction
16
Points
125
Il faut savoir que c'est mon tout premier addon... Je ne me lance pas trop dans des trucs complexes pour le moment
 
  • J'aime
Réactions: Seb
Discord d'entraide
Rejoignz-nous sur Discord