forked from Simnation/Main
ed
This commit is contained in:
parent
6d22d5f77c
commit
63fbc60a00
86 changed files with 8352 additions and 3428 deletions
BIN
resources/[carscripts]/jg-advancedgarages/.fxap
Normal file
BIN
resources/[carscripts]/jg-advancedgarages/.fxap
Normal file
Binary file not shown.
17
resources/[carscripts]/jg-advancedgarages/README.md
Normal file
17
resources/[carscripts]/jg-advancedgarages/README.md
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# JG Scripts Advanced Garages v3
|
||||||
|
|
||||||
|
Hey there! Thanks so much for purchasing, it really means a lot to me. I've spent a lot of time on this script, and I hope you love it. This document has a bunch of the essential information that should help you out:
|
||||||
|
|
||||||
|
## Useful Links
|
||||||
|
|
||||||
|
🔧 Configure Advanced Garages in just minutes: https://configurator.jgscripts.com/advanced-garages
|
||||||
|
|
||||||
|
📚 Documentation: https://docs.jgscripts.com/advanced-garages/introduction
|
||||||
|
|
||||||
|
🔗 Official Website: https://jgscripts.com
|
||||||
|
|
||||||
|
🛒 Store: https://store.jgscripts.com
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
Join Discord https://discord.jgscripts.com, and we will do whatever it takes to help you out and get you up and running!
|
|
@ -0,0 +1,90 @@
|
||||||
|
-- A modified version of "VehicleDeformation" v1.0.1, by Kiminaze. Full credits go to him, so adibe by the license below.
|
||||||
|
-- Check out his other work: https://kiminazes-script-gems.tebex.io/
|
||||||
|
--
|
||||||
|
-- VehicleDeformation License:
|
||||||
|
--
|
||||||
|
-- Copyright (c) 2021 Philipp Decker /// FiveM: Kiminaze / Discord: Kiminaze#9097
|
||||||
|
-- By acquiring a copy of this code snippet for the "FiveM" modification for "Grand Theft
|
||||||
|
-- Auto V" you are granted permission to use and modify all of its parts.
|
||||||
|
-- You are allowed to (re-)distribute and sell resources that have been created with the
|
||||||
|
-- help of this code snippet. You have to include this license when doing so.
|
||||||
|
-- This code snippet is provided "as is" and the copyright holder of this code snippet can
|
||||||
|
-- not be held accountable for any damages occuring during the usage or modification of
|
||||||
|
-- this code snippet.
|
||||||
|
|
||||||
|
local MAX_DEFORM_ITERATIONS = 50 -- iterations for damage application
|
||||||
|
local DEFORMATION_DAMAGE_THRESHOLD = 0.05 -- the minimum damage value at a deformation point
|
||||||
|
|
||||||
|
function getVehicleDeformation(vehicle)
|
||||||
|
assert(vehicle ~= nil and DoesEntityExist(vehicle), "Parameter \"vehicle\" must be a valid vehicle entity!")
|
||||||
|
|
||||||
|
-- check vehicle size and pre-calc values for offsets
|
||||||
|
local min, max = GetModelDimensions(GetEntityModel(vehicle))
|
||||||
|
local X = (max.x - min.x) * 0.5
|
||||||
|
local Y = (max.y - min.y) * 0.5
|
||||||
|
local Z = (max.z - min.z) * 0.5
|
||||||
|
local halfY = Y * 0.5
|
||||||
|
|
||||||
|
-- offsets for deformation check
|
||||||
|
local positions = {vector3(-X, Y, 0.0), vector3(-X, Y, Z), vector3(0.0, Y, 0.0), vector3(0.0, Y, Z), vector3(X, Y, 0.0), vector3(X, Y, Z), vector3(-X, halfY, 0.0), vector3(-X, halfY, Z), vector3(0.0, halfY, 0.0), vector3(0.0, halfY, Z), vector3(X, halfY, 0.0), vector3(X, halfY, Z),
|
||||||
|
vector3(-X, 0.0, 0.0), vector3(-X, 0.0, Z), vector3(0.0, 0.0, 0.0), vector3(0.0, 0.0, Z), vector3(X, 0.0, 0.0), vector3(X, 0.0, Z), vector3(-X, -halfY, 0.0), vector3(-X, -halfY, Z), vector3(0.0, -halfY, 0.0), vector3(0.0, -halfY, Z), vector3(X, -halfY, 0.0),
|
||||||
|
vector3(X, -halfY, Z), vector3(-X, -Y, 0.0), vector3(-X, -Y, Z), vector3(0.0, -Y, 0.0), vector3(0.0, -Y, Z), vector3(X, -Y, 0.0), vector3(X, -Y, Z)}
|
||||||
|
|
||||||
|
-- get deformation from vehicle
|
||||||
|
local deformationPoints = {}
|
||||||
|
for i, pos in ipairs(positions) do
|
||||||
|
-- translate damage from vector3 to a float
|
||||||
|
local dmg = #(GetVehicleDeformationAtPos(vehicle, pos.x, pos.y, pos.z))
|
||||||
|
if (dmg > DEFORMATION_DAMAGE_THRESHOLD) then
|
||||||
|
table.insert(deformationPoints, {pos, dmg})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return {
|
||||||
|
deformation = deformationPoints,
|
||||||
|
dirt = GetVehicleDirtLevel(vehicle)
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
function setVehicleDeformation(vehicle, deformation)
|
||||||
|
assert(vehicle ~= nil and DoesEntityExist(vehicle), "Parameter \"vehicle\" must be a valid vehicle entity!")
|
||||||
|
assert(deformation ~= nil and type(deformation) == "table", "Parameter \"deformation\" must be a table!")
|
||||||
|
|
||||||
|
local deformationPoints = deformation.deformation
|
||||||
|
local dirt = deformation.dirt
|
||||||
|
|
||||||
|
CreateThread(function()
|
||||||
|
local handlingMult, damageMult = GetVehicleHandlingFloat(vehicle, "CHandlingData", "fDeformationDamageMult"), 20.0
|
||||||
|
if handlingMult <= 0.55 then damageMult = 1000.0
|
||||||
|
elseif handlingMult <= 0.65 then damageMult = 400.0
|
||||||
|
elseif handlingMult <= 0.75 then damageMult = 200.0 end
|
||||||
|
|
||||||
|
for _, def in ipairs(deformationPoints) do
|
||||||
|
def[1] = vector3(def[1].x, def[1].y, def[1].z)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- iterate over all deformation points and check if more than one application is necessary
|
||||||
|
-- looping is necessary for most vehicles that have a really bad damage model or take a lot of damage (e.g. neon, phantom3)
|
||||||
|
local deform = true
|
||||||
|
local iteration = 0
|
||||||
|
|
||||||
|
while deform and iteration < MAX_DEFORM_ITERATIONS do
|
||||||
|
if not DoesEntityExist(vehicle) then return end
|
||||||
|
|
||||||
|
deform = false
|
||||||
|
|
||||||
|
for _, def in ipairs(deformationPoints) do
|
||||||
|
if #(GetVehicleDeformationAtPos(vehicle, def[1].x, def[1].y, def[1].z)) < def[2] then
|
||||||
|
local offset = def[1] * 2.0
|
||||||
|
SetVehicleDamage(vehicle, offset.x, offset.y, offset.z, def[2] * damageMult, 1000.0, true)
|
||||||
|
deform = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
iteration = iteration + 1
|
||||||
|
Wait(100)
|
||||||
|
end
|
||||||
|
|
||||||
|
SetVehicleDirtLevel(vehicle, dirt)
|
||||||
|
end)
|
||||||
|
end
|
BIN
resources/[carscripts]/jg-advancedgarages/client/cl-garage.lua
Normal file
BIN
resources/[carscripts]/jg-advancedgarages/client/cl-garage.lua
Normal file
Binary file not shown.
BIN
resources/[carscripts]/jg-advancedgarages/client/cl-impound.lua
Normal file
BIN
resources/[carscripts]/jg-advancedgarages/client/cl-impound.lua
Normal file
Binary file not shown.
BIN
resources/[carscripts]/jg-advancedgarages/client/cl-interior.lua
Normal file
BIN
resources/[carscripts]/jg-advancedgarages/client/cl-interior.lua
Normal file
Binary file not shown.
|
@ -0,0 +1,186 @@
|
||||||
|
local GARAGE_ZONE_Z_DIST = 4.0
|
||||||
|
local inVehicle, blips, zones, peds = nil, {}, {}, {}
|
||||||
|
local cachedGarageLocations
|
||||||
|
|
||||||
|
function getAvailableGarageLocations()
|
||||||
|
if not cachedGarageLocations then
|
||||||
|
cachedGarageLocations = lib.callback.await("jg-advancedgarages:server:get-available-garage-locations", false)
|
||||||
|
end
|
||||||
|
|
||||||
|
return cachedGarageLocations or {}
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param coords vector3
|
||||||
|
---@param marker table
|
||||||
|
function drawMarkerOnFrame(coords, marker)
|
||||||
|
---@diagnostic disable-next-line: missing-parameter
|
||||||
|
DrawMarker(marker.id, coords.x, coords.y, coords.z, 0, 0, 0, 0, 0, 0, marker.size.x, marker.size.y, marker.size.z, marker.color.r, marker.color.g, marker.color.b, marker.color.a, marker.bobUpAndDown, marker.faceCamera, 0, marker.rotate, marker.drawOnEnts)
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param name string
|
||||||
|
---@param coords vector3
|
||||||
|
---@param blipId integer
|
||||||
|
---@param blipColour integer
|
||||||
|
---@param blipScale number
|
||||||
|
local function createBlip(name, coords, blipId, blipColour, blipScale)
|
||||||
|
local blip = AddBlipForCoord(coords.x, coords.y, coords.z)
|
||||||
|
SetBlipSprite(blip, blipId)
|
||||||
|
SetBlipColour(blip, blipColour)
|
||||||
|
SetBlipScale(blip, blipScale)
|
||||||
|
SetBlipAsShortRange(blip, true)
|
||||||
|
BeginTextCommandSetBlipName("STRING")
|
||||||
|
AddTextComponentString(name)
|
||||||
|
EndTextCommandSetBlipName(blip)
|
||||||
|
return blip
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param garageId string
|
||||||
|
---@param coords vector3|vector4
|
||||||
|
---@param dist number
|
||||||
|
---@param marker? table | false | nil
|
||||||
|
---@param onEnter? function
|
||||||
|
---@param onExit? function
|
||||||
|
---@param inside? function
|
||||||
|
local function createLocation(garageId, coords, dist, marker, onEnter, onExit, inside)
|
||||||
|
local point = lib.zones.box({
|
||||||
|
coords = coords,
|
||||||
|
size = vector3(dist, dist, GARAGE_ZONE_Z_DIST),
|
||||||
|
rotation = coords.w or 0,
|
||||||
|
garageId = garageId,
|
||||||
|
onEnter = onEnter,
|
||||||
|
onExit = onExit,
|
||||||
|
inside = inside
|
||||||
|
})
|
||||||
|
|
||||||
|
zones[#zones+1] = point
|
||||||
|
|
||||||
|
local markerPoint = lib.points.new({
|
||||||
|
coords = coords,
|
||||||
|
distance = dist * 4,
|
||||||
|
garageId = garageId
|
||||||
|
})
|
||||||
|
|
||||||
|
if not marker then return end
|
||||||
|
|
||||||
|
function markerPoint:nearby()
|
||||||
|
drawMarkerOnFrame(coords, marker)
|
||||||
|
end
|
||||||
|
|
||||||
|
zones[#zones+1] = markerPoint
|
||||||
|
end
|
||||||
|
|
||||||
|
---Runs on tick while ped is in a garage zone
|
||||||
|
---@param garageId string
|
||||||
|
---@param garageType "car"|"sea"|"air"
|
||||||
|
---@param isImpound boolean
|
||||||
|
local function pedIsInGarageZone(garageId, garageType, isImpound)
|
||||||
|
local pedIsInVehicle = cache.vehicle and GetPedInVehicleSeat(cache.vehicle, -1) == cache.ped
|
||||||
|
local prompt = isImpound and Config.OpenImpoundPrompt or (pedIsInVehicle and Config.InsertVehiclePrompt or Config.OpenGaragePrompt)
|
||||||
|
local action = function()
|
||||||
|
if pedIsInVehicle then
|
||||||
|
TriggerEvent("jg-advancedgarages:client:store-vehicle", garageId, garageType, false)
|
||||||
|
else
|
||||||
|
TriggerEvent("jg-advancedgarages:client:open-garage", garageId, garageType, false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if inVehicle ~= pedIsInVehicle then
|
||||||
|
if Config.UseRadialMenu then
|
||||||
|
Framework.Client.RadialMenuAdd(garageId, prompt, action)
|
||||||
|
else
|
||||||
|
Framework.Client.ShowTextUI(prompt)
|
||||||
|
end
|
||||||
|
|
||||||
|
inVehicle = pedIsInVehicle
|
||||||
|
end
|
||||||
|
|
||||||
|
if Config.UseRadialMenu then return end
|
||||||
|
if IsControlJustPressed(0, isImpound and Config.OpenImpoundKeyBind or (pedIsInVehicle and Config.InsertVehicleKeyBind or Config.OpenGarageKeyBind)) then
|
||||||
|
action()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param garages table
|
||||||
|
local function createTargetZones(garages)
|
||||||
|
for _, ped in ipairs(peds) do
|
||||||
|
Framework.Client.RemoveTarget(ped)
|
||||||
|
end
|
||||||
|
|
||||||
|
for garageId, garage in pairs(garages) do
|
||||||
|
for _, zone in ipairs(zones) do zone:remove() end -- Remove existing zones
|
||||||
|
|
||||||
|
entity = Framework.Client.RegisterTarget(false, garage.coords, garageId, garage.type, garage.garageType)
|
||||||
|
|
||||||
|
peds[#peds+1] = entity
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param garages table
|
||||||
|
local function createZones(garages)
|
||||||
|
for _, zone in ipairs(zones) do zone:remove() end -- Remove existing zones
|
||||||
|
|
||||||
|
for garageId, garage in pairs(garages) do
|
||||||
|
if garage then
|
||||||
|
-- Zone
|
||||||
|
createLocation(
|
||||||
|
garageId,
|
||||||
|
garage.coords,
|
||||||
|
garage.distance,
|
||||||
|
not garage.hideMarkers and garage.markers or false,
|
||||||
|
nil,
|
||||||
|
function()
|
||||||
|
if Config.UseRadialMenu then
|
||||||
|
Framework.Client.RadialMenuRemove(garageId)
|
||||||
|
else
|
||||||
|
Framework.Client.HideTextUI()
|
||||||
|
end
|
||||||
|
inVehicle = nil
|
||||||
|
end,
|
||||||
|
function()
|
||||||
|
pedIsInGarageZone(garageId, garage.type, garage.garageType == "impound")
|
||||||
|
end
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function createGarageZonesAndBlips()
|
||||||
|
for _, blip in ipairs(blips) do RemoveBlip(blip) end -- Remove existing blips
|
||||||
|
|
||||||
|
local garages = getAvailableGarageLocations()
|
||||||
|
|
||||||
|
if Config.UseTarget then
|
||||||
|
createTargetZones(garages)
|
||||||
|
else
|
||||||
|
createZones(garages)
|
||||||
|
end
|
||||||
|
|
||||||
|
for garageId, garage in pairs(garages) do
|
||||||
|
if garage then
|
||||||
|
-- Blip
|
||||||
|
if not garage.hideBlip then
|
||||||
|
local blipName = garage.garageType == "impound" and Locale.impound or garage.garageType == "job" and Locale.jobGarage or garage.garageType == "gang" and Locale.gangGarage or Locale.garage
|
||||||
|
if garage.uniqueBlips then blipName = blipName .. ": " .. garageId end
|
||||||
|
local blip = createBlip(blipName, garage.coords, garage.blip.id, garage.blip.color, garage.blip.scale)
|
||||||
|
blips[#blips + 1] = blip
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
RegisterNetEvent("jg-advancedgarages:client:update-blips-text-uis", function()
|
||||||
|
cachedGarageLocations = lib.callback.await("jg-advancedgarages:server:get-available-garage-locations", false)
|
||||||
|
createGarageZonesAndBlips()
|
||||||
|
end)
|
||||||
|
|
||||||
|
CreateThread(function()
|
||||||
|
Wait(2500)
|
||||||
|
createGarageZonesAndBlips()
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Delete peds in case the script restarts
|
||||||
|
AddEventHandler("onResourceStop", function(resourceName)
|
||||||
|
if (GetCurrentResourceName() == resourceName) then
|
||||||
|
for _, ped in ipairs(peds) do DeleteEntity(ped) end
|
||||||
|
end
|
||||||
|
end)
|
BIN
resources/[carscripts]/jg-advancedgarages/client/cl-main.lua
Normal file
BIN
resources/[carscripts]/jg-advancedgarages/client/cl-main.lua
Normal file
Binary file not shown.
Binary file not shown.
BIN
resources/[carscripts]/jg-advancedgarages/client/cl-spawn.lua
Normal file
BIN
resources/[carscripts]/jg-advancedgarages/client/cl-spawn.lua
Normal file
Binary file not shown.
BIN
resources/[carscripts]/jg-advancedgarages/client/cl-vehicle.lua
Normal file
BIN
resources/[carscripts]/jg-advancedgarages/client/cl-vehicle.lua
Normal file
Binary file not shown.
|
@ -0,0 +1,67 @@
|
||||||
|
--
|
||||||
|
-- Custom code for common events
|
||||||
|
--
|
||||||
|
|
||||||
|
---@param vehicle integer Vehicle entity
|
||||||
|
---@param vehicleDbData table Vehicle row from the database
|
||||||
|
---@param type "personal" | "job" | "gang"
|
||||||
|
RegisterNetEvent("jg-advancedgarages:client:InsertVehicle:config", function(vehicle, vehicleDbData, type)
|
||||||
|
-- Code placed in here will be run when the player inserts their vehicle (if the vehicle is owned; and passes all the checks)
|
||||||
|
end)
|
||||||
|
|
||||||
|
---@param vehicle integer Vehicle entity
|
||||||
|
RegisterNetEvent("jg-advancedgarages:client:ImpoundVehicle:config", function(vehicle)
|
||||||
|
-- Code placed in here will be run just before the vehicle is set to impounded in the DB, and before the entity is deleted
|
||||||
|
end)
|
||||||
|
|
||||||
|
---@param vehicle integer Vehicle entity
|
||||||
|
---@param vehicleDbData table Vehicle row from the database
|
||||||
|
---@param type "personal" | "job" | "gang"
|
||||||
|
RegisterNetEvent("jg-advancedgarages:client:TakeOutVehicle:config", function(vehicle, vehicleDbData, type)
|
||||||
|
-- Code placed in here will be run after a vehicle has been taken out of a garage
|
||||||
|
end)
|
||||||
|
|
||||||
|
---@param plate string
|
||||||
|
---@param newOwnerPlayerId integer
|
||||||
|
RegisterNetEvent("jg-advancedgarages:client:TransferVehicle:config", function(plate, newOwnerPlayerId)
|
||||||
|
-- Code placed in here will be fired when a vehicle is transferred to another player via a public garage
|
||||||
|
end)
|
||||||
|
|
||||||
|
---@param vehicle integer Vehicle entity
|
||||||
|
---@param plate string
|
||||||
|
---@param garageId string
|
||||||
|
---@param vehicleDbData table Vehicle row from the database
|
||||||
|
---@param props table Vehicle properties
|
||||||
|
---@param fuel integer Fuel level
|
||||||
|
---@param body integer Body health
|
||||||
|
---@param engine integer Engine health
|
||||||
|
---@param damageModel table Damage model
|
||||||
|
RegisterNetEvent('jg-advancedgarages:client:insert-vehicle-verification', function(vehicle, plate, garageId, vehicleDbData, props, fuel, body, engine, damageModel, cb)
|
||||||
|
cb(true)
|
||||||
|
end)
|
||||||
|
|
||||||
|
---@param plate string
|
||||||
|
---@param vehicleDbData table Vehicle row from the database
|
||||||
|
---@param garageId string
|
||||||
|
lib.callback.register("jg-advancedgarages:client:takeout-vehicle-verification", function(plate, vehicleDbData, garageId)
|
||||||
|
return true
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Check whether a vehicle can be transferred between players, return false to prevent
|
||||||
|
---@param fromPlayerSrc integer
|
||||||
|
---@param toPlayerSrc integer
|
||||||
|
---@param plate string
|
||||||
|
---@return boolean allowTransfer
|
||||||
|
lib.callback.register("jg-advancedgarages:client:transfer-vehicle-verification", function(fromPlayerSrc, toPlayerSrc, plate)
|
||||||
|
return true
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Check whether a vehicle can be transferred between garages, return false to prevent
|
||||||
|
---@param currentGarageId string
|
||||||
|
---@param fromGarageId string
|
||||||
|
---@param toGarageId string
|
||||||
|
---@param plate string
|
||||||
|
---@return boolean allowTransfer
|
||||||
|
lib.callback.register("jg-advancedgarages:client:transfer-garage-verification", function(currentGarageId, fromGarageId, toGarageId, plate)
|
||||||
|
return true
|
||||||
|
end)
|
|
@ -0,0 +1 @@
|
||||||
|
-- Add your own server code in here for custom functionality
|
669
resources/[carscripts]/jg-advancedgarages/config/config.lua
Normal file
669
resources/[carscripts]/jg-advancedgarages/config/config.lua
Normal file
|
@ -0,0 +1,669 @@
|
||||||
|
-- Generated with https://configurator.jgscripts.com at 8/6/2025, 1:32:52 PM
|
||||||
|
|
||||||
|
Config = {}
|
||||||
|
Config.Locale = 'de'
|
||||||
|
Config.NumberAndDateFormat = 'en-US'
|
||||||
|
Config.Currency = 'USD'
|
||||||
|
Config.Framework = 'QBCore'
|
||||||
|
Config.FuelSystem = 'none'
|
||||||
|
Config.VehicleKeys = 'qb-vehiclekeys'
|
||||||
|
Config.Notifications = 'ox_lib'
|
||||||
|
Config.DrawText = 'jg-textui'
|
||||||
|
Config.OpenGarageKeyBind = 38
|
||||||
|
Config.OpenGaragePrompt = '[E] Open Garage'
|
||||||
|
Config.OpenImpoundKeyBind = 38
|
||||||
|
Config.OpenImpoundPrompt = '[E] Open Impound'
|
||||||
|
Config.InsertVehicleKeyBind = 38
|
||||||
|
Config.InsertVehiclePrompt = '[E] Store Vehicle'
|
||||||
|
Config.ExitInteriorKeyBind = 38
|
||||||
|
Config.ExitInteriorPrompt = '[E] Exit Garage'
|
||||||
|
Config.UseTarget = true
|
||||||
|
Config.TargetPed = 's_m_y_valet_01'
|
||||||
|
Config.Target = 'ox_target'
|
||||||
|
Config.UseRadialMenu = false
|
||||||
|
Config.RadialMenu = 'ox_lib'
|
||||||
|
Config.ShowVehicleImages = false
|
||||||
|
Config.DoNotSpawnInsideVehicle = false
|
||||||
|
Config.SaveVehicleDamage = true
|
||||||
|
Config.AdvancedVehicleDamage = true
|
||||||
|
Config.SaveVehiclePropsOnInsert = true
|
||||||
|
Config.SpawnVehiclesWithServerSetter = false
|
||||||
|
Config.TransferHidePlayerNames = false
|
||||||
|
Config.GarageVehicleTransferCost = 0
|
||||||
|
Config.EnableTransfers = {
|
||||||
|
betweenGarages = false,
|
||||||
|
betweenPlayers = true,
|
||||||
|
}
|
||||||
|
Config.AllowInfiniteVehicleSpawns = false
|
||||||
|
Config.JobGaragesAllowInfiniteVehicleSpawns = false
|
||||||
|
Config.GangGaragesAllowInfiniteVehicleSpawns = false
|
||||||
|
Config.GarageVehicleReturnCost = 0
|
||||||
|
Config.GarageVehicleReturnCostSocietyFund = false
|
||||||
|
Config.GarageShowBlips = true
|
||||||
|
Config.GarageUniqueBlips = false
|
||||||
|
Config.GarageUniqueLocations = true
|
||||||
|
Config.GarageEnableInteriors = true
|
||||||
|
Config.GarageLocations = {
|
||||||
|
['Legion Square'] = {
|
||||||
|
coords = vector3(215.09, -805.17, 30.81),
|
||||||
|
spawn = vector4(212.42, -798.77, 30.88, 336.61),
|
||||||
|
distance = 15,
|
||||||
|
type = 'car',
|
||||||
|
hideBlip = false,
|
||||||
|
blip = {
|
||||||
|
id = 357,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
['Islington South'] = {
|
||||||
|
coords = vector3(273.0, -343.85, 44.91),
|
||||||
|
spawn = vector4(270.75, -340.51, 44.92, 342.03),
|
||||||
|
distance = 15,
|
||||||
|
type = 'car',
|
||||||
|
hideBlip = false,
|
||||||
|
blip = {
|
||||||
|
id = 357,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
['Grove Street'] = {
|
||||||
|
coords = vector3(14.66, -1728.52, 29.3),
|
||||||
|
spawn = vector4(23.93, -1722.9, 29.3, 310.58),
|
||||||
|
distance = 15,
|
||||||
|
type = 'car',
|
||||||
|
hideBlip = false,
|
||||||
|
blip = {
|
||||||
|
id = 357,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
['Mirror Park'] = {
|
||||||
|
coords = vector3(1032.84, -765.1, 58.18),
|
||||||
|
spawn = vector4(1023.2, -764.27, 57.96, 319.66),
|
||||||
|
distance = 15,
|
||||||
|
type = 'car',
|
||||||
|
hideBlip = false,
|
||||||
|
blip = {
|
||||||
|
id = 357,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Beach = {
|
||||||
|
coords = vector3(-1248.69, -1425.71, 4.32),
|
||||||
|
spawn = vector4(-1244.27, -1422.08, 4.32, 37.12),
|
||||||
|
distance = 15,
|
||||||
|
type = 'car',
|
||||||
|
hideBlip = false,
|
||||||
|
blip = {
|
||||||
|
id = 357,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
['Great Ocean Highway'] = {
|
||||||
|
coords = vector3(-2961.58, 375.93, 15.02),
|
||||||
|
spawn = vector4(-2964.96, 372.07, 14.78, 86.07),
|
||||||
|
distance = 15,
|
||||||
|
type = 'car',
|
||||||
|
hideBlip = false,
|
||||||
|
blip = {
|
||||||
|
id = 357,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
['Sandy South'] = {
|
||||||
|
coords = vector3(217.33, 2605.65, 46.04),
|
||||||
|
spawn = vector4(216.94, 2608.44, 46.33, 14.07),
|
||||||
|
distance = 15,
|
||||||
|
type = 'car',
|
||||||
|
hideBlip = false,
|
||||||
|
blip = {
|
||||||
|
id = 357,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
['Sandy North'] = {
|
||||||
|
coords = vector3(1878.44, 3760.1, 32.94),
|
||||||
|
spawn = vector4(1880.14, 3757.73, 32.93, 215.54),
|
||||||
|
distance = 15,
|
||||||
|
type = 'car',
|
||||||
|
hideBlip = false,
|
||||||
|
blip = {
|
||||||
|
id = 357,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
['North Vinewood Blvd'] = {
|
||||||
|
coords = vector3(365.21, 295.65, 103.46),
|
||||||
|
spawn = vector4(364.84, 289.73, 103.42, 164.23),
|
||||||
|
distance = 15,
|
||||||
|
type = 'car',
|
||||||
|
hideBlip = false,
|
||||||
|
blip = {
|
||||||
|
id = 357,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Grapeseed = {
|
||||||
|
coords = vector3(1713.06, 4745.32, 41.96),
|
||||||
|
spawn = vector4(1710.64, 4746.94, 41.95, 90.11),
|
||||||
|
distance = 15,
|
||||||
|
type = 'car',
|
||||||
|
hideBlip = false,
|
||||||
|
blip = {
|
||||||
|
id = 357,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
['Paleto Bay'] = {
|
||||||
|
coords = vector3(107.32, 6611.77, 31.98),
|
||||||
|
spawn = vector4(110.84, 6607.82, 31.86, 265.28),
|
||||||
|
distance = 15,
|
||||||
|
type = 'car',
|
||||||
|
hideBlip = false,
|
||||||
|
blip = {
|
||||||
|
id = 357,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Boats = {
|
||||||
|
coords = vector3(-795.15, -1510.79, 1.6),
|
||||||
|
spawn = vector4(-798.66, -1507.73, -0.47, 102.23),
|
||||||
|
distance = 20,
|
||||||
|
type = 'sea',
|
||||||
|
hideBlip = false,
|
||||||
|
blip = {
|
||||||
|
id = 410,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Hangar = {
|
||||||
|
coords = vector3(-1243.49, -3391.88, 13.94),
|
||||||
|
spawn = vector4(-1258.4, -3394.56, 13.94, 328.23),
|
||||||
|
distance = 20,
|
||||||
|
type = 'air',
|
||||||
|
hideBlip = false,
|
||||||
|
blip = {
|
||||||
|
id = 423,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
Config.PrivGarageCreateCommand = 'privategarages'
|
||||||
|
Config.PrivGarageCreateJobRestriction = {
|
||||||
|
'realestate',
|
||||||
|
}
|
||||||
|
Config.PrivGarageEnableInteriors = true
|
||||||
|
Config.PrivGarageHideBlips = false
|
||||||
|
Config.PrivGarageBlip = {
|
||||||
|
id = 357,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.7,
|
||||||
|
}
|
||||||
|
Config.JobGarageShowBlips = true
|
||||||
|
Config.JobGarageUniqueBlips = false
|
||||||
|
Config.JobGarageSetVehicleCommand = 'setjobvehicle'
|
||||||
|
Config.JobGarageRemoveVehicleCommand = 'removejobvehicle'
|
||||||
|
Config.JobGarageUniqueLocations = true
|
||||||
|
Config.JobGarageEnableInteriors = true
|
||||||
|
Config.JobGarageLocations = {
|
||||||
|
Mechanic = {
|
||||||
|
coords = vector3(157.86, -3005.9, 7.03),
|
||||||
|
spawn = vector4(165.26, -3014.94, 5.9, 268.8),
|
||||||
|
distance = 15,
|
||||||
|
job = {
|
||||||
|
'mechanic',
|
||||||
|
},
|
||||||
|
type = 'car',
|
||||||
|
vehiclesType = 'owned',
|
||||||
|
blip = {
|
||||||
|
id = 357,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideBlip = false,
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Police = {
|
||||||
|
coords = vector3(434.48, -1016.97, 28.83),
|
||||||
|
spawn = {
|
||||||
|
vector4(434.55, -1014.54, 28.49, 91.56),
|
||||||
|
},
|
||||||
|
distance = 15,
|
||||||
|
type = 'car',
|
||||||
|
job = {
|
||||||
|
'police',
|
||||||
|
},
|
||||||
|
hideBlip = false,
|
||||||
|
vehiclesType = 'personal',
|
||||||
|
vehicles = {
|
||||||
|
{
|
||||||
|
model = 'police',
|
||||||
|
plate = 'PD',
|
||||||
|
minJobGrade = 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
model = 'police2',
|
||||||
|
plate = false,
|
||||||
|
minJobGrade = 3,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
blip = {
|
||||||
|
id = 357,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
showLiveriesExtrasMenu = true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
Config.GangGarageShowBlips = true
|
||||||
|
Config.GangGarageUniqueBlips = false
|
||||||
|
Config.GangGarageSetVehicleCommand = 'setgangvehicle'
|
||||||
|
Config.GangGarageRemoveVehicleCommand = 'removegangvehicle'
|
||||||
|
Config.GangGarageUniqueLocations = true
|
||||||
|
Config.GangGarageEnableInteriors = true
|
||||||
|
Config.GangGarageLocations = {}
|
||||||
|
Config.ImpoundCommand = 'iv'
|
||||||
|
Config.ImpoundFeesSocietyFund = false
|
||||||
|
Config.ImpoundShowBlips = true
|
||||||
|
Config.ImpoundUniqueBlips = false
|
||||||
|
Config.ImpoundTimeOptions = {
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
4,
|
||||||
|
12,
|
||||||
|
24,
|
||||||
|
72,
|
||||||
|
168,
|
||||||
|
}
|
||||||
|
Config.ImpoundLocations = {
|
||||||
|
['Impound A'] = {
|
||||||
|
coords = vector3(410.8, -1626.26, 29.29),
|
||||||
|
spawn = vector4(408.44, -1630.88, 29.29, 136.88),
|
||||||
|
distance = 15,
|
||||||
|
type = 'car',
|
||||||
|
job = {
|
||||||
|
'police',
|
||||||
|
},
|
||||||
|
blip = {
|
||||||
|
id = 68,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideBlip = false,
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
['Impound B'] = {
|
||||||
|
coords = vector3(1649.71, 3789.61, 34.79),
|
||||||
|
spawn = vector4(1643.66, 3798.36, 34.49, 216.16),
|
||||||
|
distance = 15,
|
||||||
|
type = 'car',
|
||||||
|
job = {
|
||||||
|
'police',
|
||||||
|
},
|
||||||
|
blip = {
|
||||||
|
id = 68,
|
||||||
|
color = 0,
|
||||||
|
scale = 0.6,
|
||||||
|
},
|
||||||
|
hideBlip = false,
|
||||||
|
hideMarkers = true,
|
||||||
|
markers = {
|
||||||
|
id = 21,
|
||||||
|
size = {
|
||||||
|
x = 0.3,
|
||||||
|
y = 0.3,
|
||||||
|
z = 0.3,
|
||||||
|
},
|
||||||
|
color = {
|
||||||
|
r = 255,
|
||||||
|
g = 255,
|
||||||
|
b = 255,
|
||||||
|
a = 120,
|
||||||
|
},
|
||||||
|
bobUpAndDown = 0,
|
||||||
|
faceCamera = 0,
|
||||||
|
rotate = 1,
|
||||||
|
drawOnEnts = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
Config.GarageInteriorEntrance = vector4(227.96, -1003.06, -99.0, 358.0)
|
||||||
|
Config.GarageInteriorVehiclePositions = {
|
||||||
|
vec4(233.000000, -984.000000, -99.410004, 118.000000),
|
||||||
|
vec4(233.000000, -988.500000, -99.410004, 118.000000),
|
||||||
|
vec4(233.000000, -993.000000, -99.410004, 118.000000),
|
||||||
|
vec4(233.000000, -997.500000, -99.410004, 118.000000),
|
||||||
|
vec4(233.000000, -1002.000000, -99.410004, 118.000000),
|
||||||
|
vec4(223.600006, -979.000000, -99.410004, 235.199997),
|
||||||
|
vec4(223.600006, -983.599976, -99.410004, 235.199997),
|
||||||
|
vec4(223.600006, -988.200012, -99.410004, 235.199997),
|
||||||
|
vec4(223.600006, -992.799988, -99.410004, 235.199997),
|
||||||
|
vec4(223.600006, -997.400024, -99.410004, 235.199997),
|
||||||
|
vec4(223.600006, -1002.000000, -99.410004, 235.199997),
|
||||||
|
}
|
||||||
|
Config.ChangeVehiclePlate = 'vplate'
|
||||||
|
Config.DeleteVehicleFromDB = 'dvdb'
|
||||||
|
Config.ReturnVehicleToGarage = 'vreturn'
|
||||||
|
Config.VehicleLabels = {
|
||||||
|
spawnName = 'Pretty Vehicle Label',
|
||||||
|
}
|
||||||
|
Config.PlayerTransferBlacklist = {
|
||||||
|
'spawnName',
|
||||||
|
}
|
||||||
|
Config.ReturnToPreviousRoutingBucket = false
|
||||||
|
Config.__v3Config = true
|
|
@ -0,0 +1,535 @@
|
||||||
|
---@param text string
|
||||||
|
function Framework.Client.ShowTextUI(text)
|
||||||
|
if (Config.DrawText == "auto" and GetResourceState("jg-textui") == "started") or Config.DrawText == "jg-textui" then
|
||||||
|
exports["jg-textui"]:DrawText(text)
|
||||||
|
elseif (Config.DrawText == "auto" and GetResourceState("ox_lib") == "started") or Config.DrawText == "ox_lib" then
|
||||||
|
exports["ox_lib"]:showTextUI(text, {
|
||||||
|
position = "left-center"
|
||||||
|
})
|
||||||
|
elseif (Config.DrawText == "auto" and GetResourceState("okokTextUI") == "started") or Config.DrawText == "okokTextUI" then
|
||||||
|
exports["okokTextUI"]:Open(text, "lightblue", "left")
|
||||||
|
elseif (Config.DrawText == "auto" and GetResourceState("ps-ui") == "started") or Config.DrawText == "ps-ui" then
|
||||||
|
exports["ps-ui"]:DisplayText(text, "primary")
|
||||||
|
elseif Config.Framework == "QBCore" then
|
||||||
|
exports["qb-core"]:DrawText(text)
|
||||||
|
else
|
||||||
|
error("You do not have a TextUI system set up!")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function Framework.Client.HideTextUI()
|
||||||
|
if (Config.DrawText == "auto" and GetResourceState("jg-textui") == "started") or Config.DrawText == "jg-textui" then
|
||||||
|
exports["jg-textui"]:HideText()
|
||||||
|
elseif (Config.DrawText == "auto" and GetResourceState("ox_lib") == "started") or Config.DrawText == "ox_lib" then
|
||||||
|
exports["ox_lib"]:hideTextUI()
|
||||||
|
elseif (Config.DrawText == "auto" and GetResourceState("okokTextUI") == "started") or Config.DrawText == "okokTextUI" then
|
||||||
|
exports["okokTextUI"]:Close()
|
||||||
|
elseif (Config.DrawText == "auto" and GetResourceState("ps-ui") == "started") or Config.DrawText == "ps-ui" then
|
||||||
|
exports["ps-ui"]:HideText()
|
||||||
|
elseif Config.Framework == "QBCore" then
|
||||||
|
exports["qb-core"]:HideText()
|
||||||
|
else
|
||||||
|
error("You do not have a TextUI system set up!")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param garageId string
|
||||||
|
---@param text string
|
||||||
|
---@param onSelect function
|
||||||
|
function Framework.Client.RadialMenuAdd(garageId, text, onSelect)
|
||||||
|
if not Config.UseRadialMenu then return end
|
||||||
|
|
||||||
|
if (Config.RadialMenu == "auto" and GetResourceState("ox_lib") == "started") or Config.RadialMenu == "ox_lib" then
|
||||||
|
lib.addRadialItem({
|
||||||
|
id = garageId,
|
||||||
|
icon = "warehouse",
|
||||||
|
label = text,
|
||||||
|
onSelect = onSelect
|
||||||
|
})
|
||||||
|
else
|
||||||
|
error("You do not have a radial menu system set up!")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param garageId string
|
||||||
|
function Framework.Client.RadialMenuRemove(garageId)
|
||||||
|
if not Config.UseRadialMenu then return end
|
||||||
|
|
||||||
|
if (Config.RadialMenu == "auto" and GetResourceState("ox_lib") == "started") or Config.RadialMenu == "ox_lib" then
|
||||||
|
lib.removeRadialItem(garageId)
|
||||||
|
else
|
||||||
|
error("You do not have a radial menu system set up!")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param entity? integer|false
|
||||||
|
---@param coords vector4|vector3
|
||||||
|
---@param garageId string
|
||||||
|
---@param vehicleType "car"|"air"|"sea"
|
||||||
|
---@param garageType "personal"|"job"|"gang"|"impound"
|
||||||
|
---@return integer
|
||||||
|
function Framework.Client.RegisterTarget(entity, coords, garageId, vehicleType, garageType)
|
||||||
|
if not entity then
|
||||||
|
entity = createPedForTarget(coords)
|
||||||
|
end
|
||||||
|
|
||||||
|
if (Config.Target == "auto" and GetResourceState("ox_target") == "started") or Config.Target == "ox_target" then
|
||||||
|
exports.ox_target:addLocalEntity(entity, {
|
||||||
|
{
|
||||||
|
label = garageType == "impound" and Config.OpenImpoundPrompt or Config.OpenGaragePrompt,
|
||||||
|
icon = "warehouse",
|
||||||
|
onSelect = function()
|
||||||
|
TriggerEvent("jg-advancedgarages:client:open-garage", garageId, vehicleType, false)
|
||||||
|
end
|
||||||
|
},
|
||||||
|
garageType ~= "impound" and {
|
||||||
|
label = Config.InsertVehiclePrompt,
|
||||||
|
icon = "warehouse",
|
||||||
|
onSelect = function()
|
||||||
|
TriggerEvent("jg-advancedgarages:client:store-vehicle", garageId, vehicleType, false)
|
||||||
|
end
|
||||||
|
} or nil
|
||||||
|
})
|
||||||
|
elseif (Config.Target == "auto" and GetResourceState("qb-target") == "started") or Config.Target == "qb-target" then
|
||||||
|
exports["qb-target"]:AddTargetEntity(entity, {
|
||||||
|
options = {
|
||||||
|
{
|
||||||
|
label = garageType == "impound" and Config.OpenImpoundPrompt or Config.OpenGaragePrompt,
|
||||||
|
targeticon = "fas fa-warehouse",
|
||||||
|
action = function()
|
||||||
|
TriggerEvent("jg-advancedgarages:client:open-garage", garageId, vehicleType, false)
|
||||||
|
end
|
||||||
|
},
|
||||||
|
garageType ~= "impound" and {
|
||||||
|
label = Config.InsertVehiclePrompt,
|
||||||
|
targeticon = "fas fa-warehouse",
|
||||||
|
action = function()
|
||||||
|
TriggerEvent("jg-advancedgarages:client:store-vehicle", garageId, vehicleType, false)
|
||||||
|
end
|
||||||
|
} or nil
|
||||||
|
},
|
||||||
|
distance = 10.0
|
||||||
|
})
|
||||||
|
else
|
||||||
|
error("You do not have a target system set up!")
|
||||||
|
end
|
||||||
|
|
||||||
|
return entity
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param entity integer
|
||||||
|
function Framework.Client.RemoveTarget(entity)
|
||||||
|
if not entity then return end
|
||||||
|
|
||||||
|
DeleteEntity(entity)
|
||||||
|
|
||||||
|
if (Config.Target == "auto" and GetResourceState("ox_target") == "started") or Config.Target == "ox_target" then
|
||||||
|
exports.ox_target:removeLocalEntity(entity)
|
||||||
|
elseif (Config.Target == "auto" and GetResourceState("qb-target") == "started") or Config.Target == "qb-target" then
|
||||||
|
exports["qb-target"]:RemoveTargetEntity(entity)
|
||||||
|
else
|
||||||
|
error("You do not have a target system set up!")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param msg string
|
||||||
|
---@param type? "success" | "warning" | "error"
|
||||||
|
---@param time? number
|
||||||
|
function Framework.Client.Notify(msg, type, time)
|
||||||
|
type = type or "success"
|
||||||
|
time = time or 5000
|
||||||
|
|
||||||
|
if (Config.Notifications == "auto" and GetResourceState("okokNotify") == "started") or Config.Notifications == "okokNotify" then
|
||||||
|
exports["okokNotify"]:Alert("Garages", msg, time, type)
|
||||||
|
elseif (Config.Notifications == "auto" and GetResourceState("ps-ui") == "started") or Config.Notifications == "ps-ui" then
|
||||||
|
exports["ps-ui"]:Notify(msg, type, time)
|
||||||
|
elseif (Config.Notifications == "auto" and GetResourceState("ox_lib") == "started") or Config.Notifications == "ox_lib" then
|
||||||
|
exports["ox_lib"]:notify({
|
||||||
|
title = "Garages",
|
||||||
|
description = msg,
|
||||||
|
type = type
|
||||||
|
})
|
||||||
|
else
|
||||||
|
if Config.Framework == "QBCore" then
|
||||||
|
return QBCore.Functions.Notify(msg, type, time)
|
||||||
|
elseif Config.Framework == "Qbox" then
|
||||||
|
exports.qbx_core:Notify(msg, type, time)
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
return ESX.ShowNotification(msg, type)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
RegisterNetEvent("jg-advancedgarages:client:notify", function(...)
|
||||||
|
Framework.Client.Notify(...)
|
||||||
|
end)
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Player Functions
|
||||||
|
--
|
||||||
|
|
||||||
|
---@return table | false playerData
|
||||||
|
function Framework.Client.GetPlayerData()
|
||||||
|
if Config.Framework == "QBCore" then
|
||||||
|
return QBCore.Functions.GetPlayerData()
|
||||||
|
elseif Config.Framework == "Qbox" then
|
||||||
|
return exports.qbx_core:GetPlayerData()
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
return ESX.GetPlayerData()
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
---@return string | false identifier
|
||||||
|
function Framework.Client.GetPlayerIdentifier()
|
||||||
|
local playerData = Framework.Client.GetPlayerData()
|
||||||
|
if not playerData then return false end
|
||||||
|
|
||||||
|
if Config.Framework == "QBCore" or Config.Framework == "Qbox" then
|
||||||
|
return playerData.citizenid
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
return playerData.identifier
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param type "cash" | "bank" | "money"
|
||||||
|
function Framework.Client.GetBalance(type)
|
||||||
|
if Config.Framework == "QBCore" then
|
||||||
|
return QBCore.Functions.GetPlayerData().money[type]
|
||||||
|
elseif Config.Framework == "Qbox" then
|
||||||
|
return exports.qbx_core:GetPlayerData().money[type]
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
if type == "cash" then type = "money" end
|
||||||
|
|
||||||
|
for i, acc in pairs(ESX.GetPlayerData().accounts) do
|
||||||
|
if acc.name == type then
|
||||||
|
return acc.money
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@return {name: string, grade: number} | false job
|
||||||
|
function Framework.Client.GetPlayerJob()
|
||||||
|
local player = Framework.Client.GetPlayerData()
|
||||||
|
if not player or not player.job then return {} end
|
||||||
|
|
||||||
|
if Config.Framework == "QBCore" or Config.Framework == "Qbox" then
|
||||||
|
return {
|
||||||
|
name = player.job.name,
|
||||||
|
label = player.job.label,
|
||||||
|
grade = player.job.grade.level
|
||||||
|
}
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
return {
|
||||||
|
name = player.job.name,
|
||||||
|
label = player.job.label,
|
||||||
|
grade = player.job.grade
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
---@return {name: string, grade: number} | false gang
|
||||||
|
function Framework.Client.GetPlayerGang()
|
||||||
|
if (Config.Gangs == "auto" and GetResourceState("rcore_gangs") == "started") or Config.Gangs == "rcore_gangs" then
|
||||||
|
local gang = exports.rcore_gangs:GetPlayerGang()
|
||||||
|
if not gang then return {} end
|
||||||
|
|
||||||
|
return {
|
||||||
|
name = gang.name,
|
||||||
|
label = gang.name,
|
||||||
|
grade = 0 -- rcore_gangs' grade system are only strings
|
||||||
|
}
|
||||||
|
elseif (Config.Gangs == "auto" and GetResourceState("qb-gangs") == "started") or Config.Gangs == "qb-gangs" or Config.Framework == "QBCore" or Config.Framework == "Qbox" then
|
||||||
|
local player = Framework.Client.GetPlayerData()
|
||||||
|
if not player or not player.gang then return {} end
|
||||||
|
|
||||||
|
return {
|
||||||
|
name = player.gang.name,
|
||||||
|
label = player.gang.label,
|
||||||
|
grade = player.gang.grade.level
|
||||||
|
}
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
-- To implement gangs in ESX, enable Config.GangEnableCustomESXIntegration & then add the necessary exports here.
|
||||||
|
-- It must return the same data structure as QB/X above, with { name, label, grade }
|
||||||
|
-- Heads up, you must also add the exports to sv-functions.lua -> Framework.Server.GetPlayerGang
|
||||||
|
error("ESX does not natively support gangs.");
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
---@return boolean dead
|
||||||
|
function Framework.Client.IsPlayerDead()
|
||||||
|
if Config.Framework == "QBCore" or Config.Framework == "Qbox" then
|
||||||
|
local player = Framework.Client.GetPlayerData()
|
||||||
|
if not player then return false end
|
||||||
|
|
||||||
|
if player.metadata.isdead or player.metadata.inlaststand then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
return IsEntityDead(cache.ped)
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Vehicle Functions
|
||||||
|
--
|
||||||
|
|
||||||
|
---@param vehicle integer
|
||||||
|
---@return number fuelLevel
|
||||||
|
function Framework.Client.VehicleGetFuel(vehicle)
|
||||||
|
if not DoesEntityExist(vehicle) then return 0 end
|
||||||
|
|
||||||
|
if (Config.FuelSystem == "LegacyFuel" or Config.FuelSystem == "ps-fuel" or Config.FuelSystem == "lj-fuel" or Config.FuelSystem == "cdn-fuel" or Config.FuelSystem == "hyon_gas_station" or Config.FuelSystem == "okokGasStation" or Config.FuelSystem == "nd_fuel" or Config.FuelSystem == "myFuel") then
|
||||||
|
return exports[Config.FuelSystem]:GetFuel(vehicle)
|
||||||
|
elseif Config.FuelSystem == "ti_fuel" then
|
||||||
|
local level, type = exports["ti_fuel"]:getFuel(vehicle)
|
||||||
|
TriggerServerEvent("jg-advancedgarages:server:save-ti-fuel-type", Framework.Client.GetPlate(vehicle), type)
|
||||||
|
return level
|
||||||
|
elseif Config.FuelSystem == "ox_fuel" or Config.FuelSystem == "Renewed-Fuel" then
|
||||||
|
return GetVehicleFuelLevel(vehicle)
|
||||||
|
elseif Config.FuelSystem == "rcore_fuel" then
|
||||||
|
return exports.rcore_fuel:GetVehicleFuelPercentage(vehicle)
|
||||||
|
else
|
||||||
|
return 65 -- or set up custom fuel system here...
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param vehicle integer
|
||||||
|
---@param fuel number
|
||||||
|
function Framework.Client.VehicleSetFuel(vehicle, fuel)
|
||||||
|
if not DoesEntityExist(vehicle) then return false end
|
||||||
|
|
||||||
|
if (Config.FuelSystem == "LegacyFuel" or Config.FuelSystem == "ps-fuel" or Config.FuelSystem == "lj-fuel" or Config.FuelSystem == "cdn-fuel" or Config.FuelSystem == "hyon_gas_station" or Config.FuelSystem == "okokGasStation" or Config.FuelSystem == "nd_fuel" or Config.FuelSystem == "myFuel" or Config.FuelSystem == "Renewed-Fuel") then
|
||||||
|
exports[Config.FuelSystem]:SetFuel(vehicle, fuel)
|
||||||
|
elseif Config.FuelSystem == "ti_fuel" then
|
||||||
|
local fuelType = lib.callback.await("jg-advancedgarages:server:get-ti-fuel-type", false, Framework.Client.GetPlate(vehicle))
|
||||||
|
exports["ti_fuel"]:setFuel(vehicle, fuel, fuelType or nil)
|
||||||
|
elseif Config.FuelSystem == "ox_fuel" then
|
||||||
|
Entity(vehicle).state.fuel = fuel
|
||||||
|
elseif Config.FuelSystem == "rcore_fuel" then
|
||||||
|
exports.rcore_fuel:SetVehicleFuel(vehicle, fuel)
|
||||||
|
else
|
||||||
|
-- Setup custom fuel system here
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param plate string
|
||||||
|
---@param vehicleEntity integer
|
||||||
|
---@param origin "personal" | "job" | "gang"
|
||||||
|
function Framework.Client.VehicleGiveKeys(plate, vehicleEntity, origin)
|
||||||
|
if not DoesEntityExist(vehicleEntity) then return false end
|
||||||
|
if not plate or plate == "" then
|
||||||
|
print("^1[ERROR] No plate provided to VehicleGiveKeys function^0")
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
plate = plate:upper()
|
||||||
|
|
||||||
|
if Config.VehicleKeys == "qb-vehiclekeys" then
|
||||||
|
TriggerEvent("vehiclekeys:client:SetOwner", plate)
|
||||||
|
elseif Config.VehicleKeys == "qbx_vehiclekeys" then
|
||||||
|
TriggerEvent("vehiclekeys:client:SetOwner", plate)
|
||||||
|
-- lib.callback.await("qbx_vehiclekeys:server:giveKeys", false, VehToNet(vehicleEntity))
|
||||||
|
elseif Config.VehicleKeys == "jaksam-vehicles-keys" then
|
||||||
|
TriggerServerEvent("vehicles_keys:selfGiveVehicleKeys", plate)
|
||||||
|
elseif Config.VehicleKeys == "mk_vehiclekeys" then
|
||||||
|
exports["mk_vehiclekeys"]:AddKey(vehicleEntity)
|
||||||
|
elseif Config.VehicleKeys == "qs-vehiclekeys" then
|
||||||
|
local model = GetDisplayNameFromVehicleModel(GetEntityModel(vehicleEntity))
|
||||||
|
exports["qs-vehiclekeys"]:GiveKeys(plate, model)
|
||||||
|
elseif Config.VehicleKeys == "wasabi_carlock" then
|
||||||
|
exports.wasabi_carlock:GiveKey(plate)
|
||||||
|
elseif Config.VehicleKeys == "cd_garage" then
|
||||||
|
TriggerEvent("cd_garage:AddKeys", plate)
|
||||||
|
elseif Config.VehicleKeys == "okokGarage" then
|
||||||
|
TriggerServerEvent("okokGarage:GiveKeys", plate)
|
||||||
|
elseif Config.VehicleKeys == "t1ger_keys" then
|
||||||
|
if origin == "job" then
|
||||||
|
local vehicleName = GetDisplayNameFromVehicleModel(GetEntityModel(vehicleEntity))
|
||||||
|
exports['t1ger_keys']:GiveJobKeys(plate, vehicleName, true)
|
||||||
|
else
|
||||||
|
TriggerServerEvent("t1ger_keys:updateOwnedKeys", plate, true)
|
||||||
|
end
|
||||||
|
elseif Config.VehicleKeys == "MrNewbVehicleKeys" then
|
||||||
|
exports.MrNewbVehicleKeys:GiveKeys(vehicleEntity)
|
||||||
|
elseif Config.VehicleKeys == "Renewed" then
|
||||||
|
exports["Renewed-Vehiclekeys"]:addKey(plate)
|
||||||
|
elseif Config.VehicleKeys == "tgiann-hotwire" then
|
||||||
|
exports["tgiann-hotwire"]:CheckKeyInIgnitionWhenSpawn(vehicleEntity, plate)
|
||||||
|
else
|
||||||
|
-- Setup custom key system here...
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param plate string
|
||||||
|
---@param vehicleEntity integer
|
||||||
|
---@param origin "personal" | "job" | "gang"
|
||||||
|
function Framework.Client.VehicleRemoveKeys(plate, vehicleEntity, origin)
|
||||||
|
if not DoesEntityExist(vehicleEntity) then return false end
|
||||||
|
if not plate or plate == "" then
|
||||||
|
print("^1[ERROR] No plate provided to VehicleRemoveKeys function^0")
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
plate = plate:upper()
|
||||||
|
|
||||||
|
if Config.VehicleKeys == "qs-vehiclekeys" then
|
||||||
|
local model = GetDisplayNameFromVehicleModel(GetEntityModel(vehicleEntity))
|
||||||
|
exports["qs-vehiclekeys"]:RemoveKeys(plate, model)
|
||||||
|
elseif Config.VehicleKeys == "wasabi_carlock" then
|
||||||
|
exports.wasabi_carlock:RemoveKey(plate)
|
||||||
|
elseif Config.VehicleKeys == "t1ger_keys" then
|
||||||
|
TriggerServerEvent("t1ger_keys:updateOwnedKeys", plate, false)
|
||||||
|
elseif Config.VehicleKeys == "MrNewbVehicleKeys" then
|
||||||
|
exports.MrNewbVehicleKeys:RemoveKeys(vehicleEntity)
|
||||||
|
elseif Config.VehicleKeys == "Renewed" then
|
||||||
|
exports["Renewed-Vehiclekeys"]:removeKey(plate)
|
||||||
|
else
|
||||||
|
-- Setup custom key system here...
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
---@param vehicle table
|
||||||
|
---@return string|number|false model
|
||||||
|
function Framework.Client.GetModelColumn(vehicle)
|
||||||
|
if Config.Framework == "QBCore" or Config.Framework == "Qbox" then
|
||||||
|
return vehicle.vehicle or tonumber(vehicle.hash) or false
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
if not vehicle or not vehicle.vehicle then return false end
|
||||||
|
|
||||||
|
if type(vehicle.vehicle) == "string" then
|
||||||
|
if not json.decode(vehicle.vehicle) then return false end
|
||||||
|
return json.decode(vehicle.vehicle).model
|
||||||
|
else
|
||||||
|
return vehicle.vehicle.model
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param vehicle integer
|
||||||
|
---@return table | false
|
||||||
|
function Framework.Client.GetModsColumn(vehicle)
|
||||||
|
if Config.Framework == "QBCore" or Config.Framework == "Qbox" then
|
||||||
|
if type(vehicle.mods) == "string" then
|
||||||
|
return json.decode(vehicle.mods)
|
||||||
|
else
|
||||||
|
return vehicle.mods
|
||||||
|
end
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
if type(vehicle.vehicle) == "string" then
|
||||||
|
return json.decode(vehicle.vehicle)
|
||||||
|
else
|
||||||
|
return vehicle.vehicle
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param vehicle integer
|
||||||
|
---@return table|false props
|
||||||
|
function Framework.Client.GetVehicleProperties(vehicle)
|
||||||
|
if GetResourceState("jg-mechanic") == "started" then
|
||||||
|
return exports["jg-mechanic"]:getVehicleProperties(vehicle)
|
||||||
|
else
|
||||||
|
if Config.Framework == "QBCore" then
|
||||||
|
return QBCore.Functions.GetVehicleProperties(vehicle)
|
||||||
|
elseif Config.Framework == "Qbox" then
|
||||||
|
return lib.getVehicleProperties(vehicle) or false
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
return ESX.Game.GetVehicleProperties(vehicle)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param vehicle integer
|
||||||
|
---@param props table
|
||||||
|
function Framework.Client.SetVehicleProperties(vehicle, props)
|
||||||
|
if GetResourceState("jg-mechanic") == "started" then
|
||||||
|
return exports["jg-mechanic"]:setVehicleProperties(vehicle, props)
|
||||||
|
else
|
||||||
|
if Config.Framework == "QBCore" then
|
||||||
|
return QBCore.Functions.SetVehicleProperties(vehicle, props)
|
||||||
|
elseif Config.Framework == "Qbox" then
|
||||||
|
return lib.setVehicleProperties(vehicle, props)
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
return ESX.Game.SetVehicleProperties(vehicle, props)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param vehicle integer
|
||||||
|
---@return string|false plate
|
||||||
|
function Framework.Client.GetPlate(vehicle)
|
||||||
|
local plate = GetVehicleNumberPlateText(vehicle)
|
||||||
|
if not plate or plate == nil or plate == "" then return false end
|
||||||
|
|
||||||
|
if GetResourceState("brazzers-fakeplates") == "started" then
|
||||||
|
local originalPlate = lib.callback.await("jg-advancedgarages:server:brazzers-get-plate-from-fakeplate", false, plate)
|
||||||
|
if originalPlate then plate = originalPlate end
|
||||||
|
end
|
||||||
|
|
||||||
|
local trPlate = string.gsub(plate, "^%s*(.-)%s*$", "%1")
|
||||||
|
return trPlate
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Get a nice vehicle label from either QBCore shared or GTA natives
|
||||||
|
---@param model string | number
|
||||||
|
function Framework.Client.GetVehicleLabel(model)
|
||||||
|
local hash = convertModelToHash(model)
|
||||||
|
|
||||||
|
if Config.VehicleLabels[model] then
|
||||||
|
return Config.VehicleLabels[model]
|
||||||
|
end
|
||||||
|
|
||||||
|
if Config.VehicleLabels[tostring(hash)] then
|
||||||
|
return Config.VehicleLabels[tostring(hash)]
|
||||||
|
end
|
||||||
|
|
||||||
|
if type(model) == "string" and Config.Framework == "QBCore" then
|
||||||
|
local vehShared = QBCore.Shared.Vehicles?[model]
|
||||||
|
if vehShared then
|
||||||
|
return vehShared.brand .. " " .. vehShared.name
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if Config.Framework == "Qbox" then
|
||||||
|
local vehShared = exports.qbx_core:GetVehiclesByHash()?[hash]
|
||||||
|
if vehShared then
|
||||||
|
return vehShared.brand .. " " .. vehShared.name
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local makeName = GetMakeNameFromVehicleModel(hash)
|
||||||
|
local modelName = GetDisplayNameFromVehicleModel(hash)
|
||||||
|
local label = GetLabelText(makeName) .. " " .. GetLabelText(modelName)
|
||||||
|
|
||||||
|
if makeName == "CARNOTFOUND" or modelName == "CARNOTFOUND" then
|
||||||
|
label = tostring(model)
|
||||||
|
else
|
||||||
|
if GetLabelText(modelName) == "NULL" and GetLabelText(makeName) == "NULL" then
|
||||||
|
label = (makeName or "") .. " " .. (modelName or "")
|
||||||
|
elseif GetLabelText(makeName) == "NULL" then
|
||||||
|
label = GetLabelText(modelName)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return label
|
||||||
|
end
|
|
@ -0,0 +1,37 @@
|
||||||
|
if (Config.Framework == "auto" and GetResourceState("es_extended") == "started") or Config.Framework == "ESX" then
|
||||||
|
-- Player data
|
||||||
|
Globals.PlayerData = ESX.GetPlayerData()
|
||||||
|
|
||||||
|
RegisterNetEvent("esx:playerLoaded")
|
||||||
|
AddEventHandler("esx:playerLoaded", function(xPlayer)
|
||||||
|
Globals.PlayerData = xPlayer
|
||||||
|
TriggerEvent("jg-advancedgarages:client:update-blips-text-uis")
|
||||||
|
end)
|
||||||
|
|
||||||
|
RegisterNetEvent("esx:setJob")
|
||||||
|
AddEventHandler("esx:setJob", function(job)
|
||||||
|
Globals.PlayerData.job = job
|
||||||
|
TriggerEvent("jg-advancedgarages:client:update-blips-text-uis")
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- ESX admincar replacement
|
||||||
|
RegisterNetEvent("jg-advancedgarages:client:set-vehicle-owned", function()
|
||||||
|
local vehicle = cache.vehicle
|
||||||
|
local vehicleProps = Framework.Client.GetVehicleProperties(vehicle)
|
||||||
|
if not vehicleProps then return end
|
||||||
|
|
||||||
|
if not vehicle or vehicle == 0 then
|
||||||
|
return Framework.Client.Notify(Locale.notInsideVehicleError, "error")
|
||||||
|
end
|
||||||
|
|
||||||
|
local plate = vehicleProps.plate
|
||||||
|
|
||||||
|
local vehicleModel = GetEntityArchetypeName(vehicle)
|
||||||
|
local veh = lib.callback.await("jg-advancedgarages:server:get-vehicle", false, vehicleModel, plate)
|
||||||
|
if veh then
|
||||||
|
return Framework.Client.Notify(Locale.vehiclePlateExistsError, "error")
|
||||||
|
end
|
||||||
|
|
||||||
|
TriggerServerEvent("jg-advancedgarages:server:set-vehicle-owned", vehicleProps)
|
||||||
|
end)
|
||||||
|
end
|
|
@ -0,0 +1,23 @@
|
||||||
|
if (Config.Framework == "auto" and GetResourceState("es_extended") == "started") or Config.Framework == "ESX" then
|
||||||
|
-- /admincar db insert
|
||||||
|
RegisterNetEvent("jg-advancedgarages:server:set-vehicle-owned", function(vehicleProps)
|
||||||
|
local src = source
|
||||||
|
|
||||||
|
if not Framework.Server.IsAdmin(src) then
|
||||||
|
return Framework.Server.Notify(src, "INSUFFICIENT_PERMISSIONS", "error")
|
||||||
|
end
|
||||||
|
|
||||||
|
local player = ESX.GetPlayerFromId(src)
|
||||||
|
|
||||||
|
MySQL.insert.await("INSERT INTO owned_vehicles (owner, plate, vehicle) VALUES (?, ?, ?)", {
|
||||||
|
player.identifier, vehicleProps.plate, json.encode(vehicleProps)
|
||||||
|
})
|
||||||
|
|
||||||
|
Framework.Server.Notify(src, string.gsub(Locale.vehicleReceived, "%%{value}", vehicleProps.plate))
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- /admincar command
|
||||||
|
ESX.RegisterCommand("admincar", "admin", function(xPlayer)
|
||||||
|
TriggerClientEvent("jg-advancedgarages:client:set-vehicle-owned", xPlayer.source)
|
||||||
|
end, false)
|
||||||
|
end
|
61
resources/[carscripts]/jg-advancedgarages/framework/main.lua
Normal file
61
resources/[carscripts]/jg-advancedgarages/framework/main.lua
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
QBCore, ESX = nil, nil
|
||||||
|
Framework = {
|
||||||
|
Client = {},
|
||||||
|
Server = {},
|
||||||
|
Queries = {
|
||||||
|
GetVehicles = "SELECT * FROM %s WHERE %s = ? AND job_vehicle = 0 AND gang_vehicle = 0",
|
||||||
|
GetJobVehicles = "SELECT * FROM %s WHERE %s = ? AND job_vehicle = 1 AND job_vehicle_rank <= ?",
|
||||||
|
GetGangVehicles = "SELECT * FROM %s WHERE %s = ? AND gang_vehicle = 1 AND gang_vehicle_rank <= ?",
|
||||||
|
GetImpoundVehiclesWhitelist = "SELECT * FROM %s WHERE garage_id = ? AND impound = 1",
|
||||||
|
GetImpoundVehiclesPublic = "SELECT * FROM %s WHERE garage_id = ? AND impound = 1 AND impound_retrievable = 1 AND (%s = ? OR %s = ? OR %s = ?)",
|
||||||
|
GetVehicle = "SELECT * FROM %s WHERE %s = ? AND plate = ?",
|
||||||
|
GetVehicleNoIdentifier = "SELECT * FROM %s WHERE plate = ?",
|
||||||
|
GetVehiclePlateOnly = "SELECT plate FROM %s WHERE plate = ?",
|
||||||
|
GetPrivateGarages = "SELECT * FROM player_priv_garages WHERE owners LIKE ?",
|
||||||
|
StoreVehicle = "UPDATE %s SET in_garage = 1, garage_id = ?, fuel = ?, body = ?, engine = ?, damage = ? WHERE %s IN (?) AND plate = ?",
|
||||||
|
SetInGarage = "UPDATE %s SET in_garage = 1 WHERE plate = ?",
|
||||||
|
UpdateProps = "UPDATE %s SET %s = ? WHERE plate = ?",
|
||||||
|
VehicleDriveOut = "UPDATE %s SET in_garage = 0 WHERE %s = ? AND plate = ?",
|
||||||
|
UpdateGarageId = "UPDATE %s SET garage_id = ? WHERE %s = ? AND plate = ?",
|
||||||
|
UpdatePlayerId = "UPDATE %s SET %s = ? WHERE %s = ? AND plate = ?",
|
||||||
|
UpdateVehicleNickname = "UPDATE %s SET nickname = ? WHERE %s = ? AND plate = ?",
|
||||||
|
UpdateVehiclePlate = "UPDATE %s SET plate = ?, %s = ? WHERE plate = ?",
|
||||||
|
ImpoundVehicle = "UPDATE %s SET impound = 1, impound_retrievable = ?, impound_data = ?, garage_id = ?, fuel = ?, body = ?, engine = ?, damage = ? WHERE plate = ?",
|
||||||
|
ImpoundReturnToGarage = "UPDATE %s SET impound = 0, impound_data = '', garage_id = ?, in_garage = ? WHERE plate = ?",
|
||||||
|
SetJobVehicle = "UPDATE %s SET %s = ?, job_vehicle = 1, job_vehicle_rank = ? WHERE plate = ?",
|
||||||
|
SetGangVehicle = "UPDATE %s SET %s = ?, gang_vehicle = 1, gang_vehicle_rank = ? WHERE plate = ?",
|
||||||
|
SetSocietyVehicleAsPlayerOwned = "UPDATE %s SET %s = ?, job_vehicle = 0, gang_vehicle = 0 WHERE plate = ?",
|
||||||
|
DeleteVehicle = "DELETE FROM %s WHERE plate = ?",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Config.Framework == "auto" and GetResourceState("qbx_core") == "started") or Config.Framework == "Qbox" then
|
||||||
|
Config.Framework = "Qbox"
|
||||||
|
|
||||||
|
Framework.VehiclesTable = "player_vehicles"
|
||||||
|
Framework.PlayerIdentifier = "citizenid"
|
||||||
|
Framework.VehProps = "mods"
|
||||||
|
Framework.PlayersTable = "players"
|
||||||
|
Framework.PlayersTableId = "citizenid"
|
||||||
|
elseif (Config.Framework == "auto" and GetResourceState("qb-core") == "started") or Config.Framework == "QBCore" then
|
||||||
|
QBCore = exports['qb-core']:GetCoreObject()
|
||||||
|
Config.Framework = "QBCore"
|
||||||
|
|
||||||
|
Framework.VehiclesTable = "player_vehicles"
|
||||||
|
Framework.PlayerIdentifier = "citizenid"
|
||||||
|
Framework.VehProps = "mods"
|
||||||
|
Framework.PlayersTable = "players"
|
||||||
|
Framework.PlayersTableId = "citizenid"
|
||||||
|
|
||||||
|
elseif (Config.Framework == "auto" and GetResourceState("es_extended") == "started") or Config.Framework == "ESX" then
|
||||||
|
ESX = exports["es_extended"]:getSharedObject()
|
||||||
|
Config.Framework = "ESX"
|
||||||
|
|
||||||
|
Framework.VehiclesTable = "owned_vehicles"
|
||||||
|
Framework.PlayerIdentifier = "owner"
|
||||||
|
Framework.VehProps = "vehicle"
|
||||||
|
Framework.PlayersTable = "users"
|
||||||
|
Framework.PlayersTableId = "identifier"
|
||||||
|
else
|
||||||
|
error("You need to set the Config.Framework to either \"QBCore\" or \"ESX\" or \"Qbox\"!")
|
||||||
|
end
|
|
@ -0,0 +1,22 @@
|
||||||
|
if (Config.Framework == "auto" and GetResourceState("qb-core") == "started") or Config.Framework == "QBCore" then
|
||||||
|
-- Player data
|
||||||
|
Globals.PlayerData = QBCore.Functions.GetPlayerData()
|
||||||
|
|
||||||
|
RegisterNetEvent("QBCore:Client:OnPlayerLoaded")
|
||||||
|
AddEventHandler("QBCore:Client:OnPlayerLoaded", function()
|
||||||
|
Globals.PlayerData = QBCore.Functions.GetPlayerData()
|
||||||
|
TriggerEvent("jg-advancedgarages:client:update-blips-text-uis")
|
||||||
|
end)
|
||||||
|
|
||||||
|
RegisterNetEvent("QBCore:Client:OnJobUpdate")
|
||||||
|
AddEventHandler("QBCore:Client:OnJobUpdate", function(job)
|
||||||
|
Globals.PlayerData.job = job
|
||||||
|
TriggerEvent("jg-advancedgarages:client:update-blips-text-uis")
|
||||||
|
end)
|
||||||
|
|
||||||
|
RegisterNetEvent("QBCore:Client:OnGangUpdate")
|
||||||
|
AddEventHandler("QBCore:Client:OnGangUpdate", function(gang)
|
||||||
|
Globals.PlayerData.gang = gang
|
||||||
|
TriggerEvent("jg-advancedgarages:client:update-blips-text-uis")
|
||||||
|
end)
|
||||||
|
end
|
|
@ -0,0 +1,55 @@
|
||||||
|
if (Config.Framework == "auto" and GetResourceState("qb-core") == "started") or Config.Framework == "QBCore" then
|
||||||
|
-- qb-phone fix
|
||||||
|
QBCore.Functions.CreateCallback("jg-advancedgarages:server:GetVehiclesPhone", function(source, cb)
|
||||||
|
local Player = QBCore.Functions.GetPlayer(source)
|
||||||
|
|
||||||
|
local vehicles = MySQL.query.await("SELECT * FROM player_vehicles WHERE citizenid = ? AND job_vehicle = ? AND gang_vehicle = ?", {Player.PlayerData.citizenid, 0, 0})
|
||||||
|
|
||||||
|
for i, vehicle in pairs(vehicles) do
|
||||||
|
local vehShared = QBCore.Shared.Vehicles[vehicle.vehicle]
|
||||||
|
local vehBrand, vehName, vehState
|
||||||
|
local vehGarage = vehicle.garage_id
|
||||||
|
|
||||||
|
if vehShared then
|
||||||
|
vehBrand = vehShared.brand
|
||||||
|
vehName = vehShared.name
|
||||||
|
else
|
||||||
|
vehBrand = ""
|
||||||
|
vehName = vehicle.vehicle
|
||||||
|
end
|
||||||
|
|
||||||
|
if vehicle.impound == 1 then
|
||||||
|
vehGarage = Locale.impound
|
||||||
|
vehState = json.decode(vehicle.impound_data).reason
|
||||||
|
elseif vehicle.in_garage then
|
||||||
|
vehState = Locale.inGarage
|
||||||
|
else
|
||||||
|
vehState = Locale.notInGarage
|
||||||
|
end
|
||||||
|
|
||||||
|
vehicles[i] = {
|
||||||
|
fullname = vehBrand .. " " .. vehName,
|
||||||
|
brand = vehBrand,
|
||||||
|
model = vehName,
|
||||||
|
garage = vehGarage,
|
||||||
|
state = vehState,
|
||||||
|
plate = vehicle.plate,
|
||||||
|
fuel = vehicle.fuel,
|
||||||
|
engine = vehicle.engine,
|
||||||
|
body = vehicle.body
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
cb(vehicles)
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- qb-vehiclesales fix
|
||||||
|
QBCore.Functions.CreateCallback("qb-garage:server:checkVehicleOwner", function(source, cb, plate)
|
||||||
|
local src = source
|
||||||
|
local pData = QBCore.Functions.GetPlayer(src)
|
||||||
|
|
||||||
|
local result = MySQL.single.await("SELECT * FROM player_vehicles WHERE plate = ? AND citizenid = ?", {plate, pData.PlayerData.citizenid})
|
||||||
|
if result then cb(true, result.balance)
|
||||||
|
else cb(false) end
|
||||||
|
end)
|
||||||
|
end
|
|
@ -0,0 +1,22 @@
|
||||||
|
if (Config.Framework == "auto" and GetResourceState("qbx_core") == "started") or Config.Framework == "Qbox" then
|
||||||
|
-- Player data
|
||||||
|
Globals.PlayerData = exports.qbx_core:GetPlayerData()
|
||||||
|
|
||||||
|
RegisterNetEvent("QBCore:Client:OnPlayerLoaded")
|
||||||
|
AddEventHandler("QBCore:Client:OnPlayerLoaded", function()
|
||||||
|
Globals.PlayerData = exports.qbx_core:GetPlayerData()
|
||||||
|
TriggerEvent("jg-advancedgarages:client:update-blips-text-uis")
|
||||||
|
end)
|
||||||
|
|
||||||
|
RegisterNetEvent("QBCore:Client:OnJobUpdate")
|
||||||
|
AddEventHandler("QBCore:Client:OnJobUpdate", function(job)
|
||||||
|
Globals.PlayerData.job = job
|
||||||
|
TriggerEvent("jg-advancedgarages:client:update-blips-text-uis")
|
||||||
|
end)
|
||||||
|
|
||||||
|
RegisterNetEvent("QBCore:Client:OnGangUpdate")
|
||||||
|
AddEventHandler("QBCore:Client:OnGangUpdate", function(gang)
|
||||||
|
Globals.PlayerData.gang = gang
|
||||||
|
TriggerEvent("jg-advancedgarages:client:update-blips-text-uis")
|
||||||
|
end)
|
||||||
|
end
|
|
@ -0,0 +1,317 @@
|
||||||
|
--
|
||||||
|
-- Core Functions
|
||||||
|
--
|
||||||
|
|
||||||
|
---@param src integer
|
||||||
|
---@param msg string
|
||||||
|
---@param type "success" | "warning" | "error"
|
||||||
|
function Framework.Server.Notify(src, msg, type)
|
||||||
|
TriggerClientEvent("jg-advancedgarages:client:notify", src, msg, type, 5000)
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param src integer
|
||||||
|
---@returns boolean
|
||||||
|
function Framework.Server.IsAdmin(src)
|
||||||
|
return IsPlayerAceAllowed(tostring(src), "command") or false
|
||||||
|
end
|
||||||
|
|
||||||
|
function Framework.Server.PayIntoSocietyFund(jobName, money)
|
||||||
|
local usingNewQBBanking = GetResourceState("qb-banking") == "started" and tonumber(string.sub(GetResourceMetadata("qb-banking", "version", 0), 1, 3)) >= 2
|
||||||
|
|
||||||
|
if (Config.Banking == "auto" and GetResourceState("Renewed-Banking") == "started") or Config.Banking == "Renewed-Banking" then
|
||||||
|
exports['Renewed-Banking']:addAccountMoney(jobName, money)
|
||||||
|
elseif (Config.Banking == "auto" and GetResourceState("okokBanking") == "started") or Config.Banking == "okokBanking" then
|
||||||
|
exports['okokBanking']:AddMoney(jobName, money)
|
||||||
|
elseif (Config.Banking == "auto" and GetResourceState("fd_banking") == "started") or Config.banking == "fd_banking" then
|
||||||
|
exports.fd_banking:AddMoney(jobName, money)
|
||||||
|
elseif (Config.Banking == "auto" and (Config.Framework == "QBCore" or Config.Framework == "Qbox")) then
|
||||||
|
if usingNewQBBanking then
|
||||||
|
exports["qb-banking"]:AddMoney(jobName, money)
|
||||||
|
else
|
||||||
|
exports["qb-management"]:AddMoney(jobName, money)
|
||||||
|
end
|
||||||
|
elseif Config.Banking == "qb-banking" then
|
||||||
|
exports["qb-banking"]:AddMoney(jobName, money)
|
||||||
|
elseif Config.Banking == "qb-management" then
|
||||||
|
exports["qb-management"]:AddMoney(jobName, money)
|
||||||
|
elseif (Config.Banking == "auto" and Config.Framework == "ESX") or Config.Banking == "esx_addonaccount" then
|
||||||
|
TriggerEvent("esx_society:getSociety", jobName, function(society)
|
||||||
|
TriggerEvent("esx_addonaccount:getSharedAccount", society.account, function(account)
|
||||||
|
account.addMoney(money)
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Player Functions
|
||||||
|
--
|
||||||
|
|
||||||
|
---@param src integer
|
||||||
|
function Framework.Server.GetPlayer(src)
|
||||||
|
if Config.Framework == "QBCore" then
|
||||||
|
return QBCore.Functions.GetPlayer(src)
|
||||||
|
elseif Config.Framework == "Qbox" then
|
||||||
|
return exports.qbx_core:GetPlayer(src)
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
return ESX.GetPlayerFromId(src)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param src integer
|
||||||
|
function Framework.Server.GetPlayerInfo(src)
|
||||||
|
local player = Framework.Server.GetPlayer(src)
|
||||||
|
if not player then return false end
|
||||||
|
|
||||||
|
if Config.Framework == "QBCore" or Config.Framework == "Qbox" then
|
||||||
|
return {
|
||||||
|
name = player.PlayerData.charinfo.firstname .. " " .. player.PlayerData.charinfo.lastname
|
||||||
|
}
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
return {
|
||||||
|
name = player.getName()
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param src integer
|
||||||
|
---@return {name:string,label:string,grade:number} | false
|
||||||
|
function Framework.Server.GetPlayerJob(src)
|
||||||
|
local player = Framework.Server.GetPlayer(src)
|
||||||
|
if not player then return false end
|
||||||
|
|
||||||
|
if Config.Framework == "QBCore" or Config.Framework == "Qbox" then
|
||||||
|
if not player.PlayerData then return false end
|
||||||
|
|
||||||
|
return {
|
||||||
|
name = player.PlayerData.job.name,
|
||||||
|
label = player.PlayerData.job.label,
|
||||||
|
grade = player.PlayerData.job.grade?.level or 0,
|
||||||
|
}
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
return {
|
||||||
|
name = player.job.name,
|
||||||
|
label = player.job.label,
|
||||||
|
grade = player.job.grade
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param src integer
|
||||||
|
---@return {name:string,label:string,grade:number} | false
|
||||||
|
function Framework.Server.GetPlayerGang(src)
|
||||||
|
if (Config.Gangs == "auto" and GetResourceState("rcore_gangs") == "started") or Config.Gangs == "rcore_gangs" then
|
||||||
|
local gang = exports.rcore_gangs:GetPlayerGang(src)
|
||||||
|
if not gang then return {} end
|
||||||
|
|
||||||
|
return {
|
||||||
|
name = gang.name,
|
||||||
|
label = gang.name,
|
||||||
|
grade = 0 -- rcore_gangs' grade system are only strings
|
||||||
|
}
|
||||||
|
elseif (Config.Gangs == "auto" and GetResourceState("qb-gangs") == "started") or Config.Gangs == "qb-gangs" or Config.Framework == "QBCore" or Config.Framework == "Qbox" then
|
||||||
|
|
||||||
|
local player = Framework.Server.GetPlayer(src)
|
||||||
|
if not player then return false end
|
||||||
|
|
||||||
|
return {
|
||||||
|
name = player.PlayerData.gang.name,
|
||||||
|
label = player.PlayerData.gang.label,
|
||||||
|
grade = player.PlayerData.gang.grade.level
|
||||||
|
}
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
-- To implement gangs in ESX, enable Config.GangEnableCustomESXIntegration & then add the necessary exports here.
|
||||||
|
-- It must return the same data structure as QB/X above, with { name, label, grade }
|
||||||
|
-- Heads up, you must also add the exports to cl-functions.lua -> Framework.Client.GetPlayerGang
|
||||||
|
error("ESX does not natively support gangs.");
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param src integer
|
||||||
|
function Framework.Server.GetPlayerIdentifier(src)
|
||||||
|
local player = Framework.Server.GetPlayer(src)
|
||||||
|
if not player then return false end
|
||||||
|
|
||||||
|
if Config.Framework == "QBCore" or Config.Framework == "Qbox" then
|
||||||
|
return player.PlayerData.citizenid
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
return player.getIdentifier()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param identifier string
|
||||||
|
function Framework.Server.GetSrcFromIdentifier(identifier)
|
||||||
|
if Config.Framework == "QBCore" then
|
||||||
|
local player = QBCore.Functions.GetPlayerByCitizenId(identifier)
|
||||||
|
if not player then return false end
|
||||||
|
return player.PlayerData.source
|
||||||
|
elseif Config.Framework == "Qbox" then
|
||||||
|
local player = exports.qbx_core:GetPlayerByCitizenId(identifier)
|
||||||
|
if not player then return false end
|
||||||
|
return player.PlayerData.source
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
local xPlayer = ESX.GetPlayerFromIdentifier(identifier)
|
||||||
|
if not xPlayer then return false end
|
||||||
|
return xPlayer.source
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param src integer
|
||||||
|
---@param type "cash" | "bank" | "money"
|
||||||
|
function Framework.Server.GetPlayerBalance(src, type)
|
||||||
|
local player = Framework.Server.GetPlayer(src)
|
||||||
|
if not player then return 0 end
|
||||||
|
|
||||||
|
if Config.Framework == "QBCore" or Config.Framework == "Qbox" then
|
||||||
|
return player.PlayerData.money[type]
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
if type == "cash" then type = "money" end
|
||||||
|
|
||||||
|
for i, acc in pairs(player.getAccounts()) do
|
||||||
|
if acc.name == type then
|
||||||
|
return acc.money
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param src integer
|
||||||
|
---@param amount number
|
||||||
|
---@param account "cash" | "bank" | "money"
|
||||||
|
---@return boolean success
|
||||||
|
function Framework.Server.PlayerRemoveMoney(src, amount, account)
|
||||||
|
local player = Framework.Server.GetPlayer(src)
|
||||||
|
account = account or "bank"
|
||||||
|
|
||||||
|
if Framework.Server.GetPlayerBalance(src, account) < amount then
|
||||||
|
Framework.Server.Notify(src, Locale.notEnoughMoneyError, "error")
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
if Config.Framework == "QBCore" or Config.Framework == "Qbox" then
|
||||||
|
player.Functions.RemoveMoney(account, round(amount, 0))
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
if account == "cash" then account = "money" end
|
||||||
|
player.removeAccountMoney(account, round(amount, 0))
|
||||||
|
end
|
||||||
|
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
---@return {id:number,identifier:string,name:string}[] players
|
||||||
|
function Framework.Server.GetPlayers()
|
||||||
|
local players = {}
|
||||||
|
|
||||||
|
for _, playerId in ipairs(GetPlayers()) do
|
||||||
|
players[#players+1] = {
|
||||||
|
id = tonumber(playerId),
|
||||||
|
identifier = Framework.Server.GetPlayerIdentifier(tonumber(playerId, 10)),
|
||||||
|
name = Framework.Server.GetPlayerInfo(tonumber(playerId, 10))?.name
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
return players
|
||||||
|
end
|
||||||
|
|
||||||
|
---@return table | false jobs
|
||||||
|
function Framework.Server.GetJobs()
|
||||||
|
if Config.Framework == "QBCore" then
|
||||||
|
return QBCore.Shared.Jobs
|
||||||
|
elseif Config.Framework == "Qbox" then
|
||||||
|
return exports.qbx_core:GetJobs()
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
return ESX.GetJobs()
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
---@return table | false gangs
|
||||||
|
function Framework.Server.GetGangs()
|
||||||
|
if (Config.Gangs == "auto" and GetResourceState("rcore_gangs") == "started") or Config.Gangs == "rcore_gangs" then
|
||||||
|
local gangs = MySQL.query.await("SELECT name FROM gangs")
|
||||||
|
return gangs or {}
|
||||||
|
elseif (Config.Gangs == "auto" and GetResourceState("qb-gangs") == "started") or Config.Gangs == "qb-gangs" then
|
||||||
|
if Config.Framework == "QBCore" then
|
||||||
|
return QBCore.Shared.Gangs
|
||||||
|
elseif Config.Framework == "Qbox" then
|
||||||
|
return exports.qbx_core:GetGangs()
|
||||||
|
end
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
error("ESX does not natively support gangs.");
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param vehicle integer
|
||||||
|
---@return string | false plate
|
||||||
|
function Framework.Server.GetPlate(vehicle)
|
||||||
|
local plate = GetVehicleNumberPlateText(vehicle)
|
||||||
|
if not plate or plate == nil or plate == "" then return false end
|
||||||
|
|
||||||
|
if GetResourceState("brazzers-fakeplates") == "started" then
|
||||||
|
local originalPlate = MySQL.scalar.await("SELECT plate FROM player_vehicles WHERE fakeplate = ?", {plate})
|
||||||
|
if originalPlate then plate = originalPlate end
|
||||||
|
end
|
||||||
|
|
||||||
|
local trPlate = string.gsub(plate, "^%s*(.-)%s*$", "%1")
|
||||||
|
return trPlate
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param vehicle boolean|QueryResult|unknown|{ [number]: { [string]: unknown }|{ [string]: unknown }}
|
||||||
|
---@return string | number | false model
|
||||||
|
function Framework.Server.GetModelColumn(vehicle)
|
||||||
|
if Config.Framework == "QBCore" or Config.Framework == "Qbox" then
|
||||||
|
return vehicle.vehicle or tonumber(vehicle.hash) or false
|
||||||
|
elseif Config.Framework == "ESX" then
|
||||||
|
if not vehicle or not vehicle.vehicle then return false end
|
||||||
|
|
||||||
|
if type(vehicle.vehicle) == "string" then
|
||||||
|
if not json.decode(vehicle.vehicle) then return false end
|
||||||
|
return json.decode(vehicle.vehicle).model
|
||||||
|
else
|
||||||
|
return vehicle.vehicle.model
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- ti_fuel
|
||||||
|
--
|
||||||
|
|
||||||
|
RegisterNetEvent("jg-advancedgarages:server:save-ti-fuel-type", function(plate, type)
|
||||||
|
MySQL.query.await("ALTER TABLE " .. Framework.VehiclesTable .. " ADD COLUMN IF NOT EXISTS `ti_fuel_type` VARCHAR(100) DEFAULT '';")
|
||||||
|
MySQL.update.await("UPDATE " .. Framework.VehiclesTable .. " SET ti_fuel_type = ? WHERE plate = ?", {type, plate});
|
||||||
|
end)
|
||||||
|
|
||||||
|
lib.callback.register("jg-advancedgarages:server:get-ti-fuel-type", function(src, plate)
|
||||||
|
MySQL.query.await("ALTER TABLE " .. Framework.VehiclesTable .. " ADD COLUMN IF NOT EXISTS `ti_fuel_type` VARCHAR(100) DEFAULT '';")
|
||||||
|
return MySQL.scalar.await("SELECT ti_fuel_type FROM " .. Framework.VehiclesTable .. " WHERE plate = ?", {plate}) or false
|
||||||
|
end)
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Brazzers-FakePlates
|
||||||
|
--
|
||||||
|
|
||||||
|
if GetResourceState("brazzers-fakeplates") == "started" then
|
||||||
|
lib.callback.register("jg-advancedgarages:server:brazzers-get-plate-from-fakeplate", function(_, fakeplate)
|
||||||
|
local result = MySQL.scalar.await("SELECT plate FROM player_vehicles WHERE fakeplate = ?", {fakeplate})
|
||||||
|
if result then return result end
|
||||||
|
return false
|
||||||
|
end)
|
||||||
|
|
||||||
|
lib.callback.register("jg-advancedgarages:server:brazzers-get-fakeplate-from-plate", function(_, plate)
|
||||||
|
local result = MySQL.scalar.await("SELECT fakeplate FROM player_vehicles WHERE plate = ?", {plate})
|
||||||
|
if result then return result end
|
||||||
|
return false
|
||||||
|
end)
|
||||||
|
end
|
56
resources/[carscripts]/jg-advancedgarages/fxmanifest.lua
Normal file
56
resources/[carscripts]/jg-advancedgarages/fxmanifest.lua
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
fx_version "cerulean"
|
||||||
|
game "gta5"
|
||||||
|
lua54 "yes"
|
||||||
|
|
||||||
|
description "For support or other queries: discord.gg/jgscripts"
|
||||||
|
version 'v3.2.3'
|
||||||
|
author "JG Scripts"
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
"oxmysql",
|
||||||
|
"ox_lib",
|
||||||
|
"/server:7290",
|
||||||
|
"/onesync",
|
||||||
|
}
|
||||||
|
|
||||||
|
shared_scripts {
|
||||||
|
"@ox_lib/init.lua",
|
||||||
|
"config/config.lua",
|
||||||
|
"locales/*.lua",
|
||||||
|
"shared/main.lua",
|
||||||
|
"framework/main.lua"
|
||||||
|
}
|
||||||
|
|
||||||
|
client_scripts {
|
||||||
|
"framework/**/cl-*.lua",
|
||||||
|
"config/config-cl.lua",
|
||||||
|
"client/cl-main.lua",
|
||||||
|
"client/*.lua"
|
||||||
|
}
|
||||||
|
|
||||||
|
server_scripts {
|
||||||
|
"@oxmysql/lib/MySQL.lua",
|
||||||
|
"framework/**/sv-*.lua",
|
||||||
|
"config/config-sv.lua",
|
||||||
|
"server/sv-main.lua",
|
||||||
|
"server/*.lua"
|
||||||
|
}
|
||||||
|
|
||||||
|
ui_page "web/dist/index.html"
|
||||||
|
|
||||||
|
files {
|
||||||
|
"web/dist/index.html",
|
||||||
|
"web/dist/**/*",
|
||||||
|
"vehicle_images/*"
|
||||||
|
}
|
||||||
|
|
||||||
|
escrow_ignore {
|
||||||
|
"config/**/*",
|
||||||
|
"framework/**/*",
|
||||||
|
"locales/*.lua",
|
||||||
|
"client/cl-deformation.lua",
|
||||||
|
"client/cl-locations.lua",
|
||||||
|
"server/sv-webhooks.lua"
|
||||||
|
}
|
||||||
|
|
||||||
|
dependency '/assetpacks'
|
|
@ -0,0 +1,28 @@
|
||||||
|
-- player_vehicles
|
||||||
|
ALTER TABLE `owned_vehicles` ADD COLUMN IF NOT EXISTS `fuel` INT(10) DEFAULT '100';
|
||||||
|
ALTER TABLE `owned_vehicles` ADD COLUMN IF NOT EXISTS `engine` INT(10) DEFAULT '1000';
|
||||||
|
ALTER TABLE `owned_vehicles` ADD COLUMN IF NOT EXISTS `body` INT(10) DEFAULT '1000';
|
||||||
|
ALTER TABLE `owned_vehicles` ADD COLUMN IF NOT EXISTS `damage` LONGTEXT DEFAULT '';
|
||||||
|
ALTER TABLE `owned_vehicles` ADD COLUMN IF NOT EXISTS `in_garage` TINYINT(1) DEFAULT '1';
|
||||||
|
ALTER TABLE `owned_vehicles` ADD COLUMN IF NOT EXISTS `garage_id` VARCHAR(255) DEFAULT 'Legion Square';
|
||||||
|
ALTER TABLE `owned_vehicles` ADD COLUMN IF NOT EXISTS `job_vehicle` TINYINT(1) DEFAULT '0';
|
||||||
|
ALTER TABLE `owned_vehicles` ADD COLUMN IF NOT EXISTS `job_vehicle_rank` INT(10) DEFAULT '0';
|
||||||
|
ALTER TABLE `owned_vehicles` ADD COLUMN IF NOT EXISTS `gang_vehicle` TINYINT(1) DEFAULT '0';
|
||||||
|
ALTER TABLE `owned_vehicles` ADD COLUMN IF NOT EXISTS `gang_vehicle_rank` INT(10) DEFAULT '0';
|
||||||
|
ALTER TABLE `owned_vehicles` ADD COLUMN IF NOT EXISTS `impound` INT(10) DEFAULT '0';
|
||||||
|
ALTER TABLE `owned_vehicles` ADD COLUMN IF NOT EXISTS `impound_retrievable` INT(10) DEFAULT '0';
|
||||||
|
ALTER TABLE `owned_vehicles` ADD COLUMN IF NOT EXISTS `impound_data` LONGTEXT DEFAULT '';
|
||||||
|
ALTER TABLE `owned_vehicles` ADD COLUMN IF NOT EXISTS `nickname` VARCHAR(255) DEFAULT '';
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `player_priv_garages` (
|
||||||
|
`id` INT(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
|
`owners` longtext,
|
||||||
|
`name` VARCHAR(255),
|
||||||
|
`type` VARCHAR(50),
|
||||||
|
`x` FLOAT,
|
||||||
|
`y` FLOAT,
|
||||||
|
`z` FLOAT,
|
||||||
|
`h` FLOAT,
|
||||||
|
`distance` INT(11) DEFAULT '10',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
);
|
25
resources/[carscripts]/jg-advancedgarages/install/run-qb.sql
Normal file
25
resources/[carscripts]/jg-advancedgarages/install/run-qb.sql
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
-- player_vehicles
|
||||||
|
ALTER TABLE `player_vehicles` ADD COLUMN IF NOT EXISTS `damage` LONGTEXT DEFAULT '';
|
||||||
|
ALTER TABLE `player_vehicles` ADD COLUMN IF NOT EXISTS `in_garage` TINYINT(1) DEFAULT '1';
|
||||||
|
ALTER TABLE `player_vehicles` ADD COLUMN IF NOT EXISTS `garage_id` VARCHAR(255) DEFAULT 'Legion Square';
|
||||||
|
ALTER TABLE `player_vehicles` ADD COLUMN IF NOT EXISTS `job_vehicle` TINYINT(1) DEFAULT '0';
|
||||||
|
ALTER TABLE `player_vehicles` ADD COLUMN IF NOT EXISTS `job_vehicle_rank` INT(10) DEFAULT '0'; -- NEW
|
||||||
|
ALTER TABLE `player_vehicles` ADD COLUMN IF NOT EXISTS `gang_vehicle` TINYINT(1) DEFAULT '0';
|
||||||
|
ALTER TABLE `player_vehicles` ADD COLUMN IF NOT EXISTS `gang_vehicle_rank` INT(10) DEFAULT '0';
|
||||||
|
ALTER TABLE `player_vehicles` ADD COLUMN IF NOT EXISTS `impound` INT(10) DEFAULT '0';
|
||||||
|
ALTER TABLE `player_vehicles` ADD COLUMN IF NOT EXISTS `impound_retrievable` INT(10) DEFAULT '0';
|
||||||
|
ALTER TABLE `player_vehicles` ADD COLUMN IF NOT EXISTS `impound_data` LONGTEXT DEFAULT '';
|
||||||
|
ALTER TABLE `player_vehicles` ADD COLUMN IF NOT EXISTS `nickname` VARCHAR(255) DEFAULT '';
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `player_priv_garages` (
|
||||||
|
`id` INT(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
|
`owners` longtext,
|
||||||
|
`name` VARCHAR(255),
|
||||||
|
`type` VARCHAR(50),
|
||||||
|
`x` FLOAT,
|
||||||
|
`y` FLOAT,
|
||||||
|
`z` FLOAT,
|
||||||
|
`h` FLOAT,
|
||||||
|
`distance` INT(11) DEFAULT '10',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
);
|
142
resources/[carscripts]/jg-advancedgarages/locales/ar.lua
Normal file
142
resources/[carscripts]/jg-advancedgarages/locales/ar.lua
Normal file
|
@ -0,0 +1,142 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['ar'] = {
|
||||||
|
yes = "نعم",
|
||||||
|
no = "لا",
|
||||||
|
garage = "كراج",
|
||||||
|
jobGarage = "كراج الوظيفة",
|
||||||
|
gangGarage = "كراج العصابة",
|
||||||
|
player = "لاعب",
|
||||||
|
impound = "حجز",
|
||||||
|
inGarage = "في الكراج",
|
||||||
|
notInGarage = "ليست في الكراج",
|
||||||
|
car = "سيارة",
|
||||||
|
air = "جوي",
|
||||||
|
sea = "بحري",
|
||||||
|
fuel = "وقود",
|
||||||
|
engine = "محرك",
|
||||||
|
body = "هيكل",
|
||||||
|
day = "يوم",
|
||||||
|
days = "أيام",
|
||||||
|
hour = "ساعة",
|
||||||
|
hours = "ساعات",
|
||||||
|
mins = "دقائق",
|
||||||
|
|
||||||
|
-- User Interface
|
||||||
|
noVehicles = "لا توجد مركبات في هذا الكراج",
|
||||||
|
noVehiclesAvailableToDrive = "لا توجد مركبات متاحة للقيادة",
|
||||||
|
vehicles = "مركبة/مركبات",
|
||||||
|
vehiclePlate = "لوحة المركبة",
|
||||||
|
vehicleNotInGarage = "المركبة تُركت بالخارج",
|
||||||
|
vehicleTakeOut = "قيادة",
|
||||||
|
vehicleReturnAndTakeOut = "إرجاع وقيادة",
|
||||||
|
vehicleReturnToOwnersGarage = "إرجاع إلى كراج المالك",
|
||||||
|
transferToGarageOrPlayer = "نقل إلى كراج أو لاعب",
|
||||||
|
transferToGarage = "نقل إلى كراج",
|
||||||
|
transferToPlayer = "نقل إلى لاعب",
|
||||||
|
vehicleTransfer = "نقل",
|
||||||
|
noAvailableGarages = "لا توجد كراجات متاحة",
|
||||||
|
currentGarage = "الكراج الحالي",
|
||||||
|
noPlayersOnline = "لا يوجد لاعبين متصلين",
|
||||||
|
createPrivateGarage = "إنشاء كراج خاص",
|
||||||
|
pgAlertHeadsUp = "تنبيه!",
|
||||||
|
pgAlertText = "سيتم إنشاء الكراج وستظهر المركبات في الموقع والاتجاه الذي تقف فيه حاليًا.",
|
||||||
|
garageName = "اسم الكراج",
|
||||||
|
impoundInformation = "معلومات الحجز",
|
||||||
|
impoundedBy = "حجز بواسطة",
|
||||||
|
impoundedReason = "السبب",
|
||||||
|
impoundPlayerCanCollect = "يمكنك استلام مركبتك من الحجز.",
|
||||||
|
impoundCollectionContact = "يرجى الاتصال بـ %{value} لاستلام مركبتك.",
|
||||||
|
impoundNoVehicles = "لا توجد مركبات في الحجز",
|
||||||
|
impoundAvailable = "متاح",
|
||||||
|
impoundRetrievableByOwner = "يمكن استردادها بواسطة المالك",
|
||||||
|
impoundNoReason = "لم يتم تقديم سبب",
|
||||||
|
impoundVehicle = "حجز المركبة",
|
||||||
|
impoundReasonField = "السبب (اختياري)",
|
||||||
|
impoundTime = "وقت الحجز",
|
||||||
|
impoundAvailableImmediately = "متاح فورا",
|
||||||
|
impoundCost = "التكلفة",
|
||||||
|
changeVehiclePlate = "تغيير لوحة المركبة",
|
||||||
|
newPlate = "لوحة جديدة",
|
||||||
|
search = "البحث بالاسم أو اللوحة",
|
||||||
|
noPrivateGarages = "لا توجد كراجات خاصة",
|
||||||
|
editPrivateGarage = "تعديل الكراج الخاص",
|
||||||
|
owners = "المالك/المالكون",
|
||||||
|
location = "الموقع",
|
||||||
|
next = "التالي",
|
||||||
|
previous = "السابق",
|
||||||
|
page = "صفحة",
|
||||||
|
of = "من",
|
||||||
|
show = "عرض",
|
||||||
|
save = "حفظ",
|
||||||
|
edit = "تعديل",
|
||||||
|
delete = "حذف",
|
||||||
|
garageDeleteConfirm = "هل أنت متأكد أنك تريد حذف هذا الكراج؟",
|
||||||
|
privGarageSearch = "البحث بالاسم",
|
||||||
|
garageUpdatedSuccess = "تم تحديث الكراج بنجاح!",
|
||||||
|
getCurrentCoords = "احصل على الإحداثيات الحالية",
|
||||||
|
identifier = "المعرف",
|
||||||
|
name = "الاسم",
|
||||||
|
noPlayers = "لا يوجد لاعبين مضافين",
|
||||||
|
addPlayer = "إضافة لاعب",
|
||||||
|
loadingVehicle = "جارٍ تحميل المركبة...",
|
||||||
|
vehicleSetup = "إعداد المركبة",
|
||||||
|
extras = "إضافات",
|
||||||
|
extra = "إضافة",
|
||||||
|
liveries = "الطلاءات",
|
||||||
|
livery = "طلاء",
|
||||||
|
noLiveries = "لا توجد طلاءات متاحة",
|
||||||
|
noExtras = "لا توجد إضافات متاحة",
|
||||||
|
none = "لا شيء",
|
||||||
|
vehicleNeedsService = "تحتاج إلى صيانة",
|
||||||
|
type = "النوع",
|
||||||
|
goInside = "ادخل إلى الداخل",
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
insertVehicleTypeError = "يمكنك تخزين أنواع المركبات %{value} فقط في هذا الكراج",
|
||||||
|
insertVehiclePublicError = "لا يمكنك تخزين مركبات الوظيفة أو العصابة في الكراجات العامة",
|
||||||
|
vehicleParkedSuccess = "تم ركن المركبة في الكراج",
|
||||||
|
vehicleNotOwnedError = "أنت لا تملك هذه المركبة",
|
||||||
|
vehicleNotOwnedByPlayerError = "المركبة ليست مملوكة للاعب",
|
||||||
|
notEnoughMoneyError = "ليس لديك ما يكفي من المال في البنك",
|
||||||
|
vehicleNotYoursError = "المركبة لا تخصك",
|
||||||
|
notJobOrGangVehicle = "هذه ليست مركبة %{value}",
|
||||||
|
invalidGangError = "لم تقدم عصابة صالحة",
|
||||||
|
invalidJobError = "لم تقدم وظيفة صالحة",
|
||||||
|
notInsideVehicleError = "أنت لست جالسًا في مركبة",
|
||||||
|
vehicleAddedToGangGarageSuccess = "تمت إضافة المركبة إلى كراج العصابة %{value}!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "تمت إضافة المركبة إلى كراج الوظيفة %{value}!",
|
||||||
|
moveCloserToVehicleError = "تحتاج إلى الاقتراب من المركبة",
|
||||||
|
noVehiclesNearbyError = "لا توجد مركبات قريبة",
|
||||||
|
commandPermissionsError = "غير مسموح لك باستخدام هذا الأمر",
|
||||||
|
actionNotAllowedError = "غير مسموح لك بفعل هذا",
|
||||||
|
garageNameExistsError = "اسم الكراج موجود بالفعل",
|
||||||
|
vehiclePlateExistsError = "لوحة المركبة مستخدمة بالفعل",
|
||||||
|
playerNotOnlineError = "اللاعب غير متصل",
|
||||||
|
vehicleTransferSuccess = "تم نقل المركبة إلى %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "تم نقل المركبة بنجاح",
|
||||||
|
vehicleReceived = "تلقيت مركبة باللوحة %{value}",
|
||||||
|
vehicleImpoundSuccess = "تم حجز المركبة بنجاح",
|
||||||
|
vehicleImpoundRemoveSuccess = "تم إزالة المركبة من الحجز",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "تم إرجاع المركبة إلى كراج المالك",
|
||||||
|
garageCreatedSuccess = "تم إنشاء الكراج بنجاح!",
|
||||||
|
vehiclePlateUpdateSuccess = "تم تعيين لوحة المركبة إلى %{value}",
|
||||||
|
vehicleDeletedSuccess = "تم حذف المركبة من قاعدة البيانات %{value}",
|
||||||
|
playerIsDead = "لا يمكنك فعل هذا وأنت ميت",
|
||||||
|
vehicleStoreError = "لا يمكنك تخزين هذه المركبة هنا",
|
||||||
|
|
||||||
|
-- Commands
|
||||||
|
cmdSetGangVehicle = "إضافة المركبة الحالية إلى كراج العصابة",
|
||||||
|
cmdRemoveGangVehicle = "إعادة مركبة العصابة إلى ملكية اللاعب",
|
||||||
|
cmdSetJobVehicle = "إضافة المركبة الحالية إلى كراج الوظيفة",
|
||||||
|
cmdRemoveJobVehicle = "إعادة مركبة الوظيفة إلى ملكية اللاعب",
|
||||||
|
cmdArgGangName = "اسم العصابة",
|
||||||
|
cmdArgJobName = "اسم الوظيفة",
|
||||||
|
cmgArgMinGangRank = "الرتبة الدنيا للعصابة",
|
||||||
|
cmgArgMinJobRank = "الرتبة الدنيا للوظيفة",
|
||||||
|
cmdArgPlayerId = "معرف اللاعب للمالك الجديد",
|
||||||
|
cmdImpoundVehicle = "حجز مركبة",
|
||||||
|
cmdChangePlate = "تغيير لوحة المركبة (للمسؤولين فقط)",
|
||||||
|
cmdDeleteVeh = "حذف المركبة من قاعدة البيانات (للمسؤولين فقط)",
|
||||||
|
cmdCreatePrivGarage = "إنشاء كراج خاص للاعب",
|
||||||
|
}
|
142
resources/[carscripts]/jg-advancedgarages/locales/cn.lua
Normal file
142
resources/[carscripts]/jg-advancedgarages/locales/cn.lua
Normal file
|
@ -0,0 +1,142 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['cn'] = {
|
||||||
|
yes = "是",
|
||||||
|
no = "否",
|
||||||
|
garage = "车库",
|
||||||
|
jobGarage = "工作车库",
|
||||||
|
gangGarage = "帮派车库",
|
||||||
|
player = "玩家",
|
||||||
|
impound = "扣押",
|
||||||
|
inGarage = "在车库中",
|
||||||
|
notInGarage = "不在车库中",
|
||||||
|
car = "汽车",
|
||||||
|
air = "空中",
|
||||||
|
sea = "海洋",
|
||||||
|
fuel = "燃油",
|
||||||
|
engine = "引擎",
|
||||||
|
body = "车身",
|
||||||
|
day = "天",
|
||||||
|
days = "天",
|
||||||
|
hour = "小时",
|
||||||
|
hours = "小时",
|
||||||
|
mins = "分钟",
|
||||||
|
|
||||||
|
-- 用户界面
|
||||||
|
noVehicles = "此车库没有车辆",
|
||||||
|
noVehiclesAvailableToDrive = "没有可供驾驶的车辆",
|
||||||
|
vehicles = "辆车",
|
||||||
|
vehiclePlate = "车牌",
|
||||||
|
vehicleNotInGarage = "车辆已被取出",
|
||||||
|
vehicleTakeOut = "驾驶",
|
||||||
|
vehicleReturnAndTakeOut = "归还并驾驶",
|
||||||
|
vehicleReturnToOwnersGarage = "返回车主的车库",
|
||||||
|
transferToGarageOrPlayer = "转移到车库或玩家",
|
||||||
|
transferToGarage = "转移到车库",
|
||||||
|
transferToPlayer = "转移到玩家",
|
||||||
|
vehicleTransfer = "车辆转移",
|
||||||
|
noAvailableGarages = "没有可用车库",
|
||||||
|
currentGarage = "当前车库",
|
||||||
|
noPlayersOnline = "当前没有在线玩家",
|
||||||
|
createPrivateGarage = "创建私人车库",
|
||||||
|
pgAlertHeadsUp = "提示!",
|
||||||
|
pgAlertText = "车库将会创建,车辆将会在您当前位置和方向生成。",
|
||||||
|
garageName = "车库名称",
|
||||||
|
impoundInformation = "扣押信息",
|
||||||
|
impoundedBy = "扣押者",
|
||||||
|
impoundedReason = "原因",
|
||||||
|
impoundPlayerCanCollect = "您可以从扣押处取回您的车辆。",
|
||||||
|
impoundCollectionContact = "请联系 %{value} 以便取回您的车辆。",
|
||||||
|
impoundNoVehicles = "扣押处没有车辆",
|
||||||
|
impoundAvailable = "可用",
|
||||||
|
impoundRetrievableByOwner = "车主可取回",
|
||||||
|
impoundNoReason = "未提供原因",
|
||||||
|
impoundVehicle = "扣押车辆",
|
||||||
|
impoundReasonField = "原因(可选)",
|
||||||
|
impoundTime = "扣押时间",
|
||||||
|
impoundAvailableImmediately = "可立即取回",
|
||||||
|
impoundCost = "费用",
|
||||||
|
changeVehiclePlate = "更改车牌",
|
||||||
|
newPlate = "新车牌",
|
||||||
|
search = "按名称或车牌搜索",
|
||||||
|
noPrivateGarages = "没有私人车库",
|
||||||
|
editPrivateGarage = "编辑私人车库",
|
||||||
|
owners = "车主",
|
||||||
|
location = "位置",
|
||||||
|
next = "下一页",
|
||||||
|
previous = "上一页",
|
||||||
|
page = "页",
|
||||||
|
of = "共",
|
||||||
|
show = "显示",
|
||||||
|
save = "保存",
|
||||||
|
edit = "编辑",
|
||||||
|
delete = "删除",
|
||||||
|
garageDeleteConfirm = "您确定要删除此车库吗?",
|
||||||
|
privGarageSearch = "按名称搜索",
|
||||||
|
garageUpdatedSuccess = "车库更新成功!",
|
||||||
|
getCurrentCoords = "获取当前坐标",
|
||||||
|
identifier = "标识符",
|
||||||
|
name = "名称",
|
||||||
|
noPlayers = "没有添加玩家",
|
||||||
|
addPlayer = "添加玩家",
|
||||||
|
loadingVehicle = "正在加载车辆...",
|
||||||
|
vehicleSetup = "车辆设置",
|
||||||
|
extras = "额外配件",
|
||||||
|
extra = "额外配件",
|
||||||
|
liveries = "涂装",
|
||||||
|
livery = "涂装",
|
||||||
|
noLiveries = "没有可用涂装",
|
||||||
|
noExtras = "没有可用配件",
|
||||||
|
none = "无",
|
||||||
|
vehicleNeedsService = "需要维修",
|
||||||
|
type = "类型",
|
||||||
|
goInside = "室内车库",
|
||||||
|
|
||||||
|
-- 通知
|
||||||
|
insertVehicleTypeError = "此车库只能存储 %{value} 类型的车辆",
|
||||||
|
insertVehiclePublicError = "您不能将工作或帮派车辆存入公共车库",
|
||||||
|
vehicleParkedSuccess = "车辆已停入车库",
|
||||||
|
vehicleNotOwnedError = "您不拥有这辆车",
|
||||||
|
vehicleNotOwnedByPlayerError = "此车辆不属于玩家",
|
||||||
|
notEnoughMoneyError = "您的银行余额不足",
|
||||||
|
vehicleNotYoursError = "这辆车不属于您",
|
||||||
|
notJobOrGangVehicle = "这不是 %{value} 车辆",
|
||||||
|
invalidGangError = "您没有提供有效的帮派",
|
||||||
|
invalidJobError = "您没有提供有效的工作",
|
||||||
|
notInsideVehicleError = "您没有坐在车辆内",
|
||||||
|
vehicleAddedToGangGarageSuccess = "车辆已添加到 %{value} 帮派车库!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "车辆已添加到 %{value} 工作车库!",
|
||||||
|
moveCloserToVehicleError = "您需要靠近车辆",
|
||||||
|
noVehiclesNearbyError = "附近没有车辆",
|
||||||
|
commandPermissionsError = "您没有权限使用此命令",
|
||||||
|
actionNotAllowedError = "您没有权限执行此操作",
|
||||||
|
garageNameExistsError = "车库名称已存在",
|
||||||
|
vehiclePlateExistsError = "车牌已被使用",
|
||||||
|
playerNotOnlineError = "玩家不在线",
|
||||||
|
vehicleTransferSuccess = "车辆已转移给 %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "车辆转移成功",
|
||||||
|
vehicleReceived = "您已收到车牌为 %{value} 的车辆",
|
||||||
|
vehicleImpoundSuccess = "车辆成功扣押",
|
||||||
|
vehicleImpoundRemoveSuccess = "车辆已从扣押处移除",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "车辆已归还至车主的车库",
|
||||||
|
garageCreatedSuccess = "车库创建成功!",
|
||||||
|
vehiclePlateUpdateSuccess = "车牌已更新为 %{value}",
|
||||||
|
vehicleDeletedSuccess = "车辆已从数据库删除 %{value}",
|
||||||
|
playerIsDead = "您死了无法执行此操作",
|
||||||
|
vehicleStoreError = "您无法将此车辆存储在此处",
|
||||||
|
|
||||||
|
-- 命令
|
||||||
|
cmdSetGangVehicle = "将当前车辆添加到帮派车库",
|
||||||
|
cmdRemoveGangVehicle = "将帮派车辆归还为玩家车辆",
|
||||||
|
cmdSetJobVehicle = "将当前车辆添加到工作车库",
|
||||||
|
cmdRemoveJobVehicle = "将工作车辆归还为玩家车辆",
|
||||||
|
cmdArgGangName = "帮派名称",
|
||||||
|
cmdArgJobName = "工作名称",
|
||||||
|
cmgArgMinGangRank = "最低帮派等级",
|
||||||
|
cmgArgMinJobRank = "最低工作等级",
|
||||||
|
cmdArgPlayerId = "新车主的玩家ID",
|
||||||
|
cmdImpoundVehicle = "扣押一辆车辆",
|
||||||
|
cmdChangePlate = "更改车辆车牌(仅限管理员)",
|
||||||
|
cmdDeleteVeh = "删除车辆(仅限管理员)",
|
||||||
|
cmdCreatePrivGarage = "为玩家创建私人车库",
|
||||||
|
}
|
143
resources/[carscripts]/jg-advancedgarages/locales/cs.lua
Normal file
143
resources/[carscripts]/jg-advancedgarages/locales/cs.lua
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['cs'] = {
|
||||||
|
yes = "Ano",
|
||||||
|
ne = "Ne",
|
||||||
|
garage = "Garáž",
|
||||||
|
jobGarage = "Frakční Garáž",
|
||||||
|
gangGarage = "Gang Garáž",
|
||||||
|
player = "Hráč",
|
||||||
|
impound = "Odtahovka",
|
||||||
|
inGarage = "V garáži",
|
||||||
|
notInGarage = "Mimo garáž",
|
||||||
|
car = "Car",
|
||||||
|
air = "Air",
|
||||||
|
sea = "Sea",
|
||||||
|
fuel = "Palivo",
|
||||||
|
engine = "Motor",
|
||||||
|
body = "Karoserie",
|
||||||
|
day = "den",
|
||||||
|
days = "dní",
|
||||||
|
hour = "hodiny",
|
||||||
|
hours = "hodin",
|
||||||
|
|
||||||
|
-- User Interface
|
||||||
|
noVehicles = "V této garáži nejsou žádná vozidla",
|
||||||
|
vehicles = "vozidlo(a)",
|
||||||
|
vehiclePlate = "SPZ vozidla",
|
||||||
|
vehicleNotInGarage = "Vozidlo není v garáži",
|
||||||
|
vehicleTakeOut = "Vytáhnout vozidlo",
|
||||||
|
vehicleReturnAndTakeOut = "Vyzvednout z odtahovky",
|
||||||
|
vehicleReturnToOwnersGarage = "Návrat do garáže majitele",
|
||||||
|
transferToGarageOrPlayer = "Převést do garáže nebo hráči",
|
||||||
|
transferToGarage = "Převést do garáže",
|
||||||
|
transferToPlayer = "Převést na hráče",
|
||||||
|
vehicleTransfer = "Převod",
|
||||||
|
noAvailableGarages = "Žádné dostupné garáže",
|
||||||
|
currentGarage = "Aktuální garáž",
|
||||||
|
noPlayersOnline = "Žádní hráči online",
|
||||||
|
createPrivateGarage = "Vytvořit soukromou garáž",
|
||||||
|
pgAlertHeadsUp = "Heads up!",
|
||||||
|
pgAlertText = "Vytvoří se garáž a vozidla se budou spawnovat přesně v místě a směru, kde právě stojíte.",
|
||||||
|
garageName = "Název garáže",
|
||||||
|
impoundInformation = "Informace o zabavení",
|
||||||
|
impoundedBy = "Zabaveno do",
|
||||||
|
impoundedReason = "Důvod",
|
||||||
|
impoundPlayerCanCollect = "Můžete si vyzvednout své vozidlo na odtahovce.",
|
||||||
|
impoundCollectionContact = "Kontaktujte prosím %{value}, abyste si mohli vyzvednout své vozidlo.",
|
||||||
|
impoundNoVehicles = "V blízkosti nejsou žádná vozidla",
|
||||||
|
impoundAvailable = "K dispozici",
|
||||||
|
impoundRetrievableByOwner = "Vyzvednutelné vlastníkem",
|
||||||
|
impoundNoReason = "Není uveden důvod",
|
||||||
|
impoundVehicle = "Zabavené vozidlo",
|
||||||
|
impoundReasonField = "Důvod (nepovinný)",
|
||||||
|
impoundTime = "Doba zabavení",
|
||||||
|
impoundAvailableImmediately = "K dispozici ihned",
|
||||||
|
impoundCost = "Cena",
|
||||||
|
changeVehiclePlate = "Vyměnit registrační značku vozidla",
|
||||||
|
newPlate = "Nová registrační značka",
|
||||||
|
search = "Hledejte podle jména nebo štítku",
|
||||||
|
noPrivateGarages = "Žádné soukromé garáže",
|
||||||
|
editPrivateGarage = "Upravit soukromou garáž",
|
||||||
|
owners = "Majitel(é)",
|
||||||
|
location = "Umístění",
|
||||||
|
next = "Další",
|
||||||
|
previous = "Předchozí",
|
||||||
|
page = "Stránka",
|
||||||
|
of = "z",
|
||||||
|
show = "Zobrazit",
|
||||||
|
save = "Uložit",
|
||||||
|
edit = "Upravit",
|
||||||
|
delete = "Odstranit",
|
||||||
|
garageDeleteConfirm = "Opravdu chcete tuto garáž odstranit?",
|
||||||
|
privGarageSearch = "Vyhledávání podle jména",
|
||||||
|
garageUpdatedSuccess = "Garáž úspěšně aktualizována!",
|
||||||
|
getCurrentCoords = "Získání aktuálních souřadnic",
|
||||||
|
identifier = "Identifikátor",
|
||||||
|
name = "Název",
|
||||||
|
noPlayers = "Nebyli přidáni žádní hráči",
|
||||||
|
addPlayer = "Přidat hráče",
|
||||||
|
loadingVehicle = "Nakládací vozidlo...",
|
||||||
|
vehicleSetup = "Nastavení vozidla",
|
||||||
|
extras = "Doplňky",
|
||||||
|
extra = "Extra",
|
||||||
|
liveries = "Liveries",
|
||||||
|
livery = "Livery",
|
||||||
|
noLiveries = "Nejsou k dispozici žádné livreje",
|
||||||
|
noExtras = "Žádné doplňky nejsou k dispozici",
|
||||||
|
none = "Žádné",
|
||||||
|
vehicleNeedsService = "Needs Service",
|
||||||
|
type = "Type",
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
insertVehicleTypeError = "V této garáži lze uložit pouze %{value} typů vozidel",
|
||||||
|
insertVehiclePublicError = "Do veřejných garáží nelze ukládat frakční vozidla",
|
||||||
|
vehicleParkedSuccess = "Vozidlo bylo zaparkováno do garáže",
|
||||||
|
vehicleNotOwnedError = "Toto vozidlo nevlastníte",
|
||||||
|
vehicleNotOwnedByPlayerError = "Vozidlo není ve vlastnictví tohoto hráče",
|
||||||
|
notEnoughMoneyError = "Nemáte v bance dostatek peněz",
|
||||||
|
vehicleNotYoursError = "Toto vozidlo vám nepatří",
|
||||||
|
notJobOrGangVehicle = "Toto není vozidlo %{value}",
|
||||||
|
invalidGangError = "Nezadali jste platný gang",
|
||||||
|
invalidJobError = "Nezadali jste platnou frakci",
|
||||||
|
notInsideVehicleError = "Nesedíte ve vozidle",
|
||||||
|
vehicleAddedToGangGarageSuccess = "Vozidlo bylo přidáno do garáže gangu %{value}!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "Vozidlo bylo přidáno do garáže frakce %{value}!",
|
||||||
|
moveCloserToVehicleError = "Musíte se přiblížit k vozidlu",
|
||||||
|
noVehiclesNearbyError = "V blízkosti nejsou žádná vozidla",
|
||||||
|
commandPermissionsError = "Nemáte oprávnění na použítí tohoto příkazu",
|
||||||
|
actionNotAllowedError = "Nejste opravněn(a) provádět tuto akci",
|
||||||
|
garageNameExistsError = "Název garáže již existuje",
|
||||||
|
vehiclePlateExistsError = "SPZ vozidla je již použita",
|
||||||
|
playerNotOnlineError = "Hráč není online",
|
||||||
|
vehicleTransferSuccess = "Vozidlo převedeno na %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "Vozidlo bylo úspěšně převedeno",
|
||||||
|
vehicleReceived = "Získal jsi vozidlo se %{value}",
|
||||||
|
vehicleImpoundSuccess = "Vozidlo bylo úspěšně zabaveno",
|
||||||
|
vehicleImpoundRemoveSuccess = "Vozidlo bylo odstraněno z odtahovky",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "Vozidlo bylo vráceno do garáže majitele",
|
||||||
|
garageCreatedSuccess = "Garáž byla úspěšně vytvořena!",
|
||||||
|
vehiclePlateUpdateSuccess = "SPZ vozidla nastavena na %{value}",
|
||||||
|
vehicleDeletedSuccess = "Vozidlo bylo odstraněno z databáze %{value}",
|
||||||
|
playerIsDead = "Nemůžeš to udělat, dokud jsi mrtvý",
|
||||||
|
|
||||||
|
-- Commands
|
||||||
|
cmdSetGangVehicle = "Přidat aktuální vozidlo do gang garáže",
|
||||||
|
cmdRemoveGangVehicle = "Nastavit vozidlo gangu zpět do vlastnictví hráče",
|
||||||
|
cmdSetJobVehicle = "Přidat aktuální vozidlo do garáže pro frakci",
|
||||||
|
cmdRemoveJobVehicle = "Nastavit frakční vozidlo zpět do vlastnictví hráče",
|
||||||
|
cmdArgGangName = "Název gangu",
|
||||||
|
cmdArgJobName = "Název jobu",
|
||||||
|
cmgArgMinGangRank = "Minimální hodnost gangu",
|
||||||
|
cmgArgMinJobRank = "Minimální pracovní zařazení",
|
||||||
|
cmdArgPlayerId = "ID hráče nového vlastníka",
|
||||||
|
cmdImpoundVehicle = "Zabavit vozidlo",
|
||||||
|
cmdChangePlate = "Změnit registrační značku vozidla (pouze pro administrátory)",
|
||||||
|
cmdDeleteVeh = "Odstranit vozidlo z databáze (pouze pro administrátory)",
|
||||||
|
cmdCreatePrivGarage = "Vytvořit soukromou garáž pro hráče",
|
||||||
|
|
||||||
|
-- v3
|
||||||
|
vehicleStoreError = "You cannot store this vehicle here",
|
||||||
|
mins = "mins",
|
||||||
|
noVehiclesAvailableToDrive = "There are no vehicles available to drive",
|
||||||
|
}
|
143
resources/[carscripts]/jg-advancedgarages/locales/da.lua
Normal file
143
resources/[carscripts]/jg-advancedgarages/locales/da.lua
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['da'] = {
|
||||||
|
yes = "Ja",
|
||||||
|
no = "Nej",
|
||||||
|
garage = "Garage",
|
||||||
|
jobGarage = "Job Garage",
|
||||||
|
gangGarage = "Bande Garage",
|
||||||
|
player = "Spiller",
|
||||||
|
impound = "Impound",
|
||||||
|
inGarage = "I garage",
|
||||||
|
notInGarage = "Ikke i garage",
|
||||||
|
car = "Bil",
|
||||||
|
air = "Fly",
|
||||||
|
sea = "Båd",
|
||||||
|
fuel = "Brændstof",
|
||||||
|
engine = "Motor",
|
||||||
|
body = "Karosseri",
|
||||||
|
day = "dag",
|
||||||
|
days = "dage",
|
||||||
|
hour = "time",
|
||||||
|
hours = "timer",
|
||||||
|
|
||||||
|
-- User Interface
|
||||||
|
noVehicles = "Der er ingen køretøjer i denne garage",
|
||||||
|
vehicles = "køretøj(er)",
|
||||||
|
vehiclePlate = "Nummerplade",
|
||||||
|
vehicleNotInGarage = "Køretøj er ikke i denne garage",
|
||||||
|
vehicleTakeOut = "Tag ud",
|
||||||
|
vehicleReturnAndTakeOut = "Parker og tag ud",
|
||||||
|
vehicleReturnToOwnersGarage = "Send tilbage til ejers garage",
|
||||||
|
transferToGarageOrPlayer = "Overfør til en garage eller en spiller",
|
||||||
|
transferToGarage = "Overfør til garage",
|
||||||
|
transferToPlayer = "Overfør til spiller",
|
||||||
|
vehicleTransfer = "Overfør",
|
||||||
|
noAvailableGarages = "Ingen tilgængelige garager",
|
||||||
|
currentGarage = "Nuværende garage",
|
||||||
|
noPlayersOnline = "Ingen spillere online",
|
||||||
|
createPrivateGarage = "Opret privat garage",
|
||||||
|
pgAlertHeadsUp = "Pas på!",
|
||||||
|
pgAlertText = "The garage will be created and vehicles will spawn in the exact location and direction are you are currently standing.",
|
||||||
|
garageName = "Garage Navn",
|
||||||
|
impoundInformation = "Impound Information",
|
||||||
|
impoundedBy = "Impoundet af",
|
||||||
|
impoundedReason = "Grund",
|
||||||
|
impoundPlayerCanCollect = "Du kan hente dit køretøj hos impound.",
|
||||||
|
impoundCollectionContact = "Kontakt venligst %{value} for at hente dit køretøj.",
|
||||||
|
impoundNoVehicles = "Der er ingen køretøjer i dette impound",
|
||||||
|
impoundAvailable = "Tilgængelig",
|
||||||
|
impoundRetrievableByOwner = "Kan afhentes af ejer",
|
||||||
|
impoundNoReason = "Ingen grund angivet",
|
||||||
|
impoundVehicle = "Impound Køretøj",
|
||||||
|
impoundReasonField = "Grund (valgfri)",
|
||||||
|
impoundTime = "Impound Tid",
|
||||||
|
impoundAvailableImmediately = "Tilgængelig øjeblikkeligt",
|
||||||
|
impoundCost = "Pris",
|
||||||
|
changeVehiclePlate = "Skift nummerplade",
|
||||||
|
newPlate = "Ny nummerplade",
|
||||||
|
search = "Søg efter navn eller nummerplade",
|
||||||
|
noPrivateGarages = "Ingen private garager",
|
||||||
|
editPrivateGarage = "Rediger privat garage",
|
||||||
|
owners = "Ejer(e)",
|
||||||
|
location = "Placering",
|
||||||
|
next = "Næste",
|
||||||
|
previous = "Tidligere",
|
||||||
|
page = "Side",
|
||||||
|
of = "af",
|
||||||
|
show = "Vis",
|
||||||
|
save = "Gem",
|
||||||
|
edit = "Rediger",
|
||||||
|
delete = "Slet",
|
||||||
|
garageDeleteConfirm = "Er du sikker på, at du vil slette denne garage?",
|
||||||
|
privGarageSearch = "Søg efter navn",
|
||||||
|
garageUpdatedSuccess = "Garagen er blevet opdateret!",
|
||||||
|
getCurrentCoords = "Hent aktuelle koordinater",
|
||||||
|
identifier = "Identifikator",
|
||||||
|
name = "Navn",
|
||||||
|
noPlayers = "Der er ikke tilføjet nogen spillere",
|
||||||
|
addPlayer = "Tilføj spiller",
|
||||||
|
loadingVehicle = "Indlæser køretøj...",
|
||||||
|
vehicleSetup = "Opsætning af køretøj",
|
||||||
|
extras = "Ekstraudstyr",
|
||||||
|
extra = "Ekstra",
|
||||||
|
liveries = "Liveries",
|
||||||
|
livery = "Livery",
|
||||||
|
noLiveries = "Ingen liveries tilgængelige",
|
||||||
|
noExtras = "Ingen ekstraudstyr til rådighed",
|
||||||
|
none = "Ingen",
|
||||||
|
vehicleNeedsService = "Needs Service",
|
||||||
|
type = "Type",
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
insertVehicleTypeError = "Du kan kun opbevare %{value} i denne garage",
|
||||||
|
insertVehiclePublicError = "You can't store job or gang vehicles in public garages",
|
||||||
|
vehicleParkedSuccess = "Vehicle parked in garage",
|
||||||
|
vehicleNotOwnedError = "You don't own this vehicle",
|
||||||
|
vehicleNotOwnedByPlayerError = "Vehicle is not owned by a player",
|
||||||
|
notEnoughMoneyError = "Du har ikke nok penge i din bank",
|
||||||
|
vehicleNotYoursError = "Køretøj tilhører ikke dig",
|
||||||
|
notJobOrGangVehicle = "Dette er ikke en %{value}",
|
||||||
|
invalidGangError = "Du har ikke angivet en gyldig bande",
|
||||||
|
invalidJobError = "Du har ikke givet et gyldigt job",
|
||||||
|
notInsideVehicleError = "Du sidder ikke i et køretøj",
|
||||||
|
vehicleAddedToGangGarageSuccess = "Køretøj tilføjet til %{value} bande garagen!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "Køretøj tilføjet til %{value} job garagen!",
|
||||||
|
moveCloserToVehicleError = "Du skal være tættere på køretøjet",
|
||||||
|
noVehiclesNearbyError = "Der er ingen køretøjer i nærheden",
|
||||||
|
commandPermissionsError = "Du må ikke bruge denne kommando",
|
||||||
|
actionNotAllowedError = "Du må ikke gøre dette",
|
||||||
|
garageNameExistsError = "Garagenavn eksisterer allerede",
|
||||||
|
vehiclePlateExistsError = "Nummerplade er allerede i brug",
|
||||||
|
playerNotOnlineError = "Spiller er ikke online",
|
||||||
|
vehicleTransferSuccess = "Køretøj overført til %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "Køretøj blev overført",
|
||||||
|
vehicleReceived = "Du modtog et køretøj med nummerpladen %{value}",
|
||||||
|
vehicleImpoundSuccess = "Køretøj blev impounded",
|
||||||
|
vehicleImpoundRemoveSuccess = "Køretøj blev fjernet fra impound",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "Køretøjet blev returneret til ejerens garage",
|
||||||
|
garageCreatedSuccess = "Garage oprettet!",
|
||||||
|
vehiclePlateUpdateSuccess = "Nummerplade ændret til %{value}",
|
||||||
|
vehicleDeletedSuccess = "Køretøj blev slettet fra databasen %{value}",
|
||||||
|
playerIsDead = "Du kan ikke gøre dette, mens du er død",
|
||||||
|
|
||||||
|
-- Commands
|
||||||
|
cmdSetGangVehicle = "Tilføj dette køretøj til bandegaragen",
|
||||||
|
cmdRemoveGangVehicle = "Fjern bandekøretøjet og returner det til ejeren",
|
||||||
|
cmdSetJobVehicle = "Tilføj dette køretøj til jobgaragen",
|
||||||
|
cmdRemoveJobVehicle = "Fjern jobkøretøjet og returner det til ejeren",
|
||||||
|
cmdArgGangName = "Bande navn",
|
||||||
|
cmdArgJobName = "Job navn",
|
||||||
|
cmgArgMinGangRank = "Minimum bande rang",
|
||||||
|
cmgArgMinJobRank = "Minimum jobrangering",
|
||||||
|
cmdArgPlayerId = "Spiller-ID på ejeren",
|
||||||
|
cmdImpoundVehicle = "Impound et køretøj",
|
||||||
|
cmdChangePlate = "Skift nummerplade (Kun admin)",
|
||||||
|
cmdDeleteVeh = "Fjern køretøj fra databasen (Kun admin)",
|
||||||
|
cmdCreatePrivGarage = "Opret en privat garage til en spiller",
|
||||||
|
|
||||||
|
-- v3
|
||||||
|
vehicleStoreError = "You cannot store this vehicle here",
|
||||||
|
mins = "mins",
|
||||||
|
noVehiclesAvailableToDrive = "There are no vehicles available to drive",
|
||||||
|
}
|
143
resources/[carscripts]/jg-advancedgarages/locales/de.lua
Normal file
143
resources/[carscripts]/jg-advancedgarages/locales/de.lua
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['de'] = {
|
||||||
|
yes = "Ja",
|
||||||
|
no = "Nein",
|
||||||
|
garage = "Garage",
|
||||||
|
jobGarage = "Jobgarage",
|
||||||
|
gangGarage = "Ganggarage",
|
||||||
|
player = "Spieler",
|
||||||
|
impound = "Impound",
|
||||||
|
inGarage = "In der Garage",
|
||||||
|
notInGarage = "Nicht in der Garage",
|
||||||
|
car = "Auto",
|
||||||
|
air = "Flugzeug",
|
||||||
|
sea = "Boot",
|
||||||
|
fuel = "Tank",
|
||||||
|
engine = "Motor",
|
||||||
|
body = "Schaden",
|
||||||
|
day = "Tag",
|
||||||
|
days = "Tage",
|
||||||
|
hour = "Stunde",
|
||||||
|
hours = "Stunden",
|
||||||
|
|
||||||
|
-- User Interface
|
||||||
|
noVehicles = "Keine Fahrzeuge in der Garage",
|
||||||
|
vehicles = "Fahrzeug(e)",
|
||||||
|
vehiclePlate = "Kennzeichen",
|
||||||
|
vehicleNotInGarage = "Nicht in der Garage",
|
||||||
|
vehicleTakeOut = "Ausparken",
|
||||||
|
vehicleReturnAndTakeOut = "Einparken und Ausparken",
|
||||||
|
vehicleReturnToOwnersGarage = "Zurück in die Privatgarage",
|
||||||
|
transferToGarageOrPlayer = "Transfer in eine andere Garage oder an einen Spieler",
|
||||||
|
transferToGarage = "Transfer in eine andere Garage",
|
||||||
|
transferToPlayer = "Transfer zu einem Spieler",
|
||||||
|
vehicleTransfer = "Transfer",
|
||||||
|
noAvailableGarages = "Keine Verfügbaren Garagen",
|
||||||
|
currentGarage = "Aktuelle Garage",
|
||||||
|
noPlayersOnline = "Kein Spieler online",
|
||||||
|
createPrivateGarage = "Private Garage erstellen",
|
||||||
|
pgAlertHeadsUp = "Kopf hoch!",
|
||||||
|
pgAlertText = "Garage wird erstellt und Fahrzeuge spawnen an der Stelle und in die Richtung die du schaust",
|
||||||
|
garageName = "Garagenname",
|
||||||
|
impoundInformation = "Impound Information",
|
||||||
|
impoundedBy = "Beschlagnahmt von",
|
||||||
|
impoundedReason = "Grund",
|
||||||
|
impoundPlayerCanCollect = "Fahrzeug kann am Impound ausgelöst werden",
|
||||||
|
impoundCollectionContact = "Kontaktiere %{value} um dein Fahrzeug auszulösen",
|
||||||
|
impoundNoVehicles = "Keine Fahrzeuge im Impound",
|
||||||
|
impoundAvailable = "Verfügbar",
|
||||||
|
impoundRetrievableByOwner = "Kann vom Eigentümer ausgelöst werden",
|
||||||
|
impoundNoReason = "Kein Grund angegeben",
|
||||||
|
impoundVehicle = "Fahrzeug beschlagnahmen",
|
||||||
|
impoundReasonField = "Grund (optional)",
|
||||||
|
impoundTime = "Impound Zeit",
|
||||||
|
impoundAvailableImmediately = "Sofort verfügbar",
|
||||||
|
impoundCost = "Kosten",
|
||||||
|
changeVehiclePlate = "Kennzeichen ändern",
|
||||||
|
newPlate = "Neues Kennzeichen",
|
||||||
|
search = "Suche nach Name oder Kennzeichen",
|
||||||
|
noPrivateGarages = "Keine privaten Garagen",
|
||||||
|
editPrivateGarage = "Private Garage bearbeiten",
|
||||||
|
owners = "Eigentümer(n)",
|
||||||
|
location = "Standort",
|
||||||
|
next = "Weiter",
|
||||||
|
previous = "Vorherige",
|
||||||
|
page = "Seite",
|
||||||
|
of = "von",
|
||||||
|
show = "Anzeigen",
|
||||||
|
save = "Speichern Sie",
|
||||||
|
edit = "Bearbeiten",
|
||||||
|
delete = "Löschen",
|
||||||
|
garageDeleteConfirm = "Sind Sie sicher, dass Sie diese Garage löschen wollen?",
|
||||||
|
privGarageSearch = "Suche nach Name",
|
||||||
|
garageUpdatedSuccess = "Garage erfolgreich aktualisiert!",
|
||||||
|
getCurrentCoords = "Aktuelle Koordinaten abrufen",
|
||||||
|
identifier = "Kennung",
|
||||||
|
name = "Name",
|
||||||
|
noPlayers = "Es sind keine Spieler hinzugefügt worden",
|
||||||
|
addPlayer = "Spieler hinzufügen",
|
||||||
|
loadingVehicle = "Fahrzeug laden...",
|
||||||
|
vehicleSetup = "Fahrzeug-Setup",
|
||||||
|
extras = "Extras",
|
||||||
|
extra = "Extra",
|
||||||
|
liveries = "Livreen",
|
||||||
|
livery = "Leihwagen",
|
||||||
|
noLiveries = "Keine Lackierungen verfügbar",
|
||||||
|
noExtras = "Keine Extras verfügbar",
|
||||||
|
none = "Keine",
|
||||||
|
vehicleNeedsService = "Needs Service",
|
||||||
|
type = "Type",
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
insertVehicleTypeError = "Du kannst hier nur %{value} einparken",
|
||||||
|
insertVehiclePublicError = "Du kannst keine Jobfahrzeuge in Öffentliche Garagen einparken",
|
||||||
|
vehicleParkedSuccess = "Erfolgreich eingeparkt",
|
||||||
|
vehicleNotOwnedError = "Du hast keinen Schlüssel",
|
||||||
|
vehicleNotOwnedByPlayerError = "Kein registriertes Fahrzeug",
|
||||||
|
notEnoughMoneyError = "Nicht genug Geld auf dem Konto",
|
||||||
|
vehicleNotYoursError = "Fahrzeug gehört nicht dir",
|
||||||
|
notJobOrGangVehicle = "Kein %{value} Fahrzeug",
|
||||||
|
invalidGangError = "Keine gültige Gang",
|
||||||
|
invalidJobError = "Kein gültiger Job",
|
||||||
|
notInsideVehicleError = "Du sitzt nicht in einem Fahrzeug",
|
||||||
|
vehicleAddedToGangGarageSuccess = "Fahrzeug zur %{value} Ganggarage hinzugefügt",
|
||||||
|
vehicleAddedToJobGarageSuccess = "Fahrzeug zur %{value} Jobgarage hinzugefügt",
|
||||||
|
moveCloserToVehicleError = "Du musst näher ans Fahrzeug",
|
||||||
|
noVehiclesNearbyError = "Kein Fahrzeug in der nähe",
|
||||||
|
commandPermissionsError = "Keine Berechtigung für diesen Command",
|
||||||
|
actionNotAllowedError = "Keine Berechtigung",
|
||||||
|
garageNameExistsError = "Garagenname exestiert bereites",
|
||||||
|
vehiclePlateExistsError = "Kennzeichen exestiert bereites",
|
||||||
|
playerNotOnlineError = "Spieler ist offline",
|
||||||
|
vehicleTransferSuccess = "Fahrzeug an %{value} übertragen",
|
||||||
|
vehicleTransferSuccessGeneral = "Fahrzeug erfolgreich übertragen",
|
||||||
|
vehicleReceived = "Fahrzeug mit dem Kennzeichen %{value} erhalten",
|
||||||
|
vehicleImpoundSuccess = "Fahrzeug erfolgreich beschlagnahmt",
|
||||||
|
vehicleImpoundRemoveSuccess = "Fahrzeug wurde aus dem Impound ausgelöst",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "Fahrzeug zurück in der Eigentümergarage",
|
||||||
|
garageCreatedSuccess = "Garage erfolgreich erstellt",
|
||||||
|
vehiclePlateUpdateSuccess = "Kennzeichen wurde zu %{value} geändert",
|
||||||
|
vehicleDeletedSuccess = "Fahrzeug aus der Datenbank %{value} gelöscht",
|
||||||
|
playerIsDead = "Sie können dies nicht tun, während Sie tot sind",
|
||||||
|
|
||||||
|
-- Commands
|
||||||
|
cmdSetGangVehicle = "Aktuelles Fahrzeug einer Ganggarage hinzufügen",
|
||||||
|
cmdRemoveGangVehicle = "Setze das Gang-Fahrzeug wieder in den Besitz des Spielers",
|
||||||
|
cmdSetJobVehicle = "Aktuelles Fahrzeug einer Jobgarage hinzufügen",
|
||||||
|
cmdRemoveJobVehicle = "Setze das Job-Fahrzeug wieder in den Besitz des Spielers",
|
||||||
|
cmdArgGangName = "Gangname",
|
||||||
|
cmdArgJobName = "Jobname",
|
||||||
|
cmgArgMinGangRank = "Minimaler Gangrang",
|
||||||
|
cmgArgMinJobRank = "Mindestjobrang",
|
||||||
|
cmdArgPlayerId = "Spieler ID vom Eigentümer",
|
||||||
|
cmdImpoundVehicle = "Fahrzeug beschlagnahmen",
|
||||||
|
cmdChangePlate = "Kennzeichen ändern (Admin only)",
|
||||||
|
cmdDeleteVeh = "Fahrzeug aus der Datenbank löschen (Admin only)",
|
||||||
|
cmdCreatePrivGarage = "Private Garage erstellen",
|
||||||
|
|
||||||
|
-- v3
|
||||||
|
vehicleStoreError = "You cannot store this vehicle here",
|
||||||
|
mins = "mins",
|
||||||
|
noVehiclesAvailableToDrive = "There are no vehicles available to drive",
|
||||||
|
}
|
142
resources/[carscripts]/jg-advancedgarages/locales/en.lua
Normal file
142
resources/[carscripts]/jg-advancedgarages/locales/en.lua
Normal file
|
@ -0,0 +1,142 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['en'] = {
|
||||||
|
yes = "Yes",
|
||||||
|
no = "No",
|
||||||
|
garage = "Garage",
|
||||||
|
jobGarage = "Job Garage",
|
||||||
|
gangGarage = "Gang Garage",
|
||||||
|
player = "Player",
|
||||||
|
impound = "Impound",
|
||||||
|
inGarage = "In garage",
|
||||||
|
notInGarage = "Not in garage",
|
||||||
|
car = "Car",
|
||||||
|
air = "Air",
|
||||||
|
sea = "Sea",
|
||||||
|
fuel = "Fuel",
|
||||||
|
engine = "Engine",
|
||||||
|
body = "Body",
|
||||||
|
day = "day",
|
||||||
|
days = "days",
|
||||||
|
hour = "hour",
|
||||||
|
hours = "hours",
|
||||||
|
mins = "mins",
|
||||||
|
|
||||||
|
-- User Interface
|
||||||
|
noVehicles = "There are no vehicles in this garage",
|
||||||
|
noVehiclesAvailableToDrive = "There are no vehicles available to drive",
|
||||||
|
vehicles = "vehicle(s)",
|
||||||
|
vehiclePlate = "Vehicle Plate",
|
||||||
|
vehicleNotInGarage = "Vehicle has been left out",
|
||||||
|
vehicleTakeOut = "Drive",
|
||||||
|
vehicleReturnAndTakeOut = "Return & Drive",
|
||||||
|
vehicleReturnToOwnersGarage = "Return to Owner's Garage",
|
||||||
|
transferToGarageOrPlayer = "Transfer to a Garage or Player",
|
||||||
|
transferToGarage = "Transfer to a Garage",
|
||||||
|
transferToPlayer = "Transfer to a Player",
|
||||||
|
vehicleTransfer = "Transfer",
|
||||||
|
noAvailableGarages = "No available garages",
|
||||||
|
currentGarage = "Current garage",
|
||||||
|
noPlayersOnline = "No players online",
|
||||||
|
createPrivateGarage = "Create Private Garage",
|
||||||
|
pgAlertHeadsUp = "Heads up!",
|
||||||
|
pgAlertText = "The garage will be created and vehicles will spawn in the exact location and direction are you are currently standing.",
|
||||||
|
garageName = "Garage Name",
|
||||||
|
impoundInformation = "Impound Information",
|
||||||
|
impoundedBy = "Impounded by",
|
||||||
|
impoundedReason = "Reason",
|
||||||
|
impoundPlayerCanCollect = "You can collect your vehicle from the impound.",
|
||||||
|
impoundCollectionContact = "Please contact %{value} in order to collect your vehicle.",
|
||||||
|
impoundNoVehicles = "There are no vehicles in the impound",
|
||||||
|
impoundAvailable = "Available",
|
||||||
|
impoundRetrievableByOwner = "Retrievable by owner",
|
||||||
|
impoundNoReason = "No reason provided",
|
||||||
|
impoundVehicle = "Impound Vehicle",
|
||||||
|
impoundReasonField = "Reason (optional)",
|
||||||
|
impoundTime = "Impound Time",
|
||||||
|
impoundAvailableImmediately = "Available immediately",
|
||||||
|
impoundCost = "Cost",
|
||||||
|
changeVehiclePlate = "Change Vehicle Plate",
|
||||||
|
newPlate = "New Plate",
|
||||||
|
search = "Search by name or plate",
|
||||||
|
noPrivateGarages = "No private garages",
|
||||||
|
editPrivateGarage = "Edit Private Garage",
|
||||||
|
owners = "Owner(s)",
|
||||||
|
location = "Location",
|
||||||
|
next = "Next",
|
||||||
|
previous = "Previous",
|
||||||
|
page = "Page",
|
||||||
|
of = "of",
|
||||||
|
show = "Show",
|
||||||
|
save = "Save",
|
||||||
|
edit = "Edit",
|
||||||
|
delete = "Delete",
|
||||||
|
garageDeleteConfirm = "Are you sure you want to delete this garage?",
|
||||||
|
privGarageSearch = "Search by name",
|
||||||
|
garageUpdatedSuccess = "Garage successfully updated!",
|
||||||
|
getCurrentCoords = "Get current coordinates",
|
||||||
|
identifier = "Identifier",
|
||||||
|
name = "Name",
|
||||||
|
noPlayers = "There are no players added",
|
||||||
|
addPlayer = "Add player",
|
||||||
|
loadingVehicle = "Loading vehicle...",
|
||||||
|
vehicleSetup = "Vehicle Setup",
|
||||||
|
extras = "Extras",
|
||||||
|
extra = "Extra",
|
||||||
|
liveries = "Liveries",
|
||||||
|
livery = "Livery",
|
||||||
|
noLiveries = "No liveries available",
|
||||||
|
noExtras = "No extras available",
|
||||||
|
none = "None",
|
||||||
|
vehicleNeedsService = "Needs Service",
|
||||||
|
type = "Type",
|
||||||
|
goInside = "Go inside",
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
insertVehicleTypeError = "You can only store %{value} vehicle types in this garage",
|
||||||
|
insertVehiclePublicError = "You can't store job or gang vehicles in public garages",
|
||||||
|
vehicleParkedSuccess = "Vehicle parked in garage",
|
||||||
|
vehicleNotOwnedError = "You don't own this vehicle",
|
||||||
|
vehicleNotOwnedByPlayerError = "Vehicle is not owned by a player",
|
||||||
|
notEnoughMoneyError = "You don't have enough money in your bank",
|
||||||
|
vehicleNotYoursError = "Vehicle does not belong to you",
|
||||||
|
notJobOrGangVehicle = "This is not a %{value} vehicle",
|
||||||
|
invalidGangError = "You have not provided a valid gang",
|
||||||
|
invalidJobError = "You have not provided a valid job",
|
||||||
|
notInsideVehicleError = "You are not sat in a vehicle",
|
||||||
|
vehicleAddedToGangGarageSuccess = "Vehicle added to the %{value} gang garage!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "Vehicle added to the %{value} job garage!",
|
||||||
|
moveCloserToVehicleError = "You need to move closer to the vehicle",
|
||||||
|
noVehiclesNearbyError = "There are no vehicles nearby",
|
||||||
|
commandPermissionsError = "You are not allowed to use this command",
|
||||||
|
actionNotAllowedError = "You are not allowed to do this",
|
||||||
|
garageNameExistsError = "Garage name already exists",
|
||||||
|
vehiclePlateExistsError = "Vehicle plate is already in use",
|
||||||
|
playerNotOnlineError = "Player is not online",
|
||||||
|
vehicleTransferSuccess = "Vehicle transferred to %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "Vehicle successfully transferred",
|
||||||
|
vehicleReceived = "You recieved a vehicle with the plate %{value}",
|
||||||
|
vehicleImpoundSuccess = "Vehicle successfully impounded",
|
||||||
|
vehicleImpoundRemoveSuccess = "Vehicle removed from impound",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "Vehicle returned to owner's garage",
|
||||||
|
garageCreatedSuccess = "Garage successfully created!",
|
||||||
|
vehiclePlateUpdateSuccess = "Vehicle plate set to %{value}",
|
||||||
|
vehicleDeletedSuccess = "Vehicle deleted from database %{value}",
|
||||||
|
playerIsDead = "You cannot do this while you are dead",
|
||||||
|
vehicleStoreError = "You cannot store this vehicle here",
|
||||||
|
|
||||||
|
-- Commands
|
||||||
|
cmdSetGangVehicle = "Add current vehicle to a gang garage",
|
||||||
|
cmdRemoveGangVehicle = "Set gang vehicle back to player owned",
|
||||||
|
cmdSetJobVehicle = "Add current vehicle to a job garage",
|
||||||
|
cmdRemoveJobVehicle = "Set job vehicle back to player owned",
|
||||||
|
cmdArgGangName = "Gang name",
|
||||||
|
cmdArgJobName = "Job name",
|
||||||
|
cmgArgMinGangRank = "Minimum gang rank",
|
||||||
|
cmgArgMinJobRank = "Minimum job rank",
|
||||||
|
cmdArgPlayerId = "Player ID of new owner",
|
||||||
|
cmdImpoundVehicle = "Impound a vehicle",
|
||||||
|
cmdChangePlate = "Change vehicle plate (Admin only)",
|
||||||
|
cmdDeleteVeh = "Delete vehicle from database (Admin only)",
|
||||||
|
cmdCreatePrivGarage = "Create a private garage for a player",
|
||||||
|
}
|
141
resources/[carscripts]/jg-advancedgarages/locales/es.lua
Normal file
141
resources/[carscripts]/jg-advancedgarages/locales/es.lua
Normal file
|
@ -0,0 +1,141 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['es'] = {
|
||||||
|
yes = "Si",
|
||||||
|
no = "No",
|
||||||
|
garage = "Garaje",
|
||||||
|
jobGarage = "Garaje Laboral",
|
||||||
|
gangGarage = "Garaje de Banda/Pandilla",
|
||||||
|
player = "Jugador",
|
||||||
|
impound = "Deposito",
|
||||||
|
inGarage = "En Garaje",
|
||||||
|
notInGarage = "No en Garaje",
|
||||||
|
car = "Coche",
|
||||||
|
air = "Aereo",
|
||||||
|
sea = "Maritimo",
|
||||||
|
fuel = "Combustible",
|
||||||
|
engine = "Motor",
|
||||||
|
body = "Carroceria",
|
||||||
|
day = "dia",
|
||||||
|
days = "dias",
|
||||||
|
hour = "hora",
|
||||||
|
hours = "horas",
|
||||||
|
|
||||||
|
-- User Interface
|
||||||
|
noVehicles = "No hay vehículos en este garaje.",
|
||||||
|
vehicles = "Vehículo(s)",
|
||||||
|
vehiclePlate = "Matrícula del Vehículo",
|
||||||
|
vehicleNotInGarage = "Vehículo no en garaje",
|
||||||
|
vehicleTakeOut = "Conducir",
|
||||||
|
vehicleReturnAndTakeOut = "Devuelve y Conduce",
|
||||||
|
vehicleReturnToOwnersGarage = "Devolver al garaje del propietario",
|
||||||
|
transferToGarageOrPlayer = "Transferir a Garaje o Jugador",
|
||||||
|
transferToGarage = "Transferir a un Garaje",
|
||||||
|
transferToPlayer = "Transferir a un Jugador",
|
||||||
|
vehicleTransfer = "Transferir",
|
||||||
|
noAvailableGarages = "No hay garajes disponibles",
|
||||||
|
currentGarage = "Garaje Actual",
|
||||||
|
noPlayersOnline = "No hay jugadores en línea",
|
||||||
|
createPrivateGarage = "Crear Garaje Privado",
|
||||||
|
pgAlertHeadsUp = "Advertencia!",
|
||||||
|
pgAlertText = "Se creará el garaje y los vehículos aparecerán en la ubicación y dirección exactas en las que se encuentra actualmente.",
|
||||||
|
garageName = "Nombre del Garaje",
|
||||||
|
impoundInformation = "Información de Incautacion",
|
||||||
|
impoundedBy = "Incautado por ",
|
||||||
|
impoundedReason = "Razón",
|
||||||
|
impoundPlayerCanCollect = "Puedes recoger tu vehículo en el depósito.",
|
||||||
|
impoundCollectionContact = "Haga el favor de contactar con %{value} para poder reclamar su vehiculo.",
|
||||||
|
impoundNoVehicles = "No hay vehículos en el depósito.",
|
||||||
|
impoundAvailable = "Disponible",
|
||||||
|
impoundRetrievableByOwner = "Recuperable por el propietario",
|
||||||
|
impoundNoReason = "No se proporcionó ninguna razón",
|
||||||
|
impoundVehicle = "Incautar Vehiculo",
|
||||||
|
impoundReasonField = "Razon (opcional)",
|
||||||
|
impoundTime = "Tiempo de Incautacion",
|
||||||
|
impoundAvailableImmediately = "Disponible inmediatamente",
|
||||||
|
impoundCost = "Coste",
|
||||||
|
changeVehiclePlate = "Cambio de Matricula",
|
||||||
|
newPlate = "Matricula Nueva",
|
||||||
|
search = "Buscar por nombre o placa",
|
||||||
|
noPrivateGarages = "Sin garajes privados",
|
||||||
|
editPrivateGarage = "Editar Garaje Privado",
|
||||||
|
owners = "Propietario(s)",
|
||||||
|
location = "Ubicación",
|
||||||
|
next = "Siguiente",
|
||||||
|
previous = "Anterior",
|
||||||
|
page = "Página",
|
||||||
|
of = "de",
|
||||||
|
show = "Mostrar",
|
||||||
|
save = "Guardar",
|
||||||
|
edit = "Editar",
|
||||||
|
delete = "Borrar",
|
||||||
|
garageDeleteConfirm = "¿Estás seguro de que quieres borrar este garaje?",
|
||||||
|
privGarageSearch = "Buscar por nombre",
|
||||||
|
garageUpdatedSuccess = "¡Garaje actualizado con éxito!",
|
||||||
|
getCurrentCoords = "Obtener coordenadas actuales",
|
||||||
|
identifier = "Identificador",
|
||||||
|
name = "Nombre",
|
||||||
|
noPlayers = "No hay jugadores añadidos",
|
||||||
|
addPlayer = "Añadir jugador",
|
||||||
|
loadingVehicle = "Cargando vehículo...",
|
||||||
|
vehicleSetup = "Configuración del vehículo",
|
||||||
|
extras = "Extras",
|
||||||
|
extra = "Extra",
|
||||||
|
liveries = "Diseños",
|
||||||
|
livery = "Vinilo",
|
||||||
|
noLiveries = "No hay vinilos disponibles",
|
||||||
|
noExtras = "No hay extras disponibles",
|
||||||
|
none = "Ninguno",
|
||||||
|
vehicleNeedsService = "Needs Service",
|
||||||
|
type = "Type",
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
insertVehicleTypeError = "Solo puedes almacenar vehículos de tipo %{value} en este garaje",
|
||||||
|
insertVehiclePublicError = "No puede almacenar vehículos de trabajo o de banda en garajes públicos",
|
||||||
|
vehicleParkedSuccess = "Vehículo estacionado en garaje",
|
||||||
|
vehicleNotOwnedError = "No eres dueño de este vehículo",
|
||||||
|
vehicleNotOwnedByPlayerError = "El vehículo no es propiedad de un jugador.",
|
||||||
|
notEnoughMoneyError = "No tienes suficiente dinero en tu banco",
|
||||||
|
vehicleNotYoursError = "El vehículo no te pertenece",
|
||||||
|
notJobOrGangVehicle = "Este no es un vehículo de %{value}",
|
||||||
|
invalidGangError = "No ha proporcionado una banda válida",
|
||||||
|
invalidJobError = "No ha proporcionado un trabajo válido",
|
||||||
|
notInsideVehicleError = "No estás sentado en un vehículo.",
|
||||||
|
vehicleAddedToGangGarageSuccess = "Vehículo agregado al garaje de banda de %{value}!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "Vehículo agregado al taller de trabajo de %{value}!",
|
||||||
|
moveCloserToVehicleError = "Necesitas acercarte al vehículo.",
|
||||||
|
noVehiclesNearbyError = "No hay vehículos cerca.",
|
||||||
|
commandPermissionsError = "No tienes permiso para usar este comando.",
|
||||||
|
actionNotAllowedError = "No tienes permitido hacer esto.",
|
||||||
|
garageNameExistsError = "El nombre del garaje ya existe",
|
||||||
|
vehiclePlateExistsError = "La placa del vehículo ya está en uso",
|
||||||
|
playerNotOnlineError = "El jugador no está en línea",
|
||||||
|
vehicleTransferSuccess = "Vehículo transferido a %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "Vehículo transferido con éxito",
|
||||||
|
vehicleReceived = "Recibiste un vehículo con matricula %{value}",
|
||||||
|
vehicleImpoundSuccess = "Vehículo incautado con éxito",
|
||||||
|
vehicleImpoundRemoveSuccess = "Vehículo retirado del depósito",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "Vehículo devuelto al garaje del propietario.",
|
||||||
|
garageCreatedSuccess = "¡Garaje creado con éxito!",
|
||||||
|
vehiclePlateUpdateSuccess = "Matrícula del vehículo establecida a %{value}",
|
||||||
|
vehicleDeletedSuccess = "Vehículo eliminado de la base de datos %{value}",
|
||||||
|
playerIsDead = "No puedes hacer esto mientras estás muerto",
|
||||||
|
|
||||||
|
-- Commands
|
||||||
|
cmdSetGangVehicle = "Agregar el vehículo actual a un garaje de banda",
|
||||||
|
cmdRemoveGangVehicle = "Devolver el vehículo de la banda a propiedad del jugador",
|
||||||
|
cmdSetJobVehicle = "Agregar vehículo actual a un taller de trabajo",
|
||||||
|
cmdRemoveJobVehicle = "Devolver el vehículo de trabajo a propiedad del jugador",
|
||||||
|
cmdArgGangName = "Nombre de Banda",
|
||||||
|
cmdArgJobName = "Nombre de Trabajo",
|
||||||
|
cmdArgPlayerId = "ID de Jugador del nuevo propietario",
|
||||||
|
cmdImpoundVehicle = "Incautar un Vehículo",
|
||||||
|
cmdChangePlate = "Cambiar Matricula del Vehiculo (Solo Administracion)",
|
||||||
|
cmdDeleteVeh = "Eliminar vehículo de la base de datos (Solo Administracion)",
|
||||||
|
cmdCreatePrivGarage = "Crea un garaje privado para un jugador.",
|
||||||
|
|
||||||
|
-- v3
|
||||||
|
vehicleStoreError = "You cannot store this vehicle here",
|
||||||
|
mins = "mins",
|
||||||
|
noVehiclesAvailableToDrive = "There are no vehicles available to drive",
|
||||||
|
}
|
143
resources/[carscripts]/jg-advancedgarages/locales/fi.lua
Normal file
143
resources/[carscripts]/jg-advancedgarages/locales/fi.lua
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['fi'] = {
|
||||||
|
yes = "Kyllä",
|
||||||
|
no = "Ei",
|
||||||
|
garage = "Autotalli",
|
||||||
|
jobGarage = "Työn Autotalli",
|
||||||
|
gangGarage = "Jengin Autotalli",
|
||||||
|
player = "Pelaaja",
|
||||||
|
impound = "Varikko",
|
||||||
|
inGarage = "Autotallissa",
|
||||||
|
notInGarage = "Ulkona tallista",
|
||||||
|
car = "Maa Ajoneuvo",
|
||||||
|
air = "Ilma Ajoneuvo",
|
||||||
|
sea = "Vesi Ajoneuvo",
|
||||||
|
fuel = "Bensa",
|
||||||
|
engine = "Moottori",
|
||||||
|
body = "Keho",
|
||||||
|
day = "päivä",
|
||||||
|
days = "päivät",
|
||||||
|
hour = "tunti",
|
||||||
|
hours = "tunnit",
|
||||||
|
|
||||||
|
-- User Interface
|
||||||
|
noVehicles = "Ei ajoneuvoja tallissa",
|
||||||
|
vehicles = "Ajoneuvot",
|
||||||
|
vehiclePlate = "Rekisterikilpi",
|
||||||
|
vehicleNotInGarage = "Ajoneuvo ei ole tallissa",
|
||||||
|
vehicleTakeOut = "Aja",
|
||||||
|
vehicleReturnAndTakeOut = "Palauta talliin ja aja",
|
||||||
|
vehicleReturnToOwnersGarage = "Palauta omistajan talliin",
|
||||||
|
transferToGarageOrPlayer = "Siirrä autotalliin tai pelaajalle",
|
||||||
|
transferToGarage = "Siirrä autotalliin",
|
||||||
|
transferToPlayer = "Siirrä pelaajalle",
|
||||||
|
vehicleTransfer = "Siirrä",
|
||||||
|
noAvailableGarages = "Ei vapaita autotalleja",
|
||||||
|
currentGarage = "Tämän hetkinen talli",
|
||||||
|
noPlayersOnline = "Ei pelaajia kaupungissa",
|
||||||
|
createPrivateGarage = "Luo yksityinen autotalli",
|
||||||
|
pgAlertHeadsUp = "Heads up!",
|
||||||
|
pgAlertText = "The garage will be created and vehicles will spawn in the exact location and direction are you are currently standing.",
|
||||||
|
garageName = "Autotallin nimi",
|
||||||
|
impoundInformation = "Varkki tiedot",
|
||||||
|
impoundedBy = "Varikoijja",
|
||||||
|
impoundedReason = "Syy",
|
||||||
|
impoundPlayerCanCollect = "Voit hakea ajoneuvosi varikolta.",
|
||||||
|
impoundCollectionContact = "Ota yhteyttä %{value} saadaksesi ajoneuvon takaisin.",
|
||||||
|
impoundNoVehicles = "Ei ajoneivoja varikolla",
|
||||||
|
impoundAvailable = "Vapaa",
|
||||||
|
impoundRetrievableByOwner = "Omistaja voi hakea",
|
||||||
|
impoundNoReason = "Syytä ei ole annettu",
|
||||||
|
impoundVehicle = "Takavarikoi ajoneuvo",
|
||||||
|
impoundReasonField = "Syy",
|
||||||
|
impoundTime = "Varikoinnin pituus",
|
||||||
|
impoundAvailableImmediately = "Saatavilla heti",
|
||||||
|
impoundCost = "Hinta",
|
||||||
|
changeVehiclePlate = "Vaihda ajoneuvon kilpeä",
|
||||||
|
newPlate = "Uusi kilpi",
|
||||||
|
search = "Hae nimellä tai ajoneuvokilven mukaan",
|
||||||
|
noPrivateGarages = "Ei yksityisiä autotalleja",
|
||||||
|
editPrivateGarage = "Edit Yksityinen autotalli",
|
||||||
|
owners = "Omistaja(t)",
|
||||||
|
location = "Sijainti",
|
||||||
|
next = "Seuraava",
|
||||||
|
previous = "Edellinen",
|
||||||
|
page = "Sivu",
|
||||||
|
of = "of",
|
||||||
|
show = "Näytä",
|
||||||
|
save = "Tallenna",
|
||||||
|
edit = "Muokkaa",
|
||||||
|
delete = "Poista",
|
||||||
|
garageDeleteConfirm = "Haluatko varmasti poistaa tämän autotallin?",
|
||||||
|
privGarageSearch = "Haku nimen mukaan",
|
||||||
|
garageUpdatedSuccess = "Autotalli onnistuneesti päivitetty!",
|
||||||
|
getCurrentCoords = "Hae nykyiset koordinaatit",
|
||||||
|
identifier = "Tunniste",
|
||||||
|
name = "Nimi",
|
||||||
|
noPlayers = "Pelaajia ei ole lisätty",
|
||||||
|
addPlayer = "Lisää pelaaja",
|
||||||
|
loadingVehicle = "Ajoneuvon lastaus...",
|
||||||
|
vehicleSetup = "Ajoneuvon asennus",
|
||||||
|
extras = "Lisävarusteet",
|
||||||
|
extra = "Extra",
|
||||||
|
liveries = "maalaukset",
|
||||||
|
livery = "maksullisuus",
|
||||||
|
noLiveries = "Maalauksia ei ole saatavilla",
|
||||||
|
noExtras = "Ei lisävarusteita saatavilla",
|
||||||
|
none = "Ei ole",
|
||||||
|
vehicleNeedsService = "Needs Service",
|
||||||
|
type = "Type",
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
insertVehicleTypeError = "Voit ainoastaan tallettaa %{value} ajoneuvo tyyppejä tähän talliin",
|
||||||
|
insertVehiclePublicError = "Et voi tallettaa työn ajoneuvoja julkisiin talleihin",
|
||||||
|
vehicleParkedSuccess = "Ajoneuvo parkkeerattu talliin",
|
||||||
|
vehicleNotOwnedError = "Et omista tätä autoa",
|
||||||
|
vehicleNotOwnedByPlayerError = "Pelaaja ei omista tätä autoa",
|
||||||
|
notEnoughMoneyError = "Ei tarpeeksi rahaa pankissa",
|
||||||
|
vehicleNotYoursError = "Et omista ajoneuvoa",
|
||||||
|
notJobOrGangVehicle = "Tämä ei ole %{value} ajoneuvo",
|
||||||
|
invalidGangError = "You have not provided a valid gang",
|
||||||
|
invalidJobError = "You have not provided a valid job",
|
||||||
|
notInsideVehicleError = "Et ole ajoneuvossa",
|
||||||
|
vehicleAddedToGangGarageSuccess = "Vehicle added to the %{value} gang garage!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "Vehicle added to the %{value} job garage!",
|
||||||
|
moveCloserToVehicleError = "Mene lähemmäs ajoneuvoa",
|
||||||
|
noVehiclesNearbyError = "Ei autoja lähellä",
|
||||||
|
commandPermissionsError = "Et saa käyttää tätä komentoa",
|
||||||
|
actionNotAllowedError = "Et saa tehdä tätä",
|
||||||
|
garageNameExistsError = "Tallin nimi on jo olemassa",
|
||||||
|
vehiclePlateExistsError = "Ajoneuvon kilpi on jo käytössä",
|
||||||
|
playerNotOnlineError = "Pelaaja ei ole kaupungissa",
|
||||||
|
vehicleTransferSuccess = "Ajoneuvo on siirretty: %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "Ajoneuvo on onnistuneesti siirretty",
|
||||||
|
vehicleReceived = "Sait ajoneuvon kilvellä %{value}",
|
||||||
|
vehicleImpoundSuccess = "Ajoneuvo on onnistuneesti Takavarikoitu",
|
||||||
|
vehicleImpoundRemoveSuccess = "Ajoneuvo on poistettu takavatikolta",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "Ajoneuvo on palautettu omistajan talliin",
|
||||||
|
garageCreatedSuccess = "Autotalli onnistuneesti luotu!",
|
||||||
|
vehiclePlateUpdateSuccess = "Ajoneuvon kilpi on laitettu %{value}",
|
||||||
|
vehicleDeletedSuccess = "Ajoneuvo on poistettu databasesta %{value}",
|
||||||
|
playerIsDead = "Et voi tehdä tätä, kun olet kuollut",
|
||||||
|
|
||||||
|
-- Commands
|
||||||
|
cmdSetGangVehicle = "Add current vehicle to a gang garage",
|
||||||
|
cmdRemoveGangVehicle = "Set gang vehicle back to player owned",
|
||||||
|
cmdSetJobVehicle = "Add current vehicle to a job garage",
|
||||||
|
cmdRemoveJobVehicle = "Set job vehicle back to player owned",
|
||||||
|
cmdArgGangName = "Gang name",
|
||||||
|
cmdArgJobName = "Job name",
|
||||||
|
cmgArgMinGangRank = "Minimum gang rank",
|
||||||
|
cmgArgMinJobRank = "Minimum job rank",
|
||||||
|
cmdArgPlayerId = "Player ID of new owner",
|
||||||
|
cmdImpoundVehicle = "Impound a vehicle",
|
||||||
|
cmdChangePlate = "Change vehicle plate (Admin only)",
|
||||||
|
cmdDeleteVeh = "Delete vehicle from database (Admin only)",
|
||||||
|
cmdCreatePrivGarage = "Create a private garage for a player",
|
||||||
|
|
||||||
|
-- v3
|
||||||
|
vehicleStoreError = "You cannot store this vehicle here",
|
||||||
|
mins = "mins",
|
||||||
|
noVehiclesAvailableToDrive = "There are no vehicles available to drive",
|
||||||
|
}
|
142
resources/[carscripts]/jg-advancedgarages/locales/fr.lua
Normal file
142
resources/[carscripts]/jg-advancedgarages/locales/fr.lua
Normal file
|
@ -0,0 +1,142 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['fr'] = {
|
||||||
|
yes = "Oui",
|
||||||
|
no = "Non",
|
||||||
|
garage = "Garage",
|
||||||
|
jobGarage = "Garage métier",
|
||||||
|
gangGarage = "Garage Gang",
|
||||||
|
player = "Joueurs",
|
||||||
|
impound = "Fourriere",
|
||||||
|
inGarage = "Dans le garage",
|
||||||
|
notInGarage = "Pas dans le garage",
|
||||||
|
car = "Voiture",
|
||||||
|
air = "Air",
|
||||||
|
sea = "Mer",
|
||||||
|
fuel = "Essence",
|
||||||
|
engine = "Moteur",
|
||||||
|
body = "Carroserie",
|
||||||
|
day = "Jour",
|
||||||
|
days = "Jours",
|
||||||
|
hour = "Heure",
|
||||||
|
hours = "Heures",
|
||||||
|
mins = "mins",
|
||||||
|
|
||||||
|
-- User Interface
|
||||||
|
noVehicles = "Il n'y a aucun véhicule dans ce garage",
|
||||||
|
noVehiclesAvailableToDrive = "Aucun véhicule n'est disponible pour conduire",
|
||||||
|
vehicles = "Voiture(s)",
|
||||||
|
vehiclePlate = "Plaque du véhicule",
|
||||||
|
vehicleNotInGarage = "Le véhicule a été laissé de côté",
|
||||||
|
vehicleTakeOut = "Conduire",
|
||||||
|
vehicleReturnAndTakeOut = "Retour et conduite",
|
||||||
|
vehicleReturnToOwnersGarage = "Retour au garage du propriétaire",
|
||||||
|
transferToGarageOrPlayer = "Transfert vers un garage ou un joueur",
|
||||||
|
transferToGarage = "Transfert vers un garage",
|
||||||
|
transferToPlayer = "Transférer vers un joueur",
|
||||||
|
vehicleTransfer = "Transfert",
|
||||||
|
noAvailableGarages = "Aucun garage disponible",
|
||||||
|
currentGarage = "Garage actuel",
|
||||||
|
noPlayersOnline = "Aucun joueur en ligne",
|
||||||
|
createPrivateGarage = "Créer un garage privé",
|
||||||
|
pgAlertHeadsUp = "Attention !",
|
||||||
|
pgAlertText = "Le garage sera créé et les véhicules apparaîtront à l'emplacement et dans la direction exacts où vous vous trouvez actuellement.",
|
||||||
|
garageName = "Nom du garage",
|
||||||
|
impoundInformation = "Informations de mise en fourrière",
|
||||||
|
impoundedBy = "Mise en fourrière par",
|
||||||
|
impoundedReason = "Raison",
|
||||||
|
impoundPlayerCanCollect = "Vous pouvez récupérer votre véhicule à la fourrière.",
|
||||||
|
impoundCollectionContact = "Veuillez contacter %{value} afin de récupérer votre véhicule.",
|
||||||
|
impoundNoVehicles = "Il n'y a aucun véhicule dans la fourrière",
|
||||||
|
impoundAvailable = "Disponible",
|
||||||
|
impoundRetrievableByOwner = "Récupérable par le propriétaire",
|
||||||
|
impoundNoReason = "Aucune raison fournie",
|
||||||
|
impoundVehicle = "Véhicule mis en fourrière",
|
||||||
|
impoundReasonField = "Raison (facultatif)",
|
||||||
|
impoundTime = "Durée de mise en fourrière",
|
||||||
|
impoundAvailableImmediately = "Disponible immédiatement",
|
||||||
|
impoundCost = "Coût",
|
||||||
|
changeVehiclePlate = "Changer la plaque du véhicule",
|
||||||
|
newPlate = "Nouvelle plaque",
|
||||||
|
search = "Recherche par nom ou plaque",
|
||||||
|
noPrivateGarages = "Pas de garages privés",
|
||||||
|
editPrivateGarage = "Modifier le garage privé",
|
||||||
|
owners = "Propriétaire(s)",
|
||||||
|
location = "Location",
|
||||||
|
next = "Suivant",
|
||||||
|
previous = "Precedent",
|
||||||
|
page = "Page",
|
||||||
|
of = "de",
|
||||||
|
show = "Montrer",
|
||||||
|
save = "Sauvegarde",
|
||||||
|
edit = "Editer",
|
||||||
|
delete = "Supprimer",
|
||||||
|
garageDeleteConfirm = "Etes-vous sûr de vouloir supprimer ce garage ?",
|
||||||
|
privGarageSearch = "Rechercher par nom",
|
||||||
|
garageUpdatedSuccess = "Garage mis à jour avec succès !",
|
||||||
|
getCurrentCoords = "Obtenir les coordonnées actuelles",
|
||||||
|
identifier = "Identifiant",
|
||||||
|
name = "Nom",
|
||||||
|
noPlayers = "Aucun joueur n'a été ajouté",
|
||||||
|
addPlayer = "Ajouter un joueur",
|
||||||
|
chargementVehicle = "Chargement du véhicule...",
|
||||||
|
vehicleSetup = "Configuration du véhicule",
|
||||||
|
extras = "Suppléments",
|
||||||
|
extra = "Supplément",
|
||||||
|
liveries = "Livrées",
|
||||||
|
livery = "Livrée",
|
||||||
|
noLiveries = "Aucune livrée disponible",
|
||||||
|
noExtras = "Aucun extra disponible",
|
||||||
|
none = "Aucun(e)",
|
||||||
|
vehicleNeedsService = "Besoin de services",
|
||||||
|
type = "Genre",
|
||||||
|
goInside = "Aller à l'intérieur",
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
insertVehicleTypeError = "Vous ne pouvez stocker que %{value} types de véhicules dans ce garage",
|
||||||
|
insertVehiclePublicError = "Vous ne pouvez pas stocker de véhicules de travail ou de gang dans les garages publics",
|
||||||
|
vehicleParkedSuccess = "Véhicule garé dans le garage",
|
||||||
|
vehicleNotOwnedError = "Vous n'êtes pas propriétaire de ce véhicule",
|
||||||
|
vehicleNotOwnedByPlayerError = "Le véhicule n'appartient à aucun joueur",
|
||||||
|
notEnoughMoneyError = "Vous n'avez pas assez d'argent en banque",
|
||||||
|
vehicleNotYoursError = "Le véhicule ne vous appartient pas",
|
||||||
|
notJobOrGangVehicle = "Ceci n'est pas un véhicule %{value}",
|
||||||
|
invalidGangError = "Vous n'avez pas fourni de gang valide",
|
||||||
|
invalidJobError = "Vous n'avez pas fourni d'emploi valide",
|
||||||
|
notInsideVehicleError = "Vous n'êtes pas assis dans un véhicule",
|
||||||
|
vehicleAddedToGangGarageSuccess = "Véhicule ajouté au garage du gang %{value} !",
|
||||||
|
vehicleAddedToJobGarageSuccess = "Véhicule ajouté au garage de travail %{value} !",
|
||||||
|
moveCloserToVehicleError = "Vous devez vous rapprocher du véhicule",
|
||||||
|
noVehiclesNearbyError = "Il n'y a aucun véhicule à proximité",
|
||||||
|
commandPermissionsError = "Vous n'êtes pas autorisé à utiliser cette commande",
|
||||||
|
actionNotAllowedError = "Vous n'êtes pas autorisé à faire cela",
|
||||||
|
garageNameExistsError = "Le nom du garage existe déjà",
|
||||||
|
VehiclePlateExistsError = "La plaque du véhicule est déjà utilisée",
|
||||||
|
playerNotOnlineError = "Le joueur n'est pas en ligne",
|
||||||
|
vehicleTransferSuccess = "Véhicule transféré à %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "Véhicule transféré avec succès",
|
||||||
|
vehicleReceived = "Vous avez reçu un véhicule avec la plaque %{value}",
|
||||||
|
vehicleImpoundSuccess = "Véhicule mis en fourrière avec succès",
|
||||||
|
vehicleImpoundRemoveSuccess = "Véhicule retiré de la fourrière",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "Véhicule restitué au garage du propriétaire",
|
||||||
|
garageCreatedSuccess = "Garage créé avec succès !",
|
||||||
|
vehiclePlateUpdateSuccess = "Plaque du véhicule réglée sur %{value}",
|
||||||
|
vehicleDeletedSuccess = "Véhicule supprimé de la base de données %{value}",
|
||||||
|
playerIsDead = "Vous ne pouvez pas faire ça tant que vous êtes mort",
|
||||||
|
vehicleStoreError = "Vous ne pouvez pas stocker ce véhicule ici",
|
||||||
|
|
||||||
|
-- Commands
|
||||||
|
cmdSetGangVehicle = "Ajouter le véhicule actuel à un garage collectif",
|
||||||
|
cmdRemoveGangVehicle = "Remettre le véhicule du gang comme appartenant au joueur",
|
||||||
|
cmdSetJobVehicle = "Ajouter le véhicule actuel à un garage",
|
||||||
|
cmdRemoveJobVehicle = "Remettre le véhicule de travail comme appartenant au joueur",
|
||||||
|
cmdArgGangName = "Nom du gang",
|
||||||
|
cmdArgJobName = "Nom du travail",
|
||||||
|
cmgArgMinGangRank = "Rang minimum du gang",
|
||||||
|
cmgArgMinJobRank = "Classement minimum du poste",
|
||||||
|
cmdArgPlayerId = "ID du joueur du nouveau propriétaire",
|
||||||
|
cmdImpoundVehicle = "Mise en fourrière d'un véhicule",
|
||||||
|
cmdChangePlate = "Changer la plaque du véhicule (Administrateur uniquement)",
|
||||||
|
cmdDeleteVeh = "Supprimer le véhicule de la base de données (Administrateur uniquement)",
|
||||||
|
cmdCreatePrivGarage = "Créer un garage privé pour un joueur",
|
||||||
|
}
|
143
resources/[carscripts]/jg-advancedgarages/locales/hu.lua
Normal file
143
resources/[carscripts]/jg-advancedgarages/locales/hu.lua
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
Locales = Locales or {} -- Translated by: PSYCHO#0281 (psycho0281)
|
||||||
|
|
||||||
|
Locales['hu'] = { -- Erre a sorra is figyelj oda!!! Ez nem en.lua, hanem hu.lua, ezt fxmanifest, vagy resource lua-ban is említeni kell :)
|
||||||
|
yes = "Igen",
|
||||||
|
no = "Nem",
|
||||||
|
garage = "Garázs",
|
||||||
|
jobGarage = "Munka garázs",
|
||||||
|
gangGarage = "Banda garázs",
|
||||||
|
player = "Játékos",
|
||||||
|
impound = "Lefoglalt",
|
||||||
|
inGarage = "Garázsban",
|
||||||
|
notInGarage = "Nincs a garázsban",
|
||||||
|
car = "Autó",
|
||||||
|
air = "Repülő",
|
||||||
|
sea = "Hajó",
|
||||||
|
fuel = "Üzemanyag",
|
||||||
|
engine = "Motor",
|
||||||
|
body = "Karosszéria",
|
||||||
|
day = "nap",
|
||||||
|
days = "napok",
|
||||||
|
hour = "óra",
|
||||||
|
hours = "órák",
|
||||||
|
|
||||||
|
-- User Interface
|
||||||
|
noVehicles = "Ebben a garázsban nincsenek járművek",
|
||||||
|
vehicles = "jármű(vek)",
|
||||||
|
vehiclePlate = "Rendszám",
|
||||||
|
vehicleNotInGarage = "A jármű nincs garázsban",
|
||||||
|
vehicleTakeOut = "Vezetés",
|
||||||
|
vehicleReturnAndTakeOut = "Vissza és vezetés",
|
||||||
|
vehicleReturnToOwnersGarage = "Visszarakás a tulajdonos garázsába",
|
||||||
|
transferToGarageOrPlayer = "Átszállítás egy garázsba vagy a játékosnak",
|
||||||
|
transferToGarage = "Átszállítás garázsba",
|
||||||
|
transferToPlayer = "Átszállítás játékosnak",
|
||||||
|
vehicleTransfer = "Átadás",
|
||||||
|
noAvailableGarages = "Nincs szabad garázs",
|
||||||
|
currentGarage = "Jelenlegi garázs",
|
||||||
|
noPlayersOnline = "Nincs ilyen elérhető játékos",
|
||||||
|
createPrivateGarage = "Privát garázs készítése",
|
||||||
|
pgAlertHeadsUp = "Fel a fejjel!",
|
||||||
|
pgAlertText = "A garázs létrejön, és a járművek pontosan azon a helyen és irányban fognak megjelenni, ahol éppen áll.",
|
||||||
|
garageName = "Garázs neve",
|
||||||
|
impoundInformation = "Lefoglaltak információ",
|
||||||
|
impoundedBy = "Lefoglalta",
|
||||||
|
impoundedReason = "Indok",
|
||||||
|
impoundPlayerCanCollect = "Gépkocsiját átveheti a lefoglaltakban.",
|
||||||
|
impoundCollectionContact = "Kérjük, vegye fel a kapcsolatot %{value} a jármű átvétele érdekében.",
|
||||||
|
impoundNoVehicles = "Nincs lefoglalt autó",
|
||||||
|
impoundAvailable = "Elérhető",
|
||||||
|
impoundRetrievableByOwner = "Tulajdonos által átvehető",
|
||||||
|
impoundNoReason = "Indoklás nélkül",
|
||||||
|
impoundVehicle = "Lefoglalt jármű",
|
||||||
|
impoundReasonField = "Indok (nem kötelező)",
|
||||||
|
impoundTime = "Lefoglalt idő",
|
||||||
|
impoundAvailableImmediately = "Azonnal elérhető",
|
||||||
|
impoundCost = "Költség",
|
||||||
|
changeVehiclePlate = "Rendszámtábla cserélése",
|
||||||
|
newPlate = "Új rendszám",
|
||||||
|
search = "Keresés név vagy rendszám alapján",
|
||||||
|
noPrivateGarages = "Nincs privát garázsod",
|
||||||
|
editPrivateGarage = "Privát garázs szerkesztése",
|
||||||
|
owners = "Tulajdonos(ok)",
|
||||||
|
location = "Elhelyezkedés",
|
||||||
|
next = "Következő",
|
||||||
|
previous = "Előző",
|
||||||
|
page = "Oldal",
|
||||||
|
of = "nak,-nek",
|
||||||
|
show = "Mutatás",
|
||||||
|
save = "Mentés",
|
||||||
|
edit = "Szerkesztés",
|
||||||
|
delete = "Törlés",
|
||||||
|
garageDeleteConfirm = "Biztosan törli ezt a garázst?",
|
||||||
|
privGarageSearch = "Keresés név alapján",
|
||||||
|
garageUpdatedSuccess = "Garázs sikeresen frissítve!",
|
||||||
|
getCurrentCoords = "Jelenlegi koordináták lekérdezése",
|
||||||
|
identifier = "Azonosító",
|
||||||
|
name = "Név",
|
||||||
|
noPlayers = "Nincsenek hozzáadott játékosok",
|
||||||
|
addPlayer = "Játékos hozzáadása",
|
||||||
|
loadingVehicle = "Jármű betöltése...",
|
||||||
|
vehicleSetup = "Járműbeállítás",
|
||||||
|
extras = "Extrák",
|
||||||
|
extra = "Extra",
|
||||||
|
liveries = "Festések",
|
||||||
|
livery = "Festés",
|
||||||
|
noLiveries = "Nincs elérhető festés",
|
||||||
|
noExtras = "Nincsenek extrák",
|
||||||
|
none = "Semmi",
|
||||||
|
vehicleNeedsService = "Needs Service",
|
||||||
|
type = "Type",
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
insertVehicleTypeError = "Ebben a garázsban csak %{value} járműtípusokat tárolhat",
|
||||||
|
insertVehiclePublicError = "Nem tárolhat munkahelyi vagy bandajárműveket nyilvános garázsokban",
|
||||||
|
vehicleParkedSuccess = "Jármű leparkolva",
|
||||||
|
vehicleNotOwnedError = "Nem Ön a tulajdonosa ennek a járműnek",
|
||||||
|
vehicleNotOwnedByPlayerError = "A jármű nem játékos tulajdonában van",
|
||||||
|
notEnoughMoneyError = "Nincs elég pénzed a bankodban",
|
||||||
|
vehicleNotYoursError = "A jármű nem az Öné",
|
||||||
|
notJobOrGangVehicle = "Ez nem %{value} jármű",
|
||||||
|
invalidGangError = "Nem adott meg érvényes bandát",
|
||||||
|
invalidJobError = "Nem adott meg érvényes állást",
|
||||||
|
notInsideVehicleError = "Nem ülsz járműben",
|
||||||
|
vehicleAddedToGangGarageSuccess = "A jármű bekerült a %{value} banda garázsba!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "A jármű bekerült a %{value} munka garázsba!",
|
||||||
|
moveCloserToVehicleError = "Közelebb kell mennie a járműhöz",
|
||||||
|
noVehiclesNearbyError = "A közelben nincsenek járművek",
|
||||||
|
commandPermissionsError = "Nem használhatja ezt a parancsot",
|
||||||
|
actionNotAllowedError = "Ehhez nincs engedélye",
|
||||||
|
garageNameExistsError = "A garázsnév már létezik",
|
||||||
|
vehiclePlateExistsError = "A jármű táblája már használatban van",
|
||||||
|
playerNotOnlineError = "Játékos nincs online",
|
||||||
|
vehicleTransferSuccess = "Jármű átadva neki: %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "A jármű sikeresen átadva",
|
||||||
|
vehicleReceived = "Te kaptál egy járművet, ezzel a rendszámmal %{value}",
|
||||||
|
vehicleImpoundSuccess = "Sikeresen lefoglalták a járművet",
|
||||||
|
vehicleImpoundRemoveSuccess = "Sikeresen kilett véve a lefoglaltakból",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "A jármű visszakerült a tulajdonos garázsába",
|
||||||
|
garageCreatedSuccess = "Garázs sikeresen létrehozva!",
|
||||||
|
vehiclePlateUpdateSuccess = "Rendszám beállítva erre: %{value}",
|
||||||
|
vehicleDeletedSuccess = "Jármű törölve az adatbázisból %{value}",
|
||||||
|
playerIsDead = "Ezt nem teheted, amíg halott vagy",
|
||||||
|
|
||||||
|
-- Commands
|
||||||
|
cmdSetGangVehicle = "Jelenlegi jármű hozzáadása a banda garázshoz",
|
||||||
|
cmdRemoveGangVehicle = "Banda garázsból visszarakás a játékos tulajdonába",
|
||||||
|
cmdSetJobVehicle = "Jelenlegi jármű hozzáadása a munka garázshoz",
|
||||||
|
cmdRemoveJobVehicle = "Munka garázsból visszarakás a játékos tulajdonába",
|
||||||
|
cmdArgGangName = "Banda neve",
|
||||||
|
cmdArgJobName = "Mubka neve",
|
||||||
|
cmgArgMinGangRank = "Minimum banda rang",
|
||||||
|
cmgArgMinJobRank = "Minimum beosztás",
|
||||||
|
cmdArgPlayerId = "Az új tulajdonos játékosazonosítója",
|
||||||
|
cmdImpoundVehicle = "Jármű lefoglalása",
|
||||||
|
cmdChangePlate = "Rendszámtábla cseréje (csak rendszergazda)",
|
||||||
|
cmdDeleteVeh = "Jármű törlése az adatbázisból (csak rendszergazda)",
|
||||||
|
cmdCreatePrivGarage = "Privát garázs létrehozása egy játékos számára",
|
||||||
|
|
||||||
|
-- v3
|
||||||
|
vehicleStoreError = "You cannot store this vehicle here",
|
||||||
|
mins = "mins",
|
||||||
|
noVehiclesAvailableToDrive = "There are no vehicles available to drive",
|
||||||
|
}
|
143
resources/[carscripts]/jg-advancedgarages/locales/it.lua
Normal file
143
resources/[carscripts]/jg-advancedgarages/locales/it.lua
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['it'] = {
|
||||||
|
yes = "Si",
|
||||||
|
no = "No",
|
||||||
|
garage = "Garage",
|
||||||
|
jobGarage = "Garage Lavoro",
|
||||||
|
gangGarage = "Garage Gang",
|
||||||
|
player = "Giocatore",
|
||||||
|
impound = "Sequestro",
|
||||||
|
inGarage = "In Garage",
|
||||||
|
notInGarage = "Fuori dal Garage",
|
||||||
|
car = "Macchina",
|
||||||
|
air = "Aereo",
|
||||||
|
sea = "Barche",
|
||||||
|
fuel = "Benzina",
|
||||||
|
engine = "Motore",
|
||||||
|
body = "Carrozzeria",
|
||||||
|
day = "Giorno",
|
||||||
|
days = "Giorni",
|
||||||
|
hour = "Ora",
|
||||||
|
hours = "Ore",
|
||||||
|
|
||||||
|
-- User Interface
|
||||||
|
noVehicles = "Non ci sono veicoli in questo garage",
|
||||||
|
vehicles = "Veicoli",
|
||||||
|
vehiclePlate = "Targa Veicolo",
|
||||||
|
vehicleNotInGarage = "Veicolo non in garage",
|
||||||
|
vehicleTakeOut = "Prendi il Veicolo",
|
||||||
|
vehicleReturnAndTakeOut = "Ritorna e prendi il veicolo",
|
||||||
|
vehicleReturnToOwnersGarage = "Ritorna nel garage del propietario",
|
||||||
|
transferToGarageOrPlayer = "Trasferisci al garage o al giocatore",
|
||||||
|
transferToGarage = "Trasferisci al Garage",
|
||||||
|
transferToPlayer = "Trasferisci al Giocatore",
|
||||||
|
vehicleTransfer = "Trasferisci",
|
||||||
|
noAvailableGarages = "Nessun Garage Disponibile",
|
||||||
|
currentGarage = "Garage Attuale",
|
||||||
|
noPlayersOnline = "Nessun Giocatore Online",
|
||||||
|
createPrivateGarage = "Crea Garage Privato",
|
||||||
|
pgAlertHeadsUp = "Dritta!",
|
||||||
|
pgAlertText = "Il garage verrà creato e i veicoli appariranno nella posizione e nella direzione esatte in cui ti trovi attualmente.",
|
||||||
|
garageName = "Nome Garage",
|
||||||
|
impoundInformation = "Informazioni Sequestro",
|
||||||
|
impoundedBy = "Sequestrato da",
|
||||||
|
impoundedReason = "Motivo",
|
||||||
|
impoundPlayerCanCollect = "Non puoi prelevare il veicolo dal sequestro.",
|
||||||
|
impoundCollectionContact = "Contatta %{value} per prelevare il tuo veicolo.",
|
||||||
|
impoundNoVehicles = "Nessun Veicolo Sequestrato",
|
||||||
|
impoundAvailable = "Disponibile",
|
||||||
|
impoundRetrievableByOwner = "Ritirabile dal Propietario",
|
||||||
|
impoundNoReason = "Nessun Motivo Segnalato",
|
||||||
|
impoundVehicle = "Sequestra Veicolo",
|
||||||
|
impoundReasonField = "Motivo (Opzionale)",
|
||||||
|
impoundTime = "Tempo Sequestro",
|
||||||
|
impoundAvailableImmediately = "Disponibile Ora",
|
||||||
|
impoundCost = "Costo",
|
||||||
|
changeVehiclePlate = "Cambia Targa Veicolo",
|
||||||
|
newPlate = "Nuova Targa",
|
||||||
|
search = "Ricerca per nome o targa",
|
||||||
|
noPrivateGarages = "Nessun garage privato",
|
||||||
|
editPrivateGarage = "Modifica garage privato",
|
||||||
|
owners = "Proprietario/i",
|
||||||
|
location = "Posizione",
|
||||||
|
next = "Successivo",
|
||||||
|
previous = "Precedente",
|
||||||
|
page = "Pagina",
|
||||||
|
of = "di",
|
||||||
|
show = "Mostra",
|
||||||
|
save = "Salva",
|
||||||
|
edit = "Modifica",
|
||||||
|
delete = "Elimina",
|
||||||
|
garageDeleteConfirm = "Sei sicuro di voler cancellare questo garage?",
|
||||||
|
privGarageSearch = "Ricerca per nome",
|
||||||
|
garageUpdatedSuccess = "Garage aggiornato con successo!",
|
||||||
|
getCurrentCoords = "Ottenere le coordinate attuali",
|
||||||
|
identifier = "Identificativo",
|
||||||
|
name = "Nome",
|
||||||
|
noPlayers = "Non sono stati aggiunti giocatori",
|
||||||
|
addPlayer = "Aggiungi giocatore",
|
||||||
|
loadingVehicle = "Caricamento del veicolo...",
|
||||||
|
vehicleSetup = "Configurazione del veicolo",
|
||||||
|
extras = "Extras",
|
||||||
|
extra = "Extra",
|
||||||
|
liveries = "Livree",
|
||||||
|
livery = "Livrea",
|
||||||
|
noLiveries = "Nessuna livrea disponibile",
|
||||||
|
noExtras = "Nessun extra disponibile",
|
||||||
|
none = "Nessuno",
|
||||||
|
vehicleNeedsService = "Serve Manutenzione",
|
||||||
|
type = "Tipo",
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
insertVehicleTypeError = "Puoi depositare %{value} tipi di veicoli in questo garage",
|
||||||
|
insertVehiclePublicError = "Non puoi depositare veicoli gang o lavorativi in garage pubblici",
|
||||||
|
vehicleParkedSuccess = "Veicolo Parcheggiato",
|
||||||
|
vehicleNotOwnedError = "Non sei il propietario del veicolo",
|
||||||
|
vehicleNotOwnedByPlayerError = "Il veicolo non è tuo",
|
||||||
|
notEnoughMoneyError = "Non hai abbastanza soldi in banca",
|
||||||
|
vehicleNotYoursError = "Il veicolo non ti appartiene",
|
||||||
|
notJobOrGangVehicle = "Questo non è un %{value} veicolo",
|
||||||
|
invalidGangError = "Gang non valida",
|
||||||
|
invalidJobError = "Lavoro non valido",
|
||||||
|
notInsideVehicleError = "Non sei in un veicolo",
|
||||||
|
vehicleAddedToGangGarageSuccess = "Veicolo aggiunto al %{value} garage gang!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "Veicolo aggiunto al %{value} garage lavorativo!",
|
||||||
|
moveCloserToVehicleError = "Devi avvicinarti al Veicolo",
|
||||||
|
noVehiclesNearbyError = "Nessun veicolo vicino",
|
||||||
|
commandPermissionsError = "Non sei autorizzato ad usare questo comando",
|
||||||
|
actionNotAllowedError = "Non sei autorizzato a fare questo",
|
||||||
|
garageNameExistsError = "Nome garage esistente",
|
||||||
|
vehiclePlateExistsError = "Targa veicolo già esistente",
|
||||||
|
playerNotOnlineError = "Giocatore Offline",
|
||||||
|
vehicleTransferSuccess = "Veicolo trasferito a %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "Veicolo trasferito correttamente",
|
||||||
|
vehicleReceived = "Hai ricevuto un veicolo con targa %{value}",
|
||||||
|
vehicleImpoundSuccess = "Veicolo sequestrato correttamente",
|
||||||
|
vehicleImpoundRemoveSuccess = "Veicolo rimosso dal sequestro",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "Veicolo restituito al garage del propietario",
|
||||||
|
garageCreatedSuccess = "Garage creato correttamente!",
|
||||||
|
vehiclePlateUpdateSuccess = "Targa cambiata in %{value}",
|
||||||
|
vehicleDeletedSuccess = "Veicolo eliminato dal database %{value}",
|
||||||
|
playerIsDead = "Sei morto! Non puoi farlo",
|
||||||
|
|
||||||
|
-- Commands
|
||||||
|
cmdSetGangVehicle = "Aggiungi veicolo attuale al garage gang",
|
||||||
|
cmdRemoveGangVehicle = "Ritorna veicolo gang al propietario",
|
||||||
|
cmdSetJobVehicle = "Aggiungi veicolo attuale al garage lavorativo",
|
||||||
|
cmdRemoveJobVehicle = "Ritorna veicolo lavorativo al propietario",
|
||||||
|
cmdArgGangName = "Nome gang",
|
||||||
|
cmdArgJobName = "Nome lavoro",
|
||||||
|
cmgArgMinGangRank = "Grado minimo gang",
|
||||||
|
cmgArgMinJobRank = "Grado minimo lavoro",
|
||||||
|
cmdArgPlayerId = "ID giocatore del destinatario",
|
||||||
|
cmdImpoundVehicle = "Sequestra veicolo",
|
||||||
|
cmdChangePlate = "Cambia targa veicolo (Solo Admin)",
|
||||||
|
cmdDeleteVeh = "Cancella veicolo dal database (Solo Admin)",
|
||||||
|
cmdCreatePrivGarage = "Crea un garage privato per il giocatore",
|
||||||
|
|
||||||
|
-- v3
|
||||||
|
vehicleStoreError = "Non puoi depositare il tuo veicolo qui",
|
||||||
|
mins = "minuti",
|
||||||
|
noVehiclesAvailableToDrive = "Non ci sono veicoli disponibili da guidare",
|
||||||
|
}
|
142
resources/[carscripts]/jg-advancedgarages/locales/ja.lua
Normal file
142
resources/[carscripts]/jg-advancedgarages/locales/ja.lua
Normal file
|
@ -0,0 +1,142 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['ja'] = {
|
||||||
|
yes = "はい",
|
||||||
|
no = "いいえ",
|
||||||
|
garage = "ガレージ",
|
||||||
|
jobGarage = "仕事用ガレージ",
|
||||||
|
gangGarage = "ギャング用ガレージ",
|
||||||
|
player = "プレイヤー",
|
||||||
|
impound = "押収",
|
||||||
|
inGarage = "ガレージ内",
|
||||||
|
notInGarage = "ガレージ外",
|
||||||
|
car = "車",
|
||||||
|
air = "空",
|
||||||
|
sea = "海",
|
||||||
|
fuel = "燃料",
|
||||||
|
engine = "エンジン",
|
||||||
|
body = "ボディ",
|
||||||
|
day = "日",
|
||||||
|
days = "日々",
|
||||||
|
hour = "時間",
|
||||||
|
hours = "時間",
|
||||||
|
mins = "分",
|
||||||
|
|
||||||
|
-- ユーザーインターフェース
|
||||||
|
noVehicles = "このガレージには車両がありません",
|
||||||
|
noVehiclesAvailableToDrive = "運転可能な車両はありません",
|
||||||
|
vehicles = "車両",
|
||||||
|
vehiclePlate = "ナンバープレート",
|
||||||
|
vehicleNotInGarage = "車両はガレージに入っていません",
|
||||||
|
vehicleTakeOut = "運転する",
|
||||||
|
vehicleReturnAndTakeOut = "返却 & 運転",
|
||||||
|
vehicleReturnToOwnersGarage = "オーナーのガレージに返却",
|
||||||
|
transferToGarageOrPlayer = "ガレージまたはプレイヤーに転送",
|
||||||
|
transferToGarage = "ガレージに転送",
|
||||||
|
transferToPlayer = "プレイヤーに転送",
|
||||||
|
vehicleTransfer = "転送",
|
||||||
|
noAvailableGarages = "利用可能なガレージはありません",
|
||||||
|
currentGarage = "現在のガレージ",
|
||||||
|
noPlayersOnline = "オンラインのプレイヤーがありません",
|
||||||
|
createPrivateGarage = "プライベートガレージを作成",
|
||||||
|
pgAlertHeadsUp = "注意!",
|
||||||
|
pgAlertText = "ガレージは作成され、車両は現在立っている位置と方向に出現します。",
|
||||||
|
garageName = "ガレージ名",
|
||||||
|
impoundInformation = "押収情報",
|
||||||
|
impoundedBy = "押収者",
|
||||||
|
impoundedReason = "理由",
|
||||||
|
impoundPlayerCanCollect = "車両を押収所から受け取ることができます。",
|
||||||
|
impoundCollectionContact = "%{value} に連絡して車両を受け取ってください。",
|
||||||
|
impoundNoVehicles = "押収所には車両がありません",
|
||||||
|
impoundAvailable = "利用可能",
|
||||||
|
impoundRetrievableByOwner = "オーナーが回収可能",
|
||||||
|
impoundNoReason = "理由なし",
|
||||||
|
impoundVehicle = "車両を押収",
|
||||||
|
impoundReasonField = "理由(任意)",
|
||||||
|
impoundTime = "押収時間",
|
||||||
|
impoundAvailableImmediately = "すぐに利用可能",
|
||||||
|
impoundCost = "費用",
|
||||||
|
changeVehiclePlate = "車両ナンバープレートの変更",
|
||||||
|
newPlate = "新しいナンバープレート",
|
||||||
|
search = "名前またはナンバープレートで検索",
|
||||||
|
noPrivateGarages = "プライベートガレージはありません",
|
||||||
|
editPrivateGarage = "プライベートガレージを編集",
|
||||||
|
owners = "オーナー",
|
||||||
|
location = "場所",
|
||||||
|
next = "次",
|
||||||
|
previous = "前",
|
||||||
|
page = "ページ",
|
||||||
|
of = "の",
|
||||||
|
show = "表示",
|
||||||
|
save = "保存",
|
||||||
|
edit = "編集",
|
||||||
|
delete = "削除",
|
||||||
|
garageDeleteConfirm = "本当にこのガレージを削除してもよろしいですか?",
|
||||||
|
privGarageSearch = "名前で検索",
|
||||||
|
garageUpdatedSuccess = "ガレージが正常に更新されました!",
|
||||||
|
getCurrentCoords = "現在の座標を取得",
|
||||||
|
identifier = "識別子",
|
||||||
|
name = "名前",
|
||||||
|
noPlayers = "プレイヤーが追加されていません",
|
||||||
|
addPlayer = "プレイヤーを追加",
|
||||||
|
loadingVehicle = "車両を読み込み中...",
|
||||||
|
vehicleSetup = "車両設定",
|
||||||
|
extras = "エクストラ",
|
||||||
|
extra = "エクストラ",
|
||||||
|
liveries = "ラッピング",
|
||||||
|
livery = "ラッピング",
|
||||||
|
noLiveries = "利用可能なラッピングはありません",
|
||||||
|
noExtras = "利用可能なエクストラはありません",
|
||||||
|
none = "なし",
|
||||||
|
vehicleNeedsService = "整備が必要",
|
||||||
|
type = "タイプ",
|
||||||
|
goInside = "中に入る",
|
||||||
|
|
||||||
|
-- 通知
|
||||||
|
insertVehicleTypeError = "このガレージには %{value} の車両タイプのみ収納できます",
|
||||||
|
insertVehiclePublicError = "公共ガレージには仕事用またはギャング車両を収納できません",
|
||||||
|
vehicleParkedSuccess = "車両がガレージに駐車されました",
|
||||||
|
vehicleNotOwnedError = "この車両はあなたのものではありません",
|
||||||
|
vehicleNotOwnedByPlayerError = "この車両はプレイヤーが所有していません",
|
||||||
|
notEnoughMoneyError = "銀行に十分なお金がありません",
|
||||||
|
vehicleNotYoursError = "この車両はあなたのものではありません",
|
||||||
|
notJobOrGangVehicle = "これは %{value} 車両ではありません",
|
||||||
|
invalidGangError = "有効なギャング名が提供されていません",
|
||||||
|
invalidJobError = "有効な仕事名が提供されていません",
|
||||||
|
notInsideVehicleError = "車両に乗っていません",
|
||||||
|
vehicleAddedToGangGarageSuccess = "車両が %{value} ギャングガレージに追加されました!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "車両が %{value} 仕事用ガレージに追加されました!",
|
||||||
|
moveCloserToVehicleError = "車両に近づく必要があります",
|
||||||
|
noVehiclesNearbyError = "近くに車両がありません",
|
||||||
|
commandPermissionsError = "このコマンドを使用する権限がありません",
|
||||||
|
actionNotAllowedError = "この行動は許可されていません",
|
||||||
|
garageNameExistsError = "ガレージ名はすでに存在します",
|
||||||
|
vehiclePlateExistsError = "この車両のナンバープレートはすでに使用されています",
|
||||||
|
playerNotOnlineError = "プレイヤーはオンラインではありません",
|
||||||
|
vehicleTransferSuccess = "車両が %{value} に転送されました",
|
||||||
|
vehicleTransferSuccessGeneral = "車両が正常に転送されました",
|
||||||
|
vehicleReceived = "車両 %{value} のナンバープレートを受け取りました",
|
||||||
|
vehicleImpoundSuccess = "車両が正常に押収されました",
|
||||||
|
vehicleImpoundRemoveSuccess = "車両が押収所から削除されました",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "車両がオーナーのガレージに返却されました",
|
||||||
|
garageCreatedSuccess = "ガレージが正常に作成されました!",
|
||||||
|
vehiclePlateUpdateSuccess = "車両ナンバープレートが %{value} に設定されました",
|
||||||
|
vehicleDeletedSuccess = "車両がデータベースから削除されました %{value}",
|
||||||
|
playerIsDead = "死んでいるため、この操作はできません",
|
||||||
|
vehicleStoreError = "この車両はここに保管できません",
|
||||||
|
|
||||||
|
-- コマンド
|
||||||
|
cmdSetGangVehicle = "現在の車両をギャングガレージに追加",
|
||||||
|
cmdRemoveGangVehicle = "ギャング車両をプレイヤー所有に戻す",
|
||||||
|
cmdSetJobVehicle = "現在の車両を仕事用ガレージに追加",
|
||||||
|
cmdRemoveJobVehicle = "仕事車両をプレイヤー所有に戻す",
|
||||||
|
cmdArgGangName = "ギャング名",
|
||||||
|
cmdArgJobName = "仕事名",
|
||||||
|
cmgArgMinGangRank = "最低ギャングランク",
|
||||||
|
cmgArgMinJobRank = "最低仕事ランク",
|
||||||
|
cmdArgPlayerId = "新しいオーナーのプレイヤーID",
|
||||||
|
cmdImpoundVehicle = "車両を押収",
|
||||||
|
cmdChangePlate = "車両ナンバープレートを変更(管理者のみ)",
|
||||||
|
cmdDeleteVeh = "車両をデータベースから削除(管理者のみ)",
|
||||||
|
cmdCreatePrivGarage = "プレイヤー用のプライベートガレージを作成",
|
||||||
|
}
|
142
resources/[carscripts]/jg-advancedgarages/locales/lt.lua
Normal file
142
resources/[carscripts]/jg-advancedgarages/locales/lt.lua
Normal file
|
@ -0,0 +1,142 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['lt'] = {
|
||||||
|
yes = "Taip",
|
||||||
|
no = "Ne",
|
||||||
|
garage = "Garažas",
|
||||||
|
jobGarage = "Darbo garažas",
|
||||||
|
gangGarage = "Gaujos garažas",
|
||||||
|
player = "Asmuo",
|
||||||
|
impound = "Konfiskavimo aikštelė",
|
||||||
|
inGarage = "Šiuo metu garaže",
|
||||||
|
notInGarage = "Garaže nėra",
|
||||||
|
car = "Transporto priemonė",
|
||||||
|
air = "Lėktuvas",
|
||||||
|
sea = "Laivas",
|
||||||
|
fuel = "Degalai",
|
||||||
|
engine = "Variklis",
|
||||||
|
body = "Kėbulas",
|
||||||
|
day = "diena",
|
||||||
|
days = "dienos",
|
||||||
|
hour = "valanda",
|
||||||
|
hours = "valandos",
|
||||||
|
mins = "mins",
|
||||||
|
|
||||||
|
-- User Interface
|
||||||
|
noVehicles = "Šiame garaže nėra transporto priemonių",
|
||||||
|
noVehiclesAvailableToDrive = "Šiuo metu nėra transporto priemonių, kurias galėtumėte vairuoti",
|
||||||
|
vehicles = "tr.priemonė-(s)",
|
||||||
|
vehiclePlate = "Numeriai",
|
||||||
|
vehicleNotInGarage = "Tr.priemonės nėra garaže",
|
||||||
|
vehicleTakeOut = "Vairuoti",
|
||||||
|
vehicleReturnAndTakeOut = "Gražinti & Vairuoti",
|
||||||
|
vehicleReturnToOwnersGarage = "Grąžinti savininkui į garažą",
|
||||||
|
transferToGarageOrPlayer = "Perkelti į garažą arba asmeniui",
|
||||||
|
transferToGarage = "Perkelti į garažą",
|
||||||
|
transferToPlayer = "Perleisti žaidėjui",
|
||||||
|
vehicleTransfer = "Perkelti",
|
||||||
|
noAvailableGarages = "Nėra galimų garažų",
|
||||||
|
currentGarage = "Dabartinis garažas",
|
||||||
|
noPlayersOnline = "Nėra prisijungusių žaidėjų",
|
||||||
|
createPrivateGarage = "Sukurti privatų garažą",
|
||||||
|
pgAlertHeadsUp = "Dėmesio!",
|
||||||
|
pgAlertText = "Garažas bus sukurtas, o transporto priemonė atsiras tiklsiai ten, kur dabar stovite.",
|
||||||
|
garageName = "Garažo pavadinimas",
|
||||||
|
impoundInformation = "Konfiskavimo informacija",
|
||||||
|
impoundedBy = "Konfiskavo",
|
||||||
|
impoundedReason = "Priežastis",
|
||||||
|
impoundPlayerCanCollect = "Savo transporto priemonę galite atsiimti iš konfiskavimo aikštelės.",
|
||||||
|
impoundCollectionContact = "Prašome susisiekti su %{value}, kad galėtumėte atsiimti savo transporto priemonę.",
|
||||||
|
impoundNoVehicles = "Konfiskavimo aikštelėje nėra transporto priemonių",
|
||||||
|
impoundAvailable = "Galima",
|
||||||
|
impoundRetrievableByOwner = "Atsiimti gali savininkas?",
|
||||||
|
impoundNoReason = "Priežastis nenurodyta",
|
||||||
|
impoundVehicle = "Transporto priemonės konfiskavimas",
|
||||||
|
impoundReasonField = "Priežastis (nebūtina)",
|
||||||
|
impoundTime = "Konfiskavimo laikas",
|
||||||
|
impoundAvailableImmediately = "Atsiimti gali iškart",
|
||||||
|
impoundCost = "Atsiėmimo kaina",
|
||||||
|
changeVehiclePlate = "Numerių keitimas",
|
||||||
|
newPlate = "Nauji numeriai",
|
||||||
|
search = "Ieškoti pagal pavadinimą arba numerius",
|
||||||
|
noPrivateGarages = "Privačių garažų nėra",
|
||||||
|
editPrivateGarage = "Redaguoti privatų garažą",
|
||||||
|
owners = "Savininkas(-ai)",
|
||||||
|
location = "Vietovė",
|
||||||
|
next = "Kitas",
|
||||||
|
previous = "Praeitas",
|
||||||
|
page = "Puslapis",
|
||||||
|
of = "iš",
|
||||||
|
show = "Rodyti",
|
||||||
|
save = "Išsaugoti",
|
||||||
|
edit = "Redaguoti",
|
||||||
|
delete = "Ištrinti",
|
||||||
|
garageDeleteConfirm = "Ar tikrai norite ištrinti garažą?",
|
||||||
|
privGarageSearch = "Ieškoti pagal pavadinima",
|
||||||
|
garageUpdatedSuccess = "Garažas sėkmingai atnaujintas!",
|
||||||
|
getCurrentCoords = "Išgauti koordinates",
|
||||||
|
identifier = "Identifikatorius",
|
||||||
|
name = "Vardas",
|
||||||
|
noPlayers = "Žaidėjų nėra pridėta",
|
||||||
|
addPlayer = "Pridėti žaidėją",
|
||||||
|
loadingVehicle = "Užkraunama...",
|
||||||
|
vehicleSetup = "Papildiniai",
|
||||||
|
extras = "Extra",
|
||||||
|
extra = "Extra",
|
||||||
|
liveries = "Lipdukai",
|
||||||
|
livery = "Lipdukas",
|
||||||
|
noLiveries = "Lipdukų nėra",
|
||||||
|
noExtras = "Extra papildinių nėra",
|
||||||
|
none = "Nėra",
|
||||||
|
vehicleNeedsService = "Reikia serviso",
|
||||||
|
type = "Tipas",
|
||||||
|
goInside = "Eiti į vidų",
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
insertVehicleTypeError = "Šiame garaže galite laikyti tik %{value} transporto priemonių tipus",
|
||||||
|
insertVehiclePublicError = "Negalite pastatyti darbo arba gaujų transporto priemonių tarp viešojo garažo",
|
||||||
|
vehicleParkedSuccess = "Transporto priemonė pastatyta į garažą",
|
||||||
|
vehicleNotOwnedError = "Ši transporto priemonė nepriklauso jums",
|
||||||
|
vehicleNotOwnedByPlayerError = "Transporto priemonė nepriklauso jokiam asmeniui",
|
||||||
|
notEnoughMoneyError = "Neturite pakankamai pinigų banke",
|
||||||
|
vehicleNotYoursError = "Transporto priemonė jums nepriklauso",
|
||||||
|
notJobOrGangVehicle = "Tai nėra %{value} transporto priemonė",
|
||||||
|
invalidGangError = "Jūs nenurodėte tinkamos gaujos",
|
||||||
|
invalidJobError = "Jūs nenurodėte tinkamo darbo",
|
||||||
|
notInsideVehicleError = "Jūs nesate transporto priemonėje",
|
||||||
|
vehicleAddedToGangGarageSuccess = "Transporto priemonė pridėta į %{value} gaujos garažą!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "Transporto priemonė pridėta į %{value} darbo garažą!",
|
||||||
|
moveCloserToVehicleError = "Turite prieiti arčiau transporto priemonės",
|
||||||
|
noVehiclesNearbyError = "Šalia transporto priemonės nėra",
|
||||||
|
commandPermissionsError = "Neturite leidimo naudoti šios komandos",
|
||||||
|
actionNotAllowedError = "Šio veiksmo atlikti negalite",
|
||||||
|
garageNameExistsError = "Garažo pavadinimas jau yra užimtas",
|
||||||
|
vehiclePlateExistsError = "Transporto priemonės numeriai jau yra užimti",
|
||||||
|
playerNotOnlineError = "Žaidėjas nėra prisijungęs",
|
||||||
|
vehicleTransferSuccess = "Transporto priemonė perkelta į %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "Transporto priemonė sėkmingai perleista",
|
||||||
|
vehicleReceived = "Jūs gavote transporto priemonę kurios numeriai yra %{value}",
|
||||||
|
vehicleImpoundSuccess = "Transporto priemonė sėkmingai konfiskuota",
|
||||||
|
vehicleImpoundRemoveSuccess = "Transporto priemonė buvo ištraukta iš konfiskavimo aikštelės",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "Transporto priemonė grąžinta savininkui į garažą",
|
||||||
|
garageCreatedSuccess = "Garažas sėkmingai sukurtas!",
|
||||||
|
vehiclePlateUpdateSuccess = "Transporto priemonės numeriai pakeisti į %{value}",
|
||||||
|
vehicleDeletedSuccess = "Transporto priemonė sėkmingai pašalinta iš duomenu bazės %{value}",
|
||||||
|
playerIsDead = "Šio veiksmo negalite atlikti kol esate negyvas",
|
||||||
|
vehicleStoreError = "Šios transporto priemonės laikyti čia negalite",
|
||||||
|
|
||||||
|
-- Commands
|
||||||
|
cmdSetGangVehicle = "Pridėti dabartinę transporto priemonę į gaujos garažą",
|
||||||
|
cmdRemoveGangVehicle = "Grąžinti gaujos transporto priemonę savininkui",
|
||||||
|
cmdSetJobVehicle = "Pridėti dabartine transporto priemonę į darbo garažą",
|
||||||
|
cmdRemoveJobVehicle = "Gražinti darbinę transporto priemonę savininkui",
|
||||||
|
cmdArgGangName = "Gaujos pavadinimas",
|
||||||
|
cmdArgJobName = "Darbo pavadinimas",
|
||||||
|
cmgArgMinGangRank = "Minimalus gaujos rangas",
|
||||||
|
cmgArgMinJobRank = "Minimalus darbo rangas",
|
||||||
|
cmdArgPlayerId = "Naujo savininko ID",
|
||||||
|
cmdImpoundVehicle = "Konfiskuoti transporto priemonę",
|
||||||
|
cmdChangePlate = "Keisit transporto priemonės numerius (Tik administracija)",
|
||||||
|
cmdDeleteVeh = "Ištrinti transporto priemonę iš duomenų bazės (Tik administracija)",
|
||||||
|
cmdCreatePrivGarage = "Sukurti privatų garažą",
|
||||||
|
}
|
143
resources/[carscripts]/jg-advancedgarages/locales/nl.lua
Normal file
143
resources/[carscripts]/jg-advancedgarages/locales/nl.lua
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['nl'] = {
|
||||||
|
yes = "Ja",
|
||||||
|
no = "Nee",
|
||||||
|
garage = "Garage",
|
||||||
|
jobGarage = "Baan Garage",
|
||||||
|
gangGarage = "Bende Garage",
|
||||||
|
player = "Speler",
|
||||||
|
impound = "Inbeslagname",
|
||||||
|
inGarage = "In garage",
|
||||||
|
notInGarage = "Niet in garage",
|
||||||
|
car = "Auto",
|
||||||
|
air = "Lucht",
|
||||||
|
sea = "Zee",
|
||||||
|
fuel = "Brandstof",
|
||||||
|
engine = "Motor",
|
||||||
|
body = "Carrosserie",
|
||||||
|
day = "dag",
|
||||||
|
days = "dagen",
|
||||||
|
hour = "uur",
|
||||||
|
hours = "uren",
|
||||||
|
|
||||||
|
-- User Interface
|
||||||
|
noVehicles = "Er zijn geen voertuigen beschikbaar in deze garage",
|
||||||
|
vehicles = "voertuigen",
|
||||||
|
vehiclePlate = "Kenteken",
|
||||||
|
vehicleNotInGarage = "Voertuig is niet in aanwezig in de garage",
|
||||||
|
vehicleTakeOut = "Uitnemen",
|
||||||
|
vehicleReturnAndTakeOut = "Retour & Afhaal",
|
||||||
|
vehicleReturnToOwnersGarage = "Terug brengen naar de Garage van de Eigenaar",
|
||||||
|
transferToGarageOrPlayer = "Overdracht naar een Garage of Speler",
|
||||||
|
transferToGarage = "Overdracht naar een Garage",
|
||||||
|
transferToPlayer = "Overdracht naar een Speler",
|
||||||
|
vehicleTransfer = "Overdracht",
|
||||||
|
noAvailableGarages = "Geen beschikbare garages",
|
||||||
|
currentGarage = "Huidige garage",
|
||||||
|
noPlayersOnline = "Geen spelers online",
|
||||||
|
createPrivateGarage = "Privégarage creëren",
|
||||||
|
pgAlertHeadsUp = "Let op!",
|
||||||
|
pgAlertText = "De garage wordt gemaakt en voertuigen spawnen in de exacte locatie en richting waarin u zich momenteel bevindt.",
|
||||||
|
garageName = "Garage Naam",
|
||||||
|
impoundInformation = "Inbeslagname Informatie",
|
||||||
|
impoundedBy = "In beslag genomen door",
|
||||||
|
impoundedReason = "Reden",
|
||||||
|
impoundPlayerCanCollect = "U kunt uw voertuig ophalen bij de inbeslagname.",
|
||||||
|
impoundCollectionContact = "Neem contact op met %{value} om uw voertuig op te halen.",
|
||||||
|
impoundNoVehicles = "Er zijn geen voertuigen in de inbeslagneming",
|
||||||
|
impoundAvailable = "Beschikbaar",
|
||||||
|
impoundRetrievableByOwner = "Ophaalbaar door de eigenaar",
|
||||||
|
impoundNoReason = "Geen reden opgegeven",
|
||||||
|
impoundVehicle = "Voertuig in beslag nemen",
|
||||||
|
impoundReasonField = "Reden (optioneel)",
|
||||||
|
impoundTime = "Inbeslagnemingstijd",
|
||||||
|
impoundAvailableImmediately = "Onmiddellijk beschikbaar",
|
||||||
|
impoundCost = "Kosten",
|
||||||
|
changeVehiclePlate = "Voertuigkenteken wijzigen",
|
||||||
|
newPlate = "Nieuw Kenteken",
|
||||||
|
search = "Zoek op naam of plaat",
|
||||||
|
noPrivateGarages = "Geen privégarages",
|
||||||
|
editPrivateGarage = "Bewerk privégarage",
|
||||||
|
owners = "Eigenaar(s)",
|
||||||
|
location = "Locatie",
|
||||||
|
next = "Volgende",
|
||||||
|
previous = "Vorige",
|
||||||
|
page = "Pagina",
|
||||||
|
of = "van",
|
||||||
|
show = "Toon",
|
||||||
|
save = "Opslaan",
|
||||||
|
edit = "Bewerk",
|
||||||
|
delete = "Verwijder",
|
||||||
|
garageDeleteConfirm = "Weet je zeker dat je deze garage wilt verwijderen?",
|
||||||
|
privGarageSearch = "Zoeken op naam",
|
||||||
|
garageUpdatedSuccess = "Garage succesvol bijgewerkt!",
|
||||||
|
getCurrentCoords = "Huidige coördinaten ophalen",
|
||||||
|
identifier = "Identificatie",
|
||||||
|
name = "Naam",
|
||||||
|
noPlayers = "Er zijn geen spelers toegevoegd",
|
||||||
|
addPlayer = "Speler toevoegen",
|
||||||
|
loadingVehicle = "Voertuig laden...",
|
||||||
|
vehicleSetup = "Voertuig instellen",
|
||||||
|
extras = "Extra's",
|
||||||
|
extra = "Extra",
|
||||||
|
liveries = "Liveries",
|
||||||
|
livery = "Livery",
|
||||||
|
noLiveries = "Geen liveries beschikbaar",
|
||||||
|
noExtras = "Geen extra's beschikbaar",
|
||||||
|
none = "Geen",
|
||||||
|
vehicleNeedsService = "Needs Service",
|
||||||
|
type = "Type",
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
insertVehicleTypeError = "U kunt alleen opslaan %{value} voertuigtypes in deze garage",
|
||||||
|
insertVehiclePublicError = "Je kunt geen baan- of bendevoertuigen opslaan in openbare garages",
|
||||||
|
vehicleParkedSuccess = "Voertuig geparkeerd in garage",
|
||||||
|
vehicleNotOwnedError = "U bent niet de eigenaar van dit voertuig",
|
||||||
|
vehicleNotOwnedByPlayerError = "Dit voertuig is geen eigendom van een speler",
|
||||||
|
notEnoughMoneyError = "U heeft niet genoeg geld op uw bank",
|
||||||
|
vehicleNotYoursError = "Dit voertuig is niet van jou",
|
||||||
|
notJobOrGangVehicle = "Dit is geen %{value} voertuig",
|
||||||
|
invalidGangError = "Je heeft geen geldige bende opgegeven",
|
||||||
|
invalidJobError = "Je heeft geen geldige baan opgegeven",
|
||||||
|
notInsideVehicleError = "Je zit niet in een voertuig",
|
||||||
|
vehicleAddedToGangGarageSuccess = "Voertuig toegevoegd aan de %{value} bende garage!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "Voertuig toegevoegd aan de %{value} baan garage!",
|
||||||
|
moveCloserToVehicleError = "Je moet dichter bij het voertuig gaan staan",
|
||||||
|
noVehiclesNearbyError = "Er zijn geen voertuigen in de buurt",
|
||||||
|
commandPermissionsError = "Je hebt de rechten niet om dit commando te gebruiken",
|
||||||
|
actionNotAllowedError = "Dit mag je niet doen",
|
||||||
|
garageNameExistsError = "Garagenaam is al in gebruik",
|
||||||
|
vehiclePlateExistsError = "Voertuigkenteken is al in gebruik",
|
||||||
|
playerNotOnlineError = "Speler is niet online",
|
||||||
|
vehicleTransferSuccess = "Voertuig overgedragen aan %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "Voertuig succesvol overgedragen",
|
||||||
|
vehicleReceived = "U heeft een voertuig met kenteken %{value} ontvangen",
|
||||||
|
vehicleImpoundSuccess = "Voertuig succesvol in beslag genomen",
|
||||||
|
vehicleImpoundRemoveSuccess = "Voertuig uit beslag genomen",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "Voertuig teruggebracht naar de garage van de eigenaar",
|
||||||
|
garageCreatedSuccess = "Garage succesvol aangemaakt!",
|
||||||
|
vehiclePlateUpdateSuccess = "Voertuigkenteken ingesteld op %{value}",
|
||||||
|
vehicleDeletedSuccess = "Voertuig verwijderd uit de database %{value}",
|
||||||
|
playerIsDead = "Je kunt dit niet doen als je dood bent",
|
||||||
|
|
||||||
|
-- Commands
|
||||||
|
cmdSetGangVehicle = "Huidig voertuig toevoegen aan een bendegarage",
|
||||||
|
cmdRemoveGangVehicle = "Stel bendevoertuig terug in als eigendom van de speler",
|
||||||
|
cmdSetJobVehicle = "Huidig voertuig toevoegen aan een baangarage",
|
||||||
|
cmdRemoveJobVehicle = "Stel baanvoertuig terug in als eigendom van de speler",
|
||||||
|
cmdArgGangName = "Bende naam",
|
||||||
|
cmdArgJobName = "Baan naam",
|
||||||
|
cmgArgMinGangRank = "Minimale benderang",
|
||||||
|
cmgArgMinJobRank = "Minimale functierang",
|
||||||
|
cmdArgPlayerId = "Speler-ID van nieuwe eigenaar",
|
||||||
|
cmdImpoundVehicle = "Een voertuig in beslag nemen",
|
||||||
|
cmdChangePlate = "Wijzig kentekenplaat (Alleen beheerder)",
|
||||||
|
cmdDeleteVeh = "Voertuig verwijderen uit de database (Alleen beheerder)",
|
||||||
|
cmdCreatePrivGarage = "Privégarage creëren voor een Speler",
|
||||||
|
|
||||||
|
-- v3
|
||||||
|
vehicleStoreError = "You cannot store this vehicle here",
|
||||||
|
mins = "mins",
|
||||||
|
noVehiclesAvailableToDrive = "There are no vehicles available to drive",
|
||||||
|
}
|
141
resources/[carscripts]/jg-advancedgarages/locales/pt.lua
Normal file
141
resources/[carscripts]/jg-advancedgarages/locales/pt.lua
Normal file
|
@ -0,0 +1,141 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['pt'] = {
|
||||||
|
yes = "Sim",
|
||||||
|
no = "Não",
|
||||||
|
garage = "Garagem",
|
||||||
|
jobGarage = "Garagem de Trabalho",
|
||||||
|
gangGarage = "Garagem de Organização",
|
||||||
|
player = "Jogador",
|
||||||
|
impound = "Apreendidos",
|
||||||
|
inGarage = "Na Garagem",
|
||||||
|
notInGarage = "Fora da Garagem",
|
||||||
|
car = "Garagem",
|
||||||
|
air = "Garagem",
|
||||||
|
sea = "Garagem",
|
||||||
|
fuel = "Combustível",
|
||||||
|
engine = "Motor",
|
||||||
|
body = "Chassi",
|
||||||
|
day = "Dia",
|
||||||
|
days = "Dias",
|
||||||
|
hour = "Hora",
|
||||||
|
hours = "Horas",
|
||||||
|
|
||||||
|
-- User Interface
|
||||||
|
noVehicles = "Não há veículos nesta garagem",
|
||||||
|
vehicles = "Total de Viaturas",
|
||||||
|
vehiclePlate = "Matrícula do veículo",
|
||||||
|
vehicleNotInGarage = "Veículo não está na garagem",
|
||||||
|
vehicleTakeOut = "Retirar",
|
||||||
|
vehicleReturnAndTakeOut = "Voltar a Retirar",
|
||||||
|
vehicleReturnToOwnersGarage = "Voltar à garagem do proprietário",
|
||||||
|
transferToGarageOrPlayer = "Transferir para uma Garagem ou Jogador",
|
||||||
|
transferToGarage = "Transferir para uma Garagem",
|
||||||
|
transferToPlayer = "Transferir para um Jogador",
|
||||||
|
vehicleTransfer = "Transferir",
|
||||||
|
noAvailableGarages = "Sem garagens disponíveis",
|
||||||
|
currentGarage = "Garagem atual",
|
||||||
|
noPlayersOnline = "Sem jogadores online",
|
||||||
|
createPrivateGarage = "Criar Garagem Privada",
|
||||||
|
pgAlertHeadsUp = "Atenção!",
|
||||||
|
pgAlertText = "A garagem será criada e os veículos aparecerão na localização e direção exatas que você está atualmente.",
|
||||||
|
garageName = "Nome da Garagem",
|
||||||
|
impoundInformation = "Informações da Apreensão",
|
||||||
|
impoundedBy = "Apreendido por",
|
||||||
|
impoundedReason = "Razão",
|
||||||
|
impoundPlayerCanCollect = "Você pode retirar o seu veículo dos Apreendidos.",
|
||||||
|
impoundCollectionContact = "Por favor entre em contato %{value} Para retirar o seu veículo.",
|
||||||
|
impoundNoVehicles = "Não há veículos nos Apreendidos",
|
||||||
|
impoundAvailable = "Disponível",
|
||||||
|
impoundRetrievableByOwner = "Recuperável pelo proprietário",
|
||||||
|
impoundNoReason = "Nenhuma razão fornecida",
|
||||||
|
impoundVehicle = "Apreender o Veículo",
|
||||||
|
impoundReasonField = "Razão",
|
||||||
|
impoundTime = "Tempo de Apreensão",
|
||||||
|
impoundAvailableImmediately = "Disponível imediatamente",
|
||||||
|
impoundCost = "Preço",
|
||||||
|
changeVehiclePlate = "Mudar a Matrícula",
|
||||||
|
newPlate = "Nova Matrícula",
|
||||||
|
search = "Pesquise por nome ou placa",
|
||||||
|
noPrivateGarages = "Sem garagens privadas",
|
||||||
|
editPrivateGarage = "Editar garagem privada",
|
||||||
|
owners = "Proprietário(s)",
|
||||||
|
location = "Localização",
|
||||||
|
next = "Seguinte",
|
||||||
|
previous = "Anterior",
|
||||||
|
page = "Página",
|
||||||
|
of = "de",
|
||||||
|
show = "Mostrar",
|
||||||
|
save = "Guardar",
|
||||||
|
edit = "Editar",
|
||||||
|
delete = "Eliminar",
|
||||||
|
garageDeleteConfirm = "Tem a certeza de que pretende apagar esta garagem?",
|
||||||
|
privGarageSearch = "Procurar por nome",
|
||||||
|
garageUpdatedSuccess = "Garagem actualizada com sucesso!",
|
||||||
|
getCurrentCoords = "Obter as coordenadas actuais",
|
||||||
|
identifier = "Identificador",
|
||||||
|
name = "Nome",
|
||||||
|
noPlayers = "Não há jogadores adicionados",
|
||||||
|
addPlayer = "Adicionar jogador",
|
||||||
|
loadingVehicle = "Carregamento do veículo...",
|
||||||
|
vehicleSetup = "Configuração do veículo",
|
||||||
|
extras = "Suplementos",
|
||||||
|
extra = "Suplemento",
|
||||||
|
liveries = "Fígados",
|
||||||
|
livery = "Fígado",
|
||||||
|
noLiveries = "Não existem pinturas disponíveis",
|
||||||
|
noExtras = "Não há extras disponíveis",
|
||||||
|
none = "Nenhum",
|
||||||
|
vehicleNeedsService = "Needs Service",
|
||||||
|
type = "Type",
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
insertVehicleTypeError = "Não pode guardar nesta garagem.",
|
||||||
|
insertVehiclePublicError = "Você não pode armazenar veículos de emprego ou gangues em garagens públicas",
|
||||||
|
vehicleParkedSuccess = "Veículo guardado na garagem",
|
||||||
|
vehicleNotOwnedError = "Você não é dono este veículo",
|
||||||
|
vehicleNotOwnedByPlayerError = "O veículo não é de propriedade de um jogador",
|
||||||
|
notEnoughMoneyError = "Você não tem dinheiro suficiente em seu banco",
|
||||||
|
vehicleNotYoursError = "Veículo não pertence a você",
|
||||||
|
notJobOrGangVehicle = "Isso não é um %{value} veículo",
|
||||||
|
invalidGangError = "Você não forneceu uma gangue válida",
|
||||||
|
invalidJobError = "Você não forneceu um trabalho válido",
|
||||||
|
notInsideVehicleError = "Você não está sentado em um veículo",
|
||||||
|
vehicleAddedToGangGarageSuccess = "Veículo adicionado ao %{value} Garagem de gangues!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "Veículo adicionado ao %{value} Jó Garage!",
|
||||||
|
moveCloserToVehicleError = "Você precisa se aproximar do veículo",
|
||||||
|
noVehiclesNearbyError = "Não há veículos próximos",
|
||||||
|
commandPermissionsError = "Você não tem permissão para usar este comando",
|
||||||
|
actionNotAllowedError = "Você não tem permissão para fazer isso",
|
||||||
|
garageNameExistsError = "O nome da garagem já existe",
|
||||||
|
vehiclePlateExistsError = "A placa do veículo já está em uso",
|
||||||
|
playerNotOnlineError = "Jogador não está online",
|
||||||
|
vehicleTransferSuccess = "Veículo transferido para %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "Veículo transferido com sucesso",
|
||||||
|
vehicleReceived = "Você recebeu um veículo com a matricula %{value}",
|
||||||
|
vehicleImpoundSuccess = "Veículo foi apreendido",
|
||||||
|
vehicleImpoundRemoveSuccess = "Veículo foi removido dos Apreenndidos!",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "Veículo voltou à garagem do proprietário",
|
||||||
|
garageCreatedSuccess = "Garagem criada com sucesso!",
|
||||||
|
vehiclePlateUpdateSuccess = "Placa do veículo definido para %{value}",
|
||||||
|
vehicleDeletedSuccess = "Veículo excluído do banco de dados %{value}",
|
||||||
|
playerIsDead = "Você não pode fazer isso enquanto estiver morto",
|
||||||
|
|
||||||
|
-- Commands
|
||||||
|
cmdSetGangVehicle = "Adicione o veículo atual a uma garagem de gangue",
|
||||||
|
cmdRemoveGangVehicle = "Defina o veículo de gangue de volta ao jogador de propriedade",
|
||||||
|
cmdSetJobVehicle = "Adicione o veículo atual a uma garagem de Trabalho",
|
||||||
|
cmdRemoveJobVehicle = "Defina o veículo de trabalho de volta para o jogador de propriedade",
|
||||||
|
cmdArgGangName = "Gang Nome",
|
||||||
|
cmdArgJobName = "Trabalho Nome",
|
||||||
|
cmdArgPlayerId = "ID do jogador do novo proprietário",
|
||||||
|
cmdImpoundVehicle = "Apreender um veículo",
|
||||||
|
cmdChangePlate = "Altere a placa do veículo (Admin apenas)",
|
||||||
|
cmdDeleteVeh = "Excluir veículo do banco de dados (Admin apenas)",
|
||||||
|
cmdCreatePrivGarage = "Criar uma garagem privada para um jogador",
|
||||||
|
|
||||||
|
-- v3
|
||||||
|
vehicleStoreError = "You cannot store this vehicle here",
|
||||||
|
mins = "mins",
|
||||||
|
noVehiclesAvailableToDrive = "There are no vehicles available to drive",
|
||||||
|
}
|
142
resources/[carscripts]/jg-advancedgarages/locales/ro.lua
Normal file
142
resources/[carscripts]/jg-advancedgarages/locales/ro.lua
Normal file
|
@ -0,0 +1,142 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['ro'] = {
|
||||||
|
yes = "Da",
|
||||||
|
no = "Nu",
|
||||||
|
garage = "Garaj",
|
||||||
|
jobGarage = "Garaj de serviciu",
|
||||||
|
gangGarage = "Garajul bandei",
|
||||||
|
player = "Jucător",
|
||||||
|
impound = "Depozit",
|
||||||
|
inGarage = "În garaj",
|
||||||
|
notInGarage = "Nu este în garaj",
|
||||||
|
car = "Mașină",
|
||||||
|
air = "Aer",
|
||||||
|
sea = "Mare",
|
||||||
|
fuel = "Combustibil",
|
||||||
|
engine = "Motor",
|
||||||
|
body = "Caroserie",
|
||||||
|
day = "zi",
|
||||||
|
days = "zile",
|
||||||
|
hour = "oră",
|
||||||
|
hours = "ore",
|
||||||
|
mins = "minute",
|
||||||
|
|
||||||
|
-- Interfața utilizatorului
|
||||||
|
noVehicles = "Nu există vehicule în acest garaj",
|
||||||
|
noVehiclesAvailableToDrive = "Nu există vehicule disponibile pentru a conduce",
|
||||||
|
vehicles = "vehicul(e)",
|
||||||
|
vehiclePlate = "Număr de înmatriculare",
|
||||||
|
vehicleNotInGarage = "Vehiculul a fost lăsat afară",
|
||||||
|
vehicleTakeOut = "Condu",
|
||||||
|
vehicleReturnAndTakeOut = "Întoarce & Condu",
|
||||||
|
vehicleReturnToOwnersGarage = "Întoarce la garajul proprietarului",
|
||||||
|
transferToGarageOrPlayer = "Transferă la un garaj sau jucător",
|
||||||
|
transferToGarage = "Transferă la un garaj",
|
||||||
|
transferToPlayer = "Transferă la un jucător",
|
||||||
|
vehicleTransfer = "Transfer",
|
||||||
|
noAvailableGarages = "Nu există garaje disponibile",
|
||||||
|
currentGarage = "Garaj curent",
|
||||||
|
noPlayersOnline = "Nu sunt jucători online",
|
||||||
|
createPrivateGarage = "Creează un garaj privat",
|
||||||
|
pgAlertHeadsUp = "Atenție!",
|
||||||
|
pgAlertText = "Garajul va fi creat și vehiculele vor apărea exact în locația și direcția în care te afli în prezent.",
|
||||||
|
garageName = "Nume Garaj",
|
||||||
|
impoundInformation = "Informații despre depozit",
|
||||||
|
impoundedBy = "Depozitat de",
|
||||||
|
impoundedReason = "Motiv",
|
||||||
|
impoundPlayerCanCollect = "Poți să îți recuperezi vehiculul din depozit.",
|
||||||
|
impoundCollectionContact = "Te rugăm să contactezi %{value} pentru a-ți recupera vehiculul.",
|
||||||
|
impoundNoVehicles = "Nu există vehicule în depozit",
|
||||||
|
impoundAvailable = "Disponibil",
|
||||||
|
impoundRetrievableByOwner = "Poate fi recuperat de proprietar",
|
||||||
|
impoundNoReason = "Niciun motiv furnizat",
|
||||||
|
impoundVehicle = "Depozitează vehiculul",
|
||||||
|
impoundReasonField = "Motiv (opțional)",
|
||||||
|
impoundTime = "Timp de depozitare",
|
||||||
|
impoundAvailableImmediately = "Disponibil imediat",
|
||||||
|
impoundCost = "Cost",
|
||||||
|
changeVehiclePlate = "Schimbă numărul de înmatriculare",
|
||||||
|
newPlate = "Număr nou",
|
||||||
|
search = "Caută după nume sau număr",
|
||||||
|
noPrivateGarages = "Nu există garaje private",
|
||||||
|
editPrivateGarage = "Editează Garaj Privat",
|
||||||
|
owners = "Proprietar(i)",
|
||||||
|
location = "Locație",
|
||||||
|
next = "Următor",
|
||||||
|
previous = "Anterior",
|
||||||
|
page = "Pagină",
|
||||||
|
of = "din",
|
||||||
|
show = "Arată",
|
||||||
|
save = "Salvează",
|
||||||
|
edit = "Editează",
|
||||||
|
delete = "Șterge",
|
||||||
|
garageDeleteConfirm = "Ești sigur că vrei să ștergi acest garaj?",
|
||||||
|
privGarageSearch = "Caută după nume",
|
||||||
|
garageUpdatedSuccess = "Garaj actualizat cu succes!",
|
||||||
|
getCurrentCoords = "Obține coordonatele curente",
|
||||||
|
identifier = "Identificator",
|
||||||
|
name = "Nume",
|
||||||
|
noPlayers = "Nu există jucători adăugați",
|
||||||
|
addPlayer = "Adaugă jucător",
|
||||||
|
loadingVehicle = "Se încarcă vehiculul...",
|
||||||
|
vehicleSetup = "Configurare Vehicul",
|
||||||
|
extras = "Extraopțiuni",
|
||||||
|
extra = "Extraopțiune",
|
||||||
|
liveries = "Livree",
|
||||||
|
livery = "Livrea",
|
||||||
|
noLiveries = "Nu există livree disponibile",
|
||||||
|
noExtras = "Nu există extraopțiuni disponibile",
|
||||||
|
none = "Niciunul",
|
||||||
|
vehicleNeedsService = "Necesită service",
|
||||||
|
type = "Tip",
|
||||||
|
goInside = "Intră înăuntru",
|
||||||
|
|
||||||
|
-- Notificări
|
||||||
|
insertVehicleTypeError = "Poți depozita doar vehicule de tip %{value} în acest garaj",
|
||||||
|
insertVehiclePublicError = "Nu poți depozita vehicule de serviciu sau de bandă în garajele publice",
|
||||||
|
vehicleParkedSuccess = "Vehicul parcat în garaj",
|
||||||
|
vehicleNotOwnedError = "Nu deții acest vehicul",
|
||||||
|
vehicleNotOwnedByPlayerError = "Vehiculul nu este deținut de un jucător",
|
||||||
|
notEnoughMoneyError = "Nu ai destui bani în bancă",
|
||||||
|
vehicleNotYoursError = "Vehiculul nu îți aparține",
|
||||||
|
notJobOrGangVehicle = "Acesta nu este un vehicul %{value}",
|
||||||
|
invalidGangError = "Nu ai furnizat o bandă validă",
|
||||||
|
invalidJobError = "Nu ai furnizat un job valid",
|
||||||
|
notInsideVehicleError = "Nu ești într-un vehicul",
|
||||||
|
vehicleAddedToGangGarageSuccess = "Vehicul adăugat în garajul bandei %{value}!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "Vehicul adăugat în garajul de serviciu %{value}!",
|
||||||
|
moveCloserToVehicleError = "Trebuie să te apropii de vehicul",
|
||||||
|
noVehiclesNearbyError = "Nu există vehicule în apropiere",
|
||||||
|
commandPermissionsError = "Nu ai permisiunea de a folosi această comandă",
|
||||||
|
actionNotAllowedError = "Nu ai permisiunea să faci asta",
|
||||||
|
garageNameExistsError = "Numele garajului există deja",
|
||||||
|
vehiclePlateExistsError = "Numărul de înmatriculare este deja utilizat",
|
||||||
|
playerNotOnlineError = "Jucătorul nu este online",
|
||||||
|
vehicleTransferSuccess = "Vehicul transferat la %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "Vehicul transferat cu succes",
|
||||||
|
vehicleReceived = "Ai primit un vehicul cu numărul %{value}",
|
||||||
|
vehicleImpoundSuccess = "Vehicul depozitat cu succes",
|
||||||
|
vehicleImpoundRemoveSuccess = "Vehicul eliminat din depozit",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "Vehiculul a fost returnat în garajul proprietarului",
|
||||||
|
garageCreatedSuccess = "Garaj creat cu succes!",
|
||||||
|
vehiclePlateUpdateSuccess = "Numărul de înmatriculare a fost schimbat în %{value}",
|
||||||
|
vehicleDeletedSuccess = "Vehicul șters din baza de date %{value}",
|
||||||
|
playerIsDead = "Nu poți face asta când ești mort",
|
||||||
|
vehicleStoreError = "Nu poți depozita acest vehicul aici",
|
||||||
|
|
||||||
|
-- Comenzi
|
||||||
|
cmdSetGangVehicle = "Adaugă vehiculul curent în garajul bandei",
|
||||||
|
cmdRemoveGangVehicle = "Setează vehiculul bandei înapoi ca deținut de jucător",
|
||||||
|
cmdSetJobVehicle = "Adaugă vehiculul curent în garajul de serviciu",
|
||||||
|
cmdRemoveJobVehicle = "Setează vehiculul de serviciu înapoi ca deținut de jucător",
|
||||||
|
cmdArgGangName = "Numele bandei",
|
||||||
|
cmdArgJobName = "Numele jobului",
|
||||||
|
cmgArgMinGangRank = "Rangul minim în bandă",
|
||||||
|
cmgArgMinJobRank = "Rangul minim la job",
|
||||||
|
cmdArgPlayerId = "ID-ul jucătorului noului proprietar",
|
||||||
|
cmdImpoundVehicle = "Depozitează un vehicul",
|
||||||
|
cmdChangePlate = "Schimbă numărul de înmatriculare (doar Admin)",
|
||||||
|
cmdDeleteVeh = "Șterge vehicul din baza de date (doar Admin)",
|
||||||
|
cmdCreatePrivGarage = "Creează un garaj privat pentru un jucător",
|
||||||
|
}
|
143
resources/[carscripts]/jg-advancedgarages/locales/sv.lua
Normal file
143
resources/[carscripts]/jg-advancedgarages/locales/sv.lua
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['sv'] = {
|
||||||
|
yes = "Ja",
|
||||||
|
no = "Nej",
|
||||||
|
garage = "garage",
|
||||||
|
jobGarage = "jobb Garage",
|
||||||
|
gangGarage = "gäng Garage",
|
||||||
|
player = "spelare",
|
||||||
|
impound = "bärgare",
|
||||||
|
inGarage = "i garaget",
|
||||||
|
notInGarage = "inte i garaget",
|
||||||
|
car = "bil",
|
||||||
|
air = "luft",
|
||||||
|
sea = "vatten",
|
||||||
|
fuel = "bränsle",
|
||||||
|
engine = "motor",
|
||||||
|
body = "chassie",
|
||||||
|
day = "dag",
|
||||||
|
days = "dagar",
|
||||||
|
hour = "timme",
|
||||||
|
hours = "timmar",
|
||||||
|
|
||||||
|
-- User Interface
|
||||||
|
noVehicles = "Det finns inga fordon i detta garaget",
|
||||||
|
vehicles = "bil(ar)",
|
||||||
|
vehiclePlate = "Registreringsskylt",
|
||||||
|
vehicleNotInGarage = "Fordonet är inte i garaget",
|
||||||
|
vehicleTakeOut = "Ta ut",
|
||||||
|
vehicleReturnAndTakeOut = "Flytta & Kör",
|
||||||
|
vehicleReturnToOwnersGarage = "Lämna tillbaka till ägarens garage",
|
||||||
|
transferToGarageOrPlayer = "Flytta till ett garage eller spelare",
|
||||||
|
transferToGarage = "Flytta till ett garage",
|
||||||
|
transferToPlayer = "Flytta till en spelare",
|
||||||
|
vehicleTransfer = "Flytta",
|
||||||
|
noAvailableGarages = "Inga tillgängliga garage",
|
||||||
|
currentGarage = "Nuvarande garage",
|
||||||
|
noPlayersOnline = "Inga spelare online",
|
||||||
|
createPrivateGarage = "Skapa privat garage",
|
||||||
|
pgAlertHeadsUp = "Akta!",
|
||||||
|
pgAlertText = "Garaget skapas och fordon kommer att spawnas på din position och åt det håll du står.",
|
||||||
|
garageName = "Garage Namn",
|
||||||
|
impoundInformation = "Bärgar Information",
|
||||||
|
impoundedBy = "Bärgad av",
|
||||||
|
impoundedReason = "Orsak",
|
||||||
|
impoundPlayerCanCollect = "Du kan hämta din bil från bärgaren.",
|
||||||
|
impoundCollectionContact = "Kontakta %{value} för att hämta ditt fordon.",
|
||||||
|
impoundNoVehicles = "Det finns inga fordon hos bärgaren.",
|
||||||
|
impoundAvailable = "Tillgänglig",
|
||||||
|
impoundRetrievableByOwner = "Kan hämtas av ägaren",
|
||||||
|
impoundNoReason = "Ingen anledning tillgänglig",
|
||||||
|
impoundVehicle = "Bärgat fordon",
|
||||||
|
impoundReasonField = "Orsak (valfritt)",
|
||||||
|
impoundTime = "Tid hos bärgaren",
|
||||||
|
impoundAvailableImmediately = "Tillgänglig direkt",
|
||||||
|
impoundCost = "Kostnad",
|
||||||
|
changeVehiclePlate = "Ändra registreringsnummer",
|
||||||
|
newPlate = "Nytt registreringsnummer",
|
||||||
|
search = "Sök med namn eller registreringsskylt",
|
||||||
|
noPrivateGarages = "Inga privata garage",
|
||||||
|
editPrivateGarage = "Ändra privat garage",
|
||||||
|
owners = "Ägare(n)",
|
||||||
|
location = "Plats",
|
||||||
|
next = "Nästa",
|
||||||
|
previous = "Tidigare",
|
||||||
|
page = "Sida",
|
||||||
|
of = "av",
|
||||||
|
show = "Visa",
|
||||||
|
save = "Spara",
|
||||||
|
edit = "Redigera",
|
||||||
|
delete = "Radera",
|
||||||
|
garageDeleteConfirm = "Är du säker på att du vill ta bort detta garage?",
|
||||||
|
privGarageSearch = "Sök efter namn",
|
||||||
|
garageUpdatedSuccess = "Garaget har uppdaterats framgångsrikt!",
|
||||||
|
getCurrentCoords = "Hämta aktuella koordinater",
|
||||||
|
identifier = "Identifierare",
|
||||||
|
name = "Namn",
|
||||||
|
noPlayers = "Inga spelare har tillkommit",
|
||||||
|
addPlayer = "Lägg till spelare",
|
||||||
|
loadingVehicle = "Lastning av fordon...",
|
||||||
|
vehicleSetup = "Inställning av fordon",
|
||||||
|
extras = "Extramaterial",
|
||||||
|
extra = "Extra",
|
||||||
|
liveries = "Liveries",
|
||||||
|
livery = "livery",
|
||||||
|
noLiveries = "Inga liveries tillgängliga",
|
||||||
|
noExtras = "Inga extrafunktioner tillgängliga",
|
||||||
|
none = "Ingen",
|
||||||
|
vehicleNeedsService = "Dags för service",
|
||||||
|
type = "Typ",
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
insertVehicleTypeError = "Du kan endast förvara %{value} fordonstyp i detta garage",
|
||||||
|
insertVehiclePublicError = "Du kan inte förvara Gäng eller Jobbfordon i allmänna garaget",
|
||||||
|
vehicleParkedSuccess = "Fordonet är parkerat i garaget",
|
||||||
|
vehicleNotOwnedError = "Du äger inte detta fordon",
|
||||||
|
vehicleNotOwnedByPlayerError = "Fordonet ägs inte av en spelare",
|
||||||
|
notEnoughMoneyError = "Du har inte nog med pengar på banken",
|
||||||
|
vehicleNotYoursError = "Fordonet tillhör inte dig",
|
||||||
|
notJobOrGangVehicle = "Detta är inte ett %{value} fordon",
|
||||||
|
invalidGangError = "Du har inte angett ett giltigt gäng",
|
||||||
|
invalidJobError = "Du har inte angett ett giltigt jobb",
|
||||||
|
notInsideVehicleError = "Du sitter inte i fordonet",
|
||||||
|
vehicleAddedToGangGarageSuccess = "Fordonet är inlagt i %{value} Gäng garage!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "Fordonet är inlagt %{value} jobb garage!",
|
||||||
|
moveCloserToVehicleError = "Du måste vara närmare fordonet",
|
||||||
|
noVehiclesNearbyError = "Det finns inga fordon i närheten",
|
||||||
|
commandPermissionsError = "Du får inte använda detta kommando",
|
||||||
|
actionNotAllowedError = "Du får inte göra detta",
|
||||||
|
garageNameExistsError = "Garagenamnet existerar redan",
|
||||||
|
vehiclePlateExistsError = "Registreringsnummer finns redan",
|
||||||
|
playerNotOnlineError = "Spelaren är inte online",
|
||||||
|
vehicleTransferSuccess = "Fordonet fördes över till %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "Fordonet har överförts",
|
||||||
|
vehicleReceived = "Du fick ett fordon med skylten %{value}",
|
||||||
|
vehicleImpoundSuccess = "Fordonet är bärgad",
|
||||||
|
vehicleImpoundRemoveSuccess = "Fordonet hämtad från bärgaren",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "Fordonet återlämnades till ägarens garage",
|
||||||
|
garageCreatedSuccess = "Garage har skapats!",
|
||||||
|
vehiclePlateUpdateSuccess = "Fordonsskylt är uppdaterad till %{value}",
|
||||||
|
vehicleDeletedSuccess = "Fordonet raderat från databasen %{value}",
|
||||||
|
playerIsDead = "Du kan inte göra detta då du är död",
|
||||||
|
|
||||||
|
-- Commands
|
||||||
|
cmdSetGangVehicle = "Lägg till nuvarande fordon till ett gänggarage",
|
||||||
|
cmdRemoveGangVehicle = "Sätt tillbaka gängfordonet till spelarägt",
|
||||||
|
cmdSetJobVehicle = "Lägg till aktuellt fordon till ett jobbgarage",
|
||||||
|
cmdRemoveJobVehicle = "Sätt tillbaka Jobbfordonet till spelarägt",
|
||||||
|
cmdArgGangName = "Gängnamn",
|
||||||
|
cmdArgJobName = "Jobbnamn",
|
||||||
|
cmgArgMinGangRank = "Minimum gäng rank",
|
||||||
|
cmgArgMinJobRank = "Minimum jobb rank",
|
||||||
|
cmdArgPlayerId = "SpelarID för nya ägare",
|
||||||
|
cmdImpoundVehicle = "Bärga ett fordon",
|
||||||
|
cmdChangePlate = "Ändra fordonsskylt (Admin endast)",
|
||||||
|
cmdDeleteVeh = "Ta bort fordon från databasen (Admin endast)",
|
||||||
|
cmdCreatePrivGarage = "Gör ett privatgarage till en spelare",
|
||||||
|
|
||||||
|
-- v3
|
||||||
|
vehicleStoreError = "Du kan inte ställa in detta fordonet här",
|
||||||
|
mins = "minuter",
|
||||||
|
noVehiclesAvailableToDrive = "Det finns inga fordon i detta garaget",
|
||||||
|
}
|
142
resources/[carscripts]/jg-advancedgarages/locales/vi.lua
Normal file
142
resources/[carscripts]/jg-advancedgarages/locales/vi.lua
Normal file
|
@ -0,0 +1,142 @@
|
||||||
|
Locales = Locales or {}
|
||||||
|
|
||||||
|
Locales['vi'] = {
|
||||||
|
yes = "Có",
|
||||||
|
no = "Không",
|
||||||
|
garage = "Bãi đậu xe",
|
||||||
|
jobGarage = "Bãi đậu xe công việc",
|
||||||
|
gangGarage = "Gang Garage",
|
||||||
|
player = "Người chơi",
|
||||||
|
impound = "Bị giam",
|
||||||
|
inGarage = "Trong gara",
|
||||||
|
notInGarage = "Bên ngoài",
|
||||||
|
car = "Xe",
|
||||||
|
air = "Máy bay",
|
||||||
|
sea = "Thuyền",
|
||||||
|
fuel = "Xăng",
|
||||||
|
engine = "Động cơ",
|
||||||
|
body = "Thân vỏ",
|
||||||
|
day = "ngày",
|
||||||
|
days = "ngày",
|
||||||
|
hour = "giờ",
|
||||||
|
hours = "giờ",
|
||||||
|
|
||||||
|
-- User Interface
|
||||||
|
noVehicles = "Không có xe nào trong gara này",
|
||||||
|
vehicles = "Xe",
|
||||||
|
vehiclePlate = "Biển số xe",
|
||||||
|
vehicleNotInGarage = "Xe không ở trong gara",
|
||||||
|
vehicleTakeOut = "Lấy xe",
|
||||||
|
vehicleReturnAndTakeOut = "Thanh toán và lấy xe",
|
||||||
|
vehicleReturnToOwnersGarage = "Gửi về garage",
|
||||||
|
transferToGarageOrPlayer = "Transfer to a Garage or Player",
|
||||||
|
transferToGarage = "Transfer to a Garage",
|
||||||
|
transferToPlayer = "",
|
||||||
|
vehicleTransfer = "Chuyển nhượng",
|
||||||
|
noAvailableGarages = "Không có gara",
|
||||||
|
currentGarage = "Gara hiện tại",
|
||||||
|
noPlayersOnline = "Không có người chơi online",
|
||||||
|
createPrivateGarage = "Tạo gara cá nhân",
|
||||||
|
pgAlertHeadsUp = "Đứng lên!",
|
||||||
|
pgAlertText = "Gara sẽ được tạo ra và xe được lấy ra sẽ xuất hiện ngay vị trí mà bạn đang đứng.",
|
||||||
|
garageName = "Tên Gara",
|
||||||
|
impoundInformation = "Thông tin giam xe",
|
||||||
|
impoundedBy = "Giam bởi",
|
||||||
|
impoundedReason = "Lý do",
|
||||||
|
impoundPlayerCanCollect = "Bạn có thể lấy xe của mình từ bãi giam xe.",
|
||||||
|
impoundCollectionContact = "Vui lòng liên hệ %{value} hoặc Police để chuộc lại xe của bạn.",
|
||||||
|
impoundNoVehicles = "Bạn không có Xe nào bị giam giữ",
|
||||||
|
impoundAvailable = "Được phép lấy vào lúc ",
|
||||||
|
impoundAvailableGreen = "Có thể lấy",
|
||||||
|
impoundRetrievableByOwner = "Chủ xe có thể tự lấy xe ra",
|
||||||
|
impoundNoReason = "Lý do trống",
|
||||||
|
impoundVehicle = "Tạm giữ xe",
|
||||||
|
impoundReasonField = "Lý do",
|
||||||
|
impoundTime = "Thời gian giam",
|
||||||
|
impoundAvailableImmediately = "Không có",
|
||||||
|
impoundCost = "Giá",
|
||||||
|
changeVehiclePlate = "Đổi biển số xe",
|
||||||
|
newPlate = "Biển số mới",
|
||||||
|
search = "Tìm kiếm theo tên hoặc biển số xe",
|
||||||
|
noPrivateGarages = "Không có nhà để xe riêng",
|
||||||
|
editPrivateGarage = "Chỉnh sửa nhà để xe riêng",
|
||||||
|
owners = "Những chủ sở hữu)",
|
||||||
|
location = "Vị trí",
|
||||||
|
next = "Kế tiếp",
|
||||||
|
previous = "Trước",
|
||||||
|
page = "Trang",
|
||||||
|
of = "của",
|
||||||
|
show = "Trình diễn",
|
||||||
|
save = "Cứu",
|
||||||
|
edit = "Biên tập",
|
||||||
|
delete = "Xóa bỏ",
|
||||||
|
garageDeleteConfirm = "Bạn có chắc chắn muốn xóa gara này không?",
|
||||||
|
privGarageSearch = "Tìm kiếm theo tên",
|
||||||
|
garageUpdatedSuccess = "Nhà để xe được cập nhật thành công!",
|
||||||
|
getCurrentCoords = "Nhận tọa độ hiện tại",
|
||||||
|
identifier = "định danh",
|
||||||
|
name = "Tên",
|
||||||
|
noPlayers = "Không có người chơi nào được thêm vào",
|
||||||
|
addPlayer = "thêm người chơi",
|
||||||
|
loadingVehicle = "Tải xe...",
|
||||||
|
vehicleSetup = "Thiết lập xe",
|
||||||
|
extras = "Tiện ích bổ sung",
|
||||||
|
extra = "Thêm",
|
||||||
|
liveries = "gan",
|
||||||
|
livery = "gan",
|
||||||
|
noLiveries = "không có gan",
|
||||||
|
noExtras = "Không có tính năng bổ sung",
|
||||||
|
none = "Không có",
|
||||||
|
vehicleNeedsService = "Needs Service",
|
||||||
|
type = "Type",
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
insertVehicleTypeError = "Bạn chỉ có thể để %{value} vào trong gara này!",
|
||||||
|
insertVehiclePublicError = "Bạn không thể cất xe tổ chức vào trong gara công cộng!",
|
||||||
|
vehicleParkedSuccess = "Cất xe vào gara thành công",
|
||||||
|
vehicleNotOwnedError = "Bạn không phải là chủ sở hữu của chiếc xe này!",
|
||||||
|
vehicleNotOwnedByPlayerError = "Xe này không thuộc sở hữu của người chơi nào!",
|
||||||
|
notEnoughMoneyError = "Bạn không đủ tiền trong ngân hàng!",
|
||||||
|
vehicleNotYoursError = "Xe này không thuộc về bạn!",
|
||||||
|
notJobOrGangVehicle = "Đây không phải là xe của %{value}",
|
||||||
|
invalidGangError = "Tên gang không hợp lệ!",
|
||||||
|
invalidJobError = "Tên job không hợp lệ!",
|
||||||
|
notInsideVehicleError = "Bạn không ngồi trên xe",
|
||||||
|
vehicleAddedToGangGarageSuccess = "Xe này đã được thêm vào %{value}!",
|
||||||
|
vehicleAddedToJobGarageSuccess = "Xe này đã được thêm vào %{value}!",
|
||||||
|
moveCloserToVehicleError = "Bạn cần di chuyển đến gần xe hơn!",
|
||||||
|
noVehiclesNearbyError = "Không có chiếc xe nào gần bạn!",
|
||||||
|
commandPermissionsError = "Bạn không thể sử dụng lệnh này!",
|
||||||
|
actionNotAllowedError = "Bạn không được phép làm điều này!",
|
||||||
|
garageNameExistsError = "Tên gara này đã tồn tại!",
|
||||||
|
vehiclePlateExistsError = "Biển số xe này đã tồn tại",
|
||||||
|
playerNotOnlineError = "Người chơi này không online",
|
||||||
|
vehicleTransferSuccess = "Xe được chuyển đến %{value}",
|
||||||
|
vehicleTransferSuccessGeneral = "Xe của bạn đã được chuyển thành công!",
|
||||||
|
vehicleReceived = "Bạn đã nhận được một chiếc xe với biển số %{value}",
|
||||||
|
vehicleImpoundSuccess = "Tạm giữ xe thành công!",
|
||||||
|
vehicleImpoundRemoveSuccess = "Xe đã được chuộc thành công",
|
||||||
|
vehicleImpoundReturnedToOwnerSuccess = "Xe này đã được chuyển về gara chủ sở hữu",
|
||||||
|
garageCreatedSuccess = "Tạo gara thành công!",
|
||||||
|
vehiclePlateUpdateSuccess = "Biển số xe được đổi thành: %{value}",
|
||||||
|
vehicleDeletedSuccess = "Xe này đã được xoá khỏi database %{value}",
|
||||||
|
playerIsDead = "Bạn không thể làm điều này trong khi bạn đã chết",
|
||||||
|
|
||||||
|
-- Commands
|
||||||
|
cmdSetGangVehicle = "Thêm Xe hiện tại vào một Gang",
|
||||||
|
cmdRemoveGangVehicle = "Đặt xe gang thành xe cá nhân",
|
||||||
|
cmdSetJobVehicle = "Thêm xe hiện tại vào một nghề nào đó",
|
||||||
|
cmdRemoveJobVehicle = "Đặt xe nghề thành xe cá nhân",
|
||||||
|
cmdArgGangName = "Tên Gang",
|
||||||
|
cmdArgJobName = "Tên Job",
|
||||||
|
cmdArgPlayerId = "ID của chủ sỡ hữu mới",
|
||||||
|
cmdImpoundVehicle = "Giam giữ xe",
|
||||||
|
cmdChangePlate = "Đổi biển số xe (Admin only)",
|
||||||
|
cmdDeleteVeh = "Xoá xe khỏi dữ liệu máy chủ (Admin only)",
|
||||||
|
cmdCreatePrivGarage = "Tạo gara cá nhân",
|
||||||
|
|
||||||
|
-- v3
|
||||||
|
vehicleStoreError = "You cannot store this vehicle here",
|
||||||
|
mins = "mins",
|
||||||
|
noVehiclesAvailableToDrive = "There are no vehicles available to drive",
|
||||||
|
}
|
BIN
resources/[carscripts]/jg-advancedgarages/server/sv-garage.lua
Normal file
BIN
resources/[carscripts]/jg-advancedgarages/server/sv-garage.lua
Normal file
Binary file not shown.
BIN
resources/[carscripts]/jg-advancedgarages/server/sv-impound.lua
Normal file
BIN
resources/[carscripts]/jg-advancedgarages/server/sv-impound.lua
Normal file
Binary file not shown.
BIN
resources/[carscripts]/jg-advancedgarages/server/sv-initsql.lua
Normal file
BIN
resources/[carscripts]/jg-advancedgarages/server/sv-initsql.lua
Normal file
Binary file not shown.
BIN
resources/[carscripts]/jg-advancedgarages/server/sv-interior.lua
Normal file
BIN
resources/[carscripts]/jg-advancedgarages/server/sv-interior.lua
Normal file
Binary file not shown.
Binary file not shown.
BIN
resources/[carscripts]/jg-advancedgarages/server/sv-main.lua
Normal file
BIN
resources/[carscripts]/jg-advancedgarages/server/sv-main.lua
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
resources/[carscripts]/jg-advancedgarages/server/sv-spawn.lua
Normal file
BIN
resources/[carscripts]/jg-advancedgarages/server/sv-spawn.lua
Normal file
Binary file not shown.
BIN
resources/[carscripts]/jg-advancedgarages/server/sv-vehicle.lua
Normal file
BIN
resources/[carscripts]/jg-advancedgarages/server/sv-vehicle.lua
Normal file
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,70 @@
|
||||||
|
--
|
||||||
|
-- Discord Webhooks
|
||||||
|
--
|
||||||
|
Webhooks = {}
|
||||||
|
Webhooks.VehicleTakeOutAndInsert = ""
|
||||||
|
Webhooks.VehiclePlayerTransfer = ""
|
||||||
|
Webhooks.VehicleGarageTransfer = ""
|
||||||
|
Webhooks.Impound = ""
|
||||||
|
Webhooks.PrivateGarages = ""
|
||||||
|
|
||||||
|
--[[
|
||||||
|
EXAMPLE WEBHOOK CALL
|
||||||
|
|
||||||
|
sendWebhook(src, Webhooks.VehicleTakeOutAndInsert, "Webhook Title", "success", {
|
||||||
|
{ key = "Data fields", value = "Data value" },
|
||||||
|
{ key = "Data fields 2", value = "Data value 2" }
|
||||||
|
})
|
||||||
|
]]--
|
||||||
|
|
||||||
|
function sendWebhook(playerId, webhookUrl, title, type, data)
|
||||||
|
if not webhookUrl then return end
|
||||||
|
|
||||||
|
local identifier = Framework.Server.GetPlayerIdentifier(playerId)
|
||||||
|
if not identifier then return false end
|
||||||
|
|
||||||
|
local color = 0xff6700
|
||||||
|
if type == "success" then color = 0x2ecc71 end
|
||||||
|
if type == "danger" then color = 0xe74c3c end
|
||||||
|
|
||||||
|
local player = Framework.Server.GetPlayerInfo(playerId)
|
||||||
|
if not player then return false end
|
||||||
|
|
||||||
|
local fields = {
|
||||||
|
{
|
||||||
|
name = "Player",
|
||||||
|
value = string.format("%s (%s)", player.name, identifier),
|
||||||
|
inline = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for _, row in pairs(data) do
|
||||||
|
fields[#fields + 1] = {
|
||||||
|
name = row.key,
|
||||||
|
value = tostring(row.value),
|
||||||
|
inline = true
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
local body = {
|
||||||
|
username = "JG Advanced Garages Webhook",
|
||||||
|
avatar_url = "https://forum.cfx.re/user_avatar/forum.cfx.re/jgscripts/288/3621910_2.png",
|
||||||
|
content = "",
|
||||||
|
embeds = {
|
||||||
|
{
|
||||||
|
type = "rich",
|
||||||
|
title = title,
|
||||||
|
description = "",
|
||||||
|
color = color,
|
||||||
|
fields = fields
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PerformHttpRequest(
|
||||||
|
webhookUrl,
|
||||||
|
function(err, text, header) end,
|
||||||
|
"POST",
|
||||||
|
json.encode(body),
|
||||||
|
{["Content-Type"] = "application/json"}
|
||||||
|
)
|
||||||
|
end
|
BIN
resources/[carscripts]/jg-advancedgarages/shared/main.lua
Normal file
BIN
resources/[carscripts]/jg-advancedgarages/shared/main.lua
Normal file
Binary file not shown.
|
@ -0,0 +1,6 @@
|
||||||
|
This is where you can add custom vehicle thumbnails. But first:
|
||||||
|
|
||||||
|
1. You must have this feature enabled in config.lua `Config.ShowVehicleImages = true`
|
||||||
|
2. All images must be a png and a small file size. Ideally a 16:9 aspect ratio too
|
||||||
|
|
||||||
|
Learn more: https://docs.jgscripts.com/advanced-garages/vehicle-images
|
55
resources/[carscripts]/jg-advancedgarages/web/dist/assets/index-CZ7rsOCg.js
vendored
Normal file
55
resources/[carscripts]/jg-advancedgarages/web/dist/assets/index-CZ7rsOCg.js
vendored
Normal file
File diff suppressed because one or more lines are too long
5
resources/[carscripts]/jg-advancedgarages/web/dist/assets/index-DURuzDZl.css
vendored
Normal file
5
resources/[carscripts]/jg-advancedgarages/web/dist/assets/index-DURuzDZl.css
vendored
Normal file
File diff suppressed because one or more lines are too long
14
resources/[carscripts]/jg-advancedgarages/web/dist/index.html
vendored
Normal file
14
resources/[carscripts]/jg-advancedgarages/web/dist/index.html
vendored
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" data-bs-theme="dark">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="icon" type="image/svg+xml" href="/web/dist/vite.svg" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>jg-advancedgarages-web</title>
|
||||||
|
<script type="module" crossorigin src="/web/dist/assets/index-CZ7rsOCg.js"></script>
|
||||||
|
<link rel="stylesheet" crossorigin href="/web/dist/assets/index-DURuzDZl.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="root"></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
1
resources/[carscripts]/jg-advancedgarages/web/dist/vite.svg
vendored
Normal file
1
resources/[carscripts]/jg-advancedgarages/web/dist/vite.svg
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
After Width: | Height: | Size: 1.5 KiB |
Loading…
Add table
Add a link
Reference in a new issue