翻译一下
Config = {}Config.Debug = false
Config.UseCullingRadius = false-- true = use culling radius | false = don't use culling radius
Config.UseRoutingBuckets = false-- true = use routing buckets | false = don't use routing buckets
Config.PayForOrder = false-- true = pay for the vehicle when you order it | false = don't pay and only receive the profit when selling
Config.SetVisibility = false -- true = player will be invisible when chosing a vehicle
Config.SetInvincibility = false-- true = player will not die while test driving
Config.CheckForOfflineOrdersEvery = 0.5 -- In minutes | it'll check every x minutes for offline players with orders accepted, if someone is offline it'll cancel the order
Config.ShowVehicleShopBlip = false-- Activate/Deactivate Vehicle shop blips
Config.ShowOwnerBlip = false-- Activate/Deactivate owner blips
Config.ShowBuyVehicleShopBlip = false-- Activate/Deactivate buy shop blip
Config.ShowHasOwnerShopBlip = false-- Activate/Deactivate blip of shops with "hasOwner = false"
Config.TestDrive = false-- Activate/Deactivate test drive
Config.DevMode = false-- Allows you to restart the script (IMPORTANT: only set this to true if you are configuring the script)
Config.EventPrefix = "okokVehicleShop" -- this will change the prefix of the events name so if Config.EventPrefix = "example" the events will be "example:event"
Config.ESXPrefix = "esx" -- this will change the prefix of esx events such as esx:onPlayerDeath
Config.onPlayerDeath = "onPlayerDeath"
Config.playerLoaded = "playerLoaded"
Config.getSharedObject = "getSharedObject"
Config.TestDrivePlate = "TEST"
Config.SalesDateFormat = "%d/%m - %H:%M"
Config.UseOkokTextUI = false -- true = okokTextUI (I recommend you using this since it is way more optimized than the default ShowHelpNotification) | false = ShowHelpNotification
Config.Key = 38 -- Key to open the interaction, check here the keys ID: https://docs.fivem.net/docs/game-references/controls/#controls
Config.UseokokRequests = false -- true = use okokRequests for hiring people | false = don't use okokRequests - https://okok.tebex.io/package/4724985
Config.UseSameImageForVehicles = false -- true = use the same image for all vehicles (vehicle.png) | false = use different images for each vehicle (vehicle_id.png)
Config.HideMinimap = false -- If true it'll hide the minimap when the vehicle shop menu is opened
Config.TimeBetweenTransition = 7000 -- how much time it stays in a camera before changing, in miliseconds
Config.TransitionTime = 4000 -- how much time it takes to go from one camera to another (camera movement), in miliseconds
Config.ShakeAmplitude = 0.2 -- camera shake
Config.UseKMh = false -- true = use KM/h | false = use miles/h
Config.MaxVehiclesSpeed = 450 -- Max speed a vehicle can go at (it is only used for UI purposes, it does NOT change the speed of a vehicle)
Config.TestDriveTime = 40 -- In seconds
Config.StopTestDriveCmd = "cancel" -- command to stop the test drive
Config.PlateLetters= 3 -- How many letters the plate has
Config.PlateNumbers= 3 -- How many numbers the plate has
Config.PlateUseSpace = false -- If the plate uses spaces between letters and numbers
Config.OrderReceivePercentage = false -- If true = players will receive a percentage of the vehicle price (Config.OrderCompletedPercentage) | if false = players receive a flat rate (Config.OrderCompletedFlatRate)
Config.OrderCompletedPercentage = 10 -- When a employee completes the misson he will get this percentage as a reward, 10 = 10% (Config.OrderReceivePercentage = true)
Config.OrderCompletedFlatRate = 1000 -- When a employee completes the misson he will get paid this value (Config.OrderReceivePercentage = false)
Config.HireRange = 3 -- How close a player needs to be to be in the hiring range
Config.AdminCommand = "vsadmin" -- command to open the admin menu
Config.OwnerBuyVehiclePercentage = 10 -- How much of a discount the owner has to order a vehicle (bases on the min. price)
Config.SellBusinessReceivePercentage = 50 -- How much a player will receive for selling his business (in percentage, 50 = 50%)
Config.ClearMoneyWhenBusinessIsSold = false -- true = remove the money from the society when sold | false = do not remove the money
Config.MaxDealershipsPerPlayer = 2 -- How many vehicle shops a player can own
Config.MaxEmployeesPerDealership = 10 -- How many employees a vehicle shop can hire
Config.EnableSellVehicle = false -- Allows players to sell their vehicles for a percentage of the vehicle's min price
Config.VehicleShopBuyVehicle = false -- true = when selling a bought vehicle the money will be discounted from the vehicle shop and the vehicle added to the stock | false = vehicle shop will not be charged or receive the vehicle
Config.VehicleSellPercentage = 40 -- 40 = seller will receive 40% of the vehicle min. price
Config.EnableOkokBankingTransactions = false -- true = when you buy a vehicle a transaction is added (okokBanking)
Config.AdminGroups = { -- Admin groups that can access the admin menu
"superadmin",
"admin",
"mod"
}
Config.NoDataTag = "No data"
Config.BossTag = "Boss"
Config.JobRanks = { -- These are the ranks available on the vehicle shops, you can add or remove as many as you want but leave at least 1
"Newbie", -- ID: 1
"Experienced", -- ID: 2
"Expert", -- ID: 3
"Sub-Owner" -- ID: 4
}
Config.SubOwnerRank = 4 -- ID of the rank that will work as a secondary owner
Config.MissionForStock = false -- false = when you order a vehicle, the vehicle shop will instantly receive it without doing any order/mission
Config.TruckBlip = {blipId = 67, blipColor = 2, blipScale = 0.9, blipText = "Truck"} -- Blip of the truck when someone accepts an order
Config.TrailerBlip = {blipId = 515, blipColor = 2, blipScale = 0.9, blipText = "Trailer"} -- Blip of the trailer when someone accepts an order (for vehicle shops with big vehicles)
Config.OrderBlip = {blipId = 478, blipColor = 5, blipText = "Order"}-- Blip of the ordered vehicle when someone accepts an order
Config.TowMarker = {id = 21, size = {x = 0.5, y = 0.5, z = 0.5}, color = {r = 31, g = 94, b = 255, a = 90}, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0} -- The marker to tow a vehicle when someone accepts an order
Config.SmallTowTruckID = "flatbed"
Config.BigTowTruckID = "Hauler"
Config.TrailerID = "TRFlat"
Config.Aircrafts = { -- Add all of your aircrafts here so the script sets them as aircrafts in the database.
['buzzard2'] = true,
['supervolito'] = true,
['vestra'] = true,
}
Config.Boats = { -- Add all of your boats here so the script sets them as boats in the database.
['dinghy'] = true,
['marquis'] = true,
['submersible'] = true,
}
Config.Stands = { -- Vehicle shops informations
{
name = "Vehicle Shop", -- name of the vehicle shop
licenseType = "", -- if you want to use a license system you'll need to set it up on sv_utils.lua
currency = "bank", -- used to buy/sell the business and buy vehicle
hasOwner = false, -- true = this vehicle shop can have a owner and will need maintenance to have stock | false = no owner and with vehicles all the time, price = max_price set on the database
coords = {x = -57.50, y = -1096.73, z = 26.42}, -- Marker/Shop position
sellVehicleCoords = {x = -44.72, y = -1082.12, z = 25.50},
sellVehicleMarker = {id = 1, color = {r = 255, g = 0, b = 0, a = 90}, size = {x = 4.0, y = 4.0, z = 1.5}, radius = 2.5, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0}, -- Marker informations for the sell vehicle marker
ownerCoords = {x = -31.66, y = -1114.00, z = 26.42}, -- Marker/Shop position for owner/employees
spawnFlatbedPos = {x = -16.95, y = -1105.34, z = 26.67, h = 160.0}, -- Where the flatbed/truck is spawned for the orders
towCoords = {bone = 'bodyshell', xPos = 0.0, yPos = -2.35, zPos = 1.0},
missionsVehicleSpawn = { -- Locations where someone who accepted an order will have to go (it is random)
{x = -465.99, y = -618.22, z = 31.17, h = 100.0},
--{x = 218.46, y = -850.71, z = 30.16, h = 100.0},
},
radius = 1, -- Interaction radius for the markers
price = 10000, -- Price of the vehicle shop
blip = {blipId = 225, blipColor = 3, blipScale = 0.9, blipText = "Vehicleshop"}, -- Blip informations for vehicleshop blip
ownerBlip = {blipId = 225, blipColor = 2, blipScale = 0.9, blipText = "Vehicleshop Panel"}, -- Blip informations for shops you own/work for
buyBlip = {blipId = 225, blipColor = 1, blipScale = 0.9, blipText = "Vehicleshop to buy"}, -- Blip informations for shop on sale
marker = {id = 20, color = {r = 31, g = 94, b = 255, a = 90}, size = {x = 0.5, y = 0.5, z = 0.5}, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0}, -- Marker informations for the vehicle shop
ownerMarker = {id = 21, color = {r = 31, g = 94, b = 255, a = 90}, size = {x = 0.5, y = 0.5, z = 0.5}, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0}, -- Marker informations for the owning menu
bigVehicles = false, -- Set to true if it's airplanes/helicopters/etc... it'll use a truck instead of a flatbed to get the ordered vehicles
type = "pdm", -- Type of shop (will change displayed vehicles) | CAN be repeated on other shops
id = "vehicles1", -- ID of the shop, it's used to get what shop is opened | needs to be DIFFERENT for each shop
},
{
name = "Always Shop",
licenseType = "",
currency = "money",
hasOwner = false, -- when this is false you don't need all the config elements but dont forget to add on Config.ShowVehicle and Config.TransitionCamerasOffset
coords = {x = 0, y = 0, z = 0},
sellVehicleCoords = {x = -70.91, y = -1123.73, z = 24.60},
sellVehicleMarker = {id = 1, color = {r = 255, g = 0, b = 0, a = 90}, size = {x = 4.0, y = 4.0, z = 1.5}, radius = 2.5, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0},
radius = 1,
blip = {blipId = 225, blipColor = 3, blipScale = 0.9, blipText = "Vehicleshop"},
marker = {id = 20, color = {r = 31, g = 94, b = 255, a = 90}, size = {x = 0.5, y = 0.5, z = 0.5}, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0},
type = "vehicles",
id = "alwaysshop1",
},
{
name = "Air Shop",
licenseType = "",
currency = "bank",
hasOwner = true,
coords = {x = -949.5, y = -2946.55, z = 13.95},
sellVehicleCoords = {x = -959.5, y = -2946.55, z = 12.76},
sellVehicleMarker = {id = 1, color = {r = 255, g = 0, b = 0, a = 90}, size = {x = 4.0, y = 4.0, z = 1.5}, radius = 2.5, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0},
ownerCoords = {x = -941.51, y = -2955.03, z = 13.95},
spawnFlatbedPos = {x = -947.62, y = -2976.86, z = 13.95, h = 270.0},
towCoords = {bone = 'bodyshell', xPos = 0.0, yPos = -2.35, zPos = 1.0},
missionsVehicleSpawn = {
{x = -1835.77, y = 2979.52, z = 32.81, h = 100.0},
},
radius = 1,
price = 12000,
blip = {blipId = 64, blipColor = 3, blipScale = 0.9, blipText = "Air shop"},
ownerBlip = {blipId = 64, blipColor = 2, blipScale = 0.9, blipText = "Air shop Panel"},
buyBlip = {blipId = 64, blipColor = 1, blipScale = 0.9, blipText = "Air shop to buy"},
marker = {id = 20, color = {r = 31, g = 94, b = 255, a = 90}, size = {x = 0.5, y = 0.5, z = 0.5}, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0},
ownerMarker = {id = 21, color = {r = 31, g = 94, b = 255, a = 90}, size = {x = 0.5, y = 0.5, z = 0.5}, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0},
bigVehicles = true,
type = "air",
id = "air1",
},
{
name = "Water Shop",
licenseType = "boat",
currency = "bank",
hasOwner = true,
coords = {x = -720.77, y = -1324.92, z = 1.6},
sellVehicleCoords = {x = -721.56, y = -1306.7, z = 3.82},
sellVehicleMarker = {id = 1, color = {r = 255, g = 0, b = 0, a = 90}, size = {x = 4.0, y = 4.0, z = 1.5}, radius = 2.5, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0},
ownerCoords = {x = -712.16, y = -1298.88, z = 5.1},
spawnFlatbedPos = {x = -719.77, y = -1286.15, z = 5.0, h = 120.0},
towCoords = {bone = 'bodyshell', xPos = 0.0, yPos = -2.35, zPos = 1.0},
missionsVehicleSpawn = {
{x = -758.15, y = -1488.26, z = 5.0, h = 280.0},
},
radius = 1,
price = 14000,
blip = {blipId = 427, blipColor = 3, blipScale = 0.9, blipText = "Water shop"},
ownerBlip = {blipId = 427, blipColor = 2, blipScale = 0.9, blipText = "Water shop Panel"},
buyBlip = {blipId = 427, blipColor = 1, blipScale = 0.9, blipText = "Water shop to buy"},
marker = {id = 20, color = {r = 31, g = 94, b = 255, a = 90}, size = {x = 0.5, y = 0.5, z = 0.5}, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0},
ownerMarker = {id = 21, color = {r = 31, g = 94, b = 255, a = 90}, size = {x = 0.5, y = 0.5, z = 0.5}, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0},
bigVehicles = true,
type = "water",
id = "water1",
},
}
Config.ShowVehicle = { -- Display vehicle
["vehicles1"] = { -- ID of the vehicle shop
position = {x = -44.21, y = -1097.06, z = 26.42, h = 160.0}, -- Where to spawn the display vehicles
playerOffsetVehiclePreview = {x = 0.0, y = 0.0, z = -1.0}, -- Coordinations offset of where the player will be set when opening the shop
noVehicleCam = {x = -44.21-1.49, y = -1097.06-7.65, z = 26.42+1.15}, -- Camera position when there is no vehicle to be displayed
testDrive = {x = -1733.25, y = -2901.43, z = 13.94, h = 330.0}, -- Where to start the test drive
vehicleSpawn = { -- Where the vehicle spawns when bought
{x = -27.65, y = -1082.03, z = 26.64, h = 70.0},
{x = -13.61, y = -1092.4, z = 26.67, h = 340.0},
{x = -12.16, y = -1082.49, z = 26.68, h = 84.0},
},
},
["alwaysshop1"] = {
position = {x = -44.21, y = -1097.06, z = 26.42, h = 160.0},
playerOffsetVehiclePreview = {x = 0.0, y = 0.0, z = -1.0},
noVehicleCam = {x = -44.21-1.49, y = -1097.06-7.65, z = 26.42+1.15},
testDrive = {x = -1733.25, y = -2901.43, z = 13.94, h = 330.0},
vehicleSpawn = {
{x = -27.65, y = -1082.03, z = 26.64, h = 70.0},
{x = -13.61, y = -1092.4, z = 26.67, h = 340.0},
{x = -12.16, y = -1082.49, z = 26.68, h = 84.0},
},
},
["air1"] = {
position = {x = -1652.0, y = -3142.69, z = 13.99, h = 70.0},
playerOffsetVehiclePreview = {x = 0.0, y = 0.0, z = 0.0},
noVehicleCam = {x = -1652.0-12.49, y = -3142.69-0.65, z = 13.99+2.15},
testDrive = {x = -1733.25, y = -2901.43, z = 13.94, h = 330.0},
vehicleSpawn = {
{x = -1023.91, y = -3060.6, z = 13.94, h = 70.0},
},
},
["water1"] = {
position = {x = -828.54, y = -1448.08, z = -0.5, h = 70.0},
playerOffsetVehiclePreview = {x = 0.0, y = 0.0, z = 0.0},
noVehicleCam = {x = -828.54-12.49, y = -1448.08-0.65, z = -0.5+3.15},
testDrive = {x = -878.02, y = -1360.32, z = 2.0, h = 330.0},
vehicleSpawn = {
{x = -706.78, y = -1333.57, z = 2.0, h = 70.0},
},
},
}
Config.TransitionCamerasOffset = { -- Cameras positions, you can add as many as you wish
["vehicles1"] = { -- ID of the vehicle shop
{x = 1.49, y = 7.65, z = 1.15},
{x = 14.0, y = 5.0, z = 0.6},
{x = 7.0, y = -5.0, z = 1.5},
{x = -15.0, y = -3.0, z = 1.6},
},
["alwaysshop1"] = { -- ID of the vehicle shop
{x = 1.49, y = 7.65, z = 1.15},
{x = 14.0, y = 5.0, z = 0.6},
{x = 7.0, y = -5.0, z = 1.5},
{x = -15.0, y = -3.0, z = 1.6},
},
["air1"] = {
{x = 12.49, y = 0.65, z = 2.15},
{x = 9.0, y = 20.0, z = 1.6},
{x = -13.5, y = 8.0, z = 2.5},
{x = -4.0, y = -13.0, z = 2.6},
},
["water1"] = {
{x = 12.49, y = 0.65, z = 3.15},
{x = 9.0, y = 20.0, z = 2.6},
{x = -13.5, y = 8.0, z = 3.5},
{x = -4.0, y = -13.0, z = 3.6},
},
}
Config.VehicleshopsCategories = { -- Categories shown on the vehicle shops, this is used to set the vehicles category
["pdm"] = { -- TYPE of the vehicle shop
{display = "新手车", id = "新手车"},
{display = "国产车", id = "国产车"},
{display = "奔驰", id = "奔驰"},
{display = "福特", id = "福特"},
{display = "丰田", id = "丰田"},
{display = "法拉利", id = "法拉利"},
{display = "迈凯伦", id = "迈凯伦"},
{display = "宝马", id = "宝马"},
{display = "保时捷", id = "保时捷"},
{display = "奥迪", id = "奥迪"},
{display = "本田", id = "本田"},
{display = "日产", id = "日产"},
{display = "摩托车", id = "摩托车"},
{display = "三菱", id = "三菱"},
{display = "巴博斯", id = "巴博斯"},
{display = "布加迪", id = "布加迪"},
{display = "捷尼赛思", id = "捷尼赛思"},
{display = "宾利", id = "宾利"},
{display = "路虎", id = "路虎"},
{display = "柯尼塞格", id = "柯尼塞格"},
{display = "兰博基尼", id = "兰博基尼"},
{display = "JEEP", id = "JEEP"},
{display = "道奇", id = "道奇"},
{display = "雷克萨斯", id = "雷克萨斯"},
{display = "阿斯顿马丁", id = "阿斯顿马丁"},
{display = "迈巴赫", id = "迈巴赫"},
{display = "劳斯莱斯", id = "劳斯莱斯"},
{display = "赞助车联系服主", id = "赞助车联系服主"},
},
["alwaysshop1"] = { -- TYPE of the vehicle shop
{display = "COMMERCIALS", id = "commercials"},
{display = "SUPERCARS", id = "supercars"},
{display = "COMPACTS", id = "compacts"},
{display = "COUPES", id = "coupes"},
{display = "MOTORCYCLES", id = "motorcycles"},
},
["air"] = {
{display = "BIG", id = "big"},
{display = "MEDIUM", id = "medium"},
{display = "SMALL", id = "small"},
},
["water"] = {
{display = "BOATS", id = "boats"},
{display = "SUBMARINE", id = "submarine"},
},
}
Config.UseColorID = true -- Will set the vehicle color based on the color ID: https://wiki.rage.mp/index.php?title=Vehicle_Colors
Config.colors = { -- The vehicle colors, this will update the UI as well (it needs to be 10 colors, do NOT remove, add or change the color names)
color1 = {255, 255, 255, id = 134}, -- The 4th number is the color id for the car if Config.UseColorID = true
color2 = {0, 0, 0, id = 0},
color3 = {150, 150, 150, id = 4},
color4 = {255, 0, 0, id = 27},
color5 = {255, 150, 0, id = 41},
color6 = {255, 230, 0, id = 89},
color7 = {0, 255, 0, id = 55},
color8 = {0, 0, 255, id = 79},
color9 = {76, 0, 255, id = 145},
color10 = {255, 0, 255, id = 137},
}
Config.Requests = { -- Requests texts
['be_hired'] = { text = 'Do you want to be hired by ${name}?'},
}
Config.TextUI = { -- Text UI texts
['open_shop'] = { text = ' 打开 ${shop_name}', color = 'darkblue', side = 'right'},
['buy_business'] = { text = ' to buy ${name} for ${price}€', color = 'darkblue', side = 'right'},
['access_business'] = { text = ' to access ${name}', color = 'darkblue', side = 'right'},
['tow'] = { text = ' To tow', color = 'darkblue', side = 'right'},
['sell_vehicle'] = { text = ' To sell vehicle', color = 'darkblue', side = 'right'},
}
Config.HelpNotification = { -- Used when Config.UseTextUI = false
['open_shop'] = { text = '按~INPUT_CONTEXT~ 打开车辆经销处'},
['buy_business'] = { text = '~INPUT_CONTEXT~ to buy ${name} for ${price}€'},
['access_business'] = { text = '~INPUT_CONTEXT~ to access ${name}'},
['tow'] = { text = '~INPUT_CONTEXT~ To tow'},
['sell_vehicle'] = { text = '~INPUT_CONTEXT~ To sell vehicle'},
}
Config.NotificationsText = { -- Notifications texts
['success_cancel'] = { title = "Vehicle Shop", text = "Successfully canceled the order", time = 5000, type = "success"},
['fail_cancel'] = { title = "Vehicle Shop", text = "Failed to cancel the order", time = 5000, type = "error"},
['cant_access'] = { title = "Vehicle Shop", text = "You don't have permission to access this shop", time = 5000, type = "error"},
['no_license'] = { title = "Vehicle Shop", text = "You have no license to buy this vehicle", time = 5000, type = "error"},
['all_occupied'] = { title = "Vehicle Shop", text = "All vehicle entrances are occupied", time = 5000, type = "error"},
['failed_to_load'] = { title = "Vehicle Shop", text = "Failed to load the vehicle", time = 5000, type = "error"},
['bus_no_money'] = { title = "Vehicle Shop", text = "This business doesn't have enough money", time = 5000, type = "error"},
['success_sell'] = { title = "Vehicle Shop", text = "You sold ${vehicle_name} for ${price}€ successfully", time = 5000, type = "success"},
['not_in_correct_v'] = { title = "Vehicle Shop", text = "You are not in the correct vehicle", time = 5000, type = "error"},
['dont_sell'] = { title = "Vehicle Shop", text = "This vehicle shop don't buy this vehicle", time = 5000, type = "error"},
['not_your_vehicle'] = { title = "Vehicle Shop", text = "You don't own this vehicle", time = 5000, type = "error"},
['not_in_vehicle'] = { title = "Vehicle Shop", text = "You need to be on a vehicle", time = 5000, type = "error"},
['not_admin'] = { title = "Vehicle Shop", text = "You don't have permission to access the admin menu", time = 5000, type = "error"},
['inside_vehicle'] = { title = "Vehicle Shop", text = "You can't access the vehicle shop inside a vehicle", time = 5000, type = "error"},
['load_vehicle'] = { title = "Vehicle Shop", text = "Loading vehicle, please wait", time = 3000, type = "info"},
['stop_testdrive'] = { title = "Vehicle Shop", text = "Stopping the test drive", time = 5000, type = "success"},
['not_testdriving'] = { title = "Vehicle Shop", text = "You are not on a test drive", time = 5000, type = "error"},
['fill_fields'] = { title = "Vehicle Shop", text = "Please fill the input field", time = 5000, type = "error"},
['already_accepted'] = { title = "Vehicle Shop", text = "You already accepted an order, complete it before accepting another", time = 5000, type = "error"},
['not_selected_hire'] = { title = "Vehicle Shop", text = "No one was selected", time = 5000, type = "error"},
['ordered_success'] = { title = "Vehicle Shop", text = "You ordered x${amount} ${vehicle_name} successfully!", time = 5000, type = "success"},
['some_wrong'] = { title = "Vehicle Shop", text = "Something went wrong!", time = 5000, type = "error"},
['not_enough_money'] = { title = "Vehicle Shop", text = "You don't have enough money", time = 5000, type = "error"},
['not_enough_money_s'] = { title = "Vehicle Shop", text = "Your society doesn't have enough money", time = 5000, type = "error"},
['accepted_order'] = { title = "Vehicle Shop", text = "You accepted an order successfully", time = 5000, type = "success"},
['someone_accepted'] = { title = "Vehicle Shop", text = "Someone has already accepted this order", time = 5000, type = "error"},
['finished_order'] = { title = "Vehicle Shop", text = "You successfully finished the order and received ${reward}€", time = 5000, type = "success"},
['no_ads_cancel'] = { title = "Vehicle Shop", text = "You don't have any ads to cancel", time = 5000, type = "error"},
['veh_not_available'] = { title = "Vehicle Shop", text = "This vehicle isn't available", time = 5000, type = "error"},
['price_not_valid'] = { title = "Vehicle Shop", text = "This is not a valid price", time = 5000, type = "error"},
['employee_not_exist'] = { title = "Vehicle Shop", text = "This employee does not exist", time = 5000, type = "error"},
['not_enough_to_sell'] = { title = "Vehicle Shop", text = "You don't have enough vehicles to sell", time = 5000, type = "error"},
['got_hired'] = { title = "Vehicle Shop", text = "You got hired by ${shop_name}", time = 5000, type = "info"},
['got_fired'] = { title = "Vehicle Shop", text = "You got fired by ${shop_name}", time = 5000, type = "info"},
['success_hired'] = { title = "Vehicle Shop", text = "You successfully hired ${hired_name}", time = 5000, type = "success"},
['success_fired'] = { title = "Vehicle Shop", text = "You successfully fired ${fired_name}", time = 5000, type = "success"},
['success_added_ad'] = { title = "Vehicle Shop", text = "Added x${amount} ${vehicle_name} ads", time = 5000, type = "success"},
['deposited'] = { title = "Vehicle Shop", text = "Deposited ${amount}€ successfully", time = 5000, type = "success"},
['withdrawn'] = { title = "Vehicle Shop", text = "Whitdrawn ${amount}€ successfully", time = 5000, type = "success"},
['bought_veh'] = { title = "Vehicle Shop", text = "Bought ${vehicle_name} for ${vehiclePrice}€", time = 5000, type = "success"},
['change_money'] = { title = "Vehicle Shop", text = "Changed the ${shop_name} money to ${money} successfully", time = 5000, type = "success"},
['change_info'] = { title = "Vehicle Shop", text = "Changed the ${vehicle_name} informations successfully", time = 5000, type = "success"},
['remove_veh'] = { title = "Vehicle Shop", text = "Removed the ${vehicle_name} successfully", time = 5000, type = "success"},
['created_veh'] = { title = "Vehicle Shop", text = "Created a ${vehicle_name} successfully", time = 5000, type = "success"},
['cancel_ads'] = { title = "Vehicle Shop", text = "Canceled x${amount} ${vehicle_name} ads", time = 5000, type = "success"},
['updated_price'] = { title = "Vehicle Shop", text = "Updated price of ${vehicle_name} to ${amount}€", time = 5000, type = "success"},
['change_rank'] = { title = "Vehicle Shop", text = "${name} is now a ${job}", time = 5000, type = "success"},
['already_rank'] = { title = "Vehicle Shop", text = "${name} is already a ${job}", time = 5000, type = "error"},
['already_employee'] = { title = "Vehicle Shop", text = "${name} is your employee already", time = 5000, type = "error"},
['max_shops'] = { title = "Vehicle Shop", text = "You can't buy more dealerships", time = 5000, type = "error"},
['got_to_truck'] = { title = "Vehicle Shop", text = "Go get the order marked in your minimap", time = 5000, type = "info"},
['not_towing'] = { title = "Vehicle Shop", text = "You need to be closer to the ordered vehicle", time = 5000, type = "error"},
['towed'] = { title = "Vehicle Shop", text = "You successfully towed the ordered vehicle", time = 5000, type = "success"},
['sold_business'] = { title = "Vehicle Shop", text = "You successfully sold ${shop} for ${amount}€", time = 5000, type = "success"},
['leave_business'] = { title = "Vehicle Shop", text = "You successfully left ${shop}", time = 5000, type = "success"},
['min_max_price'] = { title = "Vehicle Shop", text = "The minimum price needs to be less than the maximum price", time = 5000, type = "error"},
['owner_changed'] = { title = "Vehicle Shop", text = "${owner} is now the owner of ${shop}", time = 5000, type = "success"},
['max_employees'] = { title = "Vehicle Shop", text = "You can only hire ${employees} employees", time = 5000, type = "error"},
}
-------------------------- DISCORD LOGS
-- To set your Discord Webhook URL go to webhook.lua, line 1
Config.BotName = 'ServerName' -- Write the desired bot name
Config.ServerName = 'ServerName' -- Write your server's name
Config.IconURL = '' -- Insert your desired image link
Config.DateFormat = '%d/%m/%Y [%X]' -- To change the date format check this website - https://www.lua.org/pil/22.1.html
-- To change a webhook color you need to set the decimal value of a color, you can use this website to do that - https://www.mathsisfun.com/hexadecimal-decimal-colors.html
Config.BuyBusinessWebhook = true
Config.BuyBusinessWebhookColor = '65280'
Config.SellBusinessWebhook = true
Config.SellBusinessWebhookColor = '16711680'
Config.DepositWebhook = true
Config.DepositWebhookColor = '16776960'
Config.WithdrawWebhook = true
Config.WithdrawWebhookColor = '16776960'
Config.StartOrderWebhook = true
Config.StartOrderWebhookColor = '16742656'
Config.EndOrderWebhook = true
Config.EndOrderWebhookColor = '16742656'
Config.HireWebhook = true
Config.HireWebhookColor = '4223487'
Config.FireWebhook = true
Config.FireWebhookColor = '4223487'
Config.BuyVehicleWebhook = true
Config.BuyVehicleWebhookColor = '65535'
Config.ADStockWebhook = true
Config.ADStockWebhookColor = '7209071'
Config.CancelStockWebhook = true
Config.CancelStockWebhookColor = '7209071'
Config.BuyStockWebhook = true
Config.BuyStockWebhookColor = '7209071'
Config.EditEmployeeRankWebhook = true
Config.EditEmployeeRankWebhookColor = '4223487'
Config.QuitJobWebhook = true
Config.QuitJobWebhookColor = '16711680'
Config = {}
Config.Debug = false
Config.UseCullingRadius = false-- true = 使用裁剪半径 | false = 不使用裁剪半径
Config.UseRoutingBuckets = false-- true = 使用路由桶 | false = 不使用路由桶
Config.PayForOrder = false-- true = 下订单时付款 | false = 不付款,只在售出时收取利润
Config.SetVisibility = false -- true = 选择车辆时玩家不可见
Config.SetInvincibility = false-- true = 玩家在试驾时不会死亡
Config.CheckForOfflineOrdersEvery = 0.5 -- 单位为分钟,每 x 分钟检查一次下线的已接受订单的玩家,如果有玩家下线则取消订单
Config.ShowVehicleShopBlip = false-- 激活/停用车辆商店图标
Config.ShowOwnerBlip = false-- 激活/停用店主图标
Config.ShowBuyVehicleShopBlip = false-- 激活/停用购买商店图标
Config.ShowHasOwnerShopBlip = false-- 激活/停用拥有“hasOwner = false”的商店图标
Config.TestDrive = false-- 激活/停用试驾
Config.DevMode = false-- 允许重新启动脚本(重要:仅在配置脚本时将此设置为true)
Config.EventPrefix = "okokVehicleShop" -- 这将更改事件名称的前缀,如果 Config.EventPrefix = "example",则事件为“example:event”
Config.ESXPrefix = "esx" -- 这将更改 esx 事件的前缀,如 esx:onPlayerDeath
Config.onPlayerDeath = "onPlayerDeath"
Config.playerLoaded = "playerLoaded"
Config.getSharedObject = "getSharedObject"
Config.TestDrivePlate = "TEST"
Config.SalesDateFormat = "%d/%m - %H:%M"
Config.UseOkokTextUI = false -- true = okokTextUI(我建议您使用此选项,因为它比默认的ShowHelpNotification更优化)| false = ShowHelpNotification
Config.Key = 38 --用于打开交互的键,查看这里的键ID:https://docs.fivem.net/docs/game-references/controls/#controls
Config.UseokokRequests = false -- true = 使用okokRequests进行雇佣 | false = 不使用okokRequests - https://okok.tebex.io/package/4724985
Config.UseSameImageForVehicles = false -- true = 对所有车辆使用相同的图片(vehicle.png)| false = 对每辆车使用不同的图片(vehicle_id.png)
Config.HideMinimap = false -- 如果为true,在打开车辆商店菜单时会隐藏小地图
Config.TimeBetweenTransition = 7000 -- 摄像头在更换之前停留的时间,毫秒
Config.TransitionTime = 4000 -- 从一个摄像头移动到另一个摄像头的时间,毫秒
Config.ShakeAmplitude = 0.2 -- 摄像头震动强度
Config.UseKMh = false -- true = 使用千米/小时 | false = 使用英里/小时
Config.MaxVehiclesSpeed = 450 -- 车辆的最高速度(仅用于UI目的,不会改变车辆的速度)
Config.TestDriveTime = 40 -- 单位为秒
Config.StopTestDriveCmd = "cancel" -- 停止试驾的命令
Config.PlateLetters= 3 -- 车牌上的字母数
Config.PlateNumbers= 3 -- 车牌上的数字数
Config.PlateUseSpace = false -- 是否在字母和数字之间使用空格
Config.OrderReceivePercentage = false -- 如果为true = 玩家将获得车辆价格的百分比(Config.OrderCompletedPercentage)| 如果为false = 玩家将获得固定金额(Config.OrderCompletedFlatRate)
Config.OrderCompletedPercentage = 10 -- 雇员完成任务时他将获得此百分比作为奖励,10 = 10% (Config.OrderReceivePercentage = true)
Config.OrderCompletedFlatRate = 1000 -- 雇员完成任务时他将收到的金额(Config.OrderReceivePercentage = false)
Config.HireRange = 3 -- 玩家需要多接近才能进入雇佣范围
Config.AdminCommand = "vsadmin" -- 打开管理员菜单的命令
Config.OwnerBuyVehiclePercentage = 10 -- 店主订购车辆时的折扣比例(基于最低价格)
Config.SellBusinessReceivePercentage = 50 -- 出售商业时玩家将获得的百分比(以百分比表示,50 = 50%)
Config.ClearMoneyWhenBusinessIsSold = false -- true = 出售时从公司中移除资金 | false = 出售时不移除资金
Config.MaxDealershipsPerPlayer = 2 -- 玩家可以拥有的车辆商店数量
Config.MaxEmployeesPerDealership = 10 -- 车辆商店可以雇佣的员工数量
Config.EnableSellVehicle = false -- 允许玩家按照车辆的最低价格的百分比出售车辆
Config.VehicleShopBuyVehicle = false -- true = 出售已购买的车辆时,资金将从车辆商店扣除并将车辆添加到库存中 | false = 车辆商店不会被扣费或接收车辆
Config.VehicleSellPercentage = 40 -- 40 = 出售者将收到车辆最低价格的40%
Config.EnableOkokBankingTransactions = false -- true = 购买车辆时会添加交易(okokBanking)
Config.AdminGroups = { -- 可访问管理员菜单的管理员组
"superadmin",
"admin",
"mod"
}
Config.NoDataTag = "No data"
Config.BossTag = "Boss"
Config.JobRanks = { -- 车辆商店的职位等级,您可以添加或删除任意数量,但至少要保留一个
"新手", -- ID: 1
"有经验的", -- ID: 2
"专家", -- ID: 3
"副店主" -- ID: 4
}
Config.SubOwnerRank = 4 -- 作为副店主的等级ID
Config.MissionForStock = false -- false = 订购车辆时,车辆商店将立即收到而无需任何订单/任务
Config.TruckBlip = {blipId = 67, blipColor = 2, blipScale = 0.9, blipText = "卡车"} -- 有人接受订单时卡车的图标
Config.TrailerBlip = {blipId = 515, blipColor = 2, blipScale = 0.9, blipText = "拖车"} -- 有人接受订单时拖车的图标(用于拥有大型车辆的车辆商店)
Config.OrderBlip = {blipId = 478, blipColor = 5, blipText = "订单"}-- 有人接受订单时车辆的图标
Config.TowMarker = {id = 21, size = {x = 0.5, y = 0.5, z = 0.5}, color = {r = 31, g = 94, b = 255, a = 90}, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0} -- 接受订单时拖车的标记
Config.SmallTowTruckID = "平板卡车"
Config.BigTowTruckID = "牵引车"
Config.TrailerID = "TRFlat"
Config.Aircrafts = { -- 将所有飞机添加到此处,以便脚本将它们设置为数据库中的飞机。
= true,
= true,
= true,
}
Config.Boats = { -- 将所有船只添加到此处,以便脚本将它们设置为数据库中的船只。
= true,
= true,
= true,
}
Config.Stands = { -- 车辆商店信息
{
name = "车辆商店", -- 车辆商店的名称
licenseType = "", -- 如果要使用许可证系统,您需要在sv_utils.lua上设置它
currency = "bank", -- 用于购买/出售业务和购买车辆
hasOwner = false, -- true = 此车辆商店可以有所有者,并且需要维护才能拥有库存 | false = 没有所有者,随时有车辆,价格=在数据库中设置的最高价格
coords = {x = -57.50, y = -1096.73, z = 26.42}, -- 标记/商店位置
sellVehicleCoords = {x = -44.72, y = -1082.12, z = 25.50},
sellVehicleMarker = {id = 1, color = {r = 255, g = 0, b = 0, a = 90}, size = {x = 4.0, y = 4.0, z = 1.5}, radius = 2.5, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0}, -- 出售车辆标记的信息
ownerCoords = {x = -31.66, y = -1114.00, z = 26.42}, -- 拥有者/员工的标记/商店位置
spawnFlatbedPos = {x = -16.95, y = -1105.34, z = 26.67, h = 160.0}, -- 接受订单时平板卡车/卡车生成的位置
towCoords = {bone = 'bodyshell', xPos = 0.0, yPos = -2.35, zPos = 1.0},
missionsVehicleSpawn = { -- 某人接受订单后必须前往的位置(随机选择)
{x = -465.99, y = -618.22, z = 31.17, h = 100.0},
--{x = 218.46, y = -850.71, z = 30.16, h = 100.0},
},
radius = 1, -- 标记的交互半径
price = 10000, -- 车辆商店的价格
blip = {blipId = 225, blipColor = 3, blipScale = 0.9, blipText = "汽车商店"}, -- 车辆商店图标信息
ownerBlip = {blipId = 225, blipColor = 2, blipScale = 0.9, blipText = "车商店面板"}, -- 您拥有/为之工作的商店的标记信息
buyBlip = {blipId = 225, blipColor = 1, blipScale = 0.9, blipText = "购车商店"}, -- 待售商店的标记信息
marker = {id = 20, color = {r = 31, g = 94, b = 255, a = 90}, size = {x = 0.5, y = 0.5, z = 0.5}, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0}, -- 车辆商店的标记信息
ownerMarker = {id = 21, color = {r = 31, g = 94, b = 255, a = 90}, size = {x = 0.5, y = 0.5, z = 0.5}, bobUpAndDown = 0, faceCamera = 0, rotate = 1, drawOnEnts = 0, textureDict = 0, textureName = 0}, -- 拥有菜单的标记信息
bigVehicles = false, -- 如果是飞机/直升机等,将其设置为true,它将使用卡车而不是平板卡车获取订单的车辆
type = "pdm", -- 商店类型(显示的车辆将发生变化)| 可在其他商店上重复
id = "vehicles1", -- 商店的ID,用于确定打开的是哪个商店 | 每个商店的ID需要不同
},
{
...
},
{
...
},
}
Config.ShowVehicle = { -- 显示车辆
= { -- 商店的ID
position = {x = -44.21, y = -1097.06, z = 26.42, h = 160.0}, -- 显示车辆的生成位置
playerOffsetVehiclePreview = {x = 0.0, y = 0.0, z = -1.0}, -- 玩家打开商店时设置的坐标偏移量
noVehicleCam = {x = -44.21-1.49, y = -1097.06-7.65, z = 26.42+1.15}, -- 没有车辆显示时的相机位置
testDrive = {x = -1733.25, y = -2901.43, z = 13.94, h = 330.0}, -- 开始试驾的位置
vehicleSpawn = { -- 购买车辆时车辆生成的位置
{x = -27.65, y = -1082.03, z = 26.64, h = 70.0},
{x = -13.61, y = -1092.4, z = 26.67, h = 340.0},
{x = -12.16, y = -1082.49, z = 26.68, h = 84.0},
},
},
{
...
},
}
页:
[1]