Config Settings#
⚙️ Config Settings#
The shared/config.lua file is the heart of FRKN Cake Job. It is designed to be highly intuitive, allowing you to modify almost every aspect of the script without needing to touch the core code.
Below is a detailed breakdown of the main configuration categories.
🌐 General Settings
Control the basic behavior of the script, including language and UI panel positions.
FRKN.Language: Set the language for all notifications and UI text. Options:'en'(English) or'tr'(Turkish).FRKN.MissionInfoPosition: Position of the mission info panel on screen. Options:"bottom-right","center-right","top-right","bottom-left","center-left","top-left","center","top-center".FRKN.TeamInfoPosition: Position of the team info panel on screen. Same options as above.
👮 Job Restriction
You have complete control over who can access the bakery.
-
Job System (
FRKN.jobRestriction): Restrict the bakery to a specific in-game job.FRKN.jobRestriction = { enabled = false, -- Set to true to restrict this script to a specific job only jobName = 'cakejob', -- The job name required (must match your server's job name exactly) requireOnDuty = true, -- If true, players must also be on-duty to use the script }
🍰 Cake Slicing Settings
Configure how players interact with placed cakes in the world.
FRKN.CakeSlicing.enabled: Allow players to slice placed cakes on the table (true/false).FRKN.CakeSlicing.limitSlices: Iftrue, limits how many slices can be taken from one cake.FRKN.CakeSlicing.maxSlices: Maximum number of slices per cake (default:10). Only works iflimitSlicesistrue.FRKN.CakeSlicing.hungerRestore: Hunger restored when a cake slice is eaten (default:15). Compatible withqb-smallresources/basicneeds.
📦 Item Names
Define your server's item names. These must match the item names in your framework (qb-core/shared/items.lua or ox_inventory/data/items.lua).
FRKN.Items = {
cake_box = "frkn_cake_box", -- Cake box item name
cake = "frkn_cake", -- Finished cake item name
flour = "cake_flour", -- Flour ingredient item name
eggs = "cake_eggs", -- Eggs ingredient item name
sugar = "cake_sugar", -- Sugar ingredient item name
cream = "cake_cream", -- Cream ingredient item name
frosting = "cake_frosting" -- Frosting ingredient item name
}
🎯 Target / Interaction Settings
Customize the labels and icons for all target interactions in the bakery. You can change the label and icon values, but do NOT change the id values — they are used internally.
FRKN.targetSettings = {
TargetText = {
rope = {
icon = 'fa fa-birthday-cake',
id = 'cakejob1', -- dont change
label = Lang('target_start_cake_order'),
},
ped = {
icon = "fa-solid fa-comment",
id = "npc_interact_1", -- dont change
label = Lang('target_talk_pastry_chef')
},
baking = {
icon = "fas fa-birthday-cake",
id = "cakemake_1", -- dont change
label = Lang('target_start_baking')
},
startDeliverySystem = {
icon = "fas fa-truck",
id = "delivery_start_1", -- dont change
label = Lang('target_launch_delivery')
},
-- ... and more
},
}
📍 NPC Ped Settings
Spawns a custom NPC at your bakery shop that players interact with to start missions.
FRKN.PedSettings.enabled: Enable/disable the bakery shop NPC.FRKN.PedSettings.coords: NPC spawn position (vector4(x, y, z, heading)).FRKN.PedSettings.model: NPC ped model name (e.g.,"s_f_y_shop_mid").
FRKN.PedSettings = {
enabled = true,
coords = vector4(-1517.1785, -905.5194, 10.1875, 56.2147),
model = "s_f_y_shop_mid",
blip = {
enabled = true,
sprite = 106,
color = 8,
scale = 0.8,
label = Lang('blip_bakery')
}
}
🗺️ Map Blip & Vehicle Settings
Easily configure the map blip for your bakery shop and delivery vehicles.
FRKN.BlipSettings = {
sprite = 106, -- Map blip icon ID (106 = cake/store)
color = 8, -- Map blip color (8 = pink)
scale = 0.8, -- Map blip size
label = Lang('blip_bakery'), -- Map blip text label
vehicle = {
model = "speedo", -- Vehicle model for delivery missions
spawnCoords = vector4(...), -- Where the delivery vehicle spawns
label = Lang('blip_delivery_van'),
blipSprite = 67,
blipColor = 8,
blipScale = 0.8,
}
}
⛽ Vehicle Fuel Settings
Automatically set the fuel level for spawned delivery vehicles. Compatible with popular fuel scripts.
FRKN.VehicleFuel = {
enabled = true,
fuelLevel = 100.0,
exports = {
{ resource = "LegacyFuel", export = "SetFuel" },
{ resource = "ps-fuel", export = "SetFuel" },
{ resource = "ox_fuel", export = "SetFuel" },
{ resource = "cdn-fuel", export = "SetFuel" },
-- Add more: { resource = "your-fuel-script", export = "YourExportName" }
}
}
📈 Leveling & Lobby
Control the progression system and multiplayer lobby settings.
FRKN.LevelMultiplier: Bonus reward multiplier per player level (e.g.,0.1= +10% per level).FRKN.ShowIndividualSpots:false= show mission categories only,true= show each mission individually in the menu.FRKN.MaxPlayers: Maximum players allowed in the same mission lobby (default:2).
👕 Work Clothes
Automatically change player clothes when a mission starts. Only changes upper body (jacket, arms, undershirt). Pants and shoes stay the same.
FRKN.WorkClothes = {
autoApply = false, -- Set to true to auto-apply bakery uniform
default = {
male = {
{component = 3, drawable = 15, texture = 0}, -- Arms
{component = 8, drawable = 15, texture = 0}, -- Undershirt
{component = 11, collection = "as_bakery", drawable = 0, texture = 0}, -- Bakery Jacket
},
female = {
{component = 3, drawable = 15, texture = 0},
{component = 8, drawable = 15, texture = 0},
{component = 11, collection = "as_bakery", drawable = 0, texture = 0},
},
},
}
🎯 Mission Definitions
Configure XP, money, level requirements, and images for each mission type. Each mission has values marked as configurable and values marked as dont change.
Configurable values per mission:
| Field | Description |
|---|---|
image | Mission menu image (filename from images/ folder) |
requiredLevel | Minimum player level to start this mission |
earnXp | XP reward on completion |
earnMoney | Money reward ($) on completion |
Example — Vehicle Single Mission:
{
missionData = {
baking = true, -- dont change
single = true, -- dont change
label = "mission_vehicle", -- dont change
desc = "mission_vehicle_desc", -- dont change
image = "faggio_single_delivery", -- configurable
requiredLevel = 1, -- configurable
earnXp = 100, -- configurable
earnMoney = 250, -- configurable
vehicle_mode = true, -- dont change
noTeleport = true, -- dont change
pipingbag = true -- dont change
}
}
🛒 NPC Customer Order System
Configure the bargaining and pricing system for NPC customer missions.
baseCakePrice: Base price ($) of a plain cake (default:150).decoMultiplier: Additional price ($) added per decoration on the cake (default:25).baseCakeTime: Base baking time in minutes (default:3).timePerDeco: Additional time (minutes) per decoration (default:0.5).maxNegotiations: How many times the customer will negotiate before deciding (default:3).
Customer Mood Thresholds (based on price ratio: your price / fair price):
| Threshold | Value | Behavior |
|---|---|---|
acceptThreshold | 1.2 | Customer accepts immediately |
negotiateThreshold | 1.8 | Customer tries to negotiate |
rejectThreshold | 2.5 | Customer rejects but stays |
| Above 2.5x | — | Customer gets angry and leaves |