Update 1.4.2: Bug Fixes

Updated `Car` Command. Fixed some vulnerabilities. Fix SQL. Updated Commands.
This commit is contained in:
Mycroft
2022-02-06 19:36:38 +00:00
parent 7e1084a5de
commit 245080346b
18 changed files with 48 additions and 53 deletions
+1
View File
@@ -48,6 +48,7 @@ INSERT INTO `job_grades` VALUES (1,'unemployed',0,'unemployed','Unemployed',200,
CREATE TABLE `jobs` (
`name` VARCHAR(50) NOT NULL,
`label` VARCHAR(50) DEFAULT NULL,
`whitelisted` tinyint(1) NOT NULL DEFAULT 0
PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+33 -21
View File
@@ -239,17 +239,21 @@ end)
RegisterNetEvent('esx:spawnVehicle')
AddEventHandler('esx:spawnVehicle', function(vehicle)
local model = (type(vehicle) == 'number' and vehicle or GetHashKey(vehicle))
ESX.TriggerServerCallback("esx:isUserAdmin", function(admin)
if admin then
local model = (type(vehicle) == 'number' and vehicle or GetHashKey(vehicle))
if IsModelInCdimage(model) then
local playerCoords, playerHeading = GetEntityCoords(ESX.PlayerData.ped), GetEntityHeading(ESX.PlayerData.ped)
if IsModelInCdimage(model) then
local playerCoords, playerHeading = GetEntityCoords(ESX.PlayerData.ped), GetEntityHeading(ESX.PlayerData.ped)
ESX.Game.SpawnVehicle(model, playerCoords, playerHeading, function(vehicle)
TaskWarpPedIntoVehicle(ESX.PlayerData.ped, vehicle, -1)
end)
else
TriggerEvent('chat:addMessage', { args = { '^1SYSTEM', 'Invalid vehicle model.' } })
end
ESX.Game.SpawnVehicle(model, playerCoords, playerHeading, function(vehicle)
TaskWarpPedIntoVehicle(ESX.PlayerData.ped, vehicle, -1)
end)
else
TriggerEvent('chat:addMessage', { args = { '^1SYSTEM', 'Invalid vehicle model.' } })
end
end
end)
end)
RegisterNetEvent('esx:createPickup')
@@ -496,32 +500,38 @@ end)
RegisterNetEvent("esx:tpm")
AddEventHandler("esx:tpm", function()
local WaypointHandle = GetFirstBlipInfoId(8)
if DoesBlipExist(WaypointHandle) then
local waypointCoords = GetBlipInfoIdCoord(WaypointHandle)
ESX.TriggerServerCallback("esx:isUserAdmin", function(admin)
if admin then
local WaypointHandle = GetFirstBlipInfoId(8)
if DoesBlipExist(WaypointHandle) then
local waypointCoords = GetBlipInfoIdCoord(WaypointHandle)
for height = 1, 1000 do
SetPedCoordsKeepVehicle(ESX.PlayerData.ped, waypointCoords["x"], waypointCoords["y"], height + 0.0)
for height = 1, 1000 do
SetPedCoordsKeepVehicle(ESX.PlayerData.ped, waypointCoords["x"], waypointCoords["y"], height + 0.0)
local foundGround, zPos = GetGroundZFor_3dCoord(waypointCoords["x"], waypointCoords["y"], height + 0.0)
local foundGround, zPos = GetGroundZFor_3dCoord(waypointCoords["x"], waypointCoords["y"], height + 0.0)
if foundGround then
SetPedCoordsKeepVehicle(ESX.PlayerData.ped, waypointCoords["x"], waypointCoords["y"], height + 0.0)
if foundGround then
SetPedCoordsKeepVehicle(ESX.PlayerData.ped, waypointCoords["x"], waypointCoords["y"], height + 0.0)
break
end
end
Citizen.Wait(5)
end
end
TriggerEvent('chatMessage', "Successfully Teleported")
else
else
TriggerEvent('chatMessage', "No Waypoint Set")
end
end
end
end)
end)
local noclip = false
RegisterNetEvent("esx:noclip")
AddEventHandler("esx:noclip", function(input)
ESX.TriggerServerCallback("esx:isUserAdmin", function(admin)
if admin then
local player = PlayerId()
local msg = "disabled"
@@ -536,7 +546,9 @@ AddEventHandler("esx:noclip", function(input)
end
TriggerEvent("chatMessage", "Noclip has been ^2^*" .. msg)
end
end)
end)
local heading = 0
Citizen.CreateThread(function()
+7 -6
View File
@@ -19,7 +19,7 @@ end, true, {help = _U('command_setjob'), validate = true, arguments = {
}})
ESX.RegisterCommand('car', 'admin', function(xPlayer, args, showError)
if not args.car then args.car = "baller2" end
if not args.car then args.car = "Prototipo" end
xPlayer.triggerEvent('esx:spawnVehicle', args.car)
end, false, {help = _U('command_car'), validate = false, arguments = {
{name = 'car', help = _U('command_car_car'), type = 'any'}
@@ -135,6 +135,7 @@ end, true, {help = _U('command_setgroup'), validate = true, arguments = {
ESX.RegisterCommand('save', 'admin', function(xPlayer, args, showError)
Core.SavePlayer(args.playerId)
print("[^2Info^0] Saved Player!")
end, true, {help = _U('command_save'), validate = true, arguments = {
{name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'}
}})
@@ -144,21 +145,21 @@ ESX.RegisterCommand('saveall', 'admin', function(xPlayer, args, showError)
end, true, {help = _U('command_saveall')})
ESX.RegisterCommand('group', {"user", "admin"}, function(xPlayer, args, showError)
print(xPlayer.getName()..", You are currently: ^5".. xPlayer.getGroup())
print(xPlayer.getName()..", You are currently: ^5".. xPlayer.getGroup() .. "^0")
end, true)
ESX.RegisterCommand('job', {"user", "admin"}, function(xPlayer, args, showError)
print(xPlayer.getName()..", You are currently: ^5".. xPlayer.getJob().name.. "^0 - ^5".. xPlayer.getJob().grade_label)
print(xPlayer.getName()..", You are currently: ^5".. xPlayer.getJob().name.. "^0 - ^5".. xPlayer.getJob().grade_label .. "^0")
end, true)
ESX.RegisterCommand('info', {"user", "admin"}, function(xPlayer, args, showError)
local job = xPlayer.getJob().name
local jobgrade = xPlayer.getJob().grade_name
print("^2ID : ^5"..xPlayer.source.." ^0| ^2Name:^5"..xPlayer.getName().." ^0 | ^2Group:^5"..xPlayer.getGroup().."^0 | ^2Job:^5".. job.."")
print("^2ID : ^5"..xPlayer.source.." ^0| ^2Name:^5"..xPlayer.getName().." ^0 | ^2Group:^5"..xPlayer.getGroup().."^0 | ^2Job:^5".. job.."^0")
end, true)
ESX.RegisterCommand('coords', "admin", function(xPlayer, args, showError)
print("".. xPlayer.getName().. ": ^5".. xPlayer.getCoords(true))
print("Coords:^5 ".. GetEntityCoords(GetPlayerPed(xPlayer.source)).. "^0")
end, true)
ESX.RegisterCommand('tpm', "admin", function(xPlayer, args, showError)
@@ -180,7 +181,7 @@ end, true, {help = _U('bring'), validate = true, arguments = {
}})
ESX.RegisterCommand('kill', "admin", function(xPlayer, args, showError)
args.playerId.triggerEvent('esx:killPlayer')
args.playerId.triggerEvent("esx:killPlayer")
end, true, {help = _U('kill'), validate = true, arguments = {
{name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'}
}})
+1 -1
View File
@@ -319,7 +319,7 @@ Core.IsPlayerAdmin = function(playerId)
local xPlayer = ESX.GetPlayerFromId(playerId)
if xPlayer then
if xPlayer.group == 'admin' or xPlayer.group == 'superadmin' then
if xPlayer.group == 'admin' then
return true
end
end
+2 -2
View File
@@ -1,5 +1,5 @@
{
"version": "legacy",
"commit" : "1.4.1",
"changelog": "\n- Changed to Oxmysql + optimisation"
"commit" : "1.4.2",
"changelog": "\n- Updated `Car` Command. Fixed some vulnerabilities. Fix SQL. Updated Commands."
}
+2 -10
View File
@@ -11,22 +11,14 @@ shared_script '@es_extended/imports.lua'
server_scripts {
'@es_extended/locale.lua',
'@oxmysql/lib/MySQL.lua',
'locales/en.lua',
'locales/es.lua',
'locales/cs.lua',
'locales/pl.lua',
'locales/fi.lua',
'locales/*.lua',
'config.lua',
'server/main.lua'
}
client_scripts {
'@es_extended/locale.lua',
'locales/en.lua',
'locales/es.lua',
'locales/cs.lua',
'locales/pl.lua',
'locales/fi.lua',
'locales/*.lua',
'config.lua',
'client/main.lua'
}
+1 -1
View File
@@ -71,7 +71,7 @@ Locales['br'] = {
['respawn_bleedout_fine_msg'] = 'você precisa pagar ~r~$%s~s~ para reviver',
['distress_send'] = 'pressione [~b~G~s~] enviar sinal de socorro',
['distress_sent'] = 'sinal de socorro foi enviado para as unidades disponíveis!',
['combatlog_message'] = 'você foi revivido porque deixou o servidor anteriormente quando estava morto.',
-- Revive
['revive_help'] = 'reviver um cidadão',
-- Item
@@ -71,7 +71,6 @@ Locales['cs'] = {
['respawn_bleedout_fine_msg'] = 'zaplatili jste ~r~$%s~s~ za respawn.',
['distress_send'] = 'stiskněte [~b~G~s~] pro vyslání tísňového signálu',
['distress_sent'] = 'tísňový signál byl vyslán dostupným jednotkám!',
['combatlog_message'] = 'byli jste násilně oživeni, protože jste předtím opustili server, když jste byli mrtví.',
-- Revive
['revive_help'] = 'oživit hráče',
-- Item
@@ -70,7 +70,6 @@ Locales['de'] = {
['respawn_bleedout_fine_msg'] = 'Du hast ~r~$%s~s~ bezahlt, um zu respawnen.',
['distress_send'] = 'Drücke [~b~G~s~] um ein Notsignal zu senden',
['distress_sent'] = 'Notsignal wurde an den Rettungsdienst übermittelt!',
['combatlog_message'] = 'Du wurdest respawnt, da du den Server verlassen hast, als du gestorben bist.',
-- Revive
['revive_help'] = 'Belebe einen Spieler wieder',
-- Item
@@ -71,7 +71,6 @@ Locales['en'] = {
['respawn_bleedout_fine_msg'] = 'you paid ~r~$%s~s~ to respawn.',
['distress_send'] = 'press [~b~G~s~] to send distress signal',
['distress_sent'] = 'distress signal has been sent to available units!',
['combatlog_message'] = 'you have been force-respawned because you\'ve previously left the server when dead.',
-- Revive
['revive_help'] = 'revive a player',
-- Item
+1 -1
View File
@@ -73,7 +73,7 @@ Locales['es'] = {
['respawn_bleedout_fine_msg'] = 'Tu pagaste ~r~$%s~s~ para reaparecer.',
['distress_send'] = 'Presiona [~b~G~s~] para enviar señal de socorro',
['distress_sent'] = 'Se ha enviado una señal de socorro a las unidades disponibles.',
['combatlog_message'] = 'Ha sido reaparecido a la fuerza porque anteriormente abandonó el servidor cuando estaba muerto.',
-- Revive
['revive_help'] = 'Revivir un jugador',
-- Item
@@ -71,7 +71,6 @@ Locales['fr'] = {
['respawn_bleedout_fine_msg'] = 'vous avez payé ~r~$%s~s~ pour être réanimer.',
['distress_send'] = 'appuyez sur [~b~G~s~] pour envoyer un signal de détresse',
['distress_sent'] = 'un signal a été envoyé à toutes les unités disponibles!',
['combatlog_message'] = 'vous avez été réanimé de force car vous avez quitté le serveur.',
-- Revive
['revive_help'] = 'relancer un joueur',
-- Item
@@ -71,7 +71,6 @@ Locales['hu'] = {
['respawn_bleedout_fine_msg'] = '~b~[Információ]:Ennyit fizettél ~r~$%s~s~, hogy újraéledj',
['distress_send'] = 'Nyomd meg a ~r~[G]~s~ gombot a segítségkéréshez',
['distress_sent'] = '~b~[Információ]:~s~ Egy civil értesítette az illetékes szervezetet!',
['combatlog_message'] = '~r~[Információ]:~s~ Kiléptél halál alól!',
-- Revive
['revive_help'] = 'újraéleszteni egy játékos',
-- Item
@@ -70,7 +70,6 @@ Locales['nl'] = {
['respawn_bleedout_fine_msg'] = 'Je hebt ~r~€%s~s~ betaald om te respawnen.',
['distress_send'] = 'Druk op [~b~G~s~] om een noodsignaal te verzenden',
['distress_sent'] = 'Noodsignaal verzonden naar alle beschikbare eenheden!',
['combatlog_message'] = 'Je bent gerespawned omdat je uitgelogt bent terwijl je dood was.',
-- Revive
['revive_help'] = 'Revive een speler',
-- Item
@@ -71,7 +71,6 @@ Locales['pl'] = {
['respawn_bleedout_fine_msg'] = 'you paid ~r~$%s~s~ to respawn.',
['distress_send'] = 'press [~b~G~s~] to send distress signal',
['distress_sent'] = 'distress signal has been sent to available units!',
['combatlog_message'] = 'you have been force-respawned because you\'ve previously left the server when dead.',
-- Revive
['revive_help'] = 'ożyw gracza',
-- Item
@@ -71,7 +71,6 @@ Locales['sv'] = {
['respawn_bleedout_fine_msg'] = 'du betalade ~r~%s SEK~s~ för att respawna.',
['distress_send'] = 'tryck ~b~[G]~s~ för att skicka nödsignal',
['distress_sent'] = 'nödsignal har skickats till samtliga enheter!',
['combatlog_message'] = 'du har force-respawnats på grund av att du lämnat servern medans du var död',
-- Revive
['revive_help'] = 'återuppliva en spelare',
-- Item
@@ -70,8 +70,6 @@ Locales['tr'] = {
['respawn_bleedout_fine_msg'] = 'yeniden doğmak için ~r~$%s~s~ ödediniz.',
['distress_send'] = 'acile sinyal göndermek için [~b~G~s~] basın',
['distress_sent'] = 'acil durum sinyali gönderildi!',
['combatlog_message'] = 'daha önce öldüğünüzde sunucudan ayrıldığınız için zorunlu olarak yeniden doğdunuz.',
-- Revive
['revive_help'] = 'oyuncuyu canlandır',
-- Item
['used_medikit'] = '~y~1x~s~ sağlık kiti kullanıldı.',
-1
View File
@@ -13,7 +13,6 @@
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
sv_hostname "Unconfigured ESX Server"
set steam_webApiKey ""
sv_licenseKey ""