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)
endEntity 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