fix: undefined variables, args, indexes, etc.

This commit is contained in:
Linden
2022-02-14 14:17:54 +11:00
parent b72e1e0b04
commit 31b7252101
33 changed files with 50 additions and 58 deletions
+1 -1
View File
@@ -715,7 +715,7 @@ ESX.Game.SetVehicleProperties = function(vehicle, props)
end
end
ESX.Game.Utils.EndTextCommandDisplayText3D = function(coords, text, size, font)
ESX.Game.Utils.DrawText3D = function(coords, text, size, font)
local vector = type(coords) == "vector3" and coords or vec(coords.x, coords.y, coords.z)
local camCoords = GetFinalRenderedCamCoord()
+1 -1
View File
@@ -480,7 +480,7 @@ CreateThread(function()
label = ('%s~n~%s'):format(label, _U('threw_pickup_prompt'))
end
ESX.Game.Utils.EndTextCommandDisplayText3D({
ESX.Game.Utils.DrawText3D({
x = pickup.coords.x,
y = pickup.coords.y,
z = pickup.coords.z + 0.25
+1 -1
View File
@@ -162,7 +162,7 @@ Locales['es'] = {
-- SMG & LMG
['weapon_assaultsmg'] = 'Subfusil de Asalto',
['weapon_combatmg'] = 'Ametralladora de Combate',
['weapon_combatmg'] = 'Ametralladora MK2',
['weapon_combatmg_mk2'] = 'Ametralladora MK2',
['weapon_combatpdw'] = 'Subfusil PDW',
['weapon_gusenberg'] = 'Subfusil de Barril',
['weapon_machinepistol'] = 'Pistola Ametralladora',
+1 -1
View File
@@ -29,7 +29,7 @@ local function StartDBSync()
end
MySQL.ready(function()
MySQL.query('SELECT * FROM items', {}, function(result)
MySQL.query('SELECT * FROM items', function(result)
for k,v in ipairs(result) do
ESX.Items[v.name] = {
label = v.label,
+1 -1
View File
@@ -223,7 +223,7 @@ elseif not Config.UseDeferrals then
end)
function checkIdentity(xPlayer)
MySQL.single('SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?', {identifier},
MySQL.single('SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?', { xPlayer.identifier },
function(result)
if result then
if result.firstname then
-1
View File
@@ -15,7 +15,6 @@ local closeMenu = function(namespace, name)
action = 'closeMenu',
namespace = namespace,
name = name,
data = data
})
end
-1
View File
@@ -28,7 +28,6 @@ local closeMenu = function(namespace, name)
action = 'closeMenu',
namespace = namespace,
name = name,
data = data
})
if ESX.Table.SizeOf(OpenedMenus) == 0 then
-1
View File
@@ -28,7 +28,6 @@ CreateThread(function()
action = 'closeMenu',
namespace = namespace,
name = name,
data = data
})
for k,v in pairs(OpenedMenus) do
+1 -1
View File
@@ -356,7 +356,7 @@ function ApplySkin(skin, clothes)
SetPedHeadOverlay (playerPed, 3, Character['age_1'], (Character['age_2'] / 10) + 0.0) -- Age + opacity
SetPedHeadOverlay (playerPed, 0, Character['blemishes_1'], (Character['blemishes_2'] / 10) + 0.0) -- Blemishes + opacity
SetPedHeadOverlay (playerPed, 1, Character['beard_1'], (Character['beard_2'] / 10) + 0.0) -- Beard + opacity
SetPedEyeColor (playerPed, Character['eye_color'], 0, 1) -- Eyes color
SetPedEyeColor (playerPed, Character['eye_color']) -- Eyes color
SetPedHeadOverlay (playerPed, 2, Character['eyebrows_1'], (Character['eyebrows_2'] / 10) + 0.0) -- Eyebrows + opacity
SetPedHeadOverlay (playerPed, 4, Character['makeup_1'], (Character['makeup_2'] / 10) + 0.0) -- Makeup + opacity
SetPedHeadOverlay (playerPed, 8, Character['lipstick_1'], (Character['lipstick_2'] / 10) + 0.0) -- Lipstick + opacity
@@ -331,7 +331,7 @@ function RemoveItemsAfterRPDeath()
end
function RespawnPed(ped, coords, heading)
SetEntityCoordsNoOffset(ped, coords.x, coords.y, coords.z, false, false, false, true)
SetEntityCoordsNoOffset(ped, coords.x, coords.y, coords.z, false, false, false)
NetworkResurrectLocalPlayer(coords.x, coords.y, coords.z, heading, true, false)
SetPlayerInvincible(ped, false)
ClearPedBloodDamage(ped)
+1 -2
View File
@@ -51,8 +51,7 @@ function StopTheoryTest(success)
end
function StartDriveTest(type)
local pos = vector3(VehicleSpawnPoint.Pos.x, VehicleSpawnPoint.Pos.y,VehicleSpawnPoint.Pos.z)
ESX.Game.SpawnVehicle(Config.VehicleModels[type], pos, Config.Zones.VehicleSpawnPoint.Pos.h, function(vehicle)
ESX.Game.SpawnVehicle(Config.VehicleModels[type], vector3(Config.Zones.VehicleSpawnPoint.Pos.x, Config.Zones.VehicleSpawnPoint.Pos.y, Config.Zones.VehicleSpawnPoint.Pos.z), Config.Zones.VehicleSpawnPoint.Pos.h, function(vehicle)
CurrentTest = 'drive'
CurrentTestType = type
CurrentCheckPoint = 0
+1 -1
View File
@@ -59,7 +59,7 @@ Config.Jobs.lumberjack = {
Color = {r = 204, g = 204, b = 0},
Marker = 1,
Blip = false,
Name = _U('lj_cutwood'),
Name = _U('lj_woodcutting'),
Type = 'work',
Item = {
{
+1 -1
View File
@@ -31,7 +31,7 @@ Locales['br'] = {
['lj_mapblip'] = 'pilha de madeira',
['lj_wood'] = 'madeira',
['lj_pickup'] = 'pressione ~INPUT_PICKUP~ para recuperar madeira.',
['lj_cutwood'] = 'corte de Madeira',
['lj_woodcutting'] = 'corte de Madeira',
['lj_cutwood_button'] = 'pressione ~INPUT_PICKUP~ para cortar madeira.',
['lj_board'] = 'tábua',
['lj_planks'] = 'tábua embalada',
+1 -1
View File
@@ -31,7 +31,7 @@ Locales['cs'] = {
['lj_mapblip'] = 'vyroba dreva',
['lj_wood'] = 'drevo',
['lj_pickup'] = 'stiskni ~INPUT_PICKUP~ pro ziskani dreva.',
['lj_cutwood'] = 'rezani dreva',
['lj_woodcutting'] = 'rezani dreva',
['lj_cutwood_button'] = 'stiskni ~INPUT_PICKUP~ pro rezani dreva.',
['lj_board'] = 'prkna',
['lj_planks'] = 'baleni prken',
+1 -1
View File
@@ -31,7 +31,7 @@ Locales['de'] = {
['lj_mapblip'] = 'Holzstapel',
['lj_wood'] = 'Holz',
['lj_pickup'] = 'Drücke ~INPUT_PICKUP~ um Holz zu sammeln.',
['lj_cutwood'] = 'Holzverarbeitung',
['lj_woodcutting'] = 'Holzverarbeitung',
['lj_cutwood_button'] = 'Drücke ~INPUT_PICKUP~ um das Holz zu schneiden.',
['lj_board'] = 'Bretter',
['lj_planks'] = 'Holz verarbeiten',
+1 -1
View File
@@ -31,7 +31,7 @@ Locales['en'] = {
['lj_mapblip'] = 'wood pile',
['lj_wood'] = 'wood',
['lj_pickup'] = 'press ~INPUT_PICKUP~ to retrieve wood.',
['lj_cutwood'] = 'wood cutting',
['lj_woodcutting'] = 'wood cutting',
['lj_cutwood_button'] = 'press ~INPUT_PICKUP~ to cut wood.',
['lj_board'] = 'boards',
['lj_planks'] = 'package board',
+1 -1
View File
@@ -31,7 +31,7 @@ Locales['es'] = {
['lj_mapblip'] = 'pila de madera',
['lj_wood'] = 'madera',
['lj_pickup'] = 'presiona ~INPUT_PICKUP~ para agarrar madera.',
['lj_cutwood'] = 'cortar madera',
['lj_woodcutting'] = 'cortar madera',
['lj_cutwood_button'] = 'presiona ~INPUT_PICKUP~ para cortar madera.',
['lj_board'] = 'tablas',
['lj_planks'] = 'empaquetar',
+1 -1
View File
@@ -31,7 +31,7 @@ Locales['fi'] = {
['lj_mapblip'] = 'puukasa',
['lj_wood'] = 'puu',
['lj_pickup'] = 'paina ~INPUT_PICKUP~ kerätäksesi puita',
['lj_cutwood'] = 'puun hakkuu',
['lj_woodcutting'] = 'puun hakkuu',
['lj_cutwood_button'] = 'paina ~INPUT_PICKUP~ pilkkoaksesi puita.',
['lj_board'] = 'lankkuja',
['lj_planks'] = 'paketoituja lankkuja',
+1 -1
View File
@@ -31,7 +31,7 @@ Locales['fr'] = {
['lj_mapblip'] = 'tas de bois',
['lj_wood'] = 'bois',
['lj_pickup'] = 'appuyez sur ~INPUT_PICKUP~ pour récupérer du bois.',
['lj_cutwood'] = 'découpe du bois',
['lj_woodcutting'] = 'découpe du bois',
['lj_cutwood_button'] = 'appuyez sur ~INPUT_PICKUP~ pour couper du bois.',
['lj_board'] = 'planches',
['lj_planks'] = 'paquet de planche',
+1 -1
View File
@@ -31,7 +31,7 @@ Locales['sv'] = {
['lj_mapblip'] = 'trähög',
['lj_wood'] = 'träd',
['lj_pickup'] = 'tryck ~INPUT_PICKUP~ för att hämta trä.',
['lj_cutwood'] = 'trädfällning',
['lj_woodcutting'] = 'trädfällning',
['lj_cutwood_button'] = 'tryck ~INPUT_PICKUP~ för att hugga trä.',
['lj_board'] = 'brädor',
['lj_planks'] = 'brädpaket',
+4 -3
View File
@@ -935,11 +935,12 @@ CreateThread(function()
TriggerServerEvent('esx_society:putVehicleInGarage', 'mechanic', vehicleProps)
else
local entityModel = GetEntityModel(CurrentActionData.vehicle)
if
GetEntityModel(vehicle) == GetHashKey("flatbed") or
GetEntityModel(vehicle) == GetHashKey("towtruck2") or
GetEntityModel(vehicle) == GetHashKey("slamvan3")
entityModel == GetHashKey("flatbed") or
entityModel == GetHashKey("towtruck2") or
entityModel == GetHashKey("slamvan3")
then
TriggerServerEvent('esx_service:disableService', 'mechanic')
end
+1 -1
View File
@@ -42,7 +42,7 @@ AddEventHandler('esx_phone:loaded', function(phoneNumber, contacts)
PhoneData.contacts = {}
for i=1, #contacts, 1 do
contacts[i].online = (PhoneNumberSources[contacts[i].number] == nil and false or NetworkIsPlayerActive(GetPlayerFromServerId(PhoneNumberSources[contacts[i].number]))),
contacts[i].online = (PhoneNumberSources[contacts[i].number] == nil and false or NetworkIsPlayerActive(GetPlayerFromServerId(PhoneNumberSources[contacts[i].number])))
table.insert(PhoneData.contacts, contacts[i])
end
@@ -143,7 +143,7 @@ function StoreNearbyVehicle(playerCoords)
ESX.Game.DeleteVehicle(vehicleId)
local isBusy = true
Citizen.CreateThread(function()
CreateThread(function()
BeginTextCommandBusyspinnerOn('STRING')
AddTextComponentSubstringPlayerName(_U('garage_storing'))
EndTextCommandBusyspinnerOn(4)
+4 -1
View File
@@ -422,6 +422,7 @@ AddEventHandler('playerDropped', function()
local playerId = source
if playerId then
local xPlayer = ESX.GetPlayerFromId(playerId)
if xPlayer and xPlayer.job.name == 'police' then
Wait(5000)
TriggerClientEvent('esx_policejob:updateBlip', -1)
@@ -431,7 +432,9 @@ end)
RegisterNetEvent('esx_policejob:spawned')
AddEventHandler('esx_policejob:spawned', function()
local playerId = source
local xPlayer = ESX.GetPlayerFromId(playerId)
if xPlayer and xPlayer.job.name == 'police' then
Wait(5000)
TriggerClientEvent('esx_policejob:updateBlip', -1)
@@ -441,7 +444,7 @@ end)
RegisterNetEvent('esx_policejob:forceBlip')
AddEventHandler('esx_policejob:forceBlip', function()
for _, xPlayer in pairs(ESX.GetExtendedPlayers('job', 'police')) do
TriggerClientEvent('esx_policejob:updateBlip', -1)
TriggerClientEvent('esx_policejob:updateBlip', xPlayer.source)
end
end)
+2 -2
View File
@@ -272,7 +272,7 @@ end
function OpenGatewayMenu(property)
if Config.EnablePlayerManagement then
OpenGatewayOwnedPropertiesMenu(gatewayProperties)
OpenGatewayOwnedPropertiesMenu(property)
else
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'gateway', {
title = property.name,
@@ -790,7 +790,7 @@ CreateThread(function()
if distance < Config.DrawDistance then
DrawMarker(Config.MarkerType, property.entering.x, property.entering.y, property.entering.z, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Config.MarkerSize.x, Config.MarkerSize.y, Config.MarkerSize.z, Config.MarkerColor.r, Config.MarkerColor.g, Config.MarkerColor.b, 100, false, true, 2, false, nil, nil, false)
if Config.MarkerText == true then
ESX.Game.Utils.EndTextCommandDisplayText3D(property.entering, property.name, 2)
ESX.Game.Utils.DrawText3D(property.entering, property.name, 2)
end
letSleep = false
end
+2 -2
View File
@@ -136,7 +136,7 @@ ESX.RegisterServerCallback('esx_property:getProperties', function(source, cb)
end)
AddEventHandler('esx_ownedproperty:getOwnedProperties', function(cb)
MySQL.query('SELECT * FROM owned_properties', {}, function(result)
MySQL.query('SELECT * FROM owned_properties', function(result)
local properties = {}
for i=1, #result, 1 do
@@ -410,7 +410,7 @@ function payRent(d, h, m)
local tasks, timeStart = {}, os.clock()
print('[esx_property] [^2INFO^7] Paying rent cron job started')
MySQL.query('SELECT * FROM owned_properties WHERE rented = 1', {}, function(result)
MySQL.query('SELECT * FROM owned_properties WHERE rented = 1', function(result)
for k,v in ipairs(result) do
table.insert(tasks, function(cb)
local xPlayer = ESX.GetPlayerFromIdentifier(v.owner)
+1 -1
View File
@@ -24,7 +24,7 @@ if Config.Debug then
local text = ('ID: %s~n~Hash: %s~n~Model: %s'):format(id, hash, model)
ESX.Game.Utils.EndTextCommandDisplayText3D({
ESX.Game.Utils.DrawText3D({
x = coords.x,
y = coords.y,
z = coords.z + 2.0
+2 -6
View File
@@ -11,7 +11,7 @@ Config.Sitable = {
prop_bench_04 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
prop_bench_05 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
prop_bench_06 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
prop_bench_05 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.45, forwardOffset = 0.0, leftOffset = 0.0},
prop_bench_07 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.45, forwardOffset = 0.0, leftOffset = 0.0},
prop_bench_08 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
prop_bench_09 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.31, forwardOffset = 0.0, leftOffset = 0.0},
prop_bench_10 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
@@ -32,7 +32,7 @@ Config.Sitable = {
prop_chair_04b = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
prop_chair_05 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
prop_chair_06 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
prop_chair_05 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
prop_chair_057 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
prop_chair_08 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
prop_chair_09 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
prop_chair_10 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
@@ -85,12 +85,8 @@ Config.Sitable = {
v_ilev_fh_dineeamesa = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
v_ilev_fh_kitchenstool = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
v_ilev_tort_stool = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
v_ilev_fh_kitchenstool = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
v_ilev_fh_kitchenstool = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
v_ilev_fh_kitchenstool = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
v_ilev_fh_kitchenstool = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
-- SEAT
hei_prop_yah_seat_01 = { scenario = 'PROP_HUMAN_SEAT_BENCH', verticalOffset = -0.5, forwardOffset = 0.0, leftOffset = 0.0},
+2 -2
View File
@@ -649,7 +649,7 @@ CreateThread(function()
BeginTextCommandSetBlipName('STRING')
AddTextComponentSubstringPlayerName('Destination')
EndTextCommandSetBlipName(blip)
EndTextCommandSetBlipName(DestinationBlip)
SetBlipRoute(DestinationBlip, true)
CustomerEnteredVehicle = true
@@ -699,7 +699,7 @@ CreateThread(function()
end)
CreateThread(function()
while onJob do
while OnJob do
Wait(10000)
if ESX.PlayerData.job ~= nil and ESX.PlayerData.job.grade < 3 then
if not IsInAuthorizedVehicle() then
+2 -4
View File
@@ -9,8 +9,6 @@ function getVehicleFromModel(model)
return vehicle
end
end
return
end
function getVehicles()
@@ -440,7 +438,7 @@ function OpenPopVehicleMenu()
local elements = {}
for k,v in ipairs(vehicles) do
local vehicleLabel = getVehicleLabelFromModel(v.vehicle)
local vehicleLabel = getVehicleFromModel(v.vehicle).label
table.insert(elements, {
label = ('%s [MSRP <span style="color:green;">%s</span>]'):format(vehicleLabel, _U('generic_shopitem', ESX.Math.GroupDigits(v.price))),
@@ -477,7 +475,7 @@ function OpenRentedVehiclesMenu()
local elements = {}
for k,v in ipairs(vehicles) do
local vehicleLabel = getVehicleLabelFromModel(v.name)
local vehicleLabel = getVehicleFromModel(v.name).label
table.insert(elements, {
label = ('%s: %s - <span style="color:orange;">%s</span>'):format(v.playerName, vehicleLabel, v.plate),
+1 -1
View File
@@ -242,7 +242,7 @@ ESX.RegisterServerCallback('esx_vehicleshop:getRentedVehicles', function(source,
local vehicles = {}
for i = 1, #result do
local vehicle = tab[i]
local vehicle = result[i]
vehicles[#vehicles + 1] = {
name = vehicle.vehicle,
plate = vehicle.plate,
+1 -1
View File
@@ -2,7 +2,7 @@ local shopItems = {}
MySQL.ready(function()
MySQL.query('SELECT * FROM weashops', {}, function(result)
MySQL.query('SELECT * FROM weashops', function(result)
for i=1, #result, 1 do
if shopItems[result[i].zone] == nil then
shopItems[result[i].zone] = {}
+10 -12
View File
@@ -3,7 +3,7 @@ WhiteList = {}
function loadWhiteList(cb)
Whitelist = {}
MySQL.query('SELECT identifier FROM whitelist', {}, function(result)
MySQL.query('SELECT identifier FROM whitelist', function(result)
for k,v in ipairs(result) do
WhiteList[v.identifier] = true
end
@@ -19,16 +19,18 @@ MySQL.ready(function()
end)
AddEventHandler('playerConnecting', function(name, setCallback, deferrals)
local xPlayers = ESX.GetPlayers()
if #GetActivePlayers() < Config.MinPlayer then
CancelEvent()
end
-- Mark this connection as deferred, this is to prevent problems while checking player identifiers.
deferrals.defer()
local playerId, kickReason = source
-- Letting the user know what's going on.
deferrals.update(_U('whitelist_check'))
-- Needed, not sure why.
Wait(100)
@@ -42,13 +44,9 @@ AddEventHandler('playerConnecting', function(name, setCallback, deferrals)
kickReason = _U('not_whitelisted')
end
if whitelisted or #xPlayers < Config.MinPlayer then
deferrals.done()
if kickReason then
deferrals.done(kickReason)
else
if kickReason then
deferrals.done(kickReason)
else
deferrals.done()
end
end
deferrals.done()
end
end)