Skip to content

Full Config Reference

The complete default configs/client/scenes.lua for Dead Drop. Use this as a reference or starting point for your own configuration.

TIP

This is the full unedited config file. For a detailed explanation of each option, see the Configuration page.

Download scenes.lua

lua
return {
    -- The breach scene: all clips play together at the container's origin, and the container +
    -- props are added to the scene so they animate. Flavour props left nil are simply skipped.
    Breach = {
        dict = 'ANIM@SCRIPTED@PLAYER@MISSION@TUNF_TRAIN_IG1_CONTAINER_P1@MALE@',
        pedAnim = 'action', -- the breacher
        containerAnim = 'action_container', -- the doors swinging open
        grinderAnim = 'action_angle_grinder', -- the angle grinder sawing the lock
        grinderModel = 'tr_prop_tr_grinder_01a', -- train-heist angle grinder (in the breacher's hands)
        lockAnim = 'action_lock',
        lockModel = 'tr_prop_tr_lock_01a', -- the lock bar - sawn through, then removed (exp_trainheist)

        -- The same lock bar, shown as a static "still locked" decoration on every landed container
        -- BEFORE breach - placed exactly as exp_trainheist places this prop pair.
        lockOffset = vec3(0.0, -1.8, 1.11),
        -- Nudge for the FALLING copy of the lock only (attachLock): the attach frame sits slightly
        -- lower than the landed placement; tune z until the lock holds its spot through touchdown.
        fallingLockAdjust = vec3(0.0, 0.0, 0.09),
        bagAnim = 'action_bag',
        bagModel = 'ch_p_m_bag_var02_arm_s', -- loot bag, animated in the scene (exp_trainheist)

        -- Looping saw sound (the Fleeca drill - its audio bank MUST be loaded first or it stays
        -- silent) + cutting sparks ptfx at the hand (the 'core' ptfx dict is always loaded).
        sawSoundBank = 'DLC_HEISTS/HEIST_FLEECA_DRILL',
        sawSound = 'Drill',
        sawSoundSet = 'DLC_HEIST_FLEECA_SOUNDSET',
        sparkDict = 'scr_tn_tr', -- train-heist grinder sparks (as exp_trainheist)
        sparkName = 'scr_tn_tr_angle_grinder_sparks',
        sparkScale = 1.0,
        sparkOffset = vec3(0.0, 0.25, 0.0), -- on the grinder's cutting edge

        -- The cutting (sparks + sound) is only a window mid-scene, like exp_trainheist - the rest
        -- is the ped getting into / out of position.
        grindStartMs = 3000, -- ms into the scene before the cutting starts
        grindMs = 2000, -- ms the cutting (sparks + sound) lasts
    },

    -- Loot grab: animation + timing when picking a prop out of an OPEN container.
    Pickup = {
        dict = 'anim@mp_snowball',
        clip = 'pickup_snowball',
        duration = 1200, -- ms the grab takes (ox_lib progressCircle)
    },

    -- ox_target options per interaction; labels/icons are tuned here, not in client code.
    Targets = {
        breach = { icon = 'fa-solid fa-screwdriver-wrench', distance = 2.0 },
        pickup = { icon = 'fa-solid fa-hand', distance = 1.5 },
    },
}