Configuration Files

Config

Config = {}

-- (Global important data)
Config.Debug = false
Config.Language = 'en' -- Locale language

-- Framework related
Config.UseCustomFramework = false -- Set to true if using custom framework
Config.Framework = 'Qbox' -- Supports Qbox, QB, ESX & Mythic
Config.FrameworkCore = 'LEAVE_EMPTY_UNLESS_CUSTOM' -- You need to put your frameworks core resource name here if using custom framework
Config.Inventory = "ox_inventory" -- Supports ox_inventory, qb-inventory, esx_inventory & mythic_inventory
Config.Target = "ox_target" -- Supports ox_target, qb-target & mythic-targeting
Config.VehicleKeys = "qb-vehiclekeys" -- or "qb-vehiclekeys", "MrNewbVehicleKeys", "jaksam-vehicles-keys", "qs-vehiclekeys", "mk_vehiclekeys", "wasabi_carlock", "cd_garage", "okokGarage", "t1ger_keys", "Renewed", "mythic-vehicles" "none"

-- Interface Related Options
Config.Notifications = "ox_lib" -- Supports ox_lib, qb, esx, mythic, okok, sd-notify, wasabi_notify, gta or custom
Config.Progress = "ox_lib_bar" -- Support ox_lib_bar, ox_lib_circle or mythic

-- Police & Dispatch Related
Config.Dispatch = "ps-dispatch" -- Supports cd_dispatch, qs-dispatch, ps-dispatch, rcore_dispatch, mythic-mdt, custom
Config.DispatchJobs = { "police" } -- Only for Qbox, QB & ESX
Config.DispatchBlips = { -- Different blip data for the blips
    Network = {
        Sprite = 629,
        Colour = 26,
        Scale = 1.2,
        Flash = false,
        Length = 5 -- In minutes
    },
    Robbery = {
        Sprite = 570,
        Colour = 49,
        Scale = 1.2,
        Flash = false,
        Length = 5 -- In minutes
    }
}
Config.RequiredPolice = 4 -- How many police on duty to start heist

-- Starting information
Config.PedModel = `a_m_y_business_03` -- The model of the ped to request the job from
Config.StartPosition = vec4(247.33, -33.4, 73.99, 34.77) -- The location where the ped spawns
Config.StartPrice = 1000
Config.PayMethod = "cash" -- Supports bank or cash
Config.RequiredMembers = 4 -- How many people required to start the heist
Config.UseMarket = true -- Use the built in market for heist items
Config.MarketItems = {
    thermite = { item = "Thermite", price = 400, amount = 1 },
    wooden_planks = { item = "Wooden Planks", price = 400, amount = 4 },
    vent_spyware = { item = "Vent Spyware", price = 400, amount = 1 },
    breach_charge = { item = "Breaching Charge", price = 400, amount = 1 },
    hotwire_os = { item = "Hotwire USB", price = 400, amount = 1 },
    tracker_decrypt = { item = "Tracker Decrypter", price = 400, amount = 1 }
}

-- Cooldown & Reset Logic
Config.UseCooldown = true -- If you want to use the cooldown for the heist
Config.Cooldown = 3600 -- How long the cooldown lasts in seconds
Config.ResetCommand = "dealerreset" -- The command name to reset the heist cooldown
Config.ResetAccess = { -- Who has access to reset the heist cooldown
    Jobs = {
        ['police'] = 0
    },
    Groups = { "admin", "god" }
}

