SHEEN SCRIPTS
  • SHEEN SCRIPTS
    • Store
    • Discord
  • Paid Resources
    • sh-storages
      • Configuration
    • sh-k9
      • Installation
      • Configuration
      • Commands / Controls
      • Exports / Events
    • sh-heists_v2
      • Installation Guide
      • Documentation
        • Configuration Files
        • Parameters
        • Minigames
        • Scenes
        • Tips & Tricks
    • sh-heists (OLD)
      • Installation
      • Features
      • Premade Heists
      • Configuration
        • config.lua
        • Parameters
        • Functions
        • Scenes
        • Minigames
        • NPC States
      • API (for developers)
      • FAQ
    • sh-cemetery
      • Configuration
    • sh-buddy
      • Configuration
    • sh-player_carjacking
      • Configuration
    • sh-bowling
      • Configuration
    • sh-fights
      • Configuration
    • sh-chopshop_v2
      • Configuration
    • sh-chopshop
      • Configuration
    • sh-yoga
      • Configuration
  • Free Resources
    • sh-gifts
    • sh-jobcenter
    • sh-guidebook
    • sh-elevator
    • sh-jobCreator
Powered by GitBook
On this page
  • Using Scenes in Heists
  • Available Scenes
  • Scene Types
  1. Paid Resources
  2. sh-heists_v2
  3. Documentation

Scenes

Scenes are pre-configured animation sequences that enhance the realism and immersion of heist gameplay. They provide custom animations for various heist activities such as hacking, drilling, stealing

Using Scenes in Heists

To add a scene to an interaction point, include the scene parameter in your interaction configuration:

scene = { 
    name = 'thermite2', 
    offset = vec3(0.32, 0.40, 0.0) 
}

Scenes that aren't depending on objects are positioning by the 'zone.pos' parameter, but you can use optional parameters to adjust their placement:

  • name: The name of the predefined scene (required)

  • offset: Vector3 offset for fine-tuning position

    x = left/right  
    y = forward/backward  
    z = up/down  
  • pos: Override the default position with absolute coordinates

  • rot: Override the default rotation

Available Scenes

big_bomb

  • Description: Player plants a large explosive device, suitable for major obstacles

  • Object: No specific object required

  • Example:

scene = { name = 'big_bomb', offset = vec3(0.0, 0.0, 0.0) }

big_box

  • Description: Player collects a large box of valuable items

  • Object: Required tr_prop_tr_adv_case_01a

  • Example:

scene = { name = 'big_box' }

bomb

  • Description: Player places and arms an explosive device

  • Object: No specific object required

  • Example:

scene = { name = 'bomb', offset = vec3(0.0, 0.0, 0.0) }

cardswipe

  • Description: Player swipes an access card on a reader

  • Object: No specific object required

  • Example:

scene = { name = 'cardswipe' }

coke_stack

  • Description: Player collects a stack of cocaine packages

  • Object: Required h4_prop_h4_coke_stack_01a

  • Example:

scene = { name = 'coke_stack' }

coke_trolley

  • Description: Player collects cocaine packages from a trolley

  • Object: Required imp_prop_impexp_coke_trolly

  • Example:

scene = { name = 'coke_trolley' }

cutters

  • Description: Player uses bolt cutters to cut chains or padlocks

  • Object: Optional h4_prop_h4_chain_lock_01a

  • Example:

scene = { name = 'cutters', offset = vec3(0.0, 0.0, 0.0) }

diamond_trolley

  • Description: Player collects diamonds from a trolley

  • Object: Required ch_prop_diamond_trolly_01a

  • Example:

scene = { name = 'diamond_trolley' }

drill

  • Description: Player uses a drill to break into locks or safety deposit boxes

  • Object: No specific object required

  • Example:

scene = { name = 'drill', offset = vec3(0.0, 0.30, 0.0) }

duffel_bag

  • Description: Player places a duffel bag

  • Object: No specific object required

  • Example:

scene = { name = 'duffel_bag' }

electricbox

  • Description: Player manipulates electrical controls

  • Object: Required h4_prop_h4_elecbox_01a

  • Example:

scene = { name = 'electricbox' }

empty_loot

  • Description: Player opens an empty container

  • Object: Required xm3_prop_xm3_crate_01a

  • Example:

scene = { name = 'empty_loot' }

fusebox

  • Description: Player interacts with an electrical fusebox

  • Object: Required xm_prop_x17_powerbox_01

  • Example:

scene = { name = 'fusebox' }

gascutter

  • Description: Player uses a gas cutter to cut through locks or chains

  • Object: Optional h4_prop_h4_chain_lock_01a

  • Example:

scene = { name = 'gascutter', offset = vec3(0.0, 0.28, 0.0) }

glasscutter

  • Description: Player uses a specialized cutter to cut through display glass

  • Object: Optional h4_prop_h4_glass_disp_01a

  • Example:

scene = { name = 'glasscutter', offset = vec3(0.0, 0.0, 0.0) }

gold_box

  • Description: Player collects gold from a treasure chest

  • Object: Required h4_prop_h4_chest_01a

  • Example:

scene = { name = 'gold_box' }

gold_stack

  • Description: Player collects stacked gold bars

  • Object: Required h4_prop_h4_gold_stack_01a

  • Example:

scene = { name = 'gold_stack' }

gold_trolley

  • Description: Player takes gold bars from a trolley

  • Object: Required ch_prop_gold_trolly_01a

  • Example:

scene = { name = 'gold_trolley' }

grinder

  • Description: Player uses an angle grinder to cut through metal obstacles

  • Object: Optional tr_prop_tr_lock_01a

  • Example:

scene = { name = 'grinder', offset = vec3(0.0, 0.0, 0.0) }

