3M Christmas Event – Global Tree, Advent Calendar & Santa Jobs 🎄
Bring a full seasonal progression event to your city with one plug-and-play resource. This script links a global Christmas Tree, server-wide XP, a daily advent calendar, Santa delivery missions, carryable gifts and cosmetic toys into one cohesive system.
Core Features
🌲 Global Christmas Tree progression
Central Christmas Tree with 5 visual stages based on global XP (thresholds & models are fully configurable). but we made custom Christmas tree for you and livery for quest vehicle
Players earn Tree XP by turning in ornaments at the tree and completing Santa’s delivery quest.
Tree state (XP + stage) is stored in SQL (
xmas_tree_progress) and synced to all players on join.
🎁 Ornament Hand-ins & Christmas Spirit
Configurable ornament items (
xmas_ball,xmas_garland,xmas_star,santa_cookie,candy_cane, etc.), each giving different XP.Per-player daily hand-in limit (e.g. 2 per day) with a debug toggle to disable limits.
The inventory bridge removes one valid ornament item, grants XP and sends a localized notification.
🎅 Santa Spots – carry & turn-in gifts
Multiple configurable Santa Spots, each with its own small tree and gift props around it.
Players pick up a physical present prop (custom
3m_xmas_giftmodel) and carry it in their hands.Turning the gift in at the main tree rewards one random ornament from your ornament item pool, with a per-day limit tracked in SQL (
last_spot_date,spot_count_today).
📅 Advent Calendar NUI (1–25)
Clean, animated calendar UI with locked / available / claimed states and a legend.
Server-side tracking of daily claims in SQL (
calendar_claims) to prevent abuse and support reconnects.Fully configurable rewards per day via
Config.CalendarRewards(items and money).Each day is gated by a Calendar Key item (e.g.
xmas_key) so you decide how players unlock the window (from this script’s quest or your own systems).
🚚 Santa Delivery Quest (NPC + van + 5 drops)
Talk to a themed NPC to start a delivery job with a configurable model & spawn/return coordinates.
5 configurable delivery points with blips, on-screen hints and a simple “take from van → carry → deliver → repeat” flow.
Return the van to finish the job. On success the player receives:
Global Tree XP (
Config.Quest.TreeXP) and personal XP.Configurable item rewards (
RewardItems– ornaments, snowballs, cookies, etc.).Configurable chance to receive an Advent Calendar key (
KeyReward).
One quest per player per day, with automatic reset via date checks in the database.
⛄ Placeable Toys (snowball → snowman & more)
Turn any item into a placeable world prop (example included:
snowball→ snowman).Interactive placement preview:
Move with arrow keys, rotate (Q/R), raise/lower (PageUp/PageDown).
Server-safe logic with anti-duplication:
Item is removed on spawn, refunded on cancel, and can be picked back up from the world to reclaim the item.
🧸 Shoulder Plush Toys (ped toys)
Configurable
Config.PedToyslist using GTA arcade plush models (several examples included).Items behave as non-consumable toggles:
Use item → attach plush to the player’s shoulder bone.
Use the same item again → detach it.
Using a different plush while one is active just shows a notification (no stacking / duplication).
Per-toy bone, offset and rotation are editable so you can fit any model perfectly.
❄️ Automatic Christmas Weather Lock (optional)
Can lock the server to XMAS weather (or any GTA weather) during the event window.
Auto-detects
cd_easytimeorqb-weathersync, or falls back to an internal mode.Configurable: time freeze, dynamic weather toggle, blackout, server/client reapply intervals.
Framework, Inventory & Integration
Frameworks:
ESX and QBCore auto-detected via a shared
Frameworkbridge.
Inventory:
Native ESX inventory / QBCore inventory.
ox_inventorysupport.qb-inventorysupport.
Target systems:
ox_targetandqb-targetsupported throughTargetabstraction (entities & zones).
Vehicle keys:
Supports
wasabi_carlock,qb-vehiclekeys,qs-vehiclekeys,brutal_keysornone(no key handling).
Notifications:
ESX default, QBCore,
ox_lib,wasabi_notify,okokNotify– switchable viaConfig.Notify.provider.
Configuration & Locales
Single
config.luacontrolling:Event date window (e.g. 1–25 December) and
ForceActivedebug toggle.Tree location & stages, Santa Spot locations & props, quest NPC & van settings.
Ornament items, Advent Calendar rewards, XP values and daily limits.
Keys, notification provider, weather provider and more.
Locales included: English and Croatian, using a simple locale helper so you can add more languages easily.
Progress and limits are stored in lightweight SQL tables (
xmas_players,xmas_tree_progress) viaoxmysql, making the whole system safe, persistent and multiplayer-friendly.
Drop this resource into your server and you get a full interconnected Christmas experience: a global tree everyone helps level up, daily calendar rewards, engaging Santa jobs, fun world toys and shoulder plushies that keep players coming back throughout the season.