ngd-halloween

Pumpkin hunting, trick or treating and a spooky vendor for FiveM!

Click to purchase ngd-halloween

Installation Steps

  1. Install ngd-Bridge
    Follow the guide to install ngd-Bridge HERE.
    This script must be started after your core resources (framework, inventory, target, database, etc.).

  2. Install ngd-ui
    The vendor dialog and shop menu use ngd-ui by default. They go through custom/ui.lua in ngd-Bridge, so you can point them at another UI there.

  3. Install ngd-halloween
    Place ngd-halloween into your resources folder. This script must be started after ngd-Bridge and ngd-ui.

  4. Add Items to Your Inventory
    Copy the items listed below into your inventory.

  5. Copy Images
    Move the images from the img folder into your inventory's images folder.

  6. Configure the Script
    Open config/config.lua and verify the settings will work with your server.

Items:

Items List (OX) (Click to Expand)
code
["ngd_pumpkin"] = { label = "Pumpkin", weight = 0, stack = true, close = true, description = "", client = { image = "ngd_pumpkin.png" } },
["ngd_noondysbrew"] = { label = "Noondy's Brew", weight = 0, stack = true, close = true, description = "A relic in time.", client = { image = "ngd_noondysbrew.png" } },
["ngd_candycorn"] = { label = "Candy Corn", weight = 0, stack = true, close = true, description = "", client = { image = "ngd_candycorn.png" } },
["ngd_bagofcandycorn"] = { label = "Large Bag of Candy Corn", weight = 0, stack = true, close = true, description = "", client = { image = "ngd_bagofcandycorn.png" } },
["ngd_witchsbrew"] = { label = "Witch's Brew", weight = 0, stack = true, close = true, description = "", client = { image = "ngd_witchsbrew.png" } },
["ngd_bansheetonic"] = { label = "Banshee's Tonic", weight = 0, stack = true, close = true, description = "", client = { image = "ngd_bansheetonic.png" } },
["ngd_phantomfrost"] = { label = "Phantom Frost", weight = 0, stack = true, close = true, description = "", client = { image = "ngd_phantomfrost.png" } },
["ngd_jacksember"] = { label = "Jack's Ember", weight = 0, stack = true, close = true, description = "", client = { image = "ngd_jacksember.png" } },
["ngd_sirenskiss"] = { label = "Siren's Kiss", weight = 0, stack = true, close = true, description = "", client = { image = "ngd_sirenskiss.png" } },
Items List (QB Format #1) (Click to Expand)
code
ngd_pumpkin = { name = 'ngd_pumpkin', label = 'Pumpkin', weight = 0, type = 'item', image = 'ngd_pumpkin.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = '' },
ngd_noondysbrew = { name = 'ngd_noondysbrew', label = 'Noondy\'s Brew', weight = 0, type = 'item', image = 'ngd_noondysbrew.png', unique = false, useable = true, shouldClose = true, combinable = nil, description = 'A relic in time.' },
ngd_candycorn = { name = 'ngd_candycorn', label = 'Candy Corn', weight = 0, type = 'item', image = 'ngd_candycorn.png', unique = false, useable = true, shouldClose = true, combinable = nil, description = '' },
ngd_bagofcandycorn = { name = 'ngd_bagofcandycorn', label = 'Large Bag of Candy Corn', weight = 0, type = 'item', image = 'ngd_bagofcandycorn.png', unique = false, useable = true, shouldClose = true, combinable = nil, description = '' },
ngd_witchsbrew = { name = 'ngd_witchsbrew', label = 'Witch\'s Brew', weight = 0, type = 'item', image = 'ngd_witchsbrew.png', unique = false, useable = true, shouldClose = true, combinable = nil, description = '' },
ngd_bansheetonic = { name = 'ngd_bansheetonic', label = 'Banshee\'s Tonic', weight = 0, type = 'item', image = 'ngd_bansheetonic.png', unique = false, useable = true, shouldClose = true, combinable = nil, description = '' },
ngd_phantomfrost = { name = 'ngd_phantomfrost', label = 'Phantom Frost', weight = 0, type = 'item', image = 'ngd_phantomfrost.png', unique = false, useable = true, shouldClose = true, combinable = nil, description = '' },
ngd_jacksember = { name = 'ngd_jacksember', label = 'Jack\'s Ember', weight = 0, type = 'item', image = 'ngd_jacksember.png', unique = false, useable = true, shouldClose = true, combinable = nil, description = '' },
ngd_sirenskiss = { name = 'ngd_sirenskiss', label = 'Siren\'s Kiss', weight = 0, type = 'item', image = 'ngd_sirenskiss.png', unique = false, useable = true, shouldClose = true, combinable = nil, description = '' },
Items List (QB Format #2) (Click to Expand)
code
['ngd_pumpkin'] = { ['name'] = 'ngd_pumpkin', ['label'] = 'Pumpkin', ['weight'] = 0, ['type'] = 'item', ['image'] = 'ngd_pumpkin.png', ['unique'] = false, ['useable'] = false, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = '' },
['ngd_noondysbrew'] = { ['name'] = 'ngd_noondysbrew', ['label'] = 'Noondy\'s Brew', ['weight'] = 0, ['type'] = 'item', ['image'] = 'ngd_noondysbrew.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A relic in time.' },
['ngd_candycorn'] = { ['name'] = 'ngd_candycorn', ['label'] = 'Candy Corn', ['weight'] = 0, ['type'] = 'item', ['image'] = 'ngd_candycorn.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = '' },
['ngd_bagofcandycorn'] = { ['name'] = 'ngd_bagofcandycorn', ['label'] = 'Large Bag of Candy Corn', ['weight'] = 0, ['type'] = 'item', ['image'] = 'ngd_bagofcandycorn.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = '' },
['ngd_witchsbrew'] = { ['name'] = 'ngd_witchsbrew', ['label'] = 'Witch\'s Brew', ['weight'] = 0, ['type'] = 'item', ['image'] = 'ngd_witchsbrew.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = '' },
['ngd_bansheetonic'] = { ['name'] = 'ngd_bansheetonic', ['label'] = 'Banshee\'s Tonic', ['weight'] = 0, ['type'] = 'item', ['image'] = 'ngd_bansheetonic.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = '' },
['ngd_phantomfrost'] = { ['name'] = 'ngd_phantomfrost', ['label'] = 'Phantom Frost', ['weight'] = 0, ['type'] = 'item', ['image'] = 'ngd_phantomfrost.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = '' },
['ngd_jacksember'] = { ['name'] = 'ngd_jacksember', ['label'] = 'Jack\'s Ember', ['weight'] = 0, ['type'] = 'item', ['image'] = 'ngd_jacksember.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = '' },
['ngd_sirenskiss'] = { ['name'] = 'ngd_sirenskiss', ['label'] = 'Siren\'s Kiss', ['weight'] = 0, ['type'] = 'item', ['image'] = 'ngd_sirenskiss.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = '' },

Configuration Notes

  • Pumpkins
    Pumpkins spawn at the locations in config/pumpkins.lua and are held by the server. Config.GlobalDelete = true removes a picked pumpkin for everyone, false lets each player pick every pumpkin once. Config.PropDistance is how close you must be for one to appear and Config.PickDistance how close to pick it up. PumpkinItem and PumpkinAmount set what you receive.

  • Trick or Treat
    Doors are listed in config/doors.lua. Config.KnockCD is the minutes before the same door can be knocked again and Config.KnockDistance how close you must stand. Rewards are in config/trickortreat.lua: every entry rolls its own chance and amount is a number or { min, max }. Config.EnableAngry and Config.AngryPersonChance control the angry homeowner.

  • Vendor
    The zombie at Config.PedLocation opens a dialog and shop menu. Config.VendorItems sets what each item costs in pumpkins.

  • Consumables
    Config.UseConsumables turns the useable items on. Each entry in config/consumables.lua sets the prop, animation, time and the Armor, Stress, Hunger and Thirst effect, and whether it counts as alcohol. The Large Bag of Candy Corn opens into Config.CandyCornBagQTY candy corn.

ItemBottleLook
Noondy's BrewredDrunk
Witch's BrewgreenGreen haze and a slight stumble
Banshee's TonicpurpleViolet ghosting and sway
Phantom FrostcyanCold blue tint and a shiver
Jack's EmberorangeWarm orange ripple
Siren's KissmagentaPink tint and a slight stumble

Each drink picks its look with Effect in config/consumables.lua. The looks themselves are in config/effects.lua (tint, screen effect, shake, walk style, blur and duration), so you can edit them or add your own. Set CanKill = true on a drink to make it deadly. KillChance is the percentage that it kills, and Config.Poison sets the collapse look and how many milliseconds pass before the player dies. Drinks are not deadly by default.

  • Notifications
    Config.Notify picks the notification style.

  • Translations
    Every player-facing string, including notifications, lives in config/translate.lua.

  • Discord Logs
    Set Config.LogToDiscord = true and put your webhook in Config.Webhook in server/editableserver.lua. Vendor purchases are logged.

  • Debug
    Config.debug = true prints spawns and pickups to the console.

Do you still need help? Open a ticket in our Discord