mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-08-29 00:01:20 +00:00
Update 1.4.2: Bug Fixes
Updated `Car` Command. Fixed some vulnerabilities. Fix SQL. Updated Commands.
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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'}
|
||||
}})
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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."
|
||||
}
|
||||
|
||||
@@ -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'
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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ı.',
|
||||
|
||||
@@ -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 ""
|
||||
|
||||
Reference in New Issue
Block a user