{"version":1,"pages":[{"id":"tglakV4ykeQASQ94DdG2","title":"Welcome","pathname":"/dirkscripts-documentation","siteSpaceId":"sitesp_1y3I3","emoji":"1f44b","description":""},{"id":"jG10nNCSufgpD4alqQTY","title":"Installing Resources","pathname":"/dirkscripts-documentation/the-basics/installing-resources","siteSpaceId":"sitesp_1y3I3","emoji":"2b07","description":"Quick guide for downloading your asset from the Cfx Portal and installing it in the correct resource folder.","breadcrumbs":[{"label":"The Basics"}]},{"id":"IVS305fmv0XY9UEQqwAi","title":"Library","pathname":"/dirkscripts-documentation/resources/dirk-lib","siteSpaceId":"sitesp_1y3I3","emoji":"1f4da","description":"A universal FiveM/RedM framework bridge and utility library. Provides a unified API for inventory, targeting, player data, UI, and more — regardless of which framework or resources you run.","breadcrumbs":[{"label":"Resources"}]},{"id":"2LmOsEFoqWMCjT1uma7c","title":"Getting Started","pathname":"/dirkscripts-documentation/resources/dirk-lib/getting-started","siteSpaceId":"sitesp_1y3I3","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"}]},{"id":"jZIAqPpyhUVZkKFPL7TH","title":"Cache","pathname":"/dirkscripts-documentation/resources/dirk-lib/cache","siteSpaceId":"sitesp_1y3I3","description":"Source-accurate reference for dirk_lib client cache keys, value formats, and cache change listeners.","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"}]},{"id":"QopBBXMqMUFawSS019kJ","title":"Modules","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules","siteSpaceId":"sitesp_1y3I3","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"}]},{"id":"R1v9EOAYq4gxrgtwCB5b","title":"addCommand","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/addcommand","siteSpaceId":"sitesp_1y3I3","description":"Register chat commands with parameter parsing and ACL restrictions","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"ZcyGyWAcDYneQyjqeYZq","title":"addKeybind","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/addkeybind","siteSpaceId":"sitesp_1y3I3","description":"Register rebindable keybindings with press and release callbacks","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"coCi63IXITofU6kAPEJp","title":"await","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/await","siteSpaceId":"sitesp_1y3I3","description":"A small module containing a simple time based await for function callback","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"6auQnZLAmDQI43702l0g","title":"blip","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/blip","siteSpaceId":"sitesp_1y3I3","description":"Used for GTA map location blips, for example a fuel station location","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"yduilb8v7qV6eBLZrV6P","title":"callback","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/callback","siteSpaceId":"sitesp_1y3I3","description":"Use to easily communicate between both client and server","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"BgIqXYi25I8suxmdos7J","title":"class","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/class","siteSpaceId":"sitesp_1y3I3","description":"OOP class system with inheritance, private fields, and type checking","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"8HKyfoapQJnRXyf2sK8b","title":"closest","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/closest","siteSpaceId":"sitesp_1y3I3","description":"Find the closest entity (player, ped, vehicle, object) to a position","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"7h1L021z833hErRBHIbO","title":"disableControls","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/disablecontrols","siteSpaceId":"sitesp_1y3I3","description":"Disable player controls with reference counting","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"huI1STil0A08jLMmzCYJ","title":"dui","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/dui","siteSpaceId":"sitesp_1y3I3","description":"Create and manage DUI (Direct UI) browser textures on in-game objects","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"cp5FXWuBKC7csKujGQ69","title":"file","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/file","siteSpaceId":"sitesp_1y3I3","description":"Server-side JSON file I/O","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"qaBmkyYfRPcGlPozErYr","title":"game","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/game","siteSpaceId":"sitesp_1y3I3","description":"Time & weather sync bridged across supported resources","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"XDE7gFc0xMkvEvnZ09Ye","title":"gizmo","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/gizmo","siteSpaceId":"sitesp_1y3I3","description":"3D entity manipulation gizmo for translation, rotation, and scale","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"CNNsUBMdKYtZ1iuAlHXJ","title":"interact","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/interact","siteSpaceId":"sitesp_1y3I3","description":"Used to register and control any player interaction","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"fT53f002R1zMgl1zt0GD","title":"inventory","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/inventory","siteSpaceId":"sitesp_1y3I3","description":"Bridged inventory API for client and server","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"wZpAI2XJ6ns4Gvn1wnym","title":"locale","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/locale","siteSpaceId":"sitesp_1y3I3","description":"Localisation and translation system","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"2vNKFavxcaFwI0IDo6qa","title":"logger","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/logger","siteSpaceId":"sitesp_1y3I3","description":"Server-side logging to external services","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"aftn2inWDctO87Wkc1bt","title":"math","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/math","siteSpaceId":"sitesp_1y3I3","description":"Extended math utilities","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"bLPIf9vo8Mclb0iMaJpS","title":"objects","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/objects","siteSpaceId":"sitesp_1y3I3","description":"Used to register and remove object spawning, from peds to vehicles.","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"29Xc5NmoEFSYgu7KJh3v","title":"player","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/player","siteSpaceId":"sitesp_1y3I3","description":"Player data and utility functions for client and server","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"nPBKOlbL4Vpy1m9kaIYB","title":"Client","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/player/client","siteSpaceId":"sitesp_1y3I3","description":"Client-side player data functions bridged across all supported frameworks","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"},{"label":"player"}]},{"id":"uwBk9xV8lWRhfuhoElYB","title":"Server","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/player/server","siteSpaceId":"sitesp_1y3I3","description":"Helpful functions for the player data structure and functions","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"},{"label":"player"}]},{"id":"5JYmOgjQ1emsZO0L4gEz","title":"print","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/print","siteSpaceId":"sitesp_1y3I3","description":"Simple dev tool for printing information and warnings to console","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"MQtXzTealIsvY8S8ctAx","title":"raycast","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/raycast","siteSpaceId":"sitesp_1y3I3","description":"Raycasting utilities for shape tests","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"Cf1QwnhAmtSXBiXY8wTl","title":"registerTebexHook","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/registertebexhook","siteSpaceId":"sitesp_1y3I3","description":"Tebex store webhook integration","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"VObZ2QBxaFAWx7FCtI3S","title":"request","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/request","siteSpaceId":"sitesp_1y3I3","description":"Used to request and load game assets with automatic timeout and cleanup","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"KFr2v3Q0yRdLwbVZiCpi","title":"require","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/require","siteSpaceId":"sitesp_1y3I3","description":"Module loading and dependency system","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"3u8uW3uJbWWbKqp6AV3T","title":"scriptConfig","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/scriptconfig","siteSpaceId":"sitesp_1y3I3","description":"Schema-driven script config with database persistence, admin UI, live watchers, change history, and optimistic concurrency — the Lua engine behind every DirkScripts in-game config panel.","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"5ppqaIb1Y30QwqOWIbu7","title":"string","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/string","siteSpaceId":"sitesp_1y3I3","description":"Random string generation","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"ZySR9lvocCehmSOsfSMf","title":"table","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/table","siteSpaceId":"sitesp_1y3I3","description":"Table utility functions for cloning, searching, merging and more","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"7Wp78LM7wCiBl3xrS29N","title":"target","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/target","siteSpaceId":"sitesp_1y3I3","description":"Used to create target zones (Third Eye)","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"G4Xh4kPpMWh3lq6y9QZo","title":"validate","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/validate","siteSpaceId":"sitesp_1y3I3","description":"Fluent data validation chain","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"sU6iM5oNZVpJ92WimHEA","title":"vehicle","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/vehicle","siteSpaceId":"sitesp_1y3I3","description":"Bridged vehicle API for client and server","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"8SHK2JmZIYbrCRtxey04","title":"zones","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/zones","siteSpaceId":"sitesp_1y3I3","description":"Used to create and manage polyzones","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"UxGf0VDpEDDMe5c9ISgW","title":"ui","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/ui","siteSpaceId":"sitesp_1y3I3","description":"Built-in UI components split into dedicated pages","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"NB5zH0pzkD6dVDsyp3u7","title":"Notify","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/ui/notify","siteSpaceId":"sitesp_1y3I3","description":"Notification UI","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"},{"label":"ui"}]},{"id":"imXUZLre3NRUfcfE9t90","title":"Text UI","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/ui/text-ui","siteSpaceId":"sitesp_1y3I3","description":"Persistent text UI","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"},{"label":"ui"}]},{"id":"leISvZ8Onr9dUFZ9Hf9t","title":"Context","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/ui/context","siteSpaceId":"sitesp_1y3I3","description":"Context menu system","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"},{"label":"ui"}]},{"id":"vWULCYyVLrwulJoQF7a8","title":"Dialog","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/ui/dialog","siteSpaceId":"sitesp_1y3I3","description":"Dialog system","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"},{"label":"ui"}]},{"id":"iALZXASEoYV2mWNJJgNp","title":"Progress","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/ui/progress","siteSpaceId":"sitesp_1y3I3","description":"Progress bar and progress circle UI","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"},{"label":"ui"}]},{"id":"BZ8Cyde5uOqBHW9umcqX","title":"Input","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/ui/input","siteSpaceId":"sitesp_1y3I3","description":"Input dialog UI","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"},{"label":"ui"}]},{"id":"aNH95Ujc1q0PIeWNB4Bf","title":"Status","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/ui/status","siteSpaceId":"sitesp_1y3I3","description":"Status info indicators","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"},{"label":"ui"}]},{"id":"ZVRqSPnSXdvXthFT3Iiz","title":"Quiz","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/ui/quiz","siteSpaceId":"sitesp_1y3I3","description":"Quiz system for client and server","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"},{"label":"ui"}]},{"id":"T4TfdQ8AZ0n3cPaQgah6","title":"Key Prompts","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/ui/key-prompts","siteSpaceId":"sitesp_1y3I3","description":"Contextual key prompt overlays","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"},{"label":"ui"}]},{"id":"3AympaUfi2bFnx4Dpo8g","title":"Utilities","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/ui/utilities","siteSpaceId":"sitesp_1y3I3","description":"Miscellaneous UI helper functions","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"},{"label":"ui"}]},{"id":"KCA5uJ4PM1hLyV3MYqGq","title":"groups","pathname":"/dirkscripts-documentation/resources/dirk-lib/modules/groups","siteSpaceId":"sitesp_1y3I3","description":"Group creation and management for coordinated player tasks.","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"},{"label":"Modules"}]},{"id":"EO9CwnEDFP39op2K8STr","title":"DevTools","pathname":"/dirkscripts-documentation/resources/dirk-lib/devtools","siteSpaceId":"sitesp_1y3I3","description":"Developer tools for position copying, entity placement, and polygon creation","breadcrumbs":[{"label":"Resources"},{"label":"Library","emoji":"1f4da"}]},{"id":"wwqeRD8Y4TPuXQ2Ul31B","title":"Fishing Sim","pathname":"/dirkscripts-documentation/resources/dirk-fishing","siteSpaceId":"sitesp_1y3I3","emoji":"1f3a3","description":"A complete fishing overhaul for FiveM — realistic casting physics, 32 bespoke 3D fish, gear progression, fishing zones, traps, daily challenges, and a fully live in-game configurator. v2 is a ground-u","breadcrumbs":[{"label":"Resources"}]},{"id":"YYpQbcIZpYJCNpOGbEky","title":"Getting Started","pathname":"/dirkscripts-documentation/resources/dirk-fishing/getting-started","siteSpaceId":"sitesp_1y3I3","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Fishing Sim","emoji":"1f3a3"}]},{"id":"ajjdUS3L4s5AX5jrCGcQ","title":"Live Script Configurator","pathname":"/dirkscripts-documentation/resources/dirk-fishing/configuration","siteSpaceId":"sitesp_1y3I3","description":"All configuration for dirk_fishing v2 is managed through the in-game Live Script Configurator. Settings save to the database and apply live — no resource restart required.","breadcrumbs":[{"label":"Resources"},{"label":"Fishing Sim","emoji":"1f3a3"}]},{"id":"aldrQ86PCu347t6BLU64","title":"Features","pathname":"/dirkscripts-documentation/resources/dirk-fishing/features","siteSpaceId":"sitesp_1y3I3","description":"A tour of every system in dirk_fishing v2.","breadcrumbs":[{"label":"Resources"},{"label":"Fishing Sim","emoji":"1f3a3"}]},{"id":"bndirReNytwqyYddHIN5","title":"Core Fishing","pathname":"/dirkscripts-documentation/resources/dirk-fishing/features/core-fishing","siteSpaceId":"sitesp_1y3I3","description":"The aim → cast → fight loop, the rope physics and the cinematic catch camera.","breadcrumbs":[{"label":"Resources"},{"label":"Fishing Sim","emoji":"1f3a3"},{"label":"Features"}]},{"id":"QKJflssnRrWjwzXIPBnP","title":"Gear & Progression","pathname":"/dirkscripts-documentation/resources/dirk-fishing/features/gear-and-progression","siteSpaceId":"sitesp_1y3I3","description":"Rod loadouts, the XP curve, and the permit system.","breadcrumbs":[{"label":"Resources"},{"label":"Fishing Sim","emoji":"1f3a3"},{"label":"Features"}]},{"id":"zzS0M87FdQFg4b6bHFAo","title":"World & Exploration","pathname":"/dirkscripts-documentation/resources/dirk-fishing/features/world-and-exploration","siteSpaceId":"sitesp_1y3I3","description":"Fishing zones, grid-based fish populations and the Fish Finder.","breadcrumbs":[{"label":"Resources"},{"label":"Fishing Sim","emoji":"1f3a3"},{"label":"Features"}]},{"id":"4TYLnIi31f8WUrlEVxbU","title":"Interactive Guidebook","pathname":"/dirkscripts-documentation/resources/dirk-fishing/features/guidebook","siteSpaceId":"sitesp_1y3I3","description":"A standalone in-game book item with six tabs of dashboards and reference.","breadcrumbs":[{"label":"Resources"},{"label":"Fishing Sim","emoji":"1f3a3"},{"label":"Features"}]},{"id":"pQVIX4w0BTzTZlXNLMhI","title":"Daily Challenges","pathname":"/dirkscripts-documentation/resources/dirk-fishing/features/daily-challenges","siteSpaceId":"sitesp_1y3I3","description":"Random daily objectives that reset every 24 hours.","breadcrumbs":[{"label":"Resources"},{"label":"Fishing Sim","emoji":"1f3a3"},{"label":"Features"}]},{"id":"0qfkrWa5TAjnaGBH5UtI","title":"Traps (Crab Pots)","pathname":"/dirkscripts-documentation/resources/dirk-fishing/features/traps","siteSpaceId":"sitesp_1y3I3","description":"Place baited crab pots and come back later for a passive haul.","breadcrumbs":[{"label":"Resources"},{"label":"Fishing Sim","emoji":"1f3a3"},{"label":"Features"}]},{"id":"IxkH4afzXo39IVV9mJrS","title":"Bait & Gutting","pathname":"/dirkscripts-documentation/resources/dirk-fishing/features/bait-and-gutting","siteSpaceId":"sitesp_1y3I3","description":"Dig for worms, gut your catches.","breadcrumbs":[{"label":"Resources"},{"label":"Fishing Sim","emoji":"1f3a3"},{"label":"Features"}]},{"id":"uLVETYReYDfdjZjQbzyp","title":"Stores & Markets","pathname":"/dirkscripts-documentation/resources/dirk-fishing/features/stores-and-markets","siteSpaceId":"sitesp_1y3I3","description":"Equipment shops, fish markets and a dedicated bait market.","breadcrumbs":[{"label":"Resources"},{"label":"Fishing Sim","emoji":"1f3a3"},{"label":"Features"}]},{"id":"2kyWg8M55D2rIbb0hn29","title":"Changelog","pathname":"/dirkscripts-documentation/resources/dirk-fishing/changelog","siteSpaceId":"sitesp_1y3I3","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Fishing Sim","emoji":"1f3a3"}]},{"id":"3Ip6sP4gB3cAwFRO0F5z","title":"Project Cars","pathname":"/dirkscripts-documentation/resources/project-cars","siteSpaceId":"sitesp_1y3I3","emoji":"1f527","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"Aw1NQiLg4Yb00oJL4SDY","title":"Getting Started","pathname":"/dirkscripts-documentation/resources/project-cars/installation","siteSpaceId":"sitesp_1y3I3","description":"Please follow these instructions carefully if you do so you should have no issues, if you do still experience issues after reading through all of this then please make a ticket in discord.","breadcrumbs":[{"label":"Resources"},{"label":"Project Cars","emoji":"1f527"}]},{"id":"XfZRuTfX7WR3hM4TSG4T","title":"Types","pathname":"/dirkscripts-documentation/resources/project-cars/types","siteSpaceId":"sitesp_1y3I3","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Project Cars","emoji":"1f527"}]},{"id":"NOEmdap9hnM7ieCa6L3I","title":"Tool Item","pathname":"/dirkscripts-documentation/resources/project-cars/types/tools","siteSpaceId":"sitesp_1y3I3","description":"Each tool is defined as a key in the tools table with a structured value. Here's a breakdown of the expected fields:","breadcrumbs":[{"label":"Resources"},{"label":"Project Cars","emoji":"1f527"},{"label":"Types"}]},{"id":"S7b821WVcg0OsdI8jtc1","title":"Part Item","pathname":"/dirkscripts-documentation/resources/project-cars/types/parts","siteSpaceId":"sitesp_1y3I3","description":"Each part is defined as an entry in your parts table with configurable fields for how it behaves during installation, usage, and interaction with vehicles.","breadcrumbs":[{"label":"Resources"},{"label":"Project Cars","emoji":"1f527"},{"label":"Types"}]},{"id":"FOb2NSQ5V7CjfX5ABOSA","title":"Commands","pathname":"/dirkscripts-documentation/resources/project-cars/commands","siteSpaceId":"sitesp_1y3I3","description":"Some useful commands that are locked to admin only by default. All of these commands will list the arguments required if you type them in the chat.","breadcrumbs":[{"label":"Resources"},{"label":"Project Cars","emoji":"1f527"}]},{"id":"KAcEtuxkPZ2ZBdWRHOba","title":"Multicharacter","pathname":"/dirkscripts-documentation/resources/dirk-multichar","siteSpaceId":"sitesp_1y3I3","emoji":"1f93c","description":"A modern, fully-configurable multicharacter selector for FiveM — character creation flow, cinematic selection scene, lifestyles, backstories, VIP slots, configurable character states, and a fully live","breadcrumbs":[{"label":"Resources"}]},{"id":"TTBJ1iJ6pstDyDmG17lN","title":"Getting Started","pathname":"/dirkscripts-documentation/resources/dirk-multichar/getting-started","siteSpaceId":"sitesp_1y3I3","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Multicharacter","emoji":"1f93c"}]},{"id":"GCSOdD921YPUYwz9d4tJ","title":"Live Script Configurator","pathname":"/dirkscripts-documentation/resources/dirk-multichar/configuration","siteSpaceId":"sitesp_1y3I3","description":"All configuration for dirk_multichar v1.5+ is managed through the in-game Live Script Configurator. Settings save to the database and apply live — no resource restart required.","breadcrumbs":[{"label":"Resources"},{"label":"Multicharacter","emoji":"1f93c"}]},{"id":"sVDRY3j0Z8rBotZQmCfS","title":"Features","pathname":"/dirkscripts-documentation/resources/dirk-multichar/features","siteSpaceId":"sitesp_1y3I3","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Multicharacter","emoji":"1f93c"}]},{"id":"j2O11WlOxYhO4LnZ3WWu","title":"Character Selection","pathname":"/dirkscripts-documentation/resources/dirk-multichar/features/character-selection","siteSpaceId":"sitesp_1y3I3","description":"The cinematic character selection scene, camera atmosphere and scene positions.","breadcrumbs":[{"label":"Resources"},{"label":"Multicharacter","emoji":"1f93c"},{"label":"Features"}]},{"id":"Sd0sFJA2Z4Sb69sSpomw","title":"Backstories","pathname":"/dirkscripts-documentation/resources/dirk-multichar/features/backstories","siteSpaceId":"sitesp_1y3I3","description":"Admin-built character archetypes with their own intro scenes, starter items and access gates.","breadcrumbs":[{"label":"Resources"},{"label":"Multicharacter","emoji":"1f93c"},{"label":"Features"}]},{"id":"heTlWebR67eR3hKjAx7m","title":"Character States","pathname":"/dirkscripts-documentation/resources/dirk-multichar/features/character-states","siteSpaceId":"sitesp_1y3I3","description":"Visual states (icon + colour + message) that can disable a character or display status.","breadcrumbs":[{"label":"Resources"},{"label":"Multicharacter","emoji":"1f93c"},{"label":"Features"}]},{"id":"QlM9LKAsHUbRZDhNB4bv","title":"Spawn Locations","pathname":"/dirkscripts-documentation/resources/dirk-multichar/features/spawn-locations","siteSpaceId":"sitesp_1y3I3","description":"Admin-defined spawn points with FontAwesome icons + framework group gating.","breadcrumbs":[{"label":"Resources"},{"label":"Multicharacter","emoji":"1f93c"},{"label":"Features"}]},{"id":"1yh0gDPkppmQOLbdAQhu","title":"VIP Roles","pathname":"/dirkscripts-documentation/resources/dirk-multichar/features/vip-roles","siteSpaceId":"sitesp_1y3I3","description":"Extra character slots granted via Discord roles or ESX's native slots table.","breadcrumbs":[{"label":"Resources"},{"label":"Multicharacter","emoji":"1f93c"},{"label":"Features"}]},{"id":"OuY4ub7Xf4Gin6K82fxd","title":"Commands","pathname":"/dirkscripts-documentation/resources/dirk-multichar/commands","siteSpaceId":"sitesp_1y3I3","description":"Built-in slash commands shipped with dirk_multichar.","breadcrumbs":[{"label":"Resources"},{"label":"Multicharacter","emoji":"1f93c"}]},{"id":"h6RWGaczUKyHFW2kZrlW","title":"Exports","pathname":"/dirkscripts-documentation/resources/dirk-multichar/exports","siteSpaceId":"sitesp_1y3I3","description":"Lua exports exposed by dirk_multichar for use from other resources.","breadcrumbs":[{"label":"Resources"},{"label":"Multicharacter","emoji":"1f93c"}]},{"id":"joRzQoH7WFxWKvi8Ssnx","title":"Changelog","pathname":"/dirkscripts-documentation/resources/dirk-multichar/changelog","siteSpaceId":"sitesp_1y3I3","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Multicharacter","emoji":"1f93c"}]},{"id":"UpUzKElI72goDbvdmonu","title":"Stores","pathname":"/dirkscripts-documentation/resources/stores","siteSpaceId":"sitesp_1y3I3","emoji":"1f3ea","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"txq5z2TnvCKCbeXv9WKm","title":"Getting Started","pathname":"/dirkscripts-documentation/resources/stores/getting-started","siteSpaceId":"sitesp_1y3I3","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Stores","emoji":"1f3ea"}]},{"id":"jvm1bduAl4XUbFmxkT79","title":"Types","pathname":"/dirkscripts-documentation/resources/stores/types","siteSpaceId":"sitesp_1y3I3","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Stores","emoji":"1f3ea"}]},{"id":"Oq79cMUD6geXZrOKIZiZ","title":"Store","pathname":"/dirkscripts-documentation/resources/stores/types/store","siteSpaceId":"sitesp_1y3I3","description":"This defines the structure for creating a store, either via your config or dynamically through an export. Stores support job/role restrictions, time-based spawning, custom themes, and more.","breadcrumbs":[{"label":"Resources"},{"label":"Stores","emoji":"1f3ea"},{"label":"Types"}]},{"id":"cptyf3h35k9ibMqb0O1l","title":"Category","pathname":"/dirkscripts-documentation/resources/stores/types/category","siteSpaceId":"sitesp_1y3I3","description":"These are all the properties available per category for your store, you can disable categories for a store by removing the categories table entirely.","breadcrumbs":[{"label":"Resources"},{"label":"Stores","emoji":"1f3ea"},{"label":"Types"}]},{"id":"RcfQCh7fGSAPIdvAdUYy","title":"Stock","pathname":"/dirkscripts-documentation/resources/stores/types/stock","siteSpaceId":"sitesp_1y3I3","description":"All the properties of a stock item within your stock table for a store.","breadcrumbs":[{"label":"Resources"},{"label":"Stores","emoji":"1f3ea"},{"label":"Types"}]},{"id":"yY1r8AYSEPUcbVEyQNG1","title":"Exports","pathname":"/dirkscripts-documentation/resources/stores/exports","siteSpaceId":"sitesp_1y3I3","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Stores","emoji":"1f3ea"}]},{"id":"fhUBHXeQjZN071yVDv71","title":"Changelog","pathname":"/dirkscripts-documentation/resources/stores/changelog","siteSpaceId":"sitesp_1y3I3","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Stores","emoji":"1f3ea"}]},{"id":"qADiHdyrYT3IXO35O2sR","title":"Drug Labs v2","pathname":"/dirkscripts-documentation/resources/drug-labs-v2","siteSpaceId":"sitesp_1y3I3","emoji":"1f48a","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"qFLDW2SU2D1moBjk2G4M","title":"Installation","pathname":"/dirkscripts-documentation/resources/drug-labs-v2/installation","siteSpaceId":"sitesp_1y3I3","description":"Follow this guide to install the resource.","breadcrumbs":[{"label":"Resources"},{"label":"Drug Labs v2","emoji":"1f48a"}]},{"id":"oshFH3UYQeCu8722zTrc","title":"Tebex Integration","pathname":"/dirkscripts-documentation/resources/drug-labs-v2/tebex-integration","siteSpaceId":"sitesp_1y3I3","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Drug Labs v2","emoji":"1f48a"}]},{"id":"VevM9JzI6xAuoFk8o2de","title":"Creating Labs","pathname":"/dirkscripts-documentation/resources/drug-labs-v2/creating-labs","siteSpaceId":"sitesp_1y3I3","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Drug Labs v2","emoji":"1f48a"}]},{"id":"WHPhTTXpmdVkuZWLO7gJ","title":"Dirk CFX React","pathname":"/dirkscripts-documentation/resources/dirk-cfx-react","siteSpaceId":"sitesp_1y3I3","emoji":"269b","description":"A shared React component and utility library for building FiveM/RedM NUI interfaces. Provides the admin panel, form system, settings integration, theming, and reusable UI components used across all Di","breadcrumbs":[{"label":"Resources"}]},{"id":"4dXu85nY9pry7pqocs5f","title":"Getting Started","pathname":"/dirkscripts-documentation/resources/dirk-cfx-react/getting-started","siteSpaceId":"sitesp_1y3I3","description":"How to install and start using dirk-cfx-react in a FiveM resource","breadcrumbs":[{"label":"Resources"},{"label":"Dirk CFX React","emoji":"269b"}]},{"id":"wN0yctqNQs8aDAtc8MDs","title":"Script Config (React)","pathname":"/dirkscripts-documentation/resources/dirk-cfx-react/script-config","siteSpaceId":"sitesp_1y3I3","description":"Complete guide for building an in-game admin settings panel using dirk-cfx-react's SettingsPanel, useForm, and createScriptConfig — connected to dirk_lib's scriptConfig Lua module.","breadcrumbs":[{"label":"Resources"},{"label":"Dirk CFX React","emoji":"269b"}]},{"id":"e70l7UP8dt2mRVewqNWj","title":"Components","pathname":"/dirkscripts-documentation/resources/dirk-cfx-react/components","siteSpaceId":"sitesp_1y3I3","description":"Reusable UI components provided by dirk-cfx-react","breadcrumbs":[{"label":"Resources"},{"label":"Dirk CFX React","emoji":"269b"}]},{"id":"8W7oxFJvPQ3D82hTGxlU","title":"Hooks & Utilities","pathname":"/dirkscripts-documentation/resources/dirk-cfx-react/hooks-and-utilities","siteSpaceId":"sitesp_1y3I3","description":"Hooks and utilities exported by dirk-cfx-react","breadcrumbs":[{"label":"Resources"},{"label":"Dirk CFX React","emoji":"269b"}]}]}