Skip to content
Documentation
R_Slasher

r_slasher Halloween

r_slasher's open-world Halloween: Jack O'Lantern hunt, trick or treat doors, the street slasher, spooky nights and the candy shop, and how to configure them.

Outside the rounds, R_Slasher adds Halloween events to the city. They run while Halloween is on (R.Halloween, from 15.10 to 2.11 by default) and live in shared/config_halloween.lua. Set enabled = false on any of them to turn it off.

Players earn candy (the r_candy item, see Installation) and spend it in the hub's Halloween tab.

Jack O'Lantern hunt

R.Lanterns = {
    enabled = true,
    model = 'prop_veg_crop_03_pump', -- used when a spot's own model is missing on your game build
    candy = { 2, 4 },
    complete = { candy = 100, money = 50000, account = 'bank' }, -- every lantern found, once per year
    spots = { --[[ Rockstar's 200 Jack O'Lantern spots ]] }
}

Lanterns glow at night. Each one gives candy once per season, and finding all of them pays the complete reward.

Trick or treat

R.TrickOrTreat = {
    enabled = true,
    hours = { 18, 5 }, -- in-game hours when people open their doors
    cooldown = 30, -- minutes before the same player can knock on the same door again
    treatChance = 70, -- %, the rest are tricks
    candy = { 1, 3 },
    tricks = { 'clown', 'shock', 'candy' }, -- clown = jumpscare, shock = tases you, candy = weird candy
    weirdCandy = 25, -- seconds
    blips = true,
    doors = { --[[ vec4 standing at the door, facing it ]] }
}

16 doors come ready around the city.

Street slasher

R.StreetSlasher = {
    enabled = true,
    hours = { 22, 4 },
    checkEvery = 60,
    chance = 6, -- % per roll
    cooldown = 45, -- minutes per player
    maxActive = 3, -- slashers hunting at the same time
    survive = 90, -- seconds
    health = 800, -- shoot him down to win early
    candy = { 15, 25 },
    money = 0,
    account = 'cash'
}

Late at night a killer can start hunting a player who walks alone. Survive the timer or shoot him down for candy. Getting caught knocks you over, nothing else.

Spooky nights

R.SpookyNights = {
    enabled = true,
    hours = { 21, 5 },
    every = { 45, 100 }, -- seconds between scares
    events = { flicker = true, scream = true, crows = true, fog = true, lightning = true }
}

Small scares around players in the city at night.

Candy shop

R.CandyShop = {
    { id = 'cash_small', type = 'money', account = 'cash', amount = 2500, price = 15, icon = 'banknote' },
    { id = 'cash_big', type = 'money', account = 'cash', amount = 20000, price = 100, icon = 'banknote' },
    { id = 'bandage', type = 'item', item = 'bandage', count = 5, price = 10, icon = 'heart-pulse' },
    { id = 'lockpick', type = 'item', item = 'lockpick', count = 2, price = 20, icon = 'key-round' },
    { id = 'armour', type = 'item', item = 'armour', count = 1, price = 35, icon = 'shield' }
}

type is money or item, price is in candy. Use item names from your own inventory.