-- Balance Minigame Logic
Config.Needle = { -- Logic for needle minigame
    -- DONT TOUCH BELOW
    StartBlip = { -- The location blip after starting the heist
        Location = vector3(-24.83, -1073.61, 35.77), -- Where the blip is located
        Sprite = 444,
        Colour = 5,
        Scale = 1.0,
        Name = "Climb The Planks",
        Length = 5 * 60000 -- How long the blip exists for (5 minutes by default)
    },
    SpawnOffset = vector3(0.0, 0.5, 0.0), -- Where on the first plank you will spawn based on an offset
    Animation = { -- The animation for climbing the planks
        Dict = "nm@hands",
        Anim = "hands_up",
        Coords = vec3(-28.18, -1084.01, 36.38), -- The coords where the plank climbing ends
        Heading = 161.12
    },
    Planks = { -- Each coordinate and rotation for each wooden plank
        { coords = vec3(-24.97464370727539, -1076.107421875, 36.27548599243164), rot = vec3(5.75514078140258, 0.24743930995464, -22.41167068481445) },
        { coords = vec3(-25.90100860595703, -1078.350830078125, 36.03086853027344), rot = vec3(5.75499963760376, 0.2470000386238, -22.41199684143066) },
        { coords = vec3(-26.82576179504394, -1080.5902099609375, 35.78667831420898), rot = vec3(5.75499963760376, 0.2470000386238, -22.41199684143066) },
        { coords = vec3(-27.75301742553711, -1082.8358154296875, 35.54183197021484), rot = vec3(5.75499963760376, 0.2470000386238, -22.41199684143066) }
    },
    PlankObject = `ff_wooden_plank`,
    Polyzone = { -- This polyzone is set around all the planks and will throw people off, if they don't climb on it properly
        coords = vec3(-26.39, -1079.56, 36.65),
        size = vec3(1.0, 10.6, 2.85),
        rotation = 337.5,
    }
}

-- DO NOT CHANGE ORDER, WEBCAM HAS TO BE FIRST
Config.Cameras = { -- The locations of each camera inside the dealership
    { label = "PC Webcam", coords = vec3(-26.77579498291, -1104.9649658203, 27.574327468872), rot = vec3(-1.4001618623734, -5.9764151956188e-06, -110.11419677734), type = "computer"},
    { label = "Security Camera", coords = vec3(-24.527370452881, -1106.2924804688, 29.374334335327), rot = vec3(-39.600059509277, -0.0, 51.278873443604), type = "cctv"},
}

-- Doors [Do not remove heist requires 4 doors and a garage to work properly]
Config.Doors = {
    {
        id = "ceo_office",
        locked = true,
        heading = 70,
        model = 2089009131,
        coords = vector3(-30.42845916748047, -1102.47021484375, 27.42458724975586)
    },
    {
        id = "manager_office",
        locked = true,
        heading = 250,
        model = 2089009131,
        coords = vector3(-32.64266967773437, -1108.5592041015625, 27.42458724975586)
    },
    {
        id = "garage_door",
        locked = true,
        heading = 250,
        model = 2089009131,
        coords = vector3(-27.62104797363281, -1094.7628173828125, 27.42458724975586)
    },
    {
        id = "garage",
        locked = true,
        doorRate = 0.4,
        heading = 160,
        model = 1010499530,
        coords = vector3(-21.51159286499023, -1089.3994140625, 28.11345481872558)
    }
}

-- Network Hacking
Config.ElectronicBox = { -- Where you want the electronic box to spawn to hack
    Coords = vector3(-29.13133811950683, -1095.3843994140625, 35.37719345092773),
    Rotation = vector3(0, 0, 71.2198715209961),
    Polyzone = { -- The polyzone for targeting the electronic box
        coords = vec3(-29.02, -1095.47, 36.0),
        radius = 1.7,
        debug = true
    }
}

-- Item Use Locations
Config.CircuitBreaker = { -- Where you want to have players plant the thermite
    Coords = vector3(-23.04178619384765, -1105.765380859375, 27.1593952178955),
    Rotation = vector3(-5.5, 0.0, 4.0)
}

Config.Computers = { -- The locations of the polyzones for hacking computers
    {
        id = "manager",
        coords = vec3(-27.65, -1107.15, 27.0),
        radius = 1.0,
    },
    {
        id = "ceo",
        coords = vec3(-26.69, -1104.54, 27.0),
        radius = 1.0,
    }
}

Config.GarageDoor = { -- The polyzone for entering the code to access the garage
	coords = vec3(-27.41, -1094.17, 27.0),
	radius = 1.5,
}

Config.Garage = { -- Where you want to have players plant the breach charge
    Coords = vector3(-21.512, -1089.476, 27.365),
    Rotation = vector3(87.5, 174.0, 175.5),
}

