#pragma once #include #include "../cstrike/sdk/entity.h" #include "../cstrike/sdk/datatypes/utlvector.h" #include "ccsinventorymanager.hpp" #include class CCSPlayerInventory { public: static CCSPlayerInventory* GetInstance(); auto SOCreated(SOID_t owner, CSharedObject* pObject, ESOCacheEvent eEvent) { return MEM::CallVFunc(this, owner, pObject, eEvent); } auto SOUpdated(SOID_t owner, CSharedObject* pObject, ESOCacheEvent eEvent) { return MEM::CallVFunc(this, owner, pObject, eEvent); } auto SODestroyed(SOID_t owner, CSharedObject* pObject, ESOCacheEvent eEvent) { return MEM::CallVFunc(this, owner, pObject, eEvent); } auto GetItemInLoadout(int iClass, int iSlot) { return MEM::CallVFunc(this, iClass, iSlot); } bool AddEconItem(CEconItem* pItem); void RemoveEconItem(CEconItem* pItem); std::pair GetHighestIDs(); C_EconItemView* GetItemViewForItem(uint64_t itemID); CEconItem* GetSOCDataForItem(uint64_t itemID); auto GetOwner() { return *reinterpret_cast((uintptr_t)(this) + 0x10); } auto& GetItemVector() { return *reinterpret_cast*>( (uintptr_t)(this) + 0x20); } };