mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-08-31 02:08:55 +00:00
Improved ammo handling
This commit is contained in:
+39
-38
@@ -303,10 +303,11 @@ ESX.GetWeaponLabel = function(name)
|
||||
end
|
||||
|
||||
ESX.Game.GetPedMugshot = function(ped)
|
||||
mugshot = RegisterPedheadshot(ped)
|
||||
local mugshot = RegisterPedheadshot(ped)
|
||||
while not IsPedheadshotReady(mugshot) do
|
||||
Wait(0)
|
||||
Citizen.Wait(0)
|
||||
end
|
||||
|
||||
return mugshot, GetPedheadshotTxdString(mugshot)
|
||||
end
|
||||
|
||||
@@ -745,55 +746,55 @@ ESX.Game.GetVehicleProperties = function(vehicle)
|
||||
neonColor = table.pack(GetVehicleNeonLightsColour(vehicle)),
|
||||
tyreSmokeColor = table.pack(GetVehicleTyreSmokeColor(vehicle)),
|
||||
|
||||
modSpoilers = GetVehicleMod(vehicle, 0),
|
||||
modFrontBumper = GetVehicleMod(vehicle, 1),
|
||||
modRearBumper = GetVehicleMod(vehicle, 2),
|
||||
modSideSkirt = GetVehicleMod(vehicle, 3),
|
||||
modExhaust = GetVehicleMod(vehicle, 4),
|
||||
modFrame = GetVehicleMod(vehicle, 5),
|
||||
modGrille = GetVehicleMod(vehicle, 6),
|
||||
modHood = GetVehicleMod(vehicle, 7),
|
||||
modFender = GetVehicleMod(vehicle, 8),
|
||||
modRightFender = GetVehicleMod(vehicle, 9),
|
||||
modRoof = GetVehicleMod(vehicle, 10),
|
||||
modSpoilers = GetVehicleMod(vehicle, 0),
|
||||
modFrontBumper = GetVehicleMod(vehicle, 1),
|
||||
modRearBumper = GetVehicleMod(vehicle, 2),
|
||||
modSideSkirt = GetVehicleMod(vehicle, 3),
|
||||
modExhaust = GetVehicleMod(vehicle, 4),
|
||||
modFrame = GetVehicleMod(vehicle, 5),
|
||||
modGrille = GetVehicleMod(vehicle, 6),
|
||||
modHood = GetVehicleMod(vehicle, 7),
|
||||
modFender = GetVehicleMod(vehicle, 8),
|
||||
modRightFender = GetVehicleMod(vehicle, 9),
|
||||
modRoof = GetVehicleMod(vehicle, 10),
|
||||
|
||||
modEngine = GetVehicleMod(vehicle, 11),
|
||||
modBrakes = GetVehicleMod(vehicle, 12),
|
||||
modTransmission = GetVehicleMod(vehicle, 13),
|
||||
modHorns = GetVehicleMod(vehicle, 14),
|
||||
modSuspension = GetVehicleMod(vehicle, 15),
|
||||
modArmor = GetVehicleMod(vehicle, 16),
|
||||
modEngine = GetVehicleMod(vehicle, 11),
|
||||
modBrakes = GetVehicleMod(vehicle, 12),
|
||||
modTransmission = GetVehicleMod(vehicle, 13),
|
||||
modHorns = GetVehicleMod(vehicle, 14),
|
||||
modSuspension = GetVehicleMod(vehicle, 15),
|
||||
modArmor = GetVehicleMod(vehicle, 16),
|
||||
|
||||
modTurbo = IsToggleModOn(vehicle, 18),
|
||||
modSmokeEnabled = IsToggleModOn(vehicle, 20),
|
||||
modXenon = IsToggleModOn(vehicle, 22),
|
||||
modTurbo = IsToggleModOn(vehicle, 18),
|
||||
modSmokeEnabled = IsToggleModOn(vehicle, 20),
|
||||
modXenon = IsToggleModOn(vehicle, 22),
|
||||
|
||||
modFrontWheels = GetVehicleMod(vehicle, 23),
|
||||
modBackWheels = GetVehicleMod(vehicle, 24),
|
||||
modFrontWheels = GetVehicleMod(vehicle, 23),
|
||||
modBackWheels = GetVehicleMod(vehicle, 24),
|
||||
|
||||
modPlateHolder = GetVehicleMod(vehicle, 25),
|
||||
modVanityPlate = GetVehicleMod(vehicle, 26),
|
||||
modTrimA = GetVehicleMod(vehicle, 27),
|
||||
modTrimA = GetVehicleMod(vehicle, 27),
|
||||
modOrnaments = GetVehicleMod(vehicle, 28),
|
||||
modDashboard = GetVehicleMod(vehicle, 29),
|
||||
modDial = GetVehicleMod(vehicle, 30),
|
||||
modDoorSpeaker = GetVehicleMod(vehicle, 31),
|
||||
modSeats = GetVehicleMod(vehicle, 32),
|
||||
modSteeringWheel = GetVehicleMod(vehicle, 33),
|
||||
modShifterLeavers = GetVehicleMod(vehicle, 34),
|
||||
modAPlate = GetVehicleMod(vehicle, 35),
|
||||
modDial = GetVehicleMod(vehicle, 30),
|
||||
modDoorSpeaker = GetVehicleMod(vehicle, 31),
|
||||
modSeats = GetVehicleMod(vehicle, 32),
|
||||
modSteeringWheel = GetVehicleMod(vehicle, 33),
|
||||
modShifterLeavers = GetVehicleMod(vehicle, 34),
|
||||
modAPlate = GetVehicleMod(vehicle, 35),
|
||||
modSpeakers = GetVehicleMod(vehicle, 36),
|
||||
modTrunk = GetVehicleMod(vehicle, 37),
|
||||
modTrunk = GetVehicleMod(vehicle, 37),
|
||||
modHydrolic = GetVehicleMod(vehicle, 38),
|
||||
modEngineBlock = GetVehicleMod(vehicle, 39),
|
||||
modEngineBlock = GetVehicleMod(vehicle, 39),
|
||||
modAirFilter = GetVehicleMod(vehicle, 40),
|
||||
modStruts = GetVehicleMod(vehicle, 41),
|
||||
modStruts = GetVehicleMod(vehicle, 41),
|
||||
modArchCover = GetVehicleMod(vehicle, 42),
|
||||
modAerials = GetVehicleMod(vehicle, 43),
|
||||
modTrimB = GetVehicleMod(vehicle, 44),
|
||||
modTank = GetVehicleMod(vehicle, 45),
|
||||
modTrimB = GetVehicleMod(vehicle, 44),
|
||||
modTank = GetVehicleMod(vehicle, 45),
|
||||
modWindows = GetVehicleMod(vehicle, 46),
|
||||
modLivery = GetVehicleMod(vehicle, 48)
|
||||
modLivery = GetVehicleMod(vehicle, 48)
|
||||
}
|
||||
|
||||
end
|
||||
@@ -1353,7 +1354,7 @@ ESX.ShowInventory = function()
|
||||
SetPedAmmo(playerPed, item, finalAmmoSource)
|
||||
AddAmmoToPed(closestPed, item, quantity)
|
||||
ESX.ShowNotification(_U('gave_ammo', quantity, GetPlayerName(closestPlayer)))
|
||||
-- todo notify target that he recived ammo
|
||||
-- todo notify target that he received ammo
|
||||
menu2.close()
|
||||
menu.close()
|
||||
else
|
||||
|
||||
+16
-9
@@ -173,20 +173,27 @@ end)
|
||||
|
||||
RegisterNetEvent('esx:addWeapon')
|
||||
AddEventHandler('esx:addWeapon', function(weaponName, ammo)
|
||||
local playerPed = GetPlayerPed(-1)
|
||||
local weaponHash = GetHashKey(weaponName)
|
||||
local playerPed = GetPlayerPed(-1)
|
||||
local weaponHash = GetHashKey(weaponName)
|
||||
|
||||
GiveWeaponToPed(playerPed, weaponHash, ammo, false, false)
|
||||
SetPedAmmo(playerPed, weaponHash, ammo) -- remove leftover ammo
|
||||
GiveWeaponToPed(playerPed, weaponHash, ammo, false, false)
|
||||
--AddAmmoToPed(playerPed, weaponHash, ammo) possibly not needed
|
||||
end)
|
||||
|
||||
RegisterNetEvent('esx:removeWeapon')
|
||||
AddEventHandler('esx:removeWeapon', function(weaponName)
|
||||
local playerPed = GetPlayerPed(-1)
|
||||
local weaponHash = GetHashKey(weaponName)
|
||||
AddEventHandler('esx:removeWeapon', function(weaponName, ammo)
|
||||
local playerPed = GetPlayerPed(-1)
|
||||
local weaponHash = GetHashKey(weaponName)
|
||||
|
||||
RemoveWeaponFromPed(playerPed, weaponHash)
|
||||
SetPedAmmo(playerPed, weaponHash, 0) -- remove leftover ammo
|
||||
RemoveWeaponFromPed(playerPed, weaponHash)
|
||||
|
||||
if ammo then
|
||||
local pedAmmo = GetAmmoInPedWeapon(playerPed, weaponHash)
|
||||
local finalAmmo = math.floor(pedAmmo - ammo)
|
||||
SetPedAmmo(playerPed, weaponHash, finalAmmo)
|
||||
else
|
||||
SetPedAmmo(playerPed, weaponHash, 0) -- remove leftover ammo
|
||||
end
|
||||
end)
|
||||
|
||||
-- Commands
|
||||
|
||||
+1
-1
@@ -148,7 +148,7 @@ Locales['en'] = {
|
||||
['weapon_flashlight'] = 'flashlight',
|
||||
['gadget_nightvision'] = 'night vision',
|
||||
['gadget_parachute'] = 'parachute',
|
||||
['weapon_flare'] = 'Fusée Détresse',
|
||||
['weapon_flare'] = 'flare gun',
|
||||
['weapon_snspistol_mk2'] = 'SNS Pistol Mk II',
|
||||
['weapon_revolver_mk2'] = 'Heavy Revolver Mk II',
|
||||
['weapon_doubleaction'] = 'Double-Action Revolver',
|
||||
|
||||
+5
-5
@@ -48,13 +48,13 @@ Locales['sv'] = {
|
||||
['unload_ipl'] = 'unload IPL',
|
||||
['play_anim'] = 'spela animering',
|
||||
['play_emote'] = 'spela emote',
|
||||
['spawn_car'] = 'spawna en bil',
|
||||
['spawn_car_param'] = 'namn på bil',
|
||||
['delete_vehicle'] = 'ta bort Fordon',
|
||||
['spawn_car'] = 'spawna ett fordon',
|
||||
['spawn_car_param'] = 'namn på fordon',
|
||||
['delete_vehicle'] = 'ta bort fordon',
|
||||
['delete_veh_param'] = 'tryck enter',
|
||||
['spawn_object'] = 'spawna föremål',
|
||||
['spawn_ped'] = 'spawna NPC',
|
||||
['spawn_ped_param'] = 'example a_m_m_hillbilly_01',
|
||||
['spawn_ped_param'] = 'exempel a_m_m_hillbilly_01',
|
||||
['givemoney'] = 'ge pengar',
|
||||
['setmoney'] = 'bestäm mängd pengar till en valfri person',
|
||||
['money_type'] = 'giltiga typer: cash, bank, black',
|
||||
@@ -148,7 +148,7 @@ Locales['sv'] = {
|
||||
['weapon_flashlight'] = 'flashlight',
|
||||
['gadget_nightvision'] = 'night vision',
|
||||
['gadget_parachute'] = 'parachute',
|
||||
['weapon_flare'] = 'Fusée Détresse',
|
||||
['weapon_flare'] = 'flare gun',
|
||||
['weapon_snspistol_mk2'] = 'SNS Pistol Mk II',
|
||||
['weapon_revolver_mk2'] = 'Heavy Revolver Mk II',
|
||||
['weapon_doubleaction'] = 'Double-Action Revolver',
|
||||
|
||||
@@ -430,10 +430,10 @@ function CreateExtendedPlayer(player, accounts, inventory, job, loadout, name, l
|
||||
})
|
||||
end
|
||||
TriggerClientEvent('esx:addWeapon', self.source, weaponName, ammo)
|
||||
TriggerClientEvent("esx:addInventoryItem", self.source, {label = weaponLabel}, 1)
|
||||
TriggerClientEvent('esx:addInventoryItem', self.source, {label = weaponLabel}, 1)
|
||||
end
|
||||
|
||||
self.removeWeapon = function(weaponName)
|
||||
self.removeWeapon = function(weaponName, ammo)
|
||||
|
||||
local weaponLabel = weaponName
|
||||
|
||||
@@ -453,8 +453,8 @@ function CreateExtendedPlayer(player, accounts, inventory, job, loadout, name, l
|
||||
end
|
||||
end
|
||||
|
||||
TriggerClientEvent('esx:removeWeapon', self.source, weaponName)
|
||||
TriggerClientEvent("esx:removeInventoryItem", self.source, {label = weaponLabel}, 1)
|
||||
TriggerClientEvent('esx:removeWeapon', self.source, weaponName, ammo)
|
||||
TriggerClientEvent('esx:removeInventoryItem', self.source, {label = weaponLabel}, 1)
|
||||
end
|
||||
|
||||
return self
|
||||
|
||||
Reference in New Issue
Block a user