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