opensource/client/client.lua
This file handles zone creation, drawtext, evidence, stress, and most importantly, the minigame callback. If you want to change the minigames used for each step, this is the only file you need to edit.Minigame Callback
Each robbery step triggers theprojectx-bobcatheist-k4mb1:client:Minigames callback with the step name. You can swap any minigame by replacing the export call inside the matching elseif block.
You can return
true unconditionally inside any step block to skip that minigame entirely. This can be useful for testing or for steps you want to make automatic.| Step | Minigame Resource | Function |
|---|---|---|
C4Entrance | lightsout | StartLightsOut |
EntranceKeypad | SN-Hacking | Thermite |
C4Security | lightsout | StartLightsOut |
SecurityFingerprint | utk_fingerprint | Start (event) |
SearchDesk | ox_lib | skillCheck |
SearchBelongings | ox_lib | skillCheck |
ComputerDesk | SN-Hacking | Thermite |
SmokeHallway | lightsout | StartLightsOut |
MainKeypad | SN-Hacking | MemoryCards |
Fusebox | ox_lib | skillCheck |
SurveillanceRoomKeypad | SN-Hacking | Thermite |
Computer | SN-Hacking | MemoryCards |
C4Vault | lightsout | StartLightsOut |
VaultPanel | SN-Hacking | ColorPicker |
Crate | ox_lib | skillCheck |
opensource/server/server.lua
This file handles dispatch, item/money functions, logging, and exposes several hooks you can use to run custom logic at specific points in the robbery.Hooks
SuccessfulStep(source, step)
SuccessfulStep(source, step)
Called whenever a player successfully completes a robbery step. Use this to award XP, trigger events, or log individual step completions.All available step names can be found in
Config.BobcatSteps inside config/config.lua.FailedStep(source, step)
FailedStep(source, step)
Called whenever a player fails a robbery step. Use this to remove XP, items, or apply penalties.
InitialCheck(Interaction)
InitialCheck(Interaction)
Called before a player can start the robbery. Return
false to block them.RobberyResetHook()
RobberyResetHook()
Called whenever the heist resets. Use this to update a scoreboard, trigger an external event, or notify players.