-- Deliver Logic
Config.DeliveryLocations = {
    vec3(-358.89, 6328.17, 29.2),
    vec3(1703.92, 4803.9, 41.16),
    vec3(2544.18, 4659.78, 33.43),
    vec3(894.35, -1021.68, 34.32),
    vec3(275.61, -1942.7, 24.2),
    vec3(-1272.1, -133.51, 42.85)
}
Config.CanVinScratch = false -- VIN scratching enabled (need to use event in sv-vehicle.lua)
Config.Loot = {
    DirtyMoneyItem = "black_money", -- Qbox/QB (black_money or markedbills), ESX (black_money), Mythic (moneyroll, moneyband, or moneybag)
    UseMoneyMeta = false, -- Only applies to "markedbills" in Qbox/QB
    Amount = math.random(70000, 100000), -- How much in dirty money to give the player (for items that are mass based such as mythic moneyband, you will need to do the math, e.g. $3,000 would be 3)
    GiveCrypto = false, -- Whether to use crypto on drop_off or scratch vehicle deliver types, if custom crypto, set `Config.Loot.CustomCrypto` to `true` and edit the `GiveCrypto` function in `bridge/server/functions.lua`
    CustomCrypto = false,
    Crypto = {
        Name = "FiveForge", -- Display name of the crypto
        Identifier = "FF", -- Unique id of the crypto
        Amount = math.random(1, 3) -- How much crypto to give
    },
    Parts = {
        { item = 'diamond', count = { min = 0, max = 1 }, chance = 50 },
        { item = 'weapon_pistol', count = 1, chance = 50 },
    },
    MoneyOnStripParts = true, -- Whether or not to give dirty money alongside parts when "Strip Parts"
    MoneyStripPartsPercentage = 50 -- What percentage of 'Config.Loot.Amount' to give when 'Config.Loot.MoneyOnStripParts = true'
}

-- Vehicle Loot
Config.Vehicles = { -- Picks a random vehicle out of the below table to spawn
    { model = "adder", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "autarch", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "banshee2", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "bullet", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "cheetah", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "cyclone", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "deveste", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "emerus", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "entity2", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "entityxf", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "fmj", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "furia", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "gp1", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "infernus", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "italigtb", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "italigtb2", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "italirsx", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "krieger", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "le7b", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "nero", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "nero2", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "osiris", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "penetrator", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "pfister811", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "prototipo", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "reaper", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "s80", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "sc1", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "scramjet", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "sheava", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "sultanrs", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "t20", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "taipan", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "tempesta", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "tezeract", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "thrax", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "turismor", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "tyrant", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "tyrus", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "vacca", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "vagner", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "visione", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "vigilante", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "xa21", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "zentorno", canScratch = true }, -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
    { model = "zorrusso", canScratch = true } -- [ model - spawn_code | canScratch - Can you vin scratch the vehicle ]
}

Config.VehicleSpawn = vec4(-23.7, -1094.42, 26.89, 340.15) -- Where the vehicle will spawn
Config.HacksRequired = 15 -- How many hacks to fully remove vehicle tracker
Config.VehicleAlert = { -- Blip data for the vehicle
    Interval = 15000, -- How often to update vehicle location and send dispatch alert
    Sprite = 825, -- 523 (sports car) | 
    Colour = 75,
    Scale = 1.2,
    Flash = true
}

