Config
You can change individual values in config.lua
Debug
If you see anything wrong and you would like to know more, for example to show in support ticket, you can set Config.Debug = true
to see more debug info in client (F8) console ingame, or server console.
Framework
Most important thing to do after opening config, is to set your framework, otherwise script won't work correctly.
You can choose from these frameworks:
To add your own framework, you will need to make a framework integration, more here.
Frameworks.STANDALONE
This option is purely for people who don't know how to implement their own framework and still want to use some key functions of this script.
However, these features won't work without making your own integration:
Anything money related
Players will be able to buy all tattoos for free
Adding money to business will always work even if player has 0 money
Anything job related
Job permitted tattoos, Business with society/job
Players will all have job
unemployed
💼 Business with job (society)
You can still use Simple business freely as it is standalone!
And this is how you set it in config:
Tattoo Lists
In the Config.TattooLists
you can check which tattoos will your server support and add your own. Listed files are located at assets/tattooLists/
, or at path you set to Config.TattooListsPath
.
More info about Game builds here.
Tattoo shops
Config.Shops
contains all tattoo shops in GTA that you can customize or add your own to.
All you need to create a tattoo shop is to provide it the location you want it at.
However you can customize it even more by changing the blip and marker settings
Blips
Blip (on map) can be hidden, if you don't want to show the tattoo shop on map, simply don't set blip
for particular shop. Useful for gangs etc. To use default blip, set blip = Config.DefaultBlipSettings
.
DefaultBlipSettings
can be configured in the config too.
To set custom blip for an individual tattoo shop, you can write it like this:
Markers
Markers are the floating texts/icons shown in-game to open the tattoo menu.
Same as blips, to use a default marker, simple set marker = Config.DefaultMarkerSettings
.
To set a custom marker for an individual shop, you can write it like this:
Preview shop
Preview shops are only for browsing tattoos, players can't buy tattoos there.
Only specific body part
This type of shop will display only menu for a specific body part. Main usage is for API to open the menu from anywhere and with specific body part, if needed.
body parts:
head, body, left_arm, right_arm, left_leg, right_leg
Tattoo file filter
In the Business Update we added new option to add a fileFilter
to each shop you set up. But what is it really?
If you take a look at Config.TattooLists
, you will see all files that you load your tattoos from. Well now you will be able to add a tattoo file only for certain shop meaning you can have a shop dedicated to only certain tattoos! How? Let's see!
The file also needs to stay in Config.TattooLists
to load properly!
Job restricted shop
There is also an option for a shop to be only accessible with certain job (and grade).
If you want a shop to be only visible for certain jobs, use visibleForJobs
for the particular shop.
You can restrict it for as many jobs as you need, see example.
You can also enable it only from certain job grade (see police job in example), if no grade is set, it will be available for all job grades.
The functionality is exactly the same as Tattoo Permissions
Example:
Special functions
Henna tattoos
You can set the henna tattoo duration (the time until tattoo dissapears, if henna is used for it) at Config.HennaTattooDuration
. Default is 2 (real-life days).
Same as in opacity, you can set additional price for henna tattoo Config.HennaAdditionalPrice
.
Animation and teleport
Config.EnableShopEnterAnimation
andConfig.ForcePlayerShopPosition
possible values:
true/false
Combinations:
Both true - Player will walk to certain shop coordinates and take of his clothes with an animation. (✨fancy animations✨)
Only EnableShopEnterAnimation - Player will stay at the place they open the shop at and take of clothes with an animation.
Only ForcePlayerShopPosition - Player will be teleported exactly at the shop position set in config and take off their clothes immediately without playing animation (fastest way, but players will be stacked in one spot)
Both false - Player will stay at the place they open the shop and take off their clothes immediately without animation (fastest and good for more players at one shop)
Naked part ID
If the player doesn't have only underwear after entering the shop, you can change the default "naked" body part IDs at Config.NakedPartsIds
.
Payment types
In Config.MoneyAccountTypes
you can determine which accounts should the script check when buying a tattoo.
accounts will be checked in the order you write them
Example:
Config.MoneyAccountTypes = {"cash", "dirty_money", "bank"}
- cash will be checked first, then dirty_money etc...
Price Multiplier
You can simply adjust price of all tattoos by changing this multiplier, deafult = 1.0 (=no price change)
Example: All tattoos with price 300 will cost 600 if PriceMultiplier
is set to 2.0
(2x)
Disable tattoo removal
If true, players won't be able to remove their tattoos in the shop (remove button won't be visible). Can be used for example for roleplay where doctors remove tattoos.
❗ Experimental
Here you can find adjustable values for config, that are not there by default, but can be set by you, if needed. This category exists mostly for developers who know what they are doing and what those values mean.
If you change these values and something stops working, be sure to check what you set, before seeking support :)
If you want to edit any of those values, go to config.lua and add them at the very last line of the file.
Config.PPIDCheckTime
- value in miliseconds, default is3000
(= 3 sec)there is a loop to check for change of player model id (e.g. while logging in and changing ped in skin changer) and applying their tattoos
this value changes how often is the loop called, it is made editable if you want to change the loop waiting time for any reason
Config.JobReloadDelay
- value in miliseconds (e.g. 3000 = 3sec)if defined, player job and markers will be reloaded after set delay
can be used if some scripts load player later and you need to restart script to show business bossmenu markers
Opacity
You can set the default opacity ranging from 1 to 5 at
Config.DefaultOpacity
, default is 1. Further more, you can set an additional price for each opacity levelConfig.OpacityAdditionalPrice
If you set for example
Config.OpacityAdditionalPrice = 100
, tattoo costing $500 will cost $800 if player sets opacity to 3. (+3 * 100)
Events
You may have noticed file config_events.lua
. This file is used only in case our script has some errors regarding ESX/QBCore events.
Some servers tend to rename crucial scripts to their server name, for example esx_society
to kitty_society
, which then causes many errors in all scripts that rely on the name esx_society
. Don't do this please, it takes credit from authors of those scripts and it just looks dumb.
If for any reason you did this to any script our script depends on (esx framework, qbcore framework, qbcore bossmenu..), take a look into file mentioned above and read instructions in there to configure event names.
Example: Let's say you renamed esx:setJob
to kitty:setWork
, but our script has no clue you did that, as we can't access your server files. You will have to go to config_events.lua
and rename the event there like this:
Last updated