The system offers 7 types of marker classes, each have their own functionality.
Duty
A simple marker to toggle duty. When clocking off-duty it will set the player's job to unemployed. When clocking on-duty it will look up whether the player is an employee (hired) in the shop and if so, the appropriate job and grade (registered in the database) will be applied.
The script will auto-read the current duty state of the player.
Clock In/Out: updates player's job to shop's job name and cached grade or to unemployed.
Boss
This marker class can be accessed by the boss of the shop only (the very last job grade or the job grade with isboss = true).
Account: manage accounts - withdraw, deposit or view.
Account Balance: live data on current account funds.
Deposit: insert money into shop's account
Withdraw: take money from shop's account
If UseSocietyAccount in is enabled, then refer to: Society Account, ensuring you have set it up correctly.
Employees: manage employees - recruit, fire or promote.
Manage Employes: fire or promote employees
Recruit Employees: a drop-down will pop-up where u can select nearby player's to request a reqruitment. They need to accept the recruitment on their end.
Markup: set the shop's markup % (0-100).
Allows the boss to set the markup % value of all mod orders etc.
Garage
Placing a garage marker will allow the employees to store or get their own personal owned vehicles. Please note it's not a shared garage. It's still a private garage, just a marker to access one's vehicle.
Config.UseBuiltInGarage
If set to true it will use my built-in garage interface using ox_lib. If set to false, you need to add your own garage export/function.
Make sure to read and follow steps in Garage if you are using the built-in garage.
How to add your own export/function?
Find the function named: OpenGarageMenu in t1ger_tuningsystem/client/main.luaand navigate to the bottom of the function where you'll see a comment.
Add your own export/function in there, below the comment "add function for your garage here:" to open a garage menu. Remember, not all custom garage system supports opening a garage like this, so please check with the developer/creator of your resource.
Storage/Stash
You can place as many storage markers for each shop as you like.
Make sure you navigate to t1ger_lib/config.lua and set your correct inventory. The system supports these inventories:
If using ESX and not any custom inventories, there is menu-based inventory for all created storage markers, with withdraw/deposit options.
If your inventory isn't supported, don't worry. The T1GER Library resource is fully open-source and you can easily integrate your inventory stash functions. You could also suggest it in our official Discord and we can consider adding support for it.
Config.Stash
Config.Stash = {slots = 50, weight = 100000, maxSlots = 500, maxWeight = 999999} -- set default stash info in here and max slots/weight for in-game edits.
slots: number - amount of storage slots
weight: number - max weight of the storage unit
maxSlots: number - used in marker editor menu
maxWeight: number - used in marker editor menu
Workbench
The workbench marker is a menu where you can craft mod items and tools used by tuners.
Config.UseBuiltInWorkbench
Config.UseBuiltInCrafting =true-- otherwise change in functions of tuning system
boolean: if set to false, you need to integrate your own crafting function.
How to add own crafting function?
Navigate to t1ger_tuningsystem/client/main.lua and find the function called OpenWorkBenchMenu:
At the bottom you'll see LUA comment. In here you simply add your own export/function. You might want to reach out to the creator of said crafting resource to make proper implementation if you lack the skills - it's not supported by us!
Config.Workbench
Inside t1ger_tuningsystem/shared/workbench.lua you'll find the options and recipes for our workbench/crafting feature.
You can add categories as you like
You can add recipes and required materials as you like
Laptop
These markers allows you to have a laptop marker where tuners can order parts from, instead of crafting them.
All payments made from the laptop are deducted from the shop's account.
Config.OrderedItemsToStash
Config.OrderedItemsToStash =true-- set to true to send ordered mod items from laptop to stash directly.
boolean: if set to true, ordered items will go to shop's storage (you'll be able to select which storage if shop has multiple). If false, items will be added in player's inventory.
Config.LaptopItems
category: string - give the category a label
icon: string - give the category an icon
items: array - added item names in the array. Items must exists inside Config.Items
Mods Bay
These markers works pretty similar to the standard esx-lscustom and/or qb-custom marker. Basically a self-service customization/upgrade marker. Drive a vehicle into the marker and customize the visuals and upgrade the performance. Only the enabled mod categories in the shop will be available in this marker.
Player's can select to create a mod order when they are done customizing their vehicle. This will send data to the tuner shop and a tuner can start the workflow.
Config.ModsMenu
Config.ModsMenu = { Menu = {title ='Mods Menu', position ='top-left'}, -- mods main menu title and position DisablePurchase = false, -- set to true to disable purchase mods from mods bay menu, forcing players to do mod orders and rp with tuners.
Repair = { allow = true, -- allow quick repair for $Repair.price (below) in mod menu marker. Set to false to force customers to go to a mechanic first.
price =1000, -- 1000$ to repair vehicle, before installing mods. moneyToAccount =true, -- if true, paid fees goes to the shop's account, else the money just disappears. }, IncentivizedPricing = { enable = true, -- set to true to enable incentivized pricing. Only applies if purchasing and applying mods directly through the mods menu. This incentivized price is ignored if a mod order is created.
percent =25-- percentage to increase the price of mods in the mod menu, to kinda force players to RP with tuners. }}
Menu:table
title: string - title used in mods menu
position: string - position of the mods menu
DisablePurchase:boolean
If true, the Purchase Mods option will be gone and players are forced to create mod orders and RP with tuners. Else, they can directly purchase their mods from the mods menu.
Repair:table
allow: boolean - enable/disable repairs done through the mods menu
price: number - if allow is enabled, then price to repair the vehicle?
moneyToAccount: boolean - whether the paid repair.price should go to shop's account.
IncentivizedPricing:table
enable: boolean - if enabled makes it more expensive to use self-service mods menu and force player to RP with tuners.
percent: number - percentage to add on-top of each mod price when doing solo tuning.
Configuration
Config.Markers
Config.Markers = { ['duty'] = { enable =true, -- set to false to completely disable duty marker. interact = {title = Lang['title_duty'], keybind = 38, dist = 1.2, drawDist = 5.0, textUi = Lang['textui_duty'], icon = 'toggle-on', position = 'right-center', style = {borderRadius = 0, backgroundColor = '#48BB78', color = 'white'}},
blip = {sprite =280, display =4, scale =0.65, color =0}, -- blip settings }, ['boss'] = { enable =true, -- set to false to completely disable boss marker. interact = {title = Lang['title_boss'], keybind = 38, dist = 1.2, drawDist = 5.0, textUi = Lang['textui_boss'], icon = 'crown', position = 'right-center', style = {borderRadius = 0, backgroundColor = '#48BB78', color = 'white'}},
blip = {sprite =164, display =4, scale =0.65, color =0}, -- blip settings }, ['garage'] = { enable =true, -- set to false to completely disable garage marker. interact = {title = Lang['title_garage'], keybind = 38, dist = 1.2, drawDist = 7.0, textUi = Lang['textui_garage'], icon = 'square-parking', position = 'right-center', style = {borderRadius = 0, backgroundColor = '#48BB78', color = 'white'}},
blip = {sprite =357, display =4, scale =0.65, color =0}, -- blip settings }, ['storage'] = { enable =true, -- set to false to completely disable storage marker. interact = {title = Lang['title_storage'], keybind = 38, dist = 1.2, drawDist = 5.0, textUi = Lang['textui_storage'], icon = 'box', position = 'right-center', style = {borderRadius = 0, backgroundColor = '#48BB78', color = 'white'}},
blip = {sprite =587, display =4, scale =0.65, color =0}, -- blip settings }, ['workbench'] = { enable =true, -- set to false to completely disable workbench marker. interact = {title = Lang['title_workbench'], keybind = 38, dist = 1.2, drawDist = 5.0, textUi = Lang['textui_workbench'], icon = 'screwdriver-wrench', position = 'right-center', style = {borderRadius = 0, backgroundColor = '#48BB78', color = 'white'}},
blip = {sprite =566, display =4, scale =0.65, color =0}, -- blip settings }, ['laptop'] = { -- marker to order parts etc. enable =true, -- set to false to completely disable laptop marker. interact = {title = Lang['title_laptop'], keybind = 38, dist = 1.2, drawDist = 5.0, textUi = Lang['textui_laptop'], icon = 'laptop', position = 'right-center', style = {borderRadius = 0, backgroundColor = '#48BB78', color = 'white'}},
blip = {sprite =521, display =4, scale =0.65, color =0}, -- blip settings }, ['modsbay'] = { -- marker to customize/upgrade vehicles enable =true, -- set to false to completely disable mods menu/bay marker. interact = {title = Lang['title_modsbay'], keybind = 38, dist = 1.2, drawDist = 7.0, textUi = Lang['textui_modsbay'], icon = 'spray-can', position = 'right-center', style = {borderRadius = 0, backgroundColor = '#48BB78', color = 'white'}},
blip = {sprite =402, display =4, scale =0.65, color =0}, -- blip settings },}
Do not edit/change the index/key value name for the marker class. Only configure the options inside of each marker class!