Config.Colours = {
    ['0'] = "Metallic Black",
    ['1'] = "Metallic Graphite Black",
    ['2'] = "Metallic Black Steel",
    ['3'] = "Metallic Dark Silver",
    ['4'] = "Metallic Silver",
    ['5'] = "Metallic Blue Silver",
    ['6'] = "Metallic Steel Gray",
    ['7'] = "Metallic Shadow Silver",
    ['8'] = "Metallic Stone Silver",
    ['9'] = "Metallic Midnight Silver",
    ['10'] = "Metallic Gun Metal",
    ['11'] = "Metallic Anthracite Grey",
    ['12'] = "Matte Black",
    ['13'] = "Matte Gray",
    ['14'] = "Matte Light Grey",
    ['15'] = "Util Black",
    ['16'] = "Util Black Poly",
    ['17'] = "Util Dark silver",
    ['18'] = "Util Silver",
    ['19'] = "Util Gun Metal",
    ['20'] = "Util Shadow Silver",
    ['21'] = "Worn Black",
    ['22'] = "Worn Graphite",
    ['23'] = "Worn Silver Grey",
    ['24'] = "Worn Silver",
    ['25'] = "Worn Blue Silver",
    ['26'] = "Worn Shadow Silver",
    ['27'] = "Metallic Red",
    ['28'] = "Metallic Torino Red",
    ['29'] = "Metallic Formula Red",
    ['30'] = "Metallic Blaze Red",
    ['31'] = "Metallic Graceful Red",
    ['32'] = "Metallic Garnet Red",
    ['33'] = "Metallic Desert Red",
    ['34'] = "Metallic Cabernet Red",
    ['35'] = "Metallic Candy Red",
    ['36'] = "Metallic Sunrise Orange",
    ['37'] = "Metallic Classic Gold",
    ['38'] = "Metallic Orange",
    ['39'] = "Matte Red",
    ['40'] = "Matte Dark Red",
    ['41'] = "Matte Orange",
    ['42'] = "Matte Yellow",
    ['43'] = "Util Red",
    ['44'] = "Util Bright Red",
    ['45'] = "Util Garnet Red",
    ['46'] = "Worn Red",
    ['47'] = "Worn Golden Red",
    ['48'] = "Worn Dark Red",
    ['49'] = "Metallic Dark Green",
    ['50'] = "Metallic Racing Green",
    ['51'] = "Metallic Sea Green",
    ['52'] = "Metallic Olive Green",
    ['53'] = "Metallic Green",
    ['54'] = "Metallic Gasoline Blue Green",
    ['55'] = "Matte Lime Green",
    ['56'] = "Util Dark Green",
    ['57'] = "Util Green",
    ['58'] = "Worn Dark Green",
    ['59'] = "Worn Green",
    ['60'] = "Worn Sea Wash",
    ['61'] = "Metallic Midnight Blue",
    ['62'] = "Metallic Dark Blue",
    ['63'] = "Metallic Saxony Blue",
    ['64'] = "Metallic Blue",
    ['65'] = "Metallic Mariner Blue",
    ['66'] = "Metallic Harbor Blue",
    ['67'] = "Metallic Diamond Blue",
    ['68'] = "Metallic Surf Blue",
    ['69'] = "Metallic Nautical Blue",
    ['70'] = "Metallic Bright Blue",
    ['71'] = "Metallic Purple Blue",
    ['72'] = "Metallic Spinnaker Blue",
    ['73'] = "Metallic Ultra Blue",
    ['74'] = "Metallic Bright Blue",
    ['75'] = "Util Dark Blue",
    ['76'] = "Util Midnight Blue",
    ['77'] = "Util Blue",
    ['78'] = "Util Sea Foam Blue",
    ['79'] = "Uil Lightning blue",
    ['80'] = "Util Maui Blue Poly",
    ['81'] = "Util Bright Blue",
    ['82'] = "Matte Dark Blue",
    ['83'] = "Matte Blue",
    ['84'] = "Matte Midnight Blue",
    ['85'] = "Worn Dark blue",
    ['86'] = "Worn Blue",
    ['87'] = "Worn Light blue",
    ['88'] = "Metallic Taxi Yellow",
    ['89'] = "Metallic Race Yellow",
    ['90'] = "Metallic Bronze",
    ['91'] = "Metallic Yellow Bird",
    ['92'] = "Metallic Lime",
    ['93'] = "Metallic Champagne",
    ['94'] = "Metallic Pueblo Beige",
    ['95'] = "Metallic Dark Ivory",
    ['96'] = "Metallic Choco Brown",
    ['97'] = "Metallic Golden Brown",
    ['98'] = "Metallic Light Brown",
    ['99'] = "Metallic Straw Beige",
    ['100'] = "Metallic Moss Brown",
    ['101'] = "Metallic Biston Brown",
    ['102'] = "Metallic Beechwood",
    ['103'] = "Metallic Dark Beechwood",
    ['104'] = "Metallic Choco Orange",
    ['105'] = "Metallic Beach Sand",
    ['106'] = "Metallic Sun Bleeched Sand",
    ['107'] = "Metallic Cream",
    ['108'] = "Util Brown",
    ['109'] = "Util Medium Brown",
    ['110'] = "Util Light Brown",
    ['111'] = "Metallic White",
    ['112'] = "Metallic Frost White",
    ['113'] = "Worn Honey Beige",
    ['114'] = "Worn Brown",
    ['115'] = "Worn Dark Brown",
    ['116'] = "Worn straw beige",
    ['117'] = "Brushed Steel",
    ['118'] = "Brushed Black Steel",
    ['119'] = "Brushed Aluminium",
    ['120'] = "Chrome",
    ['121'] = "Worn Off White",
    ['122'] = "Util Off White",
    ['123'] = "Worn Orange",
    ['124'] = "Worn Light Orange",
    ['125'] = "Metallic Securicor Green",
    ['126'] = "Worn Taxi Yellow",
    ['127'] = "Police Car Blue",
    ['128'] = "Matte Green",
    ['129'] = "Matte Brown",
    ['130'] = "Worn Orange",
    ['131'] = "Matte White",
    ['132'] = "Worn White",
    ['133'] = "Worn Olive Army Green",
    ['134'] = "Pure White",
    ['135'] = "Hot Pink",
    ['136'] = "Salmon pink",
    ['137'] = "Metallic Vermillion Pink",
    ['138'] = "Orange",
    ['139'] = "Green",
    ['140'] = "Blue",
    ['141'] = "Mettalic Black Blue",
    ['142'] = "Metallic Black Purple",
    ['143'] = "Metallic Black Red",
    ['144'] = "hunter green",
    ['145'] = "Metallic Purple",
    ['146'] = "Metallic Dark Blue",
    ['147'] = "Black",
    ['148'] = "Matte Purple",
    ['149'] = "Matte Dark Purple",
    ['150'] = "Metallic Lava Red",
    ['151'] = "Matte Forest Green",
    ['152'] = "Matte Olive Drab",
    ['153'] = "Matte Desert Brown",
    ['154'] = "Matte Desert Tan",
    ['155'] = "Matte Foilage Green",
    ['156'] = "Default Alloy Color",
    ['157'] = "Epsilon Blue",
    ['158'] = "Pure Gold",
    ['159'] = "Brushed Gold",
    ['160'] = "MP100"
}

