feat: Update all resources to version legacy

- Resources updated to use `@es_extended/imports.lua` instead of calling ESX manually

- Replaced all xPlayer loops with ESX.GetExtendedPlayers()

- Reverted NUI chunking for esx_menu_default

- Performance improvements for several resources

- Added events and checks for the player to be loaded for several resources

- Changed all PlayerData tables to use ESX.PlayerData
This commit is contained in:
Linden
2021-06-26 13:33:59 +10:00
parent e3113ab7f9
commit 104479eaab
130 changed files with 404 additions and 822 deletions
-8
View File
@@ -1,13 +1,5 @@
ESX = nil
local loadingScreenFinished = false
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
RegisterNetEvent('esx_identity:alreadyRegistered')
AddEventHandler('esx_identity:alreadyRegistered', function()
while not loadingScreenFinished do
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Identity'
version '1.4.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@es_extended/locale.lua',
-13
View File
@@ -1,20 +1,7 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
local playerIdentity = {}
local alreadyRegistered = {}
local multichar = ESX.GetConfig().Multichar
if multichar == nil then
ESX.GetIdentifier = function(playerId)
for k,v in ipairs(GetPlayerIdentifiers(playerId)) do
if string.match(v, 'license:') then
local identifier = string.gsub(v, 'license:', '')
return identifier
end
end
end
end
if Config.UseDeferrals then
AddEventHandler('playerConnecting', function(playerName, setKickReason, deferrals)
deferrals.defer()
+7 -11
View File
@@ -1,11 +1,5 @@
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
Citizen.Wait(5)
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
end
local ESX = exports['es_extended']:getSharedObject()
local GUI, MenuType = {}, 'default'
GUI.Time = 0
@@ -29,23 +23,24 @@ Citizen.CreateThread(function()
ESX.UI.Menu.RegisterType(MenuType, openMenu, closeMenu)
AddEventHandler('esx_menu_default:message:menu_submit', function(data)
RegisterNUICallback('menu_submit', function(data, cb)
local menu = ESX.UI.Menu.GetOpened(MenuType, data._namespace, data._name)
if menu.submit ~= nil then
menu.submit(data, menu)
end
cb('OK')
end)
AddEventHandler('esx_menu_default:message:menu_cancel', function(data)
RegisterNUICallback('menu_cancel', function(data, cb)
local menu = ESX.UI.Menu.GetOpened(MenuType, data._namespace, data._name)
if menu.cancel ~= nil then
menu.cancel(data, menu)
end
cb('OK')
end)
AddEventHandler('esx_menu_default:message:menu_change', function(data)
RegisterNUICallback('menu_change', function(data, cb)
local menu = ESX.UI.Menu.GetOpened(MenuType, data._namespace, data._name)
for i=1, #data.elements, 1 do
@@ -61,6 +56,7 @@ Citizen.CreateThread(function()
if menu.change ~= nil then
menu.change(data, menu)
end
cb('OK')
end)
Citizen.CreateThread(function()
+1 -2
View File
@@ -4,10 +4,9 @@ game 'gta5'
description 'ESX Menu Default'
version '1.0.4'
version 'legacy'
client_scripts {
'@es_extended/client/wrapper.lua',
'client/main.lua'
}
+6 -6
View File
@@ -127,28 +127,28 @@
};
ESX_MENU.submit = function(namespace, name, data) {
SendMessage(ESX_MENU.ResourceName, 'menu_submit', {
$.post('http://' + ESX_MENU.ResourceName + '/menu_submit', JSON.stringify({
_namespace: namespace,
_name: name,
current: data,
elements: ESX_MENU.opened[namespace][name].elements
});
}));
};
ESX_MENU.cancel = function(namespace, name) {
SendMessage(ESX_MENU.ResourceName, 'menu_cancel', {
$.post('http://' + ESX_MENU.ResourceName + '/menu_cancel', JSON.stringify({
_namespace: namespace,
_name: name
});
}));
};
ESX_MENU.change = function(namespace, name, data) {
SendMessage(ESX_MENU.ResourceName, 'menu_change', {
$.post('http://' + ESX_MENU.ResourceName + '/menu_change', JSON.stringify({
_namespace: namespace,
_name: name,
current: data,
elements: ESX_MENU.opened[namespace][name].elements
});
}));
};
ESX_MENU.getFocused = function() {
-1
View File
@@ -11,7 +11,6 @@
<div id="menus"></div>
<script src="nui://game/ui/jquery.js" type="text/javascript"></script>
<script src="nui://es_extended/html/js/wrapper.js"></script>
<script src="nui://esx_menu_default/html/js/mustache.min.js" type="text/javascript"></script>
<script src="nui://esx_menu_default/html/js/app.js" type="text/javascript"></script>
</body>
+1 -6
View File
@@ -1,12 +1,7 @@
Citizen.CreateThread(function()
ESX = nil
local ESX = exports['es_extended']:getSharedObject()
local Timeouts, OpenedMenus, MenuType = {}, {}, 'dialog'
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
local openMenu = function(namespace, name, data)
for i=1, #Timeouts, 1 do
ESX.ClearTimeout(Timeouts[i])
+1 -1
View File
@@ -4,7 +4,7 @@ game 'gta5'
description 'ESX Menu Dialog'
version '1.1.0'
version 'legacy'
client_scripts {
'@es_extended/client/wrapper.lua',
+1 -8
View File
@@ -1,12 +1,5 @@
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
local ESX = exports['es_extended']:getSharedObject()
local MenuType = 'list'
local OpenedMenus = {}
+1 -1
View File
@@ -4,7 +4,7 @@ game 'gta5'
description 'ESX Menu List'
version '1.0.2'
version 'legacy'
client_scripts {
'@es_extended/client/wrapper.lua',
+4 -31
View File
@@ -1,14 +1,6 @@
ESX = nil
local lastSkin, playerLoaded, cam, isCameraActive
local lastSkin, cam, isCameraActive
local firstSpawn, zoomOffset, camOffset, heading, skinLoaded = true, 0.0, 0.0, 90.0, false
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
function OpenMenu(submitCb, cancelCb, restrict)
local playerPed = PlayerPedId()
@@ -249,34 +241,15 @@ function OpenSaveableMenu(submitCb, cancelCb, restrict)
end, cancelCb, restrict)
end
AddEventHandler('esx:onPlayerSpawn', function()
Citizen.CreateThread(function()
while not playerLoaded do
Citizen.Wait(100)
end
if firstSpawn and ESX.GetConfig().Multichar ~= true then
ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin)
if skin == nil then
TriggerEvent('skinchanger:loadSkin', {sex = 0}, OpenSaveableMenu)
else
TriggerEvent('skinchanger:loadSkin', skin)
end
end)
firstSpawn = false
end
end)
end)
AddEventHandler('esx_skin:resetFirstSpawn', function()
firstSpawn = true
skinLoaded = false
ESX.PlayerLoaded = false
end)
AddEventHandler('esx_skin:playerRegistered', function()
Citizen.CreateThread(function()
while not playerLoaded do
while not ESX.PlayerLoaded do
Citizen.Wait(100)
end
@@ -300,7 +273,7 @@ end)
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function(xPlayer)
playerLoaded = true
ESX.PlayerLoaded = true
end)
AddEventHandler('esx_skin:getLastSkin', function(cb) cb(lastSkin) end)
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Skin'
version '1.1.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@mysql-async/lib/MySQL.lua',
-4
View File
@@ -1,7 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
RegisterServerEvent('esx_skin:save')
AddEventHandler('esx_skin:save', function(skin)
local xPlayer = ESX.GetPlayerFromId(source)
+31 -30
View File
@@ -1,15 +1,7 @@
ESX = nil
local HasAlreadyEnteredMarker, isDead = false, false
local LastZone, CurrentAction, CurrentActionMsg
local CurrentActionData = {}
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
function OpenAccessoryMenu()
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'set_unset_accessory', {
title = _U('set_unset'),
@@ -157,47 +149,56 @@ Citizen.CreateThread(function()
end
end)
local nearMarker = false
-- Display markers
Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
local coords = GetEntityCoords(PlayerPedId())
local sleep = 500
local coords = GetEntityCoords(ESX.PlayerData.ped)
for k,v in pairs(Config.Zones) do
for i = 1, #v.Pos, 1 do
if(Config.Type ~= -1 and GetDistanceBetweenCoords(coords, v.Pos[i], true) < Config.DrawDistance) then
if(Config.Type ~= -1 and #(coords - v.Pos[i]) < Config.DrawDistance) then
DrawMarker(Config.Type, v.Pos[i], 0.0, 0.0, 0.0, 0, 0.0, 0.0, Config.Size.x, Config.Size.y, Config.Size.z, Config.Color.r, Config.Color.g, Config.Color.b, 100, false, true, 2, false, false, false, false)
sleep = 0
break
end
end
end
if sleep == 0 then nearMarker = true else nearMarker = false end
Citizen.Wait(sleep)
end
end)
Citizen.CreateThread(function()
while true do
Citizen.Wait(200)
local coords = GetEntityCoords(PlayerPedId())
local isInMarker = false
local currentZone = nil
for k,v in pairs(Config.Zones) do
for i = 1, #v.Pos, 1 do
if GetDistanceBetweenCoords(coords, v.Pos[i], true) < Config.Size.x then
isInMarker = true
currentZone = k
local sleep = 500
if nearMarker then
sleep = 200
local coords = GetEntityCoords(ESX.PlayerData.ped)
local isInMarker = false
local currentZone = nil
for k,v in pairs(Config.Zones) do
for i = 1, #v.Pos, 1 do
if #(coords - v.Pos[i]) < Config.Size.x then
isInMarker = true
currentZone = k
break
end
end
end
end
if (isInMarker and not HasAlreadyEnteredMarker) or (isInMarker and LastZone ~= currentZone) then
HasAlreadyEnteredMarker = true
LastZone = currentZone
TriggerEvent('esx_accessories:hasEnteredMarker', currentZone)
end
if (isInMarker and not HasAlreadyEnteredMarker) or (isInMarker and LastZone ~= currentZone) then
HasAlreadyEnteredMarker = true
LastZone = currentZone
TriggerEvent('esx_accessories:hasEnteredMarker', currentZone)
end
if not isInMarker and HasAlreadyEnteredMarker then
HasAlreadyEnteredMarker = false
TriggerEvent('esx_accessories:hasExitedMarker', LastZone)
if not isInMarker and HasAlreadyEnteredMarker then
HasAlreadyEnteredMarker = false
TriggerEvent('esx_accessories:hasExitedMarker', LastZone)
end
end
Citizen.Wait(sleep)
end
end)
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Accessories'
version '1.1.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@es_extended/locale.lua',
@@ -1,7 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
RegisterServerEvent('esx_accessories:pay')
AddEventHandler('esx_accessories:pay', function()
local xPlayer = ESX.GetPlayerFromId(source)
+2 -1
View File
@@ -4,9 +4,10 @@ game 'gta5'
description 'ESX Addon Account'
version '1.0.1'
version 'legacy'
server_scripts {
'@es_extended/imports.lua',
'@mysql-async/lib/MySQL.lua',
'server/classes/addonaccount.lua',
'server/main.lua'
@@ -1,7 +1,4 @@
local AccountsIndex, Accounts, SharedAccounts = {}, {}, {}
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
MySQL.ready(function()
local result = MySQL.Sync.fetchAll('SELECT * FROM addon_account')
@@ -4,9 +4,10 @@ game 'gta5'
description 'ESX Addon Inventory'
version '1.1.0'
version 'legacy'
server_scripts {
'@es_extended/imports.lua',
'@mysql-async/lib/MySQL.lua',
'server/classes/addoninventory.lua',
'server/main.lua'
@@ -1,8 +1,5 @@
Items = {}
local InventoriesIndex, Inventories, SharedInventories = {}, {}, {}
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
MySQL.ready(function()
local items = MySQL.Sync.fetchAll('SELECT * FROM items')
+12 -20
View File
@@ -1,7 +1,6 @@
local firstSpawn, PlayerLoaded = true, false
local firstSpawn = true
isDead, isSearched, medic = false, false, 0
ESX = nil
AddEventHandler("onClientMapStart", function()
exports.spawnmanager:spawnPlayer()
@@ -9,24 +8,17 @@ AddEventHandler("onClientMapStart", function()
exports.spawnmanager:setAutoSpawn(false)
end)
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
while ESX.GetPlayerData().job == nil do
Citizen.Wait(100)
end
PlayerLoaded = true
ESX.PlayerData = ESX.GetPlayerData()
end)
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function(xPlayer)
ESX.PlayerData = xPlayer
PlayerLoaded = true
ESX.PlayerLoaded = true
end)
RegisterNetEvent('esx:onPlayerLogout')
AddEventHandler('esx:onPlayerLogout', function()
ESX.PlayerLoaded = false
ESX.PlayerData = {}
firstSpawn = true
end)
RegisterNetEvent('esx:setJob')
@@ -41,13 +33,13 @@ AddEventHandler('esx:onPlayerSpawn', function()
firstSpawn = false
if Config.AntiCombatLog then
while not PlayerLoaded do
Citizen.Wait(5000)
while not ESX.PlayerLoaded do
Citizen.Wait(1000)
end
ESX.TriggerServerCallback('esx_ambulancejob:getDeathStatus', function(shouldDie)
if shouldDie then
Citizen.Wait(10000)
Citizen.Wait(5000)
SetEntityHealth(PlayerPedId(), 0)
end
end)
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Ambulance Job'
version '1.2.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@mysql-async/lib/MySQL.lua',
@@ -1,8 +1,5 @@
ESX = nil
local playersHealing, deadPlayers = {}, {}
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
TriggerEvent('esx_phone:registerNumber', 'ambulance', _U('alert_ambulance'), true, true)
TriggerEvent('esx_society:registerSociety', 'ambulance', 'Ambulance', 'society_ambulance', 'society_ambulance', 'society_ambulance', {type = 'public'})
@@ -1,13 +1,5 @@
local isDead = false
local inAnim = false
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
AddEventHandler('esx:onPlayerDeath', function(data) isDead = true end)
+2 -1
View File
@@ -4,9 +4,10 @@ game 'gta5'
description 'ESX Animations'
version '1.0.0'
version 'legacy'
client_scripts {
'@es_extended/imports.lua',
'config.lua',
'client/main.lua'
}
-8
View File
@@ -1,13 +1,5 @@
-- internal variables
local hasAlreadyEnteredMarker, isInATMMarker, menuIsShowed = false, false, false
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
RegisterNetEvent('esx_atm:closeATM')
AddEventHandler('esx_atm:closeATM', function()
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Atm'
version '1.1.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@es_extended/locale.lua',
-3
View File
@@ -1,6 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
RegisterServerEvent('esx_atm:deposit')
AddEventHandler('esx_atm:deposit', function(amount)
local _source = source
@@ -1,18 +1,4 @@
local CurrentActionData, CurrentAction, CurrentActionMsg, hasAlreadyEnteredMarker, lastZone = {}
ESX = nil
Citizen.CreateThread(function ()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
while ESX.GetPlayerData().job == nil do
Citizen.Wait(100)
end
ESX.PlayerData = ESX.GetPlayerData()
end)
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function (xPlayer)
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Banker job'
version '1.0.1'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@async/async.lua',
@@ -1,7 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
TriggerEvent('esx_phone:registerNumber', 'banker', _('phone_receive'), false, false)
TriggerEvent('esx_society:registerSociety', 'banker', _U('phone_label'), 'society_banker', 'society_banker', 'society_banker', {type = 'public'})
@@ -1,13 +1,5 @@
ESX = nil
local hasAlreadyEnteredMarker, lastZone, currentAction, currentActionMsg, hasPaid
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
function OpenShopMenu()
hasPaid = false
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Barber Shop'
version '1.1.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@es_extended/locale.lua',
@@ -1,7 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
RegisterServerEvent('esx_barbershop:pay')
AddEventHandler('esx_barbershop:pay', function()
local _source = source
@@ -1,14 +1,6 @@
ESX = nil
local IsDead = false
local IsAnimated = false
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
AddEventHandler('esx_basicneeds:resetStatus', function()
TriggerEvent('esx_status:set', 'hunger', 500000)
TriggerEvent('esx_status:set', 'thirst', 500000)
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Basic Needs'
version '1.0.1'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@es_extended/locale.lua',
@@ -1,7 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
ESX.RegisterUsableItem('bread', function(source)
local xPlayer = ESX.GetPlayerFromId(source)
xPlayer.removeInventoryItem('bread', 1)
-8
View File
@@ -1,13 +1,5 @@
ESX = nil
local isDead = false
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
function ShowBillsMenu()
ESX.TriggerServerCallback('esx_billing:getBills', function(bills)
if #bills > 0 then
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Billing'
version '1.2.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@mysql-async/lib/MySQL.lua',
-4
View File
@@ -1,7 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
RegisterServerEvent('esx_billing:sendBill')
AddEventHandler('esx_billing:sendBill', function(playerId, sharedAccountName, label, amount)
local xPlayer = ESX.GetPlayerFromId(source)
+1 -15
View File
@@ -1,20 +1,6 @@
ESX = nil
isInShopMenu = false
local isInShopMenu = false
local spawnedVehicles = {}
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
while not ESX.GetPlayerData().job do
Citizen.Wait(10)
end
ESX.PlayerData = ESX.GetPlayerData()
end)
function OpenBoatShop(shop)
isInShopMenu = true
+3 -3
View File
@@ -1,9 +1,9 @@
local HasAlreadyEnteredMarker = false
local LastZone = nil
CurrentAction = nil
CurrentActionMsg = ''
CurrentActionData = {}
local CurrentAction = nil
local CurrentActionMsg = ''
local CurrentActionData = {}
-- Key controls
Citizen.CreateThread(function()
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Boat'
version '1.0.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@mysql-async/lib/MySQL.lua',
-4
View File
@@ -1,7 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
MySQL.ready(function()
ParkBoats()
end)
+9 -12
View File
@@ -1,19 +1,16 @@
ESX = nil
local PlayerData = {}
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function(xPlayer, isNew)
ESX.PlayerData = xPlayer
ESX.PlayerLoaded = true
end)
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function(xPlayer)
PlayerData = xPlayer
RegisterNetEvent('esx:playerLogout')
AddEventHandler('esx:playerLogout', function(xPlayer, isNew)
ESX.PlayerLoaded = false
ESX.PlayerData = {}
end)
RegisterNetEvent('esx:setJob')
AddEventHandler('esx:setJob', function(job)
PlayerData.job = job
ESX.PlayerData.job = job
end)
@@ -4,6 +4,8 @@ game 'gta5'
description 'ESX Boilerplate'
shared_script '@es_extended/imports.lua'
server_scripts {
'server/main.lua'
}
@@ -1,4 +0,0 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
@@ -1,14 +1,6 @@
local hasAlreadyEnteredMarker, hasPaid, currentActionData = false, false, {}
local lastZone, currentAction, currentActionMsg
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
function OpenShopMenu()
hasPaid = false
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Clothes Shop'
version '1.1.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@mysql-async/lib/MySQL.lua',
@@ -1,7 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
RegisterServerEvent('esx_clotheshop:saveOutfit')
AddEventHandler('esx_clotheshop:saveOutfit', function(label, skin)
local xPlayer = ESX.GetPlayerFromId(source)
+47 -56
View File
@@ -1,89 +1,80 @@
local Player = nil
local Player = nil
local CruisedSpeed, CruisedSpeedKm, VehicleVectorY = 0, 0, 0
ESX = nil
Citizen.CreateThread(function ()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Wait(0)
end
end)
Citizen.CreateThread(function ()
while true do
Wait(0)
if IsControlJustPressed(1, 246) and IsDriver() then
Player = GetPlayerPed(-1)
TriggerCruiseControl()
end
end
while true do
Wait(0)
if IsControlJustPressed(1, 246) and IsDriver() then
Player = PlayerPedId()
TriggerCruiseControl()
end
end
end)
function TriggerCruiseControl ()
if CruisedSpeed == 0 and IsDriving() then
if GetVehiculeSpeed() > 0 and GetVehicleCurrentGear(GetVehicle()) > 0 then
CruisedSpeed = GetVehiculeSpeed()
CruisedSpeedKm = TransformToKm(CruisedSpeed)
if CruisedSpeed == 0 and IsDriving() then
if GetVehicleSpeed() > 0 and GetVehicleCurrentGear(GetVehicle()) > 0 then
CruisedSpeed = GetVehicleSpeed()
CruisedSpeedKm = TransformToKm(CruisedSpeed)
ESX.ShowNotification(_U('activated') .. ': ~b~ ' .. CruisedSpeedKm .. ' km/h')
ESX.ShowNotification(_U('activated') .. ': ~b~ ' .. CruisedSpeedKm .. ' km/h')
Citizen.CreateThread(function ()
while CruisedSpeed > 0 and IsInVehicle() == Player do
Wait(0)
Citizen.CreateThread(function ()
while CruisedSpeed > 0 and IsInVehicle() == Player do
Wait(0)
if not IsTurningOrHandBraking() and GetVehiculeSpeed() < (CruisedSpeed - 1.5) then
CruisedSpeed = 0
ESX.ShowNotification(_U('deactivated'))
Wait(2000)
break
end
if not IsTurningOrHandBraking() and GetVehicleSpeed() < (CruisedSpeed - 1.5) then
CruisedSpeed = 0
ESX.ShowNotification(_U('deactivated'))
Wait(2000)
break
end
if not IsTurningOrHandBraking() and IsVehicleOnAllWheels(GetVehicle()) and GetVehiculeSpeed() < CruisedSpeed then
SetVehicleForwardSpeed(GetVehicle(), CruisedSpeed)
end
if not IsTurningOrHandBraking() and IsVehicleOnAllWheels(GetVehicle()) and GetVehicleSpeed() < CruisedSpeed then
SetVehicleForwardSpeed(GetVehicle(), CruisedSpeed)
end
if IsControlJustPressed(1, 246) then
CruisedSpeed = GetVehiculeSpeed()
CruisedSpeedKm = TransformToKm(CruisedSpeed)
end
if IsControlJustPressed(1, 246) then
CruisedSpeed = GetVehicleSpeed()
CruisedSpeedKm = TransformToKm(CruisedSpeed)
end
if IsControlJustPressed(2, 72) then
CruisedSpeed = 0
ESX.ShowNotification(_U('deactivated'))
Wait(2000)
break
end
end
end)
end
end
if IsControlJustPressed(2, 72) then
CruisedSpeed = 0
ESX.ShowNotification(_U('deactivated'))
Wait(2000)
break
end
end
end)
end
end
end
function IsTurningOrHandBraking ()
return IsControlPressed(2, 76) or IsControlPressed(2, 63) or IsControlPressed(2, 64)
return IsControlPressed(2, 76) or IsControlPressed(2, 63) or IsControlPressed(2, 64)
end
function IsDriving ()
return IsPedInAnyVehicle(Player, false)
return IsPedInAnyVehicle(Player, false)
end
function GetVehicle ()
return GetVehiclePedIsIn(Player, false)
return GetVehiclePedIsIn(Player, false)
end
function IsInVehicle ()
return GetPedInVehicleSeat(GetVehicle(), -1)
return GetPedInVehicleSeat(GetVehicle(), -1)
end
function IsDriver ()
return GetPedInVehicleSeat(GetVehiclePedIsIn(GetPlayerPed(-1), false), -1) == GetPlayerPed(-1)
return GetPedInVehicleSeat(GetVehiclePedIsIn(PlayerPedId(), false), -1) == PlayerPedId()
end
function GetVehiculeSpeed ()
return GetEntitySpeed(GetVehicle())
function GetVehicleSpeed ()
return GetEntitySpeed(GetVehicle())
end
function TransformToKm (speed)
return math.floor(speed * 3.6 + 0.5)
return math.floor(speed * 3.6 + 0.5)
end
@@ -4,13 +4,14 @@ game 'gta5'
description 'CruiseControl System for ESX'
version '1.0.0'
version 'legacy'
dependencies {
'es_extended'
}
client_scripts {
'@es_extended/imports.lua',
'@es_extended/locale.lua',
'locales/fi.lua',
'locales/fr.lua',
+2 -1
View File
@@ -4,9 +4,10 @@ game 'gta5'
description 'ESX Data Store'
version '1.0.2'
version 'legacy'
server_scripts {
'@es_extended/imports.lua',
'@mysql-async/lib/MySQL.lua',
'server/classes/datastore.lua',
'server/main.lua'
@@ -1,7 +1,4 @@
local DataStores, DataStoresIndex, SharedDataStores = {}, {}, {}
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
MySQL.ready(function()
local result = MySQL.Sync.fetchAll('SELECT * FROM datastore')
@@ -1,4 +1,3 @@
ESX = nil
local CurrentAction = nil
local CurrentActionMsg = nil
local CurrentActionData = nil
@@ -13,13 +12,6 @@ local CurrentZoneType = nil
local IsAboveSpeedLimit = false
local LastVehicleHealth = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
function DrawMissionText(msg, time)
ClearPrints()
BeginTextCommandPrint('STRING')
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX DMV School'
version '1.0.4'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@es_extended/locale.lua',
@@ -1,7 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
ESX.RegisterServerCallback('esx_dmvschool:canYouPay', function(source, cb, type)
local xPlayer = ESX.GetPlayerFromId(source)
-14
View File
@@ -1,20 +1,6 @@
ESX = nil
local menuOpen = false
local wasOpen = false
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
while ESX.GetPlayerData().job == nil do
Citizen.Wait(100)
end
ESX.PlayerData = ESX.GetPlayerData()
end)
Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Drugs'
version '2.0.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@mysql-async/lib/MySQL.lua',
-3
View File
@@ -1,10 +1,7 @@
ESX = nil
local playersProcessingCannabis = {}
local outofbound = true
local alive = true
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
RegisterServerEvent('esx_drugs:sellDrug')
AddEventHandler('esx_drugs:sellDrug', function(itemName, amount)
local xPlayer = ESX.GetPlayerFromId(source)
+62 -63
View File
@@ -1,13 +1,5 @@
ESX = nil
local LastGarage, LastPart, LastParking, thisGarage = nil, nil, nil, nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
TriggerEvent('instance:registerType', 'garage')
RegisterNetEvent('instance:onCreate')
@@ -232,7 +224,7 @@ AddEventHandler('esx_garage:hasEnteredMarker', function(name, part, parking)
if part == 'Parking' then
local playerPed = PlayerPedId()
local playerPed = PlayerPedId()
local garage = thisGarage
local parkingPos = garage.Parkings[parking].Pos
@@ -254,7 +246,7 @@ AddEventHandler('esx_property:hasExitedMarker', function(name, part, parking)
if part == 'Parking' then
local playerPed = PlayerPedId()
local playerPed = PlayerPedId()
local garage = thisGarage
local parkingPos = garage.Parkings[parking].Pos
@@ -289,25 +281,29 @@ Citizen.CreateThread(function()
end)
local nearMarker = false
-- Display markers
Citizen.CreateThread(function()
while true do
local sleep = 500
Citizen.Wait(0)
local playerPed = PlayerPedId()
local coords = GetEntityCoords(playerPed)
for k,v in pairs(Config.Garages) do
local garage = vector3(v.ExteriorEntryPoint.Pos.x, v.ExteriorEntryPoint.Pos.y, v.ExteriorEntryPoint.Pos.z)
if v.IsClosed then
if(not v.disabled and GetDistanceBetweenCoords(coords, v.ExteriorEntryPoint.Pos.x, v.ExteriorEntryPoint.Pos.y, v.ExteriorEntryPoint.Pos.z, true) < Config.DrawDistance) then
if(not v.disabled and #(coords - garage) < Config.DrawDistance) then
DrawMarker(Config.MarkerType, v.ExteriorEntryPoint.Pos.x, v.ExteriorEntryPoint.Pos.y, v.ExteriorEntryPoint.Pos.z, 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, false, false, false)
sleep = 0
end
if(not v.disabled and GetDistanceBetweenCoords(coords, v.InteriorExitPoint.Pos.x, v.InteriorExitPoint.Pos.y, v.InteriorExitPoint.Pos.z, true) < Config.DrawDistance) then
if(not v.disabled and #(coords - garage) < Config.DrawDistance) then
DrawMarker(Config.MarkerType, v.InteriorExitPoint.Pos.x, v.InteriorExitPoint.Pos.y, v.InteriorExitPoint.Pos.z, 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, false, false, false)
sleep = 0
end
end
@@ -316,10 +312,11 @@ Citizen.CreateThread(function()
for i=1, #v.Parkings, 1 do
local parking = v.Parkings[i]
local parking = vector3(v.Parkings[i].Pos.x, v.Parkings[i].Pos.y, v.Parkings[i].Pos.z)
if(not v.disabled and GetDistanceBetweenCoords(coords, parking.Pos.x, parking.Pos.y, parking.Pos.z, true) < Config.DrawDistance) then
if(not v.disabled and #(coords - parking) < Config.DrawDistance) then
DrawMarker(Config.MarkerType, parking.Pos.x, parking.Pos.y, parking.Pos.z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, Config.ParkingMarkerSize.x, Config.ParkingMarkerSize.y, Config.ParkingMarkerSize.z, Config.ParkingMarkerColor.r, Config.ParkingMarkerColor.g, Config.ParkingMarkerColor.b, 100, false, true, 2, false, false, false, false)
sleep = 0
end
end
@@ -327,68 +324,70 @@ Citizen.CreateThread(function()
end
end
if sleep == 0 then nearMarker = true else nearMarker = false end
Citizen.Wait(sleep)
end
end)
-- Enter / Exit marker events
Citizen.CreateThread(function()
while true do
Citizen.Wait(1)
if nearMarker then
local playerPed = PlayerPedId()
local coords = GetEntityCoords(playerPed)
local isInMarker = false
local currentGarage = nil
local currentPart = nil
local currentParking = nil
for k,v in pairs(Config.Garages) do
if v.IsClosed then
local playerPed = PlayerPedId()
local coords = GetEntityCoords(playerPed)
local isInMarker = false
local currentGarage = nil
local currentPart = nil
local currentParking = nil
for k,v in pairs(Config.Garages) do
if v.IsClosed then
if (not v.disabled and GetDistanceBetweenCoords(coords, v.ExteriorEntryPoint.Pos.x, v.ExteriorEntryPoint.Pos.y, v.ExteriorEntryPoint.Pos.z, true) < Config.MarkerSize.x) then
isInMarker = true
currentGarage = k
currentPart = 'ExteriorEntryPoint'
end
if (not v.disabled and GetDistanceBetweenCoords(coords, v.ExteriorEntryPoint.Pos.x, v.ExteriorEntryPoint.Pos.y, v.ExteriorEntryPoint.Pos.z, true) < Config.MarkerSize.x) then
isInMarker = true
currentGarage = k
currentPart = 'ExteriorEntryPoint'
end
if (not v.disabled and GetDistanceBetweenCoords(coords, v.InteriorExitPoint.Pos.x, v.InteriorExitPoint.Pos.y, v.InteriorExitPoint.Pos.z, true) < Config.MarkerSize.x) then
isInMarker = true
currentGarage = k
currentPart = 'InteriorExitPoint'
end
for i=1, #v.Parkings, 1 do
local parking = v.Parkings[i]
if (not v.disabled and GetDistanceBetweenCoords(coords, v.InteriorExitPoint.Pos.x, v.InteriorExitPoint.Pos.y, v.InteriorExitPoint.Pos.z, true) < Config.MarkerSize.x) then
isInMarker = true
currentGarage = k
currentPart = 'InteriorExitPoint'
end
for i=1, #v.Parkings, 1 do
local parking = v.Parkings[i]
if (not v.disabled and GetDistanceBetweenCoords(coords, parking.Pos.x, parking.Pos.y, parking.Pos.z, true) < Config.ParkingMarkerSize.x) then
isInMarker = true
currentGarage = k
currentPart = 'Parking'
currentParking = i
if (not v.disabled and GetDistanceBetweenCoords(coords, parking.Pos.x, parking.Pos.y, parking.Pos.z, true) < Config.ParkingMarkerSize.x) then
isInMarker = true
currentGarage = k
currentPart = 'Parking'
currentParking = i
end
end
end
end
end
if isInMarker and not HasAlreadyEnteredMarker or (isInMarker and (LastGarage ~= currentGarage or LastPart ~= currentPart or LastParking ~= currentParking) ) then
if LastGarage ~= currentGarage or LastPart ~= currentPart or LastParking ~= currentParking then
TriggerEvent('esx_property:hasExitedMarker', LastGarage, LastPart, LastParking)
end
HasAlreadyEnteredMarker = true
LastGarage = currentGarage
LastPart = currentPart
LastParking = currentParking
TriggerEvent('esx_garage:hasEnteredMarker', currentGarage, currentPart, currentParking)
end
if isInMarker and not HasAlreadyEnteredMarker or (isInMarker and (LastGarage ~= currentGarage or LastPart ~= currentPart or LastParking ~= currentParking) ) then
if LastGarage ~= currentGarage or LastPart ~= currentPart or LastParking ~= currentParking then
TriggerEvent('esx_property:hasExitedMarker', LastGarage, LastPart, LastParking)
end
if not isInMarker and HasAlreadyEnteredMarker then
HasAlreadyEnteredMarker = false
HasAlreadyEnteredMarker = true
LastGarage = currentGarage
LastPart = currentPart
LastParking = currentParking
TriggerEvent('esx_garage:hasEnteredMarker', currentGarage, currentPart, currentParking)
end
TriggerEvent('esx_property:hasExitedMarker', LastGarage, LastPart, LastParking)
end
if not isInMarker and HasAlreadyEnteredMarker then
HasAlreadyEnteredMarker = false
TriggerEvent('esx_property:hasExitedMarker', LastGarage, LastPart, LastParking)
end
Citizen.Wait(1)
else Citizen.Wait(500) end
end
end)
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Garage'
version '1.0.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@es_extended/locale.lua',
-4
View File
@@ -1,7 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
RegisterServerEvent('esx_garage:setParking')
AddEventHandler('esx_garage:setParking', function(garage, zone, vehicleProps)
local _source = source
-8
View File
@@ -1,14 +1,6 @@
local holdingUp = false
local store = ""
local blipRobbery = nil
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
function drawTxt(x,y, width, height, scale, text, r,g,b,a, outline)
SetTextFont(0)
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Holdup'
version '1.1.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
client_scripts {
'@es_extended/locale.lua',
-3
View File
@@ -1,8 +1,5 @@
local rob = false
local robbers = {}
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
RegisterServerEvent('esx_holdup:tooFar')
AddEventHandler('esx_holdup:tooFar', function(currentStore)
@@ -1,12 +1,4 @@
local menuIsShowed, hasAlreadyEnteredMarker, isInMarker = false, false, false
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
function ShowJobListingMenu()
ESX.TriggerServerCallback('esx_joblisting:getJobsList', function(jobs)
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Job Listing'
version '1.1.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@mysql-async/lib/MySQL.lua',
@@ -1,8 +1,5 @@
ESX = nil
local availableJobs = {}
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
MySQL.ready(function()
MySQL.Async.fetchAll('SELECT name, label FROM jobs WHERE whitelisted = @whitelisted', {
['@whitelisted'] = false
+16 -31
View File
@@ -10,7 +10,6 @@ local Keys = {
["NENTER"] = 201, ["N4"] = 108, ["N5"] = 60, ["N6"] = 107, ["N+"] = 96, ["N-"] = 97, ["N7"] = 117, ["N8"] = 61, ["N9"] = 118
}
local PlayerData = {}
local menuIsShowed = false
local hintIsShowed = false
local hasAlreadyEnteredMarker = false
@@ -29,25 +28,9 @@ local vehicleInCaseofDrop = nil
local vehicleMaxHealth = nil
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
while ESX.GetPlayerData().job == nil do
Citizen.Wait(10)
end
PlayerData = ESX.GetPlayerData()
refreshBlips()
end)
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function(xPlayer)
PlayerData = xPlayer
ESX.PlayerData = xPlayer
refreshBlips()
end)
@@ -103,7 +86,7 @@ AddEventHandler('esx_jobs:action', function(job, zone, zoneKey)
local vehicle = nil
for k,v in pairs(Config.Jobs) do
if PlayerData.job.name == k then
if ESX.PlayerData.job.name == k then
for l,w in pairs(v.Zones) do
if w.Type == "vehspawnpt" and w.Spawner == zone.Spawner then
spawnPoint = w
@@ -129,7 +112,7 @@ AddEventHandler('esx_jobs:action', function(job, zone, zoneKey)
local looping = true
for k,v in pairs(Config.Jobs) do
if PlayerData.job.name == k then
if ESX.PlayerData.job.name == k then
for l,w in pairs(v.Zones) do
if w.Type == "vehdelete" and w.Spawner == zone.Spawner then
local playerPed = PlayerPedId()
@@ -223,7 +206,7 @@ end)
RegisterNetEvent('esx:setJob')
AddEventHandler('esx:setJob', function(job)
PlayerData.job = job
ESX.PlayerData.job = job
onDuty = false
myPlate = {} -- loosing vehicle caution in case player changes job.
spawner = 0
@@ -244,10 +227,10 @@ function refreshBlips()
local zones = {}
local blipInfo = {}
if PlayerData.job ~= nil then
if ESX.PlayerData.job ~= nil then
for jobKey,jobValues in pairs(Config.Jobs) do
if jobKey == PlayerData.job.name then
if jobKey == ESX.PlayerData.job.name then
for zoneKey,zoneValues in pairs(jobValues.Zones) do
if zoneValues.Blip then
@@ -334,16 +317,16 @@ Citizen.CreateThread(function()
Citizen.Wait(1)
local zones = {}
if PlayerData.job ~= nil then
if ESX.PlayerData.job ~= nil then
for k,v in pairs(Config.Jobs) do
if PlayerData.job.name == k then
if ESX.PlayerData.job.name == k then
zones = v.Zones
end
end
local coords = GetEntityCoords(PlayerPedId())
for k,v in pairs(zones) do
if onDuty or v.Type == "cloakroom" or PlayerData.job.name == "reporter" then
if onDuty or v.Type == "cloakroom" or ESX.PlayerData.job.name == "reporter" then
if (v.Zone) then
TriggerEvent("izone:getZoneCenter", v.Zone, function(center)
if (not(center == nil)) then
@@ -419,12 +402,12 @@ Citizen.CreateThread(function()
Citizen.Wait(1)
if PlayerData.job ~= nil and PlayerData.job.name ~= 'unemployed' then
if ESX.PlayerData.job ~= nil and ESX.PlayerData.job.name ~= 'unemployed' then
local zones = nil
local job = nil
for k,v in pairs(Config.Jobs) do
if PlayerData.job.name == k then
if ESX.PlayerData.job.name == k then
job = v
zones = v.Zones
end
@@ -468,7 +451,7 @@ Citizen.CreateThread(function()
end
if IsControlJustReleased(0, Keys['E']) and not menuIsShowed and isInMarker then
if onDuty or zone.Type == "cloakroom" or PlayerData.job.name == "reporter" then
if onDuty or zone.Type == "cloakroom" or ESX.PlayerData.job.name == "reporter" then
TriggerEvent('esx_jobs:action', job, zone, currentZone)
end
end
@@ -476,10 +459,10 @@ Citizen.CreateThread(function()
-- hide or show top left zone hints
if isInMarker and not menuIsShowed then
hintIsShowed = true
if (onDuty or zone.Type == "cloakroom" or PlayerData.job.name == "reporter") and zone.Type ~= "vehdelete" then
if (onDuty or zone.Type == "cloakroom" or ESX.PlayerData.job.name == "reporter") and zone.Type ~= "vehdelete" then
hintToDisplay = zone.Hint
hintIsShowed = true
elseif zone.Type == "vehdelete" and (onDuty or PlayerData.job.name == "reporter") then
elseif zone.Type == "vehdelete" and (onDuty or ESX.PlayerData.job.name == "reporter") then
local playerPed = PlayerPedId()
if IsPedInAnyVehicle(playerPed, false) then
@@ -540,3 +523,5 @@ Citizen.CreateThread(function()
RequestIpl("id2_14_during_door")
RequestIpl("id2_14_during1")
end)
if ESX.PlayerLoaded then refreshBlips() end
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Jobs'
version '1.1.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@es_extended/locale.lua',
-4
View File
@@ -1,9 +1,5 @@
local playersWorking = {}
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.CreateThread(function()
while true do
Citizen.Wait(1000)
+2 -1
View File
@@ -4,10 +4,11 @@ game 'gta5'
description 'ESX License'
version '1.0.1'
version 'legacy'
server_scripts {
'@async/async.lua',
'@es_extended/imports.lua',
'@mysql-async/lib/MySQL.lua',
'server/main.lua'
}
-4
View File
@@ -1,7 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
function AddLicense(target, type, cb)
local xPlayer = ESX.GetPlayerFromId(target)
+5 -18
View File
@@ -1,26 +1,13 @@
ESX = nil
local Vehicles = {}
local PlayerData = {}
local lsMenuIsShowed = false
local isInLSMarker = false
local myCar = {}
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
while ESX.GetPlayerData().job == nil do
Citizen.Wait(10)
end
PlayerData = ESX.GetPlayerData()
end)
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function(xPlayer)
PlayerData = xPlayer
ESX.PlayerData = xPlayer
ESX.PlayerLoaded = true
ESX.TriggerServerCallback('esx_lscustom:getVehiclesPrices', function(vehicles)
Vehicles = vehicles
@@ -29,7 +16,7 @@ end)
RegisterNetEvent('esx:setJob')
AddEventHandler('esx:setJob', function(job)
PlayerData.job = job
ESX.PlayerData.job = job
end)
RegisterNetEvent('esx_lscustom:installMod')
@@ -398,7 +385,7 @@ Citizen.CreateThread(function()
local coords = GetEntityCoords(PlayerPedId())
local currentZone, zone, lastZone
if (PlayerData.job and PlayerData.job.name == 'mechanic') or not Config.IsMechanicJobOnly then
if (ESX.PlayerData.job and ESX.PlayerData.job.name == 'mechanic') or not Config.IsMechanicJobOnly then
for k,v in pairs(Config.Zones) do
if GetDistanceBetweenCoords(coords, v.Pos.x, v.Pos.y, v.Pos.z, true) < v.Size.x and not lsMenuIsShowed then
isInLSMarker = true
@@ -411,7 +398,7 @@ Citizen.CreateThread(function()
end
if IsControlJustReleased(0, 38) and not lsMenuIsShowed and isInLSMarker then
if (PlayerData.job and PlayerData.job.name == 'mechanic') or not Config.IsMechanicJobOnly then
if (ESX.PlayerData.job and ESX.PlayerData.job.name == 'mechanic') or not Config.IsMechanicJobOnly then
lsMenuIsShowed = true
local vehicle = GetVehiclePedIsIn(playerPed, false)
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX LS Customs'
version '2.1.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@mysql-async/lib/MySQL.lua',
@@ -1,8 +1,5 @@
ESX = nil
local Vehicles
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
RegisterServerEvent('esx_lscustom:buyMod')
AddEventHandler('esx_lscustom:buyMod', function(price)
local _source = source
+1 -14
View File
@@ -3,20 +3,6 @@ local CurrentAction, CurrentActionMsg, CurrentActionData = nil, '', {}
local CurrentlyTowedVehicle, Blips, NPCOnJob, NPCTargetTowable, NPCTargetTowableZone = nil, {}, false, nil, nil
local NPCHasSpawnedTowable, NPCLastCancel, NPCHasBeenNextToTowable, NPCTargetDeleterZone = false, GetGameTimer() - 5 * 60000, false, false
local isDead, isBusy = false, false
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
while ESX.GetPlayerData().job == nil do
Citizen.Wait(10)
end
ESX.PlayerData = ESX.GetPlayerData()
end)
function SelectRandomTowable()
local index = GetRandomIntInRange(1, #Config.Towables)
@@ -696,6 +682,7 @@ end)
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function(xPlayer)
ESX.PlayerData = xPlayer
ESX.PlayerLoaded = true
end)
RegisterNetEvent('esx:setJob')
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Mechanic Job'
version '1.1.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
client_scripts {
'@es_extended/locale.lua',
+1 -9
View File
@@ -1,12 +1,4 @@
ESX = nil
PlayersHarvesting = {}
PlayersHarvesting2 = {}
PlayersHarvesting3 = {}
PlayersCrafting = {}
PlayersCrafting2 = {}
PlayersCrafting3 = {}
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
local PlayersHarvesting, PlayersHarvesting2, PlayersHarvesting3, PlayersCrafting, PlayersCrafting2, PlayersCrafting3 = {}, {}, {}, {}, {}, {}
if Config.MaxInService ~= -1 then
TriggerEvent('esx_service:activateService', 'mechanic', Config.MaxInService)
+3 -11
View File
@@ -1,19 +1,11 @@
ESX = nil
local IsAlreadyDrunk = false
local DrunkLevel = -1
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
function Drunk(level, start)
Citizen.CreateThread(function()
local playerPed = GetPlayerPed(-1)
local playerPed = PlayerPedId()
if start then
DoScreenFadeOut(800)
@@ -68,7 +60,7 @@ function Reality()
Citizen.CreateThread(function()
local playerPed = GetPlayerPed(-1)
local playerPed = PlayerPedId()
DoScreenFadeOut(800)
Wait(1000)
@@ -156,7 +148,7 @@ end)
RegisterNetEvent('esx_optionalneeds:onDrink')
AddEventHandler('esx_optionalneeds:onDrink', function()
local playerPed = GetPlayerPed(-1)
local playerPed = PlayerPedId()
TaskStartScenarioInPlace(playerPed, "WORLD_HUMAN_DRINKING", 0, 1)
Citizen.Wait(1000)
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Optional Needs'
version '1.0.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@es_extended/locale.lua',
@@ -1,9 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj)
ESX = obj
end)
ESX.RegisterUsableItem('beer', function(source)
local xPlayer = ESX.GetPlayerFromId(source)
+1 -10
View File
@@ -3,16 +3,6 @@ local CurrentAction, CurrentActionMsg
GUI.PhoneIsShowed = false
GUI.MessagesIsShowed = false
GUI.AddContactIsShowed = false
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
ESX.UI.Menu.RegisterType('phone', OpenPhone, ClosePhone)
end)
function OpenPhone()
local playerPed = PlayerPedId()
@@ -60,6 +50,7 @@ AddEventHandler('esx_phone:loaded', function(phoneNumber, contacts)
reloadPhone = true,
phoneData = PhoneData
})
ESX.UI.Menu.RegisterType('phone', OpenPhone, ClosePhone)
end)
RegisterNetEvent('esx_phone:addContact')
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Phone'
version '1.1.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@mysql-async/lib/MySQL.lua',
+12 -13
View File
@@ -1,13 +1,13 @@
ESX = nil
local DisptachRequestId, PhoneNumbers = 0, {}
TriggerEvent('esx:getSharedObject', function(obj)
ESX = obj
AddEventHandler('onResourceStart', function(resource)
if resource == GetCurrentResourceName() then
local xPlayers = ESX.GetExtendedPlayers()
local xPlayers = ESX.GetExtendedPlayers()
for i=1, #xPlayers, 1 do
LoadPlayer(xPlayers[i])
for i=1, #xPlayers, 1 do
LoadPlayer(xPlayers[i])
end
end
end)
@@ -17,7 +17,7 @@ function LoadPlayer(player)
for num,v in pairs(PhoneNumbers) do
if tonumber(num) == num then -- if phonenumber is a player phone number
for src,_ in pairs(v.sources) do
TriggerClientEvent('esx_phone:setPhoneNumberSource', source, num, tonumber(src))
TriggerClientEvent('esx_phone:setPhoneNumberSource', xPlayer.source, num, tonumber(src))
end
end
end
@@ -35,8 +35,7 @@ function LoadPlayer(player)
['@phone_number'] = phoneNumber
})
end
TriggerClientEvent('esx_phone:setPhoneNumberSource', -1, phoneNumber, source)
TriggerClientEvent('esx_phone:setPhoneNumberSource', -1, phoneNumber, xPlayer.source)
PhoneNumbers[phoneNumber] = {
type = 'player',
@@ -44,14 +43,14 @@ function LoadPlayer(player)
sharePos = false,
hideNumber = false,
hidePosIfAnon = false,
sources = {[source] = true}
sources = {[xPlayer.source] = true}
}
xPlayer.set('phoneNumber', phoneNumber)
local contacts = {}
if PhoneNumbers[xPlayer.job.name] then
TriggerEvent('esx_phone:addSource', xPlayer.job.name, source)
TriggerEvent('esx_phone:addSource', xPlayer.job.name, xPlayer.source)
end
MySQL.Async.fetchAll('SELECT * FROM user_contacts WHERE identifier = @identifier ORDER BY name ASC', {
@@ -65,7 +64,7 @@ function LoadPlayer(player)
end
xPlayer.set('contacts', contacts)
TriggerClientEvent('esx_phone:loaded', source, phoneNumber, contacts)
TriggerClientEvent('esx_phone:loaded', xPlayer.source, phoneNumber, contacts)
end)
end)
end
+9 -16
View File
@@ -2,20 +2,11 @@ local CurrentActionData, handcuffTimer, dragStatus, blipsCops, currentTask = {},
local HasAlreadyEnteredMarker, isDead, isHandcuffed, hasAlreadyJoined, playerInService = false, false, false, false, false
local LastStation, LastPart, LastPartNum, LastEntity, CurrentAction, CurrentActionMsg
dragStatus.isDragged, isInShopMenu = false, false
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
while ESX.GetPlayerData().job == nil do
Citizen.Wait(10)
end
ESX.PlayerData = ESX.GetPlayerData()
end)
if ESX.PlayerLoaded and ESX.PlayerData.job == 'police' then
Citizen.Wait(1000)
TriggerServerEvent('esx_policejob:forceBlip')
end
function cleanPlayer(playerPed)
SetPedArmour(playerPed, 0)
@@ -931,9 +922,10 @@ end
RegisterNetEvent('esx:setJob')
AddEventHandler('esx:setJob', function(job)
ESX.PlayerData.job = job
Citizen.Wait(5000)
TriggerServerEvent('esx_policejob:forceBlip')
if job.name == 'police' then
Citizen.Wait(1000)
TriggerServerEvent('esx_policejob:forceBlip')
end
end)
RegisterNetEvent('esx_phone:loaded')
@@ -1508,6 +1500,7 @@ AddEventHandler('esx_policejob:updateBlip', function()
-- Is the player a cop? In that case show all the blips for other cops
if ESX.PlayerData.job and ESX.PlayerData.job.name == 'police' then
ESX.TriggerServerCallback('esx_society:getOnlinePlayers', function(players)
print(ESX.DumpTable(players))
for i=1, #players, 1 do
if players[i].job.name == 'police' then
local id = GetPlayerFromServerId(players[i].source)
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Police Job'
version '1.3.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@mysql-async/lib/MySQL.lua',
@@ -1,7 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
if Config.EnableESXService then
if Config.MaxInService ~= -1 then
TriggerEvent('esx_service:activateService', 'police', Config.MaxInService)
@@ -1,14 +1,6 @@
local OwnedProperties, Blips, CurrentActionData = {}, {}, {}
local CurrentProperty, CurrentPropertyOwner, LastProperty, LastPart, CurrentAction, CurrentActionMsg
local firstSpawn, hasChest, hasAlreadyEnteredMarker = true, false, false
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function(xPlayer)
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Property'
version '1.0.4'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@async/async.lua',
@@ -1,7 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
function GetProperty(name)
for i=1, #Config.Properties, 1 do
if Config.Properties[i].name == name then
@@ -1,25 +1,5 @@
local hasAlreadyEnteredMarker, CurrentActionData = false, {}
local CurrentAction, CurrentActionMsg, LastZone
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
while ESX.GetPlayerData().job == nil do
Citizen.Wait(100)
end
ESX.PlayerData = ESX.GetPlayerData()
if ESX.PlayerData.job.name == 'realestateagent' then
Config.Zones.OfficeActions.Type = 1
else
Config.Zones.OfficeActions.Type = -1
end
end)
function OpenRealestateAgentMenu()
local elements = {
@@ -185,6 +165,18 @@ function OpenCustomersMenu()
end)
end
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function(xPlayer)
ESX.PlayerData = xPlayer
ESX.PlayerLoaded = true
if ESX.PlayerData.job.name == 'realestateagent' then
Config.Zones.OfficeActions.Type = 1
else
Config.Zones.OfficeActions.Type = -1
end
end)
RegisterNetEvent('esx:setJob')
AddEventHandler('esx:setJob', function(job)
ESX.PlayerData.job = job
@@ -309,4 +301,11 @@ AddEventHandler('esx_phone:loaded', function(phoneNumber, contacts)
}
TriggerEvent('esx_phone:addSpecialContact', specialContact.name, specialContact.number, specialContact.base64Icon)
end)
if ESX.PlayerLoaded and ESX.PlayerData.job.name == 'realestateagent' then
Config.Zones.OfficeActions.Type = 1
else
Config.Zones.OfficeActions.Type = -1
end
end)
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Real Estate Job'
version '1.0.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@es_extended/locale.lua',
@@ -1,7 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
TriggerEvent('esx_phone:registerNumber', 'realestateagent', _U('clients'), false, false)
TriggerEvent('esx_society:registerSociety', 'realestateagent', _U('realtors'), 'society_realestateagent', 'society_realestateagent', 'society_realestateagent', {type = 'private'})
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX RP Chat'
version '1.3.1'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'@es_extended/locale.lua',
-4
View File
@@ -1,7 +1,3 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
AddEventHandler('chatMessage', function(playerId, playerName, message)
if string.sub(message, 1, string.len('/')) ~= '/' then
CancelEvent()
-9
View File
@@ -1,12 +1,3 @@
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
RegisterNetEvent('esx_service:notifyAllInService')
AddEventHandler('esx_service:notifyAllInService', function(notification, target)
target = GetPlayerFromServerId(target)
+3 -1
View File
@@ -4,7 +4,9 @@ game 'gta5'
description 'ESX Service'
version '1.0.0'
version 'legacy'
shared_script '@es_extended/imports.lua'
server_scripts {
'server/main.lua'

Some files were not shown because too many files have changed in this diff Show More