From d86eb2aac37fdb1a0dbe9f0caa525d083414bd27 Mon Sep 17 00:00:00 2001 From: Konstantin Date: Wed, 17 Jun 2020 17:02:39 +0300 Subject: [PATCH 1/8] GetPlayerWeaponState --- amx/client/client.lua | 6 ++++++ amx/server/syscalls.lua | 41 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/amx/client/client.lua b/amx/client/client.lua index b21dbae..6d28740 100644 --- a/amx/client/client.lua +++ b/amx/client/client.lua @@ -1750,6 +1750,12 @@ function ShowPlayerDialog(amxName, dialogid, dialogtype, caption, info, button1, end end + +function _isPedReloadingWeapon(player) + triggerServerEvent ( "onPuttingReloadingStatus", resourceRoot, isPedReloadingWeapon(player) ) + return 0; +end + addEvent ( "onPlayerClickPlayer" ) function OnPlayerClickPlayer ( element ) serverAMXEvent('OnPlayerClickPlayer', getElemID(localPlayer), getElemID(element), 0) diff --git a/amx/server/syscalls.lua b/amx/server/syscalls.lua index 23a16ef..7fa6469 100644 --- a/amx/server/syscalls.lua +++ b/amx/server/syscalls.lua @@ -2942,6 +2942,42 @@ function GetVehicleParamsSirenState(amx, vehicle) return 0 end end + + +-- Weapon + +-- This part looks like a dirt +function _PutReloadingStatus(status) + g_Players[getElemID(client)].reloading = status +end +addEvent("onPuttingReloadingStatus", true) +addEventHandler("onPuttingReloadingStatus", resourceRoot, _PutReloadingStatus) + +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 + + -- Someone tell me how can I transfer the value of this vars to the server? + clientCall(player, '_isPedReloadingWeapon', player) + if g_Players[getElemID(player)].reloading == true then + return 3 + end + 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 +3559,8 @@ g_SAMPSyscallPrototypes = { SHA256_PassHash = {'s', 's', 'r', 'i'}, -- siren - GetVehicleParamsSirenState = {'v'} + GetVehicleParamsSirenState = {'v'}, + + + GetPlayerWeaponState = {'p'} } From 6cdcdfa43aaba9a92c42e9d5761d5d3ecdd286bd Mon Sep 17 00:00:00 2001 From: Konstantin Date: Wed, 17 Jun 2020 17:28:16 +0300 Subject: [PATCH 2/8] Lost delete spaces before/after brakets --- amx/client/client.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/amx/client/client.lua b/amx/client/client.lua index 6d28740..6ce2b88 100644 --- a/amx/client/client.lua +++ b/amx/client/client.lua @@ -1752,12 +1752,12 @@ end function _isPedReloadingWeapon(player) - triggerServerEvent ( "onPuttingReloadingStatus", resourceRoot, isPedReloadingWeapon(player) ) + triggerServerEvent ("onPuttingReloadingStatus", resourceRoot, isPedReloadingWeapon(player)) return 0; 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) From 9d988a559320fc8058695f7057dea827b64df111 Mon Sep 17 00:00:00 2001 From: Konstantin Date: Wed, 17 Jun 2020 21:30:45 +0300 Subject: [PATCH 3/8] tabs and spaces Co-authored-by: Qais Patankar --- amx/client/client.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/amx/client/client.lua b/amx/client/client.lua index 6ce2b88..4a46e12 100644 --- a/amx/client/client.lua +++ b/amx/client/client.lua @@ -1752,7 +1752,7 @@ end function _isPedReloadingWeapon(player) - triggerServerEvent ("onPuttingReloadingStatus", resourceRoot, isPedReloadingWeapon(player)) + triggerServerEvent("onPuttingReloadingStatus", resourceRoot, isPedReloadingWeapon(player)) return 0; end From 478a6dfa077b17e57aab6bd84714fd2a35d84854 Mon Sep 17 00:00:00 2001 From: Konstantin Date: Wed, 17 Jun 2020 21:30:59 +0300 Subject: [PATCH 4/8] spaces Co-authored-by: Qais Patankar --- amx/client/client.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/amx/client/client.lua b/amx/client/client.lua index 4a46e12..5f603d8 100644 --- a/amx/client/client.lua +++ b/amx/client/client.lua @@ -1756,8 +1756,8 @@ function _isPedReloadingWeapon(player) return 0; end -addEvent ("onPlayerClickPlayer") -function OnPlayerClickPlayer (element) +addEvent("onPlayerClickPlayer") +function OnPlayerClickPlayer(element) serverAMXEvent('OnPlayerClickPlayer', getElemID(localPlayer), getElemID(element), 0) end addEventHandler ("onPlayerClickPlayer", root, OnPlayerClickPlayer) From 530fd1b9df14bd7da8c075f939bc5dbe68be19fa Mon Sep 17 00:00:00 2001 From: Konstantin Date: Wed, 17 Jun 2020 21:36:00 +0300 Subject: [PATCH 5/8] spaces Co-authored-by: Qais Patankar --- amx/client/client.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/amx/client/client.lua b/amx/client/client.lua index 5f603d8..4a41522 100644 --- a/amx/client/client.lua +++ b/amx/client/client.lua @@ -1760,4 +1760,4 @@ addEvent("onPlayerClickPlayer") function OnPlayerClickPlayer(element) serverAMXEvent('OnPlayerClickPlayer', getElemID(localPlayer), getElemID(element), 0) end -addEventHandler ("onPlayerClickPlayer", root, OnPlayerClickPlayer) +addEventHandler("onPlayerClickPlayer", root, OnPlayerClickPlayer) From c423d056b875b86eb588940b6436d2b6e5b3a903 Mon Sep 17 00:00:00 2001 From: Konstantin Date: Wed, 17 Jun 2020 21:36:22 +0300 Subject: [PATCH 6/8] style issue Co-authored-by: Qais Patankar --- amx/server/syscalls.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/amx/server/syscalls.lua b/amx/server/syscalls.lua index 7fa6469..bc808ae 100644 --- a/amx/server/syscalls.lua +++ b/amx/server/syscalls.lua @@ -2975,7 +2975,8 @@ function GetPlayerWeaponState(amx, player) return 1 elseif ammo >= 2 then return 2 - else return -1; + else + return -1 end end ----------------------------------------------------- From 59b096bfadcec5ba55165374372f612c05391a10 Mon Sep 17 00:00:00 2001 From: Konstantin Date: Wed, 17 Jun 2020 21:36:45 +0300 Subject: [PATCH 7/8] style issue Co-authored-by: Qais Patankar --- amx/client/client.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/amx/client/client.lua b/amx/client/client.lua index 4a41522..3eac90c 100644 --- a/amx/client/client.lua +++ b/amx/client/client.lua @@ -1750,7 +1750,6 @@ function ShowPlayerDialog(amxName, dialogid, dialogtype, caption, info, button1, end end - function _isPedReloadingWeapon(player) triggerServerEvent("onPuttingReloadingStatus", resourceRoot, isPedReloadingWeapon(player)) return 0; From ac645f1132e03e2ae5de341cb87fb86537d63daf Mon Sep 17 00:00:00 2001 From: Konstantin Date: Fri, 19 Jun 2020 00:13:15 +0300 Subject: [PATCH 8/8] remove the 3 state --- amx/client/client.lua | 5 ----- amx/server/syscalls.lua | 14 +------------- 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/amx/client/client.lua b/amx/client/client.lua index 3eac90c..82d83e0 100644 --- a/amx/client/client.lua +++ b/amx/client/client.lua @@ -1750,11 +1750,6 @@ function ShowPlayerDialog(amxName, dialogid, dialogtype, caption, info, button1, end end -function _isPedReloadingWeapon(player) - triggerServerEvent("onPuttingReloadingStatus", resourceRoot, isPedReloadingWeapon(player)) - return 0; -end - addEvent("onPlayerClickPlayer") function OnPlayerClickPlayer(element) serverAMXEvent('OnPlayerClickPlayer', getElemID(localPlayer), getElemID(element), 0) diff --git a/amx/server/syscalls.lua b/amx/server/syscalls.lua index bc808ae..7e9d677 100644 --- a/amx/server/syscalls.lua +++ b/amx/server/syscalls.lua @@ -2945,14 +2945,6 @@ end -- Weapon - --- This part looks like a dirt -function _PutReloadingStatus(status) - g_Players[getElemID(client)].reloading = status -end -addEvent("onPuttingReloadingStatus", true) -addEventHandler("onPuttingReloadingStatus", resourceRoot, _PutReloadingStatus) - function GetPlayerWeaponState(amx, player) -- -1 WEAPONSTATE_UNKNOWN -- 0 WEAPONSTATE_NO_BULLETS @@ -2963,11 +2955,7 @@ function GetPlayerWeaponState(amx, player) local vehicle = getPedOccupiedVehicle(player) if vehicle ~= nil then return -1 end - -- Someone tell me how can I transfer the value of this vars to the server? - clientCall(player, '_isPedReloadingWeapon', player) - if g_Players[getElemID(player)].reloading == true then - return 3 - end + -- TODO: Function don't return 3 because a isPedReloadingWeapon function only client-side local ammo = getPedAmmoInClip(player) if ammo == 0 then return 0