New releaseRR Gym: real workouts, strength and staminaRR Gym is out

Trick or Treat Night

Players buy a candy bucket at the pumpkin stand, walk a neighborhood after dark and knock on doors with the porch light on. Most homeowners hand out candy, some play a trick, and now and then someone gives out a full-size bar.

v1.0.0Qbox / QBCore$9.99Store page

Seasonal trick-or-treating for Qbox and QBCore servers. Candy trades in at the pumpkin stand for cash or prizes, and a leaderboard tracks the season. It turns itself on from October 1 to November 2 and off again afterwards, so you can leave it installed all year.

By RR Interactive — Gaming, AI & Software.

See it in action

Trick or Treat Night FiveM script video

Features

  • Season switch — date-based, with a force toggle for events.
  • Porch lights — houses taking part get a porch light, a pumpkin on the step and a map blip, only while you carry a bucket.
  • Outcomes rolled on the server — treats, tricks (a jumpscare or getting egged), "nobody home" and rare full-size bars.
  • No farming — each house answers each character once a night, and only so many times an hour for everyone.
  • Shared moments — everyone near the door sees the same homeowner do the same thing.
  • Pumpkin stand — buy a bucket, sell candy and bars, swap candy for prizes, season leaderboard.
  • In-game door creator — stand at a door and type one command.
  • Light — vanilla peds and props only, and the draw loop only runs while a lit house is within 60 m.

Dependencies

Installation

  1. Drop the resource into your resources folder and add ensure rr-trickortreat to your server.cfg after ox_lib, ox_inventory and oxmysql.
  2. Add the items. Copy the three items from install/items.lua into ox_inventory/data/items.lua, and the icons from install/images into ox_inventory/web/images.
  3. Restart the server so ox_inventory picks up the new items. The table is created on first start (sql/install.sql is there if you would rather run it yourself).

Adding houses

The resource ships with 10 Mirror Park doors. To add your own, go to a house at night with admin rights, stand on the front step facing the door and type /trickortreat adddoor, or /trickortreat adddoor rich for a house that gives out more full-size bars. Doors added this way are saved to data/houses.json and show up for everyone right away. /trickortreat removedoor deletes the nearest one you added. Doors in config.lua use the same format, { door = vec4(x, y, z, heading), rich = true }, if you would rather type them in.

Configuration (config.lua)

SettingDefaultWhat it does
Config.SeasonOct 1 to Nov 2When the event runs. force = true keeps it on all year
Config.NightOnly19:00 to 05:00Porch lights and the knock prompt only show at night
Config.Odds70 treat, 5 bar (15 at rich houses), 18 trickThe rest is "nobody home"
Config.Treat1 to 3Candy per treat
Config.Cooldown.houseMinutes60How long before a house answers the same character again
Config.Cooldown.houseMaxPerHour12How often a house answers anyone
Config.Trade$15 per candy, $150 per barCash prices at the stand
Config.PrizesSprunk, burger, bandage, radioItems you can swap candy for. Unregistered items are hidden
Config.Items.candyhalloween_candyPoint this at your own candy item if you already have one
Config.StandMirror ParkThe pumpkin stand ped, spot, props and blip
Config.Porchpumpkin, warm lightThe porch pumpkin model and the light colour
Config.TextEnglishEvery player-facing line, for translation

Commands

CommandWhat it does
/trickortreat adddoor [rich]Save the door you are standing at
/trickortreat removedoorDelete the nearest door you added
/trickortreat forceTurn the season on or off right now
/trickortreat reset [id]Clear a player's house cooldowns
/trickortreat debug [id]Season state, house count and cooldowns

Commands are restricted to group.admin. They also work from the server console.

For developers

  • Server export GetCooldowns(src) returns the house indices on cooldown for a player.
  • Client export DebugState() returns what the client is showing.
  • The client never sends an outcome or an amount. It sends the index of the door it is standing at, and the server checks the player's real position against that door.

Support

Purchased through our Tebex store. Questions or issues: ask in our Discord or email support@dmvwebguys.com.

Last updated 2026-10-17