diff --git a/[esx]/es_extended/client/modules/death.lua b/[esx]/es_extended/client/modules/death.lua index 54b478fb..75361ba0 100644 --- a/[esx]/es_extended/client/modules/death.lua +++ b/[esx]/es_extended/client/modules/death.lua @@ -1,32 +1,17 @@ -CreateThread(function() - local isDead = false - - while true do - local sleep = 1500 - local player = PlayerId() - - if NetworkIsPlayerActive(player) then - local playerPed = PlayerPedId() - - if IsPedFatallyInjured(playerPed) and not isDead then - sleep = 0 - isDead = true - - local killerEntity, deathCause = GetPedSourceOfDeath(playerPed), GetPedCauseOfDeath(playerPed) - local killerClientId = NetworkGetPlayerIndexFromPed(killerEntity) - - if killerEntity ~= playerPed and killerClientId and NetworkIsPlayerActive(killerClientId) then - PlayerKilledByPlayer(GetPlayerServerId(killerClientId), killerClientId, deathCause) - else - PlayerKilled(deathCause) - end - - elseif not IsPedFatallyInjured(playerPed) and isDead then - sleep = 0 - isDead = false - end +AddEventHandler('gameEventTriggered', function(event, data) + if event ~= 'CEventNetworkEntityDamage' then return end + local victim, victimDied = data[1], data[4] + if not IsPedAPlayer(victim) then return end + local player = PlayerId() + local playerPed = PlayerPedId() + if victimDied and NetworkGetPlayerIndexFromPed(victim) == player and IsPedDeadOrDying(victim, true) then + local killerEntity, deathCause = GetPedSourceOfDeath(playerPed), GetPedCauseOfDeath(playerPed) + local killerClientId = NetworkGetPlayerIndexFromPed(killerEntity) + if killerEntity ~= playerPed and killerClientId and NetworkIsPlayerActive(killerClientId) then + PlayerKilledByPlayer(GetPlayerServerId(killerClientId), killerClientId, deathCause) + else + PlayerKilled(deathCause) end - Wait(sleep) end end) diff --git a/[esx]/es_extended/server/classes/player.lua b/[esx]/es_extended/server/classes/player.lua index f086e224..e15ec671 100644 --- a/[esx]/es_extended/server/classes/player.lua +++ b/[esx]/es_extended/server/classes/player.lua @@ -300,10 +300,14 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, end function self.canCarryItem(name, count, metadata) - local currentWeight, itemWeight = self.weight, ESX.Items[name].weight - local newWeight = currentWeight + (itemWeight * count) + if ESX.Items[name] then + local currentWeight, itemWeight = self.weight, ESX.Items[name].weight + local newWeight = currentWeight + (itemWeight * count) - return newWeight <= self.maxWeight + return newWeight <= self.maxWeight + else + print(('[^3WARNING^7] Item ^5"%s"^7 was used but does not exist!'):format(name)) + end end function self.canSwapItem(firstItem, firstItemCount, testItem, testItemCount) diff --git a/[esx]/esx_context/index.html b/[esx]/esx_context/index.html index c44b7d3e..fa50034e 100644 --- a/[esx]/esx_context/index.html +++ b/[esx]/esx_context/index.html @@ -1,7 +1,8 @@ + - + @@ -9,7 +10,7 @@ ESX Context HUD - +
- +
Unselectable Item Testing, testing a description here.
- +
Disabled Item Testing, testing a description here.
- +
Item Testing, testing a description here. Generic words to force overflow. -
+
+ \ No newline at end of file diff --git a/[esx_addons]/esx_banking/client/main.lua b/[esx_addons]/esx_banking/client/main.lua index 2c60fe9f..342eefb9 100644 --- a/[esx_addons]/esx_banking/client/main.lua +++ b/[esx_addons]/esx_banking/client/main.lua @@ -172,11 +172,11 @@ local function StartThread() PedHandler(closestPed) end - if not isInMenu and IsPedOnFoot(PlayerPedId()) then + if IsPedOnFoot(PlayerPedId()) then local closestBank = {} for i = 1, #Config.AtmModels do - local atm = GetClosestObjectOfType(_GetEntityCoords, 3.0, Config.AtmModels[i], false) + local atm = GetClosestObjectOfType(_GetEntityCoords, 8.0, Config.AtmModels[i], false) if atm ~= 0 then local atmOffset = GetOffsetFromEntityInWorldCoords(atm, 0.0, -0.7, 0.0) local atmHeading = GetEntityHeading(atm) diff --git a/[esx_addons]/esx_banking/server/main.lua b/[esx_addons]/esx_banking/server/main.lua index 3b9f3d76..110c19d9 100644 --- a/[esx_addons]/esx_banking/server/main.lua +++ b/[esx_addons]/esx_banking/server/main.lua @@ -48,7 +48,7 @@ AddEventHandler('esx_banking:doingType', function(typeData) end amount = ESX.Math.Round(amount) - if amount == nil or amount <= 0 then + if amount == nil or (not typeData.pincode and amount <= 0) then TriggerClientEvent("esx:showNotification", source, TranslateCap('invalid_amount'), "error") else if typeData.deposit and amount <= money then @@ -79,7 +79,7 @@ AddEventHandler('esx_banking:doingType', function(typeData) TriggerClientEvent("esx:showNotification", source, TranslateCap(string.format('%s_money', key), amount, typeData.transfer.playerId), "success") else - TriggerClientEvent("esx:showNotification", source, TranslateCap(string.format('%s_money', key), amount), "success") + TriggerClientEvent("esx:showNotification", source, TranslateCap(string.format('%s_money', key), typeData.pincode and (string.format("%04d", amount)) or amount), "success") end if not typeData.pincode then BANK.LogTransaction(source, string.upper(key), amount, bankMoney) diff --git a/[esx_addons]/esx_lscustom/client/main.lua b/[esx_addons]/esx_lscustom/client/main.lua index b598f9b8..c5c79fd6 100644 --- a/[esx_addons]/esx_lscustom/client/main.lua +++ b/[esx_addons]/esx_lscustom/client/main.lua @@ -17,6 +17,15 @@ AddEventHandler('esx_lscustom:installMod', function() TriggerServerEvent('esx_lscustom:refreshOwnedVehicle', myCar) end) +RegisterNetEvent('esx_lscustom:restoreMods', function(netId, props) + local xVehicle = NetworkGetEntityFromNetworkId(netId) + if props ~= nil then + if DoesEntityExist(xVehicle) then + ESX.Game.SetVehicleProperties(xVehicle, props) + end + end +end) + RegisterNetEvent('esx_lscustom:cancelInstallMod') AddEventHandler('esx_lscustom:cancelInstallMod', function() local vehicle = GetVehiclePedIsIn(PlayerPedId(), false) @@ -51,7 +60,6 @@ AddEventHandler('onResourceStop', function(resource) end end) - function OpenLSMenu(elems, menuName, menuTitle, parent) ESX.UI.Menu.Open('default', GetCurrentResourceName(), menuName, { title = menuTitle, @@ -82,7 +90,7 @@ function OpenLSMenu(elems, menuName, menuTitle, parent) break end end - + if isRimMod then price = math.floor(vehiclePrice * data.current.price / 100) TriggerServerEvent('esx_lscustom:buyMod', price) @@ -120,6 +128,7 @@ function OpenLSMenu(elems, menuName, menuTitle, parent) lsMenuIsShowed = false local vehicle = GetVehiclePedIsIn(PlayerPedId(), false) FreezeEntityPosition(vehicle, false) + TriggerServerEvent('esx_lscustom:stopModing', myCar.plate) myCar = {} end end, function(data, menu) -- on change @@ -170,7 +179,6 @@ function GetAction(data) local playerPed = PlayerPedId() local vehicle = GetVehiclePedIsIn(playerPed, false) local currentMods = ESX.Game.GetVehicleProperties(vehicle) - if data.value == 'modSpeakers' or data.value == 'modTrunk' or data.value == 'modHydrolic' or data.value == 'modEngineBlock' or data.value == 'modAirFilter' or data.value == 'modStruts' or data.value == 'modTank' then SetVehicleDoorOpen(vehicle, 4, false) @@ -503,6 +511,9 @@ CreateThread(function() local vehicle = GetVehiclePedIsIn(playerPed, false) FreezeEntityPosition(vehicle, true) myCar = ESX.Game.GetVehicleProperties(vehicle) + + local netId = NetworkGetNetworkIdFromEntity(vehicle) + TriggerServerEvent('esx_lscustom:startModing', myCar, netId) ESX.UI.Menu.CloseAll() GetAction({ diff --git a/[esx_addons]/esx_lscustom/server/main.lua b/[esx_addons]/esx_lscustom/server/main.lua index 5d95fe1f..a2f41376 100644 --- a/[esx_addons]/esx_lscustom/server/main.lua +++ b/[esx_addons]/esx_lscustom/server/main.lua @@ -1,4 +1,40 @@ local Vehicles +local Customs = {} + +RegisterNetEvent('esx_lscustom:startModing', function(props, netId) + local src = tostring(source) + if Customs[src] then + Customs[src][props.plate] = {props = props, netId = netId} + else + Customs[src] = {} + Customs[src][props.plate] = {props = props, netId = netId} + end +end) + +RegisterNetEvent('esx_lscustom:stopModing', function(plate) + local src = tostring(source) + if Customs[src] then + Customs[src][tostring(plate)] = nil + end +end) + +AddEventHandler('esx:playerDropped', function(src) + src = tostring(src) + local playersCount = #ESX.GetExtendedPlayers() + if Customs[src] then + for k,v in pairs(Customs[src]) do + local entity = NetworkGetEntityFromNetworkId(v.netId) + if DoesEntityExist(entity) then + if players > 0 then + TriggerClientEvent('esx_lscustom:restoreMods', -1, v.netId, v.props) + else + DeleteEntity(entity) + end + end + end + Customs[src] = nil + end +end) RegisterServerEvent('esx_lscustom:buyMod') AddEventHandler('esx_lscustom:buyMod', function(price) @@ -41,9 +77,9 @@ AddEventHandler('esx_lscustom:refreshOwnedVehicle', function(vehicleProps) function(result) if result then local vehicle = json.decode(result.vehicle) - if vehicleProps.model == vehicle.model then MySQL.update('UPDATE owned_vehicles SET vehicle = ? WHERE plate = ?', {json.encode(vehicleProps), vehicleProps.plate}) + Customs[tostring(source)][tostring(vehicleProps.plate)].props = props else print(('[^3WARNING^7] Player ^5%s^7 Attempted To upgrade with mismatching vehicle model'):format(xPlayer.source)) end diff --git a/[esx_addons]/esx_property/client/cctv.lua b/[esx_addons]/esx_property/client/cctv.lua index 6d0ec39e..05b46c25 100644 --- a/[esx_addons]/esx_property/client/cctv.lua +++ b/[esx_addons]/esx_property/client/cctv.lua @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . -]] +]] function CCTV(PropertyID) DoScreenFadeOut(500) Wait(500) @@ -70,7 +70,7 @@ function CCTV(PropertyID) PushScaleformMovieFunctionParameterInt(4) N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.CCTV.Controls.ZoomOut, true)) N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.CCTV.Controls.ZoomIn, true)) - InstructionButtonMessage(TranslateCap("Zoom")) + InstructionButtonMessage(TranslateCap("zoom")) PopScaleformMovieFunctionVoid() PushScaleformMovieFunction(scaleform, "SET_DATA_SLOT") diff --git a/[esx_addons]/esx_property/client/furniture.lua b/[esx_addons]/esx_property/client/furniture.lua index 7ca92e14..52314fc2 100644 --- a/[esx_addons]/esx_property/client/furniture.lua +++ b/[esx_addons]/esx_property/client/furniture.lua @@ -103,14 +103,14 @@ if Config.Furniture.Enabled then PushScaleformMovieFunctionParameterInt(5) N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.Up, true)) N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.Down, true)) - InstructionButtonMessage(TranslateCap("Height")) + InstructionButtonMessage(TranslateCap("height")) PopScaleformMovieFunctionVoid() PushScaleformMovieFunction(scaleform, "SET_DATA_SLOT") PushScaleformMovieFunctionParameterInt(7) N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.RotateLeft, true)) N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.RotateRight, true)) - InstructionButtonMessage(TranslateCap("Rotation")) + InstructionButtonMessage(TranslateCap("rotate")) PopScaleformMovieFunctionVoid() PushScaleformMovieFunction(scaleform, "SET_DATA_SLOT") diff --git a/[esx_addons]/esx_property/client/main.lua b/[esx_addons]/esx_property/client/main.lua index 4aa41e29..9c2fd4f2 100644 --- a/[esx_addons]/esx_property/client/main.lua +++ b/[esx_addons]/esx_property/client/main.lua @@ -281,7 +281,7 @@ function PropertyMenuElements(PropertyId) value = 'property_wardrobe'}) end table.insert(elements, - {title = TranslateCap("Furniture_title"), description = TranslateCap("Furniture_desc"), icon = "fas fa-boxes-stacked", value = 'property_furniture'}) + {title = TranslateCap("furniture_title"), description = TranslateCap("furniture_desc"), icon = "fas fa-boxes-stacked", value = 'property_furniture'}) end end if (not Property.Locked or Config.OwnerCanAlwaysEnter and ESX.PlayerData.identifier == Property.Owner) and not InProperty then @@ -454,7 +454,7 @@ function OpenPropertyMenu(PropertyId) local eles = PropertyMenuElements(PropertyId) exports["esx_context"]:Refresh(eles) else - ESX.ShowNotification(TranslateCap("cannot_Sell"), "error") + ESX.ShowNotification(TranslateCap("cannot_sell"), "error") end end, PropertyId, element.value) end @@ -476,7 +476,7 @@ function OpenPropertyMenu(PropertyId) local eles = PropertyMenuElements(PropertyId) exports["esx_context"]:Refresh(eles) else - ESX.ShowNotification(TranslateCap("cannot_Sell"), "error") + ESX.ShowNotification(TranslateCap("cannot_sell"), "error") end end, PropertyId) end diff --git a/[esx_addons]/esx_property/locales/en.lua b/[esx_addons]/esx_property/locales/en.lua index 6cd3347b..217c1206 100644 --- a/[esx_addons]/esx_property/locales/en.lua +++ b/[esx_addons]/esx_property/locales/en.lua @@ -4,8 +4,8 @@ Locales['en'] = { ["take_picture"] = "Take Picture", ["rot_left_right"] = "Left/Right", ["rot_up_down"] = "Up/Down", - ["Zoom"] = "Zoom In/Out", - ["Zoom_level"] = "Zoom Level: %s %", + ["zoom"] = "Zoom In/Out", + ["zoom_level"] = "Zoom Level: %s %", ["night_vision"] = "Toggle Night Vision", ["clipboard"] = "Link Copied To ~b~Cipboard", ["picture_taken"] = "Picture Taken!", @@ -14,7 +14,7 @@ Locales['en'] = { --- Furniture Strings ------ - ["Height"] = "Height", + ["height"] = "Height", ["rotate"] = "Rotation", ["place"] = "Place Furniture", ["delete_furni"] = "Delete", @@ -41,7 +41,7 @@ Locales['en'] = { ["menu_edit"] = "Edit", ["menu_edit_desc"] = "Move and/or Delete furniture items", ["furni_command"] = "furniture", - ["furni_Command_desc"] = "(ESX Property) Open Furniture Menu", + ["furni_command_desc"] = "(ESX Property) Open Furniture Menu", ["furni_command_permission"] = "You ~r~Cannot~s~ Access This Menu!", ["furni_reset_success"] = "Furniture Reset!", ["furni_cannot_afford"] = "You Cannot Afford Todo this!", @@ -113,8 +113,8 @@ Locales['en'] = { ["inventory_desc"] = "Change Position of Property Storage.", ["wardrobe_title"] = "Wardrobe", ["wardrobe_desc"] = "Change Position of Property Wardrobe.", - ["Furniture_title"] = "Furniture", - ["Furniture_desc"] = "Change Position of Property Furniture.", + ["furniture_title"] = "Furniture", + ["furniture_desc"] = "Change Position of Property Furniture.", ["enter_title"] = "Enter", ["knock_title"] = "Knock On Door", ["buy_title"] = "Buy", @@ -139,11 +139,11 @@ Locales['en'] = { ["please_finish"] = "Please Finish Setting ~b~%s~s~ Position", ["cannot_afford"] = "You Cannot Purchase This Property!", ["select_player"] = "Select Player", - ["cannot_Sell"] = "Cannot Sell To This Player!", + ["cannot_sell"] = "Cannot Sell To This Player!", ["knock_on_door"] = "Knocking On Door...", ["nobody_home"] = "It Seems Nobody is home...", - ---------- General Strings ---------------- + ---------- General Strings ---------------- ["enabled"] = "Enabled", ["disabled"] = "Disabled", @@ -166,7 +166,7 @@ Locales['en'] = { ["cannot_access_property"] = 'You ~r~Cannot~s~ Access this property.', - ----------------- Creation Menu Strings ---------------- + ----------------- Creation Menu Strings ---------------- ["menu_title"] = "Property Creation", ["element_title1"] = "Street Number", diff --git a/[esx_addons]/esx_property/locales/nl.lua b/[esx_addons]/esx_property/locales/nl.lua index b2669538..aa7bc704 100644 --- a/[esx_addons]/esx_property/locales/nl.lua +++ b/[esx_addons]/esx_property/locales/nl.lua @@ -4,8 +4,8 @@ Locales['nl'] = { ["take_picture"] = "Neem foto", ["rot_left_right"] = "Links/Rechts", ["rot_up_down"] = "Omhoog/Omblaag", - ["Zoom"] = "Zoom In/Uit", - ["Zoom_level"] = "Zoom Level: %s %", + ["zoom"] = "Zoom In/Uit", + ["zoom_level"] = "Zoom Level: %s %", ["night_vision"] = "Nachtcamera aanzetten", ["clipboard"] = "Link gekopierd naar ~b~klembord", ["picture_taken"] = "Foto genomen!", @@ -14,7 +14,7 @@ Locales['nl'] = { --- Furniture Strings ------ - ["Height"] = "Hoogte", + ["height"] = "Hoogte", ["rotate"] = "Rotatie", ["place"] = "Plaats Meubel", ["delete_furni"] = "Verwijder", @@ -41,7 +41,7 @@ Locales['nl'] = { ["menu_edit"] = "Aanpassen", ["menu_edit_desc"] = "Verplaats en/of verwijder meubels", ["furni_command"] = "meubel", - ["furni_Command_desc"] = "(ESX Property) Open meubel menu", + ["furni_command_desc"] = "(ESX Property) Open meubel menu", ["furni_command_permission"] = "Je ~r~Kan dit~s~ menu niet betreden!", ["furni_reset_success"] = "Meubel Reset!", ["furni_cannot_afford"] = "Je kan dit niet betalen!", @@ -113,8 +113,8 @@ Locales['nl'] = { ["inventory_desc"] = "Verander positie van de berging.", ["wardrobe_title"] = "Kledingkast", ["wardrobe_desc"] = "Verander de positie van de kledingkast.", - ["Furniture_title"] = "Meubels", - ["Furniture_desc"] = "Verander de positie van een meubel", + ["furniture_title"] = "Meubels", + ["furniture_desc"] = "Verander de positie van een meubel", ["enter_title"] = "Ga naar binnen", ["knock_title"] = "Klop op de deur", ["buy_title"] = "Koop", @@ -139,11 +139,11 @@ Locales['nl'] = { ["please_finish"] = "Maak het plaatsen van ~b~%s~s~ eerst af.", ["cannot_afford"] = "Je kan dit gebouw niet kopen!", ["select_player"] = "Selecteer speler", - ["cannot_Sell"] = "Kan niet aan deze speler verkopen!", + ["cannot_sell"] = "Kan niet aan deze speler verkopen!", ["knock_on_door"] = "Op deur kloppen...", ["nobody_home"] = "Lijkt erop alsof niemand thuis is...", - ---------- General Strings ---------------- + ---------- General Strings ---------------- ["enabled"] = "Aan", ["disabled"] = "Uit", @@ -166,7 +166,7 @@ Locales['nl'] = { ["cannot_access_property"] = 'Je ~r~kan niet~s~ dit gebouw betreden.', - ----------------- Creation Menu Strings ---------------- + ----------------- Creation Menu Strings ---------------- ["menu_title"] = "Gebouw creatie", ["element_title1"] = "Straat nummer", diff --git a/[esx_addons]/esx_property/locales/tc.lua b/[esx_addons]/esx_property/locales/tc.lua index a9f75943..30db8f83 100644 --- a/[esx_addons]/esx_property/locales/tc.lua +++ b/[esx_addons]/esx_property/locales/tc.lua @@ -4,8 +4,8 @@ Locales['tc'] = { ["take_picture"] = "拍攝照片", ["rot_left_right"] = "左/右", ["rot_up_down"] = "上/下", - ["Zoom"] = "放大/縮小", - ["Zoom_level"] = "縮放等級: %s %", + ["zoom"] = "放大/縮小", + ["zoom_level"] = "縮放等級: %s %", ["night_vision"] = "切換夜視模式", ["clipboard"] = "圖片連結已複製至 ~b~剪貼簿", ["picture_taken"] = "已拍攝照片!", @@ -14,7 +14,7 @@ Locales['tc'] = { --- Furniture Strings ------ - ["Height"] = "高度", + ["height"] = "高度", ["rotate"] = "角度", ["place"] = "放置家具", ["delete_furni"] = "移除", @@ -41,7 +41,7 @@ Locales['tc'] = { ["menu_edit"] = "編輯", ["menu_edit_desc"] = "移動、移除家具物品", ["furni_command"] = "furniture", - ["furni_Command_desc"] = "(ESX Property) 打開家具選單", + ["furni_command_desc"] = "(ESX Property) 打開家具選單", ["furni_command_permission"] = "你 ~r~沒有~s~ 此選單的權限!", ["furni_reset_success"] = "家具已重設!", ["furni_cannot_afford"] = "你沒有足夠的金錢進行此操作!", @@ -113,8 +113,8 @@ Locales['tc'] = { ["inventory_desc"] = "移動房產儲物櫃的位置", ["wardrobe_title"] = "衣櫃", ["wardrobe_desc"] = "移動房產衣櫃的位置", - ["Furniture_title"] = "家具", - ["Furniture_desc"] = "移動房產家具的位置", + ["furniture_title"] = "家具", + ["furniture_desc"] = "移動房產家具的位置", ["enter_title"] = "進入", ["knock_title"] = "敲門", ["buy_title"] = "購買", @@ -139,7 +139,7 @@ Locales['tc'] = { ["please_finish"] = "請完成 ~b~%s~s~ 的位置設定", ["cannot_afford"] = "你無法購買這個房產!", ["select_player"] = "選擇對象", - ["cannot_Sell"] = "無法賣給對方!", + ["cannot_sell"] = "無法賣給對方!", ["knock_on_door"] = "敲門…", ["nobody_home"] = "看起來沒人在家…",