Improved ammo handling

This commit is contained in:
ElPumpo
2018-06-22 22:25:34 +02:00
parent 5bf8dc2b80
commit 3de26d020b
5 changed files with 65 additions and 57 deletions
+39 -38
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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',
+4 -4
View File
@@ -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