diff --git a/amx/client/client.lua b/amx/client/client.lua index b21dbae..82d83e0 100644 --- a/amx/client/client.lua +++ b/amx/client/client.lua @@ -1750,8 +1750,8 @@ function ShowPlayerDialog(amxName, dialogid, dialogtype, caption, info, button1, end end -addEvent ( "onPlayerClickPlayer" ) -function OnPlayerClickPlayer ( element ) +addEvent("onPlayerClickPlayer") +function OnPlayerClickPlayer(element) serverAMXEvent('OnPlayerClickPlayer', getElemID(localPlayer), getElemID(element), 0) end -addEventHandler ( "onPlayerClickPlayer", root, OnPlayerClickPlayer ) +addEventHandler("onPlayerClickPlayer", root, OnPlayerClickPlayer) diff --git a/amx/server/syscalls.lua b/amx/server/syscalls.lua index 23a16ef..7e9d677 100644 --- a/amx/server/syscalls.lua +++ b/amx/server/syscalls.lua @@ -2942,6 +2942,31 @@ function GetVehicleParamsSirenState(amx, vehicle) return 0 end end + + +-- Weapon +function GetPlayerWeaponState(amx, player) + -- -1 WEAPONSTATE_UNKNOWN + -- 0 WEAPONSTATE_NO_BULLETS + -- 1 WEAPONSTATE_LAST_BULLET + -- 2 WEAPONSTATE_MORE_BULLETS + -- 3 WEAPONSTATE_RELOADING + + local vehicle = getPedOccupiedVehicle(player) + if vehicle ~= nil then return -1 end + + -- TODO: Function don't return 3 because a isPedReloadingWeapon function only client-side + local ammo = getPedAmmoInClip(player) + if ammo == 0 then + return 0 + elseif ammo == 1 then + return 1 + elseif ammo >= 2 then + return 2 + else + return -1 + end +end ----------------------------------------------------- -- List of the functions and their argument types @@ -3523,5 +3548,8 @@ g_SAMPSyscallPrototypes = { SHA256_PassHash = {'s', 's', 'r', 'i'}, -- siren - GetVehicleParamsSirenState = {'v'} + GetVehicleParamsSirenState = {'v'}, + + + GetPlayerWeaponState = {'p'} }