config.lua

Full View

Config = {}

-- Framework selection: 'esx' or 'qbcore'
Config.Framework = 'esx'

-- Interaction system: "ox_target", "qb-target", or "3dtext"
Config.InteractionType = "ox_target"

-- Minimum players required in zone to summon a ghost
Config.MinPlayers = 2

-- Radius of summon zone in meters
Config.SummonZoneRadius = 3.0

-- Duration of ghost ped existence in seconds
Config.GhostDuration = 1800 -- 30 minutes

-- Cooldown for ghost summoning in seconds
Config.SummonCooldown = 3600 -- 1 hour
Config.SummonTimeWindow = {startHour = 21, endHour = 4} -- Summon available from 9 PM to 4 AM

-- Hallucination effect settings
Config.HallucinationEffect = "DeathFailNeutralIn" -- DrugsMichaelAliensFight
Config.HallucinationZoneRadius = 30.0

-- Ghost ped models
Config.GhostModels = {
    "s_m_m_strperf_01",
    "mp_m_marston_01",
    "mp_m_niko_01"
}

-- Items
Config.CandleItem = "special_candle"                -- Candle used to summon ghost
Config.AntiHallucinationItem = "protective_medal"  -- Medal that prevents hallucinations
Config.GhostTrap = "ghost_trap"                    -- Empty Ghost Trap
Config.GhostTrapFull = "ghost_trap_full"          -- Filled Ghost Trap

-- Summon SkillCheck / Progress settings
Config.Summon = {
    EnableSkillCheck = true,                       -- Enable skill check mini-game
    ProcessTime = 10,                              -- Duration for progress circle in seconds
    SkillCheckDifficulty = {'easy', 'easy'},       -- Difficulty levels for skill check, easy, medium, hard
    SkillCheckKeys = {'w', 'a', 's', 'd'}         -- Keys used for skill check
}
-- Chance that candle breaks on failed summon (%)
Config.FailCandleBreakChance = 45

-- GhostTrap SkillCheck / Progress settings
Config.GhostTrapCheck = {
    EnableSkillCheck = true,                       -- Enable skill check mini-game
    ProcessTime = 10,                              -- Duration for progress circle in seconds
    SkillCheckDifficulty = {'easy', 'easy'},       -- Difficulty levels for skill check, easy, medium, hard
    SkillCheckKeys = {'w', 'a', 's', 'd'}         -- Keys used for skill check
}

-- NPC selling point for captured ghosts
Config.SellPed = { 
    model = 's_m_y_pestcont_01',
    coords = vec4(291.5341, -1644.4315, 32.5321, 307.4994)
}

-- Rewards for delivering Ghost Trap
Config.Reward = {
    -- Money reward
    money = {
        min = 500,
        max = 1000,
        chance = 50  -- 50% chance to receive money
    },
    -- Item reward list
    items = {
        {name = "burger", minAmount = 2, maxAmount = 3, chance = 70},   -- 70% chance for 2-3
        {name = "ammo-9", minAmount = 20, maxAmount = 30, chance = 50},  -- 50% chance for 20-30
        {name = "weapon_pistol", minAmount = 1, maxAmount = 1, chance = 30} -- 30% chance for 1
    }
}

-- Menu labels
Config.MenuLabels = {
    SellItem = "Sell Captured Ghost"
}

-- Notification and progress messages
Config.Text = {
    Summon = {
        NotEnoughPlayers = { title = "Ghost Summon", description = "Not enough players nearby.", type = "error" },
        Success          = { title = "Ghost Summon", description = "A ghost has been summoned!", type = "success" },
        Failed           = { title = "Ghost Summon", description = "Summon failed!", type = "error" },
        Cooldown         = { title = "Ghost Summon", description = "You must wait %d more minutes before summoning again.", type = "error" },    
        WrongTime        = { title = "Ghost Summon", description = "You can only summon ghosts at night!", type = "error" },
        ProgressLabel    = "Summoning ghost..."
    },
    Capture = {
        NeedMedal        = { title = "Ghost Capture", description = "You need a protective medal to capture!", type = "error" },
        NoGhost          = { title = "Ghost Capture", description = "No ghost nearby!", type = "error" },
        Success          = { title = "Ghost Capture", description = "You captured the ghost!", type = "success" },
        Failed           = { title = "Ghost Capture", description = "You failed to catch the ghost!", type = "error" },
        ProgressLabel    = "Capturing ghost..."
    },
    Deliver = {
        NoTrap           = { title = "Ghost Trap", description = "You don’t have a filled Ghost Trap!", type = "error" },
        Success          = { title = "Ghost Trap", description = "You delivered the Ghost Trap! You earned $%d and %dx %s", type = "success" }
    },
    Sell = {
        NoItem           = { title = "Ghost Trap", description = "You don't have any captured ghosts to sell!", type = "error" },
        Success          = { title = "Ghost Trap", description = "You sold %d captured ghost(s) and received:\n%s!", type = "success" },
    },
}

Last updated