Vehicle Keys & Security
With this resource, all vehicle keys are items with metadata, capable of being traded, crafted, and stolen.
- Configurable jobs have access to a
trandponderencoder
item, opening a UI on use. - The UI can wipe the existing key memory of any vehicle, making all current keys for that vehicle useless.
- The encoder UI is also capable of turning a
blankvehiclekey
into a workingvehiclekey
for the current vehicle. - Security upgrade items can be applied to any player-owned vehicle, either automated through shop purchase (coming with
TebIT: Vehicle Customs
), or using an item while inside a vehicle. - Security upgrades add an extra layer of protection (stackable), to deter/prevent improperly equipped thieves from stealing your vehicle.
Config
All of the config vars found below are stored within the config.lua
file.
Expand
config = {
-- % chance that you can enter a parked civ vehicle
parkedVehUnlockChance = 0,
-- Lockpick configuration
lockpickItem = "lockpick",
loseLockpickFailChance = 100.0,
loseLockpickSuccessChance = 0.0,
-- Hotwire configuration
hotwireTimeMin = 3000,
hotwireTimeMax = 5000,
hotwireCooldown = 5000,
hotwireChance = 30,
hotwireKeybind = "H",
-- Chance of alarm on hotwire
alarmTimeMin = 3000,
alarmTimeMax = 5000,
alarmCooldown = 30000,
alarmChance = 100,
-- Car jacking configuration
jackTimeMin = 4000,
jackTimeMax = 4000,
jackCooldown = 10000,
-- security categories for vehicles, and corresponding security items and hacking/removal items.
-- note: category names are arbitrary, you can add as many as you like.
-- note: you can stack categories, you can't stack items from the same category.
securityCategories = {
immobilizer = {
upgradeItems = {
-- upgrade item names also arbitrary, aslong as they don't conflict with another resource, add as many as you like.
["immobilizer1"] = {
label = "Tier 1 Immobilizer", -- item label
description = "A mechanic can upgrade your vehicle with this item.", -- item description (OPTIONAL)
image = "electronickit.png", -- item image (OPTIONAL)
weight = 0, -- item weight (OPTIONAL)
removalTimeMin = 4000, -- time to remove (min)
removalTimeMax = 7000, -- time to remove (min)
removalChance = 50.0, -- percentage chance of removal (0-100)
cooldown = 5000, -- time between removal attempts
alarmOnFail = false -- trigger car alarm on fail
},
["immobilizer2"] = {
label = "Tier 2 Immobilizer",
removalTimeMin = 4000,
removalTimeMax = 7000,
removalChance = 10.0,
cooldown = 10000,
alarmOnFail = true
}
},
hackingItems = {
-- hacking item names also arbitrary, aslong as they don't conflict with another resource, add as many as you like.
["thefttoolkit"] = {
label = "Theft Toolkit",
description = "Used for naughty things.",
image = "electronckit.png",
weight = 0,
timeMultiplier = 1.0, -- multiply item removal time * this value on item use
chanceMultiplier = 1.0 -- multiply item chance * this value on item use
},
["hackinglaptop"] = {
label = "Hacking Laptop",
timeMultiplier = 2.0,
chanceMultiplier = 10.0
},
}
}
},
-- Chance for vehicle theft to succeed based on weapon used
jackChance = {
[2685387236] = 0, -- melee
[416676503] = 50, -- handguns
[337201093] = 75, -- SMG
[860033945] = 90, -- shotgun
[970310034] = 90, -- assault
[1159398588] = 99, -- LMG
[3082541095] = 99, -- sniper
[2725924767] = 99, -- heavy
[1548507267] = 0, -- throwable
[4257178988] = 0, -- misc
},
-- These weapons can't be used to jack a vehicle.
noJackWeapons = {
"WEAPON_UNARMED",
"WEAPON_Knife",
"WEAPON_Nightstick",
"WEAPON_HAMMER",
"WEAPON_Bat",
"WEAPON_Crowbar",
"WEAPON_Golfclub",
"WEAPON_Bottle",
"WEAPON_Dagger",
"WEAPON_Hatchet",
"WEAPON_KnuckleDuster",
"WEAPON_Machete",
"WEAPON_Flashlight",
"WEAPON_SwitchBlade",
"WEAPON_Poolcue",
"WEAPON_Wrench",
"WEAPON_Battleaxe",
"WEAPON_Grenade",
"WEAPON_StickyBomb",
"WEAPON_ProximityMine",
"WEAPON_BZGas",
"WEAPON_Molotov",
"WEAPON_FireExtinguisher",
"WEAPON_PetrolCan",
"WEAPON_Flare",
"WEAPON_Ball",
"WEAPON_Snowball",
"WEAPON_SmokeGrenade",
},
-- vehicles that wont be automatically locked
autoLockBlacklist = {
'BUFFALO',
},
-- vehicles that can't be jacked
jackBlacklist = {
'BUFFALO',
},
-- jobs capable of encoding new (and removing or wiping) keys with a transponder encoder
encodingJobs = {
mechanic = 2,
police = 0,
},
-- jobs that auto-vehicle locking won't necessarily apply to.
-- note: this isn't guaranteed to work 100% of time.
commandeerJobs = {
police = 2,
},
}
Labels
All labels and translations can be found within the labels.lua
file.
Expand
labels = {
invalidInterior = "Invalid interior.",
notEnoughMoney = "Not enough money.",
...
}
Usage
Check out the wiki for an update-to-date list of dependencies, conflicting resources, examples, and proper export documentation. You can otherwise contact me via DM for further instruction.
Code is accessible | No |
Subscription-based | No |
Lines (approximately) | 1500+ |
Requirements | ti_utils |
Support | Yes |