Locale

{
    "target": {
        "use_plank": "Climb on Plank",
        "weld_lock": "Weld Lock",
        "install_spyware": "Install Spyware",
        "decrypt": "Decrypt Passcode",
        "garage_code": "Enter Code"
    },
    "progress": {
        "welding": "Welding Lock",
        "virus_start": "Initializing sys_link.exe"
    },
    "task": {
        "setup": "Invite ~y~heist members ~w~and purchase the necessary items from the ~y~market~w~.",
        "location": "Head to ~y~PDM ~w~and place wooden planks to access the roof.",
        "cross_planks": "~y~Cross the planks to access the roof.",
        "weld_lock": "~w~Weld open the lock to install the ~y~spyware~w~.",
        "install_spyware": "~w~Install the spyware into the ~y~network~w~.",
        "thermite": "~w~Attach thermite to the ~y~circuit breaker~w~.",
        "hack_pcs": "~w~Deadlock removed! ~y~Enter the offices and hack the computers for the garage code~w~.",
        "open_garage": "~w~Garage door unlocked! ~y~Hotwire the vehicle ~w~and ~y~breach open the gate~w~.",
        "decrypted_code": "~w~Decrypted garage door code! ~y~Head over there and unlock the door~w~.",
        "accessed_garage": "~w~Unlocked garage, enter and ~y~hotwire the vehicle ~g~(%s)~w~.",
        "vehicle_hotwired": "~w~Vehicle hotwired, breach open the ~y~garage and escape~w~.",
        "escape": "~w~Garage unlocked! Escape and remove the ~y~gps trackers ~r~before the police catch you~w~.",
        "deliver": "~w~GPS trackers removed! Lose the ~r~police ~w~and deliver the vehicle to the drop off~w~."
    },
    "camera": {
        "exit": "Disconnect",
        "uplink": "Execute sys_link.exe",
        "cctv": "Connect To CCTV",
        "upload": "Upload Virus"
    },
    "notifications": {
        "added_crew_member": "Added [%s] - %s to your heist crew.",
        "removed_crew_member": "Removed [%s] - %s from your heist crew.",
        "invited_to_crew": "[%s] - %s invited you to their heist crew."
    },
    "setup": {
        "request_mission": "Request Mission",
        "plan_heist": "Planning",
        "heist_shop": "Market",
        "heist_market_title": "Heist Market",
        "heist_setup_title": "Heist Setup",
        "start_heist_title": "Start Heist",
        "start_heist_desc": "Got your crew & items, lets do this!",
        "manage_crew_title": "Manage Crew",
        "manage_crew_desc": "Manage your heists crew",
        "cancel_heist_title": "Cancel Heist",
        "cancel_heist_desc": "Cancel the heist and refund your payment",
        "crew_management_title": "Crew Management",
        "add_member_title": "Add Crew Member",
        "add_member_desc": "Add a new member to your crew",
        "add_member_input_label": "Enter Player ID",
        "add_member_input_desc": "Player ID you want to add to your crew.",
        "manage_crew_member_title": "[%s] - %s",
        "manage_crew_member_desc": "Manage %s.",
        "remove_member_title": "Remove",
        "remove_member_desc": "Remove [%s] as a crew member",
        "market_item_desc": "Purchase x%s %s for $%s"
    },
    "vehicle": {
        "drop_off": "Drop Off",
        "strip_for_parts": "Strip For Parts",
        "vin_scratch": "VIN Scratch"
    },
    "error": {
        "heist_cooldown": "~r~This mission is on lockdown!",
        "not_started": "~r~Unable to do this at this time!",
        "too_long_setup": "~r~You took too long to setup the heist!",
        "not_preparing": "~r~You aren't preparing the heist!",
        "not_leader": "~r~You aren't the leader of the heist!",
        "not_enough_members": "~r~Not enough members in heist group!",
        "adding_member": "Error occured adding member to crew!",
        "removing_member": "Error occured removing member from crew!",
        "getting_members": "Error occured fetching crew members!",
        "incorrect_climbing": "~r~You didn't climb on the plank correctly",
        "no_planks": "~r~You don't have any wooden planks on you!",
        "not_enough_planks": "~r~You don't have enough wooden planks on you!",
        "heist_active": "~r~Somebody is already doing this!",
        "cant_afford": "~r~You can't afford to do this!",
        "required_police": "~r~Not enough active police!",
        "no_virus": "~r~No RAT detected on network!",
        "hotwired_vehicle": "~r~You haven't hotwired the vehicle!",
        "unable": "~r~Unable to do this at this time!",
        "inactive_tracker": "~r~No active tracker found in this vehicle!",
        "tracker_early": "~r~You can't decrypt another tracker yet"
    },
    "ui": {
        "get_ready": "GET READY",
        "needleGameData": {
            "leftButton": "q",
            "leftText": "Q",
            "rightButton": "e",
            "rightText": "E"
        },
        "memoryGameData": {
            "loadingText": "Loading...",
            "seenText": "Seen",
            "newText": "New",
            "description": "Decide whether the word has been shown before",
            "gameState1": "Remember The Words",
            "gameState2": "FAIL",
            "gameState3": "SUCCESS"
        },
        "arrowGameData": {
            "description": "Use the arrows to connect the beginning to the end.",
            "gameState1": "Connect Ends",
            "gameState2": "FAIL",
            "gameState3": "SUCCESS"
        },   
        "terminalGameData": {
            "rememberText": "You have %s seconds to remember these sequences.",
            "placeHolderText": "Type something here...",
            "colors": [
                { "name": "red", "color": "red" },
                { "name": "green", "color": "green" },
                { "name": "blue", "color": "blue" },
                { "name": "yellow", "color": "yellow" },
                { "name": "orange", "color": "orange" },
                { "name": "purple", "color": "purple" },
                { "name": "pink", "color": "pink" },
                { "name": "white", "color": "white" }
            ],
            "shapes": [
                { "name": "square", "translation": "square" },
                { "name": "x", "translation": "x" },
                { "name": "arrow", "translation": "arrow" },
                { "name": "circle", "translation": "circle" },
                { "name": "diamond", "translation": "diamond" },
                { "name": "triangle", "translation": "triangle" },
                { "name": "plus", "translation": "plus" },
                { "name": "hexagon", "translation": "hexagon" }
            ],
            "terminalSuccess": "TERMINAL ACCESS SUCCESS",
            "welcomeText": "Welcome Mr. Anderson",
            "wrongText": "ERROR: WRONG ANSWER, SECURITY BREACH",
            "sequenceText": "Sequence",
            "shapeText": "Shape",
            "description": "Memorize the shapes & colors of each sequence.",
            "gameState1": "Terminal Input",
            "gameState2": "SECURITY BREACH",
            "gameState3": "TERMINAL ACCESS SUCCESS"
        },    
        "pipeGameData": {
            "description": "Rotate the pipes and connect them to the finish tile",
            "gameState1": "Connect Pipes",
            "gameState2": "FAIL",
            "gameState3": "SUCCESS"
        }      
    }
}

Last updated