Configuration
All options are in config.lua.
Below is a structured overview of the main sections.
Locale & Notifications
Config.Locale
Config.LocaleType:
stringDefault:
'hr'Description: Current language key used for
Locales[...].Provided:
en,hrYou can add more by creating
locales/<lang>.luaand addingLocales['<lang>'] = { ... }.
Config.Notify
Config.NotifyConfig.Notify = {
provider = 'okok' -- 'esx', 'qb', 'ox', 'wasabi', 'okok'
}Selects which notify system
Notify()will use.See Developer API for details: https://3mstudio.github.io/3MStudioDocs/3M_Christmas/Developers.html#notify-export
Debug
presentWhen
true, daily limits for Santa spot rewards are disabled. Helpful for testing spots & drops.
ForceActiveWhen
true, event is considered active regardless ofConfig.TimeWindow. Use this for testing outside the configured date range.
Event Window & Calendar
Config.CalendarKeyItem
Config.CalendarKeyItemName of the inventory item that unlocks the calendar window for the current day.
Config.TimeWindow
Config.TimeWindowControls which real-world dates count as “event days” (1..N).
Used for:
Advent Calendar day index
Per-day quest completion
Key reward uniqueness
Weather Lock
enabled: master on/off for weather lock.provider:auto– auto-detectcd_easytimeorqb-weathersync, otherwise internal fallback.cd_easytime– force that provider.qb-weathersync– force that provider.none– no automatic weather control.
weatherType: weather name set during event (e.g.XMAS,SNOW).freezeTime,dynamicWeather,blackout: passed to provider when supported.pollInterval: how often the server re-checks whether the event should be active.clientReapply: how often clients reapply weather/time locally.
Vehicle Keys for Quest Van
provider:none– no external key system is used.wasabi–wasabi_carlock.qs–qs-vehiclekeys.qb–qb-vehiclekeys.brutal–brutal_keys.
label: used only for some key systems (e.g.brutal_keys) as display name.
Global Tree
coords: position and heading of the main tree.stages: list of XP thresholds and tree models.The highest
xpthat is<=current tree XP defines the active stage.You can use different models for each stage.
Donations & Santa Spots
Config.DonationsPerDay: Max donation actions per player per day at the main tree.Config.SantaSpotDailyLimit: Max number of items rewarded per player per day from Santa spots.Config.CarryGiftModel: Prop model used when carrying gifts picked from Santa spots.
Config.SantaSpots
Config.SantaSpotsEach entry defines one Santa spot:
id: unique identifier (string). If omitted, auto-generated.tree: small decorative tree:coords: position/heading.model: object name.
gifts: list of gift props around the tree:coords: where each gift sits.model: usually3m_xmas_gift.
Players can pick up these gifts and carry them to the main tree to receive a random ornament.
Toys (placeable props)
Map inventory item names to world props.
Fields:
prop: model name to spawn.spawnDistance: distance in front of player to spawn.faceAway: iftrue, prop faces away from player.headingOffset: rotation offset.zOffset: vertical offset.interactive:true– use preview/placement mode (arrows + Q/R + PageUp/PageDown).false– spawn directly.
You can add as many entries as you want.
Ped Toys (shoulder plushes)
Each key is an item name which toggles a plush on the player’s shoulder.
Fields:
prop: model name.bone: ped bone index (e.g. 10706 = shoulder).offset:vector3position offset.rotation:vector3rotation.
Logic:
No toy → use item → attach.
Same toy active → use item → detach.
Different toy active → show notification (no swap).
Santa Delivery Quest
enabled: master on/off.NPC: quest giver ped.Vehicle:model: van model.coords: spawn position.returnCoords,returnRadius: where the player must return the van.
TreeXP: how much global tree XP to add when quest is completed.RewardItems: random item rewards for the player.KeyReward:item: calendar key item.chance: % chance to also give a key on completion.
Deliveries: positions and radius for each drop-off.
Donation Items
Keys are item names, values define how much XP they give to the global tree.
Used when the player chooses Donate ornaments on the main tree.
You can modify, add or remove entries freely.
Calendar Rewards
Indexed by event day (
1= first day ofConfig.TimeWindow.start).Each entry:
items– array of{ name = <itemName>, count = <number> }The special
"money"name pays cash (throughFramework.AddMoney).
You can fully customize this table to match your economy and item set.