A modular high-performance radial menu framework centralizing all DarkRP player and entity interactions.
Overview
Interaction System is a modular, high-performance framework designed to centralize all player and entity interactions in Garry's Mod (DarkRP). It decouples interaction logic from the user interface, allowing for high scalability and easy maintenance.
Configuration
The configuration is centralized in lua/interactionsystem/shared/shconfig.lua. It offers granular control over every aspect of the system.
Key Settings:
Config.Key: Bind key for the menu (Default: KEY_C).
Config.Language: System language ("en" or "fr").
Config.Radius: Visual radius of the radial menu.
Config.ActionCooldown: Spam protection interval.
Config.NetCooldown: Network message throttling.
Config.StrictDistanceCheck: Server-side distance validation to prevent exploits.
Config.AdminRanks: Table defining admin user groups.
Config.SearchBlacklist: Items that cannot be confiscated during searches.
Config.TrunkCapacity: Maximum weight for vehicle storage.
Config.MugBlacklist: Weapons that cannot be used to mug players.
Architecture
The addon follows a strict Client-Server-Shared architecture to ensure security and performance.
File Structure
sh_config.lua: Main configuration file.
sh_html.lua: Shared HTML templates for UI consistency.
cl_menu.lua: Core logic for the radial menu rendering.
cl_overhead.lua: Optimized 2D/3D context drawing (Blindfold/Gagged status).
cltrade.lua / clsearch.lua: DHTML interfaces for trade and search interactions.
sv_main.lua: Network handling and validation logic.
sv_actions.lua: Execution logic for specific actions (Doors, Vehicles).
sv_mugging.lua: Logic for kidnapping.
sv_trade.lua: Logic for trading.
Developer Notes
InteractionSystem:GetLanguage("key") to add new translations in shlanguage*.lua.No reviews yet
Every review on GM Market is from a verified purchase.