Lockpicking | Skill based [Standalone]

For support join our Discord

Description

This script is partly obfuscated using escrow


Main features

  • A never before seen original lockpicking minigame

  • Locking of NPC vehicles

  • Different difficulty locks for different vehicle classes


Everything included in this script is customizable and can be turned on or off. 

Lockpicking Minigame

To unlock randomly spawning cars throughout the game (and possibly other players’ vehicles too) you can initiate a lockpicking minigame that scales in difficulty depending on the vehicle class. 

The goal of the minigame is to apply the right amount of power to each pin so the pin marker lines up with the lock turnpoint. Putting too much or too little power on the lockpick might cause it to break, or set off the vehicle’s alarm. When all the pins have been set correctly, the vehicle will unlock.

Locking of NPC vehicles

Randomly spawning vehicles and cars currently being driven by NPCs have a chance to be locked for the player.


NOTE: The lockpickng part of this script is initiated using a command by default. 




Usage

retval lockpicks_remaining [int], lockpick_success [bool] = StartLockpicking(lockpick_amount, pin_amount, max_power, break_chance, seed, fail_event, fail_event_args)


External usage

exports['kq_lockpicking_sa']:StartLockpicking()


Arguments

lockpick_amount        = amount of lockpicks the player has remaining
pin_amount             = amount of pins the lock will have
max_power              = the maximum strength you can exert on a pin (higher = harder)
break_chance           = chance of lockpick breaking when making a mistake
seed                   = value used to seed the lock combinations. locks with the same seed will have the same combination (useful to make lock the same between all tries). Set to 0 or nil to make lock completely random each time
fail_event             = name of client event triggered when the player makes a mistake. if not needed, set to ""
fail_event_args        = table of arguments sent together with the event   ie. {fail_text="you broke a lockpick"}

Return values

lockpicks_remaining    = return value of amount of lockpicks remaining
lockpick_success       = true if lockpicking attempt was successful, false if player runs out of lockpicks, or exits out the minigame