DarkRP F4 Customizable menu (FR) - Script
DarkRP F4 menu est un système permettant de choisir un job tout en restant informé des points importants du job (Salaire, Information, Liste des commandes), modifiable en temps réel, sans avoir besoin de redémarrer votre serveur. Cela vous permet de modifier facilement l'interface et d'augmenter la visibilité de vos liens importants mais aussi les statistiques de vos serveurs.
❮
❯
Description de DarkRP F4 Customizable menu
🚀 Présentation de DarkRP F4 Menu customizable
Ce menu F4 est personnalisable en temps réel et conçu pour les différents modes de jeu DarkRP (StarwarsRP, HogwartsRP, MangaRP, HaloRP, SchoolRP, MilitaryRP, StalkerRP, etc.). Comme tout menu F4 dans les bases de données de DarkRP, il permet aux utilisateurs de changer de métiers, de consulter les statistiques, de voir la description des métiers pour s'immerger dans le rôle et son histoire. Ils peuvent accéder à la boutique qui peut être désactivée dans le fichier de configuration, à un système de raccourcis de commandes rapide et personnalisable pouvant être utilisé comme raccourci ou rappel des possibilités sur votre serveur. Tout peut être filtré grâce à un système de recherche intégré. Il comprend également un système de statistiques, la possibilité de configurer les couleurs, le titre, l'image de bannière et le code couleur correspondant à votre projet et à l'ambiance de votre DarkRP.
Depuis la version 2.0, vous n'avez plus besoin de publier vos images sur le workshop. Un simple lien vers une image publiée sur Imgur, par exemple, suffit. Il vous suffit d'insérer le lien de l'image, d'appuyer sur Entrée et c'est fait. Le système n'utilise plus le contenu mis sur le workshop, ce qui pouvait provoquer l'apparition de textures roses et noires lorsque votre manipulation était incorrecte dans votre menu F4.
Je me suis filmé en train de modifier un skin tout en essayant de créer des thèmes. Vous pouvez regarder quelques vidéos sur l'édition : Skins F4 pour StarwarsRP ou Skins F4 pour HogwartsRP (Poudlard).
Pour les performances, l'utilisateur télécharge le skin une seule fois lors de sa première connexion. Il est possible de désactiver le code côté serveur et de personnaliser uniquement le skin à partir du fichier de configuration côté client en copiant la configuration effectuée depuis l'interface. Vous pouvez ainsi copier/coller le skin personnalisé dans le fichier de configuration en cliquant sur un simple bouton.
📦 Fonctionnalités
- Système de personnalisation efficace et optimisé.
-Configuration des images de fond et des bannières avec une simple URL d'image (pas via le workshop).
-Personnalisation du système incluse dans le panneau et depuis le fichier de configuration.
-Descriptions de métiers claires lorsqu'un métier est sélectionné.
-Statistiques sur DarkRP.
-Compteur de craft.
-Meilleurs joueurs connectés.
-Boutique.
-Système de raccourcis permettant de transformer les commandes en boutons cliquables, avec une visibilité filtrable par métier et rang ULX.
-Raccourci pour ouvrir un ticket de support sur votre serveur.
-Traduit automatiquement en plusieurs langues : anglais, français, allemand, russe, espagnol.
🎨 Qu'est-ce qui est personnalisable ?
- Modification des codes de couleur RGBA des différentes parties de l'interface, des panneaux, des boutons, de la bordure externe et de la bordure interne de la fenêtre.
-Modification dynamique de l'image de fond et de la bannière dans le menu F4 avec une simple URL d'image.
-Ajout de boutons avec des liens cliquables : votre site web, votre lien Discord, votre groupe Steam, votre page de dons ou votre boutique.
-Modification de la taille de l'interface : hauteur, largeur.
-Modification du titre dans l'en-tête de l'interface.
-Modification du type de son lors de l'ouverture, de la fermeture du menu et lors du clic sur un bouton.
-Choix d'ouvrir le menu F4 en plein écran ou selon la taille choisie.
📌 Points importants
Possibilité de désactiver la mise à niveau côté serveur pour n'utiliser que la configuration côté client à partir du fichier de configuration.
Méthode optimisée qui réduit le poids du script à 85 Ko, contrairement à d'autres menus F4 qui pèsent 850 Ko.
📌 Commandes console
- Réinitialiser les paramètres côté serveur : nord_f4_color_reset.
Réinitialiser les paramètres côté client : nord_f4_color_reset_clientside.
👑 Administrateur
- Sauvegarde automatique.
-L'accès au menu de personnalisation est réservé au rang que vous avez enregistré dans le fichier de configuration, par défaut aux administrateurs et superadministrateurs. Si vous n'avez pas de système d'administration, vous pouvez toujours ajouter votre SteamID dans le fichier de configuration.
💾 Persistance
- Tout ce que vous ajoutez ou supprimez est enregistré en temps réel dans un système indépendant de tous les autres systèmes pour garantir la compatibilité et des performances optimales.
🚀 Installation
- Installez le script dans le dossier /Steam/steamapps/common/GarrysMod/garrysmod/addons de votre serveur Gmod. Vous pourrez l'utiliser en appuyant sur le bouton F4 après un redémarrage. Pas de DRM, donc pas besoin d'activer pour utiliser.
📌 Configuration
Vous trouverez le fichier de configuration à l'emplacement suivant : nordahl_f4_menu/lua/autorun/nordahl_f4_config.lua
✅ Compatibilité
Compatible avec ULX, SAM, SERVEURGUARD, FADMIN
Compatible avec tous les mods DarkRP, StarwarsRP, HogwartsRP, CityRP, gtaRP, AnimRP, MangaRP, ScoolRP, CloneRP, HaloRP, HarryPotterRP, PoudlardRP, MedievalRP, StalkerRP.
🧩 Dans la même collection
1. Personnalisez la page d'accueil de votre serveur Gmod avec 🧩 Gmod Server Title Screen Build
2. Personnalisez votre menu d'échappement avec 🧩 Gmod Escape Menu Editor
3. Personnalisez votre écran de mort avec 🧩 Gmod Deathscreen Customisable
4. Personnalisez votre scoreboard appelé tabmenu ou Scoreboard avec 🧩 Gmod Scoreboard Editable
5. Personnalisez votre menu F4 avec 🧩 DarkRP F4 Menu personnalisable
Chemin: garrysmod/addons/nordahl_f4_menu
- La fonction AddWorkshop est automatiquement ajouté dans le fichier serveur du script il est désactivable depuis le fichier configuration : resource.AddWorkshop( 2453425439 )
- Pour ajouter les ressources du workshop de gmod à votre collection : DarkRP F4 Customizable menu [Ressouces seulement] | Gmod Workshop
Remplacez alors la variable nordahl_cfg_3906.skin
Ainsi :
enable_update_serverside_to_clientside = 0
Indiquez le lien de votre image. Pour l'obtenir allez sur imgur, cliquez droit sur l'image, copier le lien de l'image
Uniquement les admins pourront modifier l'image de fond du menu F4 de votre serveur. Vous pouvez restreindre les rangs dans le fichier de configuration.
Si vous avez une image avec une texture erroné rose et noir cela signifie que vous avez copier le lien de la page et non le lien de l'image, on peut faire la différence en voyant l'extension jpg ou png à la fin du lien. Depuis la version 2.0 vous n'avez plus besoin de stocker sur votre serveur l'image, ni dans vos collection workshop.
Trouvez la table : darkrp_commands_list
Vous pouvez préciser dans la variable type de la commande à ajouter si c'est une commande de chat, command console, function. Vous y découvrirez plusieurs exemples pré-enregistré pour vous en inspirer.
Exemple :
{ title="General",
cmds={
{type="function",name="Example 1",func=function()nordahl_cfg_3906.ChatMsg("This is a simple example can be edited in the config file")end},
{type="command",name="Drop money",desc="How much money would you like to drop?",cmd="say",arg1="/dropmoney"},
{type="command",name="Change RP Name",desc="Enter the RP Name you would like to have.",cmd="say",arg1="/rpname"},
{type="chat",name="Drop held weapon",arg="/drop"},
{type="ply_selection",name="Start demotion vote",desc="Enter a reason to demote",cmd="say",arg1="/demote"},
{type="chat",name="Sell all doors",arg="/unownalldoors"},
{type="chat",name="Request gun license",arg="/requestlicense"},
},
},
Trouvez la table : darkrp_commands_list
Trouvez le groupes de commandes et ajoutez : job_access={["Mayor"]=1}
Pour ajouter plusieurs jobs il suffit simplement de les séparer par une virgule, exemple : job_access={["Mayor"]=1,["YourJob"]=1}
Il n'y a pas de limite.
Exemple pour que la liste de commandes des Mayor s'affiche uniquement pour les Mayor, (ça évite la pollution de commandes inutile de l'interface pour tous les autres utilisateurs qui ne sont pas dans le groupe Mayor) :
{ title="Mayor Commands",
cmds={
{type="command",name="Start a lottery",desc="How much money should entering the lottery cost?",cmd="say",arg1="/lottery"},
{type="chat",name="Initiate lockdown",arg="/lockdown"},
{type="chat",name="End lockdown",arg="/unlockdown"},
{type="command",name="Introduce new law",desc="What law would you like to introduce?",cmd="say",arg1="/addlaw"},
},
job_access={["Mayor"]=1},
},
Cet exemple est déjà fourni dans le fichier de configuration, vous pouvez le modifier ou vous en inspirer pour ajouter vos propres commandes.
Trouvez la table : darkrp_commands_list
Trouvez ou Crée le groupe de commandes que vous souhaitez restreindre et cacher et ajoutez : group_access={["superadmin"]=1}
Pour ajouter plusieurs rang ULX il suffit simplement de les séparer par une virgule, exemple : group_access={["superadmin"]=1,["admin"]=1}
Exemple pour que la liste de commandes des superadmin s'affiche uniquement pour les superadmin, ça évite la pollution de commandes inutile de l'interface pour tous les autres utilisateurs qui ne sont pas le rang ulx superadmin :
{ title="- Superadmin Commands -",
cmds={
{type="command",name="Example 1",cmd="say",desc="Only Superadmin can see it in this example, you can edit in the config file"},
},
group_access={["superadmin"]=1},
},
Cet exemple est déjà fourni dans le fichier de configuration, vous pouvez le modifier ou vous en inspirer pour ajouter vos propres commandes.
Trouvez la table : nordahl_cfg_3906.sound
nordahl_cfg_3906.sound={
openf4="ambient/machines/keyboard5_clicks.wav",
closef4="ambient/machines/keyboard4_clicks.wav",
press="ambient/machines/keyboard2_clicks.wav",
}
Trouvez la variable : enable_BackgroundBlur
nordahl_cfg_3906.enable_BackgroundBlur=0 --Activé = 1 / Désactivé = 0
Par défaut j'y ai laissé mes liens pour vous servir d'exemple.
Pour supprimer par exemple le bouton Donate il suffit d’insérer une valeur vide dans le champ. Alors le bouton disparaitra jusqu'à ce que vous configurez un lien. Gardez simplement à l'esprit que pour un bouton sans lien, il n'a pas d'utilité donc pas besoin de l'afficher.
Si vous avez une image avec une texture erroné rose et noir cela signifie que l'image n'est pas dans l'emplacement que vous avez sélectionnez ou l'image n'existe pas coté client pensez donc à la rendre accessible à vos utilisateurs.
Pour partager vos textures il existe deux méthodes.
- Soit via votre Fastdl.
- Soit en incluant le contenu dans votre package du workshop.
J'ai crée une documentation sur comment publier du contenue sur le workshop ici : Wiki/Fr/Publier un addon sur le workshop de Gmod
Cela fonctionne mieux quand le contenu existe sur le disque dur de vos clients. 😉
Vous glissez l'image, une fois envoyé clique droit sur l'image > copier le lien de l'image.
Attention pas le lien de la page mais bien le lien de l'image. Le lien de l'image doit finir par .png ou .jpg
Remplacez Trebuchet24 par le nom de votre police d'écriture.
--Note :
--EXEMPLE avec un seul métier : "Civil Protection"
--Ligne que vous avez besoin d'ajouter dans jobrelated.lua :
Ligne 1 : customCheck
Ligne 2 : CustomCheckFailMsg = "You are not in the withelist !",
TEAM_POLICE = DarkRP.createJob("Civil Protection", {
color = Color(25, 25, 170, 255),
model = {"models/player/police.mdl", "models/player/police_fem.mdl"},
description = [[The protector of every citizen that lives in the city.
You have the power to arrest criminals and protect innocents.
Hit a player with your arrest baton to put them in jail.
Bash a player with a stunstick and they may learn to obey the law.
The Battering Ram can break down the door of a criminal, with a warrant for their arrest.
The Battering Ram can also unfreeze frozen props (if enabled).
Type /wanted to alert the public to the presence of a criminal.]],
weapons = {"arrest_stick", "door_ram", "weaponchecker"},
command = "cp",
max = 4,
salary = GAMEMODE.Config.normalsalary * 1.45,
admin = 0,
vote = true,
hasLicense = true,
ammo = {
]"pistol"] = 60,
},
category = "Civil Protection",
customCheck = function(ply) if CLIENT then return PlychangeAllowed(ply, "Civil Protection") else return true end, --Respectez les majuscules et les espaces !!!
CustomCheckFailMsg = "You are not in the withelist !",
})
--Pourquoi ça ne marche pas ? Si le nom original du métier est "Civil Protection" vous devez le respecter dans sa totalité.
Quelques mauvais exemple :
--Mauvaise majuscules : "civil protection"
--Des espaces aux mauvais endroit : "CivilProtection" or " Civil Protection " or "Civil Protection"
--Le mauvais nom de métier, exemple : "Mayor"
26a0 Erreur que je vois régulièrement qui mérite sa place ici :
Ce qui est Valide dans le nom du Job c'est "Civil Protection"
Quelques Exemple non valide :
"civil protection"
"CivilProtection"
" Civil Protection "
" Protection civile "
"Protection civile "
"Protection civile "
cfg.Hide_jobs_list=0
sur 1.
Pour cacher le bouton économie du menu F4 allez dans le fichier configuration du script et trouvez la table: cfg.Screen et allez à la ligne de la table:
{id="economy",enabled=1,icon=Material("ngui/nordahl_f4/economy.png")},
Mettez enabled=1 sur 0. Vous aurez alors désactivé le bouton économie .
cfg.jobgraph_in_home = 1
0 = Désactiver le graphique des emplois dans le tableau d'accueil
1 = Activé
N'existe que depuis la version 3.5 de l'addon.