Config
General Information
Additional Settings
If there is a feature within the script that you can't find in the script's config, there is a chance that the configuration lies within zyke-lib.
Keymapping
When stated to utilize keymapping, the key can be changed in your GTA / FiveM keybinds.
Prop Models
All prop models can be found here.
#Settings
Groups the main configuration options for this resource. The child sections below document each nested setting.
#debug
Controls debug logging for the resource. When set to
true, additional diagnostic output is enabled.
Example:
#helpMenu
A table of command strings that open the help menu. The source comment describes this menu as the command for getting players started.
Example:
#promptHelpMenuOnFirstUse
When enabled, the help menu automatically opens the first time a player uses any consumable item. This helps introduce new players to the resource's mechanics. The menu only appears once per player; subsequent uses will not trigger it.
Example:
#pickupDistance
Maximum distance from which a player can pick up a placed item.
Example:
#placeDistance
Maximum distance at which a player can place an item.
Example:
#transferDistance
Distance used when transferring items to other players.
Example:
#objectInteractionDistance
Distance used to interact with world items, such as pouring a consumable into a glass.
Example:
#itemCloseDistance
The distance threshold used to determine if the player is very close to an item, triggering a quick iteration check for that item.
Example:
#itemVicinityDistance
The rough scan distance used to find items in the vicinity.
Example:
#pauseConsumptionOnAnimBreak
Controls whether consumption pauses during an animation break. When disabled, consumption continues despite the animation pause; the source comment also notes that sound playback is tied to the animation and that the choking meter decreases when this setting is
true.
Example:
#forcePropsOnGround
Controls whether placed props are always forced onto a solid surface. The source warns this can cause placement issues on non-solid props; when disabled, items can be placed anywhere.
Example:
#objectPlacementThreshold
Additional object-placement distance threshold used to space placed objects apart.
Example:
#triggeredTargetSystem
A list of configured target-system command strings. The default entries are
"+ox_target"and"+playerTarget".
Example:
#fetchOxConversions
Controls whether possible conversions are fetched from
ox_inventory.
Example:
#worldItems
Controls world item mode, per-player and server-wide item limits, and cleanup behavior for placed world items. The source comments warn that FiveM networked prop restrictions limit dynamic world items to 80 rendered networked objects per client shared across scripts, and recommend static mode for servers with 50+ players, big parties, or many restaurants.
dynamic: selects dynamic or static world item mode.maxPerPlayer: caps how many world items one player can have.limit: caps stored world items server-wide, not spawned props.cleanup: groups proximity, thread-deletion, and start-up cleanup settings.Example:
#worldItems.dynamic
dynamicselects whether world items use dynamic or static mode.
Example:
#worldItems.maxPerPlayer
maxPerPlayersets the maximum number of world items a single player can have.
Example:
#worldItems.limit
Maximum number of world items tracked on the server. The source comment notes this is a server limit for stored world items, not the number of spawned props.
Example:
#worldItems.cleanup
Controls cleanup timing for world items. The source comments explain that
last_interactionis updated when world item data changes and by proximity checks; cleanup settings use that timestamp.
proximity: refresheslast_interactionfor nearby world items without deleting them.threadDeletion: deletes world items older than the configured lifetime on an interval.onStart: deletes world items on script start when they are older than the configured lifetime.Example:
#worldItems.cleanup.proximity
Proximity will check the proximity of the world item, if any player is within the configured area, we update
last_interaction. This is only responsible for updating thelast_interaction, not for deleting the item. This setting is meant to allow you placing items around yourself, such as in a bar, that won't disappear if you leave the area for a while, since when you come back it refreshes the timer.
Example:
#worldItems.cleanup.proximity.enabled
enabledturns on proximity checks that updatelast_interactionwhen a player is within the configured distance. This setting does not delete items.
Example:
#worldItems.cleanup.proximity.distance
The
distancevalue sets the proximity check radius.
Example:
#worldItems.cleanup.proximity.interval
The
intervalvalue sets the number of seconds between proximity checks.
Example:
#worldItems.cleanup.threadDeletion
Controls the background thread that manages world item lifetime. The source comments state that it works with proximity because proximity updates
last_interaction, and that items older than the configured lifetime are deleted when the interval passes.
enabled: controls whether the background lifetime-management thread is active.interval: sets the number of seconds between deletion checks.lifetime: sets how oldlast_interactioncan be before an item is deleted.Example:
#worldItems.cleanup.threadDeletion.enabled
enabledcontrols whether the background world item lifetime thread runs.
Example:
#worldItems.cleanup.threadDeletion.interval
The interval in seconds between each cleanup cycle. The thread checks all active world items against the configured
lifetimeand removes any that have expired.
Example:
#worldItems.cleanup.threadDeletion.lifetime
The
lifetimevalue sets the number of seconds afterlast_interactionbefore a world item is old enough for thread-based deletion.
Example:
#worldItems.cleanup.onStart
Controls the cleanup check performed when the script starts. The source comments state that world items are deleted on start when their
last_interactionvalue is older than the configured lifetime.
enabled: controls whether the startup cleanup check runs.lifetime: sets the age threshold used by the startup cleanup check.Example:
#worldItems.cleanup.onStart.enabled
enabledcontrols whether the script-start world item cleanup check runs. The source comments say world items older than the configured time are deleted.
Example:
#worldItems.cleanup.onStart.lifetime
The
lifetimevalue sets the maximum age, in seconds, checked on script start. If a world item'slast_interactionis older than this value, the source comments say it is deleted.
Example:
#defaultProp
Groups the nested
defaultPropoptions. The child sections below document each setting.
Example:
#defaultProp.model
Default prop model used for placement when no prop model is set.
Example:
#defaultProp.bone
Default placement bone used when no bone is set. The source comment identifies this default as
SKEL_L_Hand.
Example:
#defaultProp.offset
Default prop offset vector for placement when no prop offset is set.
Example:
#defaultProp.rotation
Default prop rotation vector for placement when no prop rotation is set.
Example:
#infiniteItems
With infinite items, you can create any item based on its type. This functionality is only available in modern inventories. Note that managing these items outside of our resources may be challenging unless you are experienced. Enabling this does not restrict the finite items from being created or used.
Example:
#infiniteItems.enabled
Controls whether infinite items are enabled. The source comment notes this can be enabled when using
ox_inventory.
Example:
#infiniteItems.baseItemPrefix
Prefix used when forming base item names for infinite items. The source comment says the item type is appended, for example
"base_drink".
Example:
#infiniteItems.defaultImage
Fallback image URL used when no image exists for an infinite item.
Example:
#keys
Defines a keyed collection of
keysentries. The child sections below document the fields available for each entry.
Example:
#keys[x].key
The keyboard key assigned to this action. It is used together with
keyTypeto register the full keybind for the action.
Example:
#keys[x].keyType
The input device type for this key binding, such as
"keyboard".
Example:
#throwing
Groups the nested
throwingoptions. The child sections below document each setting.
Example:
#throwing.enabled
enabledcontrols whether item throwing is enabled.
Example:
#throwing.power
Controls the force applied to thrown items. Higher values result in faster throw speeds. The source comment suggests setting to
20.0for a more realistic feel.
Example:
#throwing.mass
The
massvalue configures item throwing mass. The source comment notes~50for a more realistic feel; the default value is300.0.
Example:
#itemTypes
Defines a keyed collection of
itemTypesentries. The child sections below document the fields available for each entry.
Example:
#itemTypes[x].label
A human-readable name for this item type, displayed in menus and notifications. This label helps administrators and players identify the category of consumable items.
Example:
#itemTypes[x].consumptionSpeed
A multiplier that controls how quickly an item in this category is consumed. The base consumption speeds are designed to be realistic and slow; increasing this value speeds up consumption for the entire category.
Example:
#consumptionTick
The interval in milliseconds at which the resource processes consumption effects. Lower values provide more responsive status updates but increase performance usage; higher values feel sluggish but reduce overhead. A range of 250-500 is recommended. This value does not affect core functionality, only the display and processing frequency.
Example:
#creatorMenu
Groups the nested
creatorMenuoptions. The child sections below document each setting.
Example:
#creatorMenu.command
The chat commands that open the item creator menu. When a player types one of these commands, the resource checks their permissions and opens the creator interface if they have access.
Example:
#creatorMenu.permissions
Groups the nested
permissionsoptions. The child sections below document each setting.
Example:
#creatorMenu.permissions.useMenu
Specifies the permission string required to access the creator menu. The value
"command"corresponds to an ace permission that restricts use to staff members (as noted in the source comment "Lock to staffs"). Players without this permission will be denied access to the menu.
Example:
#creatorMenu.permissions.createItem
The permission string required to create items through the creator menu. Players must have this permission to access the item creation functionality. The inline comment indicates this is intended to restrict creation to staff members.
Example:
#creatorMenu.permissions.editItem
Permission identifier required to edit an existing item through the creator menu. The source marks this action as locked to trusted people, with the default permission value set to
"command".
Example:
#creatorMenu.permissions.deleteItem
The permission level required to delete items through the creator menu. Set to
"command"to restrict deletion to trusted people.
Example:
#creatorMenu.itemsPerPage
Controls how many items are displayed per page in the creator menu. The source comment recommends leaving this value unchanged unless you need a different page size.
Example:
#importMenu
Groups the nested
importMenuoptions. The child sections below document each setting.
Example:
#importMenu.command
The chat command that opens the item import menu. The resource checks the player's permission (see
importMenu.permission) and presents the import interface.
Example:
#importMenu.permission
The permission required to use the import menu. This is checked before allowing a player to import items from raw text input. The default value
"command"refers to a permission defined elsewhere in the configuration.
Example:
#importMenu.activateBatchCommand
The command string configured for activating an import batch.
Example:
#importMenu.activateBatchPermission
The permission required to activate a batch of imported items. This permission is checked when a player runs the batch activation command, and players without it receive a "no permission" notification.
Example:
#ingredientMenu
Groups the nested
ingredientMenuoptions. The child sections below document each setting.
Example:
#ingredientMenu.command
Defines the chat command(s) that open the ingredient menu.
Example:
#ingredientMenu.permission
Groups the nested
permissionoptions. The child sections below document each setting.
Example:
#ingredientMenu.permission.useMenu
The permission required to open the ingredient menu. Set to
"command"to restrict access to staff members.
Example:
#ingredientMenu.permission.createIngredient
Permission identifier required to create an ingredient. The source marks this action as locked to staff members, with the default permission value set to
"command".
Example:
#ingredientMenu.permission.editIngredient
Permission identifier required to edit an existing ingredient. The source marks this action as locked to trusted people, with the default permission value set to
"command".
Example:
#ingredientMenu.permission.deleteIngredient
The permission required to delete an ingredient from the menu. Set this to a permission string to restrict deletion to trusted players.
Example:
#ingredientMenu.itemsPerPage
Controls how many ingredient items are displayed per page in the ingredient selection menu. The inline comment recommends against changing this value.
Example:
#whitelistedItems
Groups the nested
whitelistedItemsoptions. The child sections below document each setting.
Example:
#whitelistedItems.command
The chat command(s) that open the whitelisted items management menu. Each entry in this table is a command string that players can type to trigger the menu.
Example:
#whitelistedItems.permission
Groups the nested
permissionoptions. The child sections below document each setting.
Example:
#whitelistedItems.permission.useMenu
The permission identifier required to access the whitelisted items management menu. The default value
"command"locks this menu to developers.
Example:
#allowedJobs
Defines the jobs allowed to make usable items. Each entry identifies an allowed job and the minimum grade required.
Example:
#allowedJobs[x].label
Human-readable label for this allowed job entry, such as
"Police". Use it to identify the job entry alongside its jobnameandminGrade.
Example:
#allowedJobs[x].name
Job name for this allowed job entry.
Example:
#allowedJobs[x].minGrade
The minimum job grade required for this job entry to have access. Players must hold at least this grade level in the specified job to use the resource's features.
Example:
#qualityLabels
Defines quality label identifiers for numeric quality thresholds. A quality value must be equal to or above a threshold to use that label; use locale entries prefixed with
quality:, and the last label covers the remaining lower values.
Example:
#qualityLabels.90
Maps quality threshold
90to the label"very_high".
Example:
#qualityLabels.80
Maps quality threshold
80to the label"good".
Example:
#qualityLabels.70
Maps quality threshold
70to the label"okay".
Example:
#qualityLabels.50
Maps quality threshold
50to the label"bad".
Example:
#qualityLabels.40
Maps quality threshold
40to the label"terrible".
Example:
#qualityLabels.30
Maps quality threshold
30to the label"moldy".
Example:
#discardBelowQuality
Items with a quality value below this threshold are automatically discarded when interacting with a trash can.
Example:
#qualityDisplay
Controls how quality information is displayed for items and ingredients. The child settings choose whether to display an average quality value and whether to label each ingredient's quality.
Example:
#qualityDisplay.displayAverage
Controls whether quality display uses the average quality for ingredient-based items, or the entire item quality when the item is not ingredient-based.
Example:
#qualityDisplay.displayIngredient
Controls whether each ingredient's individual quality level is shown in the item description. When set to
true, the quality of each ingredient is labeled separately alongside the ingredient name. Whenfalse, only the ingredient name is displayed without its quality.
Example:
#qualityDecay
Controls item quality decay over time, including the global enable switch, decay processing timers, and container-specific decay multipliers. The source comments caution that very long or very short timer intervals can create precision or performance problems.
Example:
#qualityDecay.enabled
Global switch that enables or disables the quality decay system. When set to
false, the resource skips all quality decay processing entirely.
Example:
#qualityDecay.processThreshold
The interval, in seconds, between quality decay processing cycles. The source comments recommend leaving this timer at its default unless you understand the decay timing tradeoff: very low intervals waste processing, while very high intervals can prevent small decay changes from registering reliably.
Example:
#qualityDecay.threadInterval
Controls how often the background thread processes quality decay updates, in seconds. Set to
0to disable decay processing entirely. The recommended interval is 60 seconds.
Example:
#qualityDecay.containerMultiplier
Maps container types to quality decay multipliers. The default
fridgevalue is0.3and the defaultfreezervalue is0.1, matching the source comments for 30% and 10% decay rates.
Example:
#qualityDecay.containerMultiplier.fridge
Multiplier applied to the quality decay rate for items stored in a fridge container. A value of
0.3means items decay at 30% of the normal rate, effectively slowing spoilage. This key is a work in progress.
Example:
#qualityDecay.containerMultiplier.freezer
The decay rate multiplier applied to items stored in a freezer container. A value of
0.1means items decay at 10% of the normal rate, significantly slowing spoilage.
Example:
#sounds
Defines a list of
soundsentries. The child sections below document the fields available for each entry.
Example:
#sounds[x].label
A human-readable name for this sound entry.
Example:
#sounds[x].file
The filename of the sound file to play. The file should be located in the resource's sound assets directory.
Example:
#developmentCommands
Groups developer command settings for this resource. The current child settings configure the clear-world-items developer command and its permission.
Example:
#developmentCommands.clearWorldItems
Contains the command and permission settings for the clear-world-items developer command. The source notes that the server console can also run this command.
Example:
#developmentCommands.clearWorldItems.command
The command string table for the clear-world-items developer action. The default configured command is
"consum:clear_world".
Example:
#developmentCommands.clearWorldItems.permission
The ACE permission required to run the clear world items command. The server console can also execute this command. When set to
"command", the command is locked to developers with the appropriate ACE permission.
Example:
#consumptionHaste
Controls consumption haste, which lets consumption speed increase through mouse-wheel scrolling up to the configured maximum multiplier. The child settings also configure the related choking mechanics.
Example:
#consumptionHaste.enabled
enabledtoggles the consumption haste feature on or off.
Example:
#consumptionHaste.max
The maximum consumption speed multiplier when haste is active. A value of
2.0means items are consumed at twice the normal speed. Each scroll of the mouse wheel adds 20% of this configured value toward the player's current haste level.
Example:
#consumptionHaste.choking
Groups the nested
chokingoptions. The child sections below document each setting.
Example:
#consumptionHaste.choking.enabled
Toggles the choking mechanic. When enabled, players who exceed the configured tolerance threshold have a chance of choking while consuming items. Most choking-related functionality depends on
consumptionHastebeing enabled to function correctly.
Example:
#consumptionHaste.choking.maxTolerance
The choke tolerance threshold, using the source-defined
0.0to100.0range with one decimal place. When current tolerance exceeds this value, the player has a chance of choking.
Example:
#consumptionHaste.choking.chokeChance
The percentage chance (0.0-100.0) that the player will choke each second when their consumption haste tolerance exceeds
maxTolerance. This check runs once per second.
Example:
#consumptionHaste.choking.toleranceDecay
Controls how quickly the choking tolerance value decreases each second when the player is not consuming. A higher number means tolerance drops faster, reducing the risk of choking since tolerance is lower.
Example:
#consumptionHaste.choking.toleranceDecayDuringConsumption
Controls the rate at which choking tolerance decays while the player is actively consuming. During consumption, tolerance decays at a much slower rate than normal, allowing players to manage tolerance at low speeds while still recovering quickly when consumption stops.
Example:
#consumptionHaste.choking.hasteToTolernace
Maps consumption haste levels to the tolerance amount added at each level. The table contains six values for levels
0through5, with the first value used for level0.
Example:
#consumptionHaste.choking.alertHighRisk
Controls whether a one-time notification is sent when the player exceeds the
maxTolerancevalue for choking. This alert is only triggered once per exceedance event.
Example:
#consumptionHaste.choking.casualRisk
The percentage chance every second while consuming for the player to choke regardless of current choke tolerance. Set this to
0.0to disable the casual choking risk.
Example:
#consumptionHaste.choking.casualChokeDifficulty
A two-element table defining the minimum and maximum random difficulty threshold for casual choking events. The value is randomly selected between these bounds each time a casual choke occurs. Valid range for each element is
0.1to100.0. This represents how much the player must clear before they stop choking, functioning similarly tomaxToleranceexceeding but with additional variance since casual choking can occur at any time.
Example:
#consumptionHaste.choking.chokeRelieveAmount
A two-element table defining the minimum and maximum random amount of choking tolerance removed each time a task is completed. Values range from
0.0to100.0. Once the tolerance reaches0.0, the player is no longer at risk of choking.
Example:
#consumptionHaste.choking.damagePerSecond
The amount of damage applied each second while the player is choking. This value is used when the player exceeds the choking tolerance threshold and enters the choking state.
Example:
#consumptionHaste.choking.chokeToleranceMuiltipliers
A table of client-side functions that are iterated and executed every interval to calculate multipliers that increase the choke risk. Each function returns a multiplier applied to the base
chokeTolerancevalue. For example, if the base tolerance is 5.0 and two functions return 0.2 each, the effective tolerance becomes 5.0 + (5.0 * 0.2) + (5.0 * 0.2) = 6.0. The default functions return 0.5 when the player is running or sprinting, and return the player's stress level from thezyke_statusresource divided by 200.0.
Example:
#consumptionHaste.choking.chokeChanceMultipliers
Defines client functions that increase the base choke chance by adding
baseChance * returnedMultiplierfor each function. It uses the same additive multiplier pattern as the tolerance multiplier table, but applies it to choke chance; for example, the source comment says a stress level of24.0appliesorgValue + (orgValue * 0.12).
Example:
#consumptionHaste.choking.chokingSound
Groups the nested
chokingSoundoptions. The child sections below document each setting.
Example:
#consumptionHaste.choking.chokingSound.volume
Controls the volume level for the choking sound effect. The default value is 0.2.
Example:
#consumptionHaste.choking.chokingSound.distance
Maximum distance at which the choking sound is audible to other players.
Example:
#consumptionHaste.choking.chokingSound.files
Groups the nested
filesoptions. The child sections below document each setting.
Example:
#consumptionHaste.choking.chokingSound.files.male
A table of audio file names used for the male choking sound effect.
Example:
#consumptionHaste.choking.chokingSound.files.female
A table of audio file names used for female choking sounds. Each entry is a string referencing a sound file that the resource will play when a female character is choking.
Example:
#personalSettings
Groups the nested
personalSettingsoptions. The child sections below document each setting.
Example:
#personalSettings.command
The chat command used to open the personal settings menu. This is a table containing a single string value that defines the command players type to access their personal settings interface.
Example:
#personalSettings.kvp
The KVP (key-value pair) storage key used to persist personal settings across sessions. This value must be unique to avoid conflicts with other resources or settings systems.
Example:
#personalSettings.settings
Defines a list of
settingsentries. The child sections below document the fields available for each entry.
Example:
#personalSettings.settings[x].name
The unique identifier for a personal setting entry. This string is used to reference the setting within the settings table.
Example:
#personalSettings.settings[x].values
Allowed values for this personal setting, such as
false,"basic", and"contained".
Example:
#personalSettings.settings[x].default
Initial default value for this personal setting.
Example:
#personalSettings.settings[x].force
When set to
true, this setting's default value is forced and the user cannot change it through the personal settings menu.
Example:
#pouring
Groups the nested
pouringoptions. The child sections below document each setting.
Example:
#pouring.sound
Groups the nested
soundoptions. The child sections below document each setting.
Example:
#pouring.sound.name
The audio file name for the pouring sound effect. This sound plays when a player is actively pouring liquid from a container.
Example:
#pouring.sound.volume
Controls the volume level of the pouring sound effect. The value is a float between
0.0(silent) and1.0(full volume).
Example:
#pouring.sound.distance
Maximum distance from the pouring source at which the sound remains audible.
Example:
#colors
Groups the nested
colorsoptions. The child sections below document each setting.
Example:
#colors.progressBar
Sets the color of the progress bar UI element using CSS format. The value must use
rgb()orrgba()syntax and can reference CSS variables defined in the resource's UI for consistent theming.
Example:
#colors.progressBarChoking
The CSS color value used for the progress bar when the player is choking. Accepts RGB or RGBA format, and supports the resource's CSS variables for UI consistency.
Example:
#packs
Groups pack spawning, permission, placement, cleanup, and admin debug settings. The spawn command is primarily needed when using a generic item; unique items populate the command data automatically.
spawnCommand: command table used for spawning packs, primarily when using a generic item.permission: permission required to use the spawn command.genericItem: item name for the generic pack item.maxPlacedPerPlayer: maximum number of packs one player can place.cleanupInterval: cleanup timing for placed pack props.adminDebugPermission: permission for the admin debug target option.Example:
#packs.spawnCommand
The chat command used to spawn a pack. When a player runs this command with an item name as the argument, the resource attempts to spawn the corresponding pack. This is primarily useful when using a generic pack item, as unique items already populate the necessary data automatically.
Example:
#packs.permission
The permission identifier required for a player to use the spawn command. Players must have this permission assigned to be able to spawn pack items.
Example:
#packs.genericItem
The
genericItemvalue is the item name for the generic pack item.
Example:
#packs.maxPlacedPerPlayer
Maximum number of packs a single player can have placed at one time.
Example:
#packs.cleanupInterval
The time in seconds after a placed prop's last use before it is automatically cleaned up. The cleanup check runs every minute, and the default value of 43200 corresponds to 12 hours.
Example:
#packs.adminDebugPermission
The permission required to see an "admin debug" option in the target menu. Players holding this permission will have additional debug functionality available when interacting with pack entities.
Example:
