API
Work in progress...
Events
Hooks
sh-heists:sv:TimerStarted
Triggered when a heist timer begins.
Parameters:
heist_id
(number) - The heist identifierrender_id
(number) - The render zone identifiercaller_id
(number) - Player source who started the timer
sh-heists:sv:CooldownStarted
Triggered when a heist enters cooldown phase.
Parameters:
heist_id
(string) - The heist identifierrender_id
(number) - The render zone identifiercaller_id
(number) - Player source who triggered cooldown
sh-heists:sv:HeistReset
Triggered when a heist is completely reset.
Parameters:
heist_id
(string) - The heist identifier
Example Usage:
AddEventHandler('sh-heists:sv:TimerStarted', function(heist_id, render_id, caller_id)
local playerName = GetPlayerName(caller_id)
print(string.format('Heist %s started by %s', heist_id, playerName))
end)
State Bags
Player States
sh_heist
Contains the player's current heist participation status.
Structure:
{
entered = boolean, -- Whether player is in heist zone
heist_id = number, -- Current heist identifier
render_id = number, -- Current render zone
}
Usage:
local state = Player(source).state.sh_heist
if state and state.entered then
print('Player is in heist:', state.heist_id)
end
Entity States
sh_heists_npc
Contains NPC behavior and identification data.
Structure:
{
heist_id = string, -- Associated heist
render_id = number, -- Associated render zone
index = number, -- NPC index in configuration
net_id = number -- Network ID of the entity
}
Global States
Timer and Cooldown States
sh-heists:id-{heist_id}:timer
(boolean) - Whether heist timer is activesh-heists:id-{heist_id}:cooldown
(boolean) - Whether heist is in cooldownsh-heists:cooldown_group:{group}
(boolean) - Group cooldown status
Last updated