Présentation :
Interaction System est un framework modulaire et performant conçu pour centraliser toutes les interactions joueurs et entités sur Garry's Mod (DarkRP). Il sépare la logique d'interaction de l'interface utilisateur, permettant une grande évolutivité et une maintenance aisée.
Configuration :
La configuration est centralisée dans
Paramètres Clés :
1. Général :
L'addon suit une architecture Client-Serveur-Shared stricte pour assurer sécurité et performance.
Structure des Fichiers :
1. lua/interaction_system/shared/ :
1. Pont HTML/Lua : L'interface utilise le DHTML avec un système de callback, permettant un transfert de données fluide entre Lua et JavaScript.
2. Traduction : Toutes les chaînes sont dynamiques. Utilisez
Interaction System est un framework modulaire et performant conçu pour centraliser toutes les interactions joueurs et entités sur Garry's Mod (DarkRP). Il sépare la logique d'interaction de l'interface utilisateur, permettant une grande évolutivité et une maintenance aisée.
Configuration :
La configuration est centralisée dans
lua/interaction_system/shared/sh_config.lua.Paramètres Clés :
1. Général :
-
Config.Key: Touche d'ouverture du menu (Défaut :KEY_C). -
Config.Language: Langue du système ("en"ou"fr"). -
Config.Radius: Rayon visuel du menu radial.
-
Config.ActionCooldown: Intervalle de protection anti-spam. -
Config.NetCooldown: Limitation des messages réseau. -
Config.StrictDistanceCheck: Validation de distance côté serveur pour empêcher les exploits.
-
Config.AdminRanks: Table définissant les groupes d'utilisateurs admin. -
Config.SearchBlacklist: Objets ne pouvant pas être confisqués lors des fouilles. -
Config.TrunkCapacity: Poids maximum pour le stockage véhicule. -
Config.MugBlacklist: Armes ne pouvant pas être utilisées pour braquer.
L'addon suit une architecture Client-Serveur-Shared stricte pour assurer sécurité et performance.
Structure des Fichiers :
1. lua/interaction_system/shared/ :
-
sh_config.lua: Fichier de configuration principal. -
sh_html.lua: Templates HTML partagés pour l'UI.
-
cl_menu.lua: Logique centrale du rendu du menu radial. -
cl_overhead.lua: Rendu contextuel 2D3D optimisé (Statuts Yeux bandés/Bâillonné). -
cl_trade.lua/cl_search.lua: Interfaces DHTML pour les interactions de trade et de fouille.
-
sv_main.lua: Gestion réseau et logique de validation. -
sv_actions.lua: Logique d'exécution des actions spécifiques (Portes, Véhicules). -
sv_mugging.lua: Logique de kidnapping. -
sv_trade.lua: Logique de trade. -
sv_trunk.lua: Logique de coffre.
1. Pont HTML/Lua : L'interface utilise le DHTML avec un système de callback, permettant un transfert de données fluide entre Lua et JavaScript.
2. Traduction : Toutes les chaînes sont dynamiques. Utilisez
InteractionSystem:GetLanguage("key") pour ajouter de nouvelles traductions dans sh_language_*.lua.