From 59ced74cf81321b038db44cc0dd8d00ca75fa82e Mon Sep 17 00:00:00 2001 From: Rasikh Qadeer | DizzasTeR Date: Sun, 2 Jun 2019 14:44:37 +0500 Subject: [PATCH] - GetWeaponSlot - A very useful function that sqmod can provide instead of manually being added --- source/Misc/Register.cpp | 1 + source/Misc/Weapon.cpp | 51 ++++++++++++++++++++++++++++++++++++++++ source/Misc/Weapon.hpp | 5 ++++ 3 files changed, 57 insertions(+) diff --git a/source/Misc/Register.cpp b/source/Misc/Register.cpp index e22581c7..4a4ee4f7 100644 --- a/source/Misc/Register.cpp +++ b/source/Misc/Register.cpp @@ -142,6 +142,7 @@ void Register_Misc(HSQUIRRELVM vm) .FmtFunc(_SC("SetAutomobileName"), &SetAutomobileName) .FmtFunc(_SC("GetAutomobileID"), &GetAutomobileID) .Func(_SC("IsAutomobileValid"), &IsAutomobileValid) + .Func(_SC("GetWeaponSlot"), &GetWeaponSlot) .Func(_SC("GetWeaponName"), &GetWeaponName) .FmtFunc(_SC("SetWeaponName"), &SetWeaponName) .Func(_SC("GetCustomWeaponNamePoolSize"), &GetCustomWeaponNamePoolSize) diff --git a/source/Misc/Weapon.cpp b/source/Misc/Weapon.cpp index 0674e6ad..6631e85c 100644 --- a/source/Misc/Weapon.cpp +++ b/source/Misc/Weapon.cpp @@ -58,6 +58,57 @@ static inline bool IsCustomWeapon(Uint32 id) return (id > 70); } +// ------------------------------------------------------------------------------------------------ +Uint32 GetWeaponSlot(Uint32 id) +{ + switch(id) { + case 0: + case 1: + return 0; + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + return 1; + case 12: + case 13: + case 14: + case 15: + return 2; + case 17: + case 18: + return 3; + case 19: + case 20: + case 21: + return 4; + case 22: + case 23: + case 24: + case 25: + return 5; + case 26: + case 27: + return 6; + case 28: + case 29: + return 8; + case 30: + case 31: + case 32: + case 33: + return 7; + default: + return 255; + } +} + // ------------------------------------------------------------------------------------------------ CCStr GetWeaponName(Uint32 id) { diff --git a/source/Misc/Weapon.hpp b/source/Misc/Weapon.hpp index 4bb292fa..450414a8 100644 --- a/source/Misc/Weapon.hpp +++ b/source/Misc/Weapon.hpp @@ -7,6 +7,11 @@ // ------------------------------------------------------------------------------------------------ namespace SqMod { +/* ------------------------------------------------------------------------------------------------ + * Retrieve the slot associated with a weapon identifier. +*/ +Uint32 GetWeaponSlot(Uint32 id); + /* ------------------------------------------------------------------------------------------------ * Retrieve the name associated with a weapon identifier. */