hack_laptop

  • Description: Player interacts with an existing computer/laptop to hack it

  • Object: Required prop_laptop_01a

  • Example:

scene = { name = 'hack_laptop' }

laptop

  • Description: Player sets up and uses a laptop for hacking

  • Object: No specific object required

  • Example:

scene = { name = 'laptop', offset = vec3(0.0, 0.35, -0.05) }

laser

  • Description: Player uses a high-tech laser drill to cut through hardened materials

  • Object: No specific object required

  • Example:

scene = { name = 'laser', offset = vec3(0.0, 0.0, 0.0) }

lockpick

  • Description: Player picks a lock

  • Object: No specific object required

  • Example:

scene = { name = 'lockpick', offset = vec3(-0.28, 0.65, 0.0) }

loot_box

  • Description: Player loots a container with items

  • Object: Required xm3_prop_xm3_crate_01a

  • Example:

scene = { name = 'loot_box' }

mobile_hack

  • Description: Player uses a mobile phone and USB device for on-the-go hacking

  • Object: No specific object required

  • Example:

scene = { name = 'mobile_hack' }

money_stack

  • Description: Player collects a stack of cash

  • Object: Required h4_prop_h4_cash_stack_01a

  • Example:

scene = { name = 'money_stack' }

money_trolley

  • Description: Player collects cash stacks from a trolley

  • Object: Required hei_prop_hei_cash_trolly_01

  • Example:

scene = { name = 'money_trolley' }

press_button

  • Description: Player presses a button

  • Object: Optional h4_Prop_h4_Casino_Button_01a

  • Example:

scene = { name = 'press_button' }

read_folder

  • Description: Player examines documents in a folder

  • Object: Required reh_prop_reh_folder_01b

  • Example:

scene = { name = 'read_folder' }

rob_register

  • Description: Player robs a cash register

  • Object: No specific object required

  • Example:

scene = { name = 'rob_register' }

safe_crack

  • Description: Player cracks a safe

  • Object: No specific object required

  • Example:

scene = { name = 'safe_crack' }

safe_crack2

  • Description: Player interacts with a modern safe

  • Object: Required h4_prop_h4_safe_01a

  • Example:

scene = { name = 'safe_crack2' }

smash_case_d

  • Description: Player smashes a jewelry display case with a specific animation style

  • Object: No specific object required

  • Example:

scene = { name = 'smash_case_d' }

smash_case_e

  • Description: Player smashes a jewelry display case with a specific animation style

  • Object: No specific object required

  • Example:

scene = { name = 'smash_case_e' }

smash_case_f

  • Description: Player smashes a jewelry display case with a specific animation style

  • Object: No specific object required

  • Example:

scene = { name = 'smash_case_f' }

smash_case_necklace

  • Description: Player smashes a jewelry display case specifically holding necklaces

  • Object: No specific object required

  • Example:

scene = { name = 'smash_case_necklace' }

stealpainting

  • Description: Player carefully cuts a painting from its frame

  • Object: Required ch_prop_vault_painting_01a

  • Example:

scene = { name = 'stealpainting' }

thermite

  • Description: Player places and activates a thermite charge to burn through metal obstacles

  • Object: No specific object required

  • Example:

scene = { name = 'thermite', offset = vec3(0.0, 0.0, 0.0) }

thermite2

  • Description: A variation of the thermite scene with slightly different animations and effects

  • Object: No specific object required

  • Example:

scene = { name = 'thermite2', offset = vec3(0.32, 0.40, 0.0) }

torch

  • Description: Player uses a blowtorch to cut through metal barriers

  • Object: No specific object required

  • Example:

scene = { name = 'torch', offset = vec3(1.02, 2.1, -0.05) }

type

  • Description: Player types on keyboard

  • Object: No specific object required

  • Example:

scene = { name = 'type', offset = vec3(0.0, 0.8, 0.15) }

use_keys

  • Description: Player uses keys to unlock something

  • Object: No specific object required

  • Example:

scene = { name = 'use_keys' }

weed_stack

  • Description: Player collects a stack of marijuana packages

  • Object: Required h4_prop_h4_weed_stack_01a

  • Example:

scene = { name = 'weed_stack' }

Scene Types

Scenes can be categorized by their behavior:

  1. Offset Scenes - These scenes are positioned by 'zone.pos' parameter and can be adjusted by 'offset', 'scene_pos' or 'scene_rot' parameters

  2. Non-Offset Scenes - These scenes are attached to an object

Using Scenes with Minigames

Scenes and minigames work together to create engaging heist interactions. For most interactions, you'll want to include both:

Example
-- Example of a complete interaction with scene and minigame
[1] = {
    zone = {
        a_type = 'box_zone',
        label = 'Hack Door',
        pos = vector4(261.92, 223.11, 106.28, 251.0),
        distance = 1.5,
        qb_target = { min_z = 105.0, max_z = 107.3, length = 1.2, width = 1.2 },
        ox_target = { size = vec3(1.0, 1.0, 2.2) }
    },
    require = {
        item = { name = 'electronickit', remove = true },
        bag = false
    },
    scene = { name = 'laptop', offset = vec3(0.0, 0.35, -0.05) },
    minigame = { name = 'datacrack' },
    on_complete = {
        functions = {
            { type = 'function', name = 'unlock_stage', params = { stage_id = 3 } },
            { type = 'function', name = 'doorlock', params = { door_id = 1, locked = false } }
        }
    }
}

This creates a complete interaction where the player:

  1. Approaches a door and sees a "Hack Door" prompt

  2. Performs the laptop scene (setting up a laptop)

  3. Completes the datacrack minigame

  4. Upon success, the scene completes, the stage unlocks, and the door unlocks

PreviousMinigamesNextTips & Tricks

Last updated 2 months ago