增加pawn名字

This commit is contained in:
Huoji's
2023-10-02 05:03:37 +08:00
parent 1bae80e38d
commit 7d24c5a405
16 changed files with 167 additions and 127 deletions

View File

@@ -0,0 +1,4 @@
#include "cbaseentity.h"
bool CBaseEntity::IsBasePlayerController() {
return CALL_VIRTUAL(bool, 144, this);
}

View File

@@ -6,38 +6,37 @@
#include "../cgameentitysystem.h"
class CEntityIdentity;
class CEntityInstance {
public:
DECLARE_CLASS(CEntityInstance);
public:
DECLARE_CLASS(CEntityInstance);
auto Schema_DynamicBinding() {
SchemaClassInfoData_t* rv = nullptr;
CALL_VIRTUAL(void, 34, this, &rv);
return rv;
}
auto Schema_DynamicBinding() {
SchemaClassInfoData_t* rv = nullptr;
CALL_VIRTUAL(void, 34, this, &rv);
return rv;
}
auto GetRefEHandle() {
char* pIdentity = (char*)m_pEntity();
auto v3 = *(uint32_t*)(pIdentity + 16);
auto v4 = ENT_ENTRY_MASK;
auto v5 = ((v3 >> 15) - (*(uint32_t*)(pIdentity + 48) & 1)) << 15;
if (v3 != -1) {
v4 = *(uint32_t*)(pIdentity + 16) & ENT_ENTRY_MASK;
}
auto GetRefEHandle() {
char* pIdentity = (char*)m_pEntity();
auto v3 = *(uint32_t*)(pIdentity + 16);
auto v4 = ENT_ENTRY_MASK;
auto v5 = ((v3 >> 15) - (*(uint32_t*)(pIdentity + 48) & 1)) << 15;
if (v3 != -1) {
v4 = *(uint32_t*)(pIdentity + 16) & ENT_ENTRY_MASK;
}
return CHandle(v4 | v5);
}
SCHEMA_FIELD(CEntityIdentity*, m_pEntity);
SCHEMA_FIELD(const char*, m_designerName);
return CHandle(v4 | v5);
}
SCHEMA_FIELD(CEntityIdentity*, m_pEntity);
SCHEMA_FIELD(const char*, m_designerName);
};
class CBaseEntity : public CEntityInstance
{
public:
DECLARE_CLASS(CBaseEntity);
class CBaseEntity : public CEntityInstance {
public:
DECLARE_CLASS(CBaseEntity);
SCHEMA_FIELD(int, m_iHealth)
//SCHEMA_FIELD(Vector, m_vecBaseVelocity)
SCHEMA_FIELD(CCollisionProperty*, m_pCollision)
};
SCHEMA_FIELD(int, m_iHealth)
// SCHEMA_FIELD(Vector, m_vecBaseVelocity)
SCHEMA_FIELD(CCollisionProperty*, m_pCollision)
bool IsBasePlayerController();
};

View File

@@ -2,23 +2,22 @@
#include "../../pch.h"
#include "../handle/handle.h"
#include "cbaseentity.h"
class CBasePlayerController : public CBaseEntity
{
public:
DECLARE_CLASS(CBasePlayerController);
SCHEMA_FIELD(uint64_t, m_steamID)
SCHEMA_FIELD(CHandle, m_hPawn)
SCHEMA_FIELD(char, m_iszPlayerName)
#include "sdk/tier1/UtlString.hpp"
class CBasePlayerController : public CBaseEntity {
public:
DECLARE_CLASS(CBasePlayerController);
SCHEMA_FIELD(uint64_t, m_steamID)
SCHEMA_FIELD(CHandle, m_hPawn)
SCHEMA_FIELD(char, m_iszPlayerName)
SCHEMA_FIELD(CUtlString, m_szNetworkIDString)
};
class CCSPlayerController : public CBasePlayerController {
public:
public:
DECLARE_CLASS(CCSPlayerController)
SCHEMA_FIELD(uint32_t, m_iPawnHealth)
SCHEMA_FIELD(bool, m_bPawnIsAlive)
SCHEMA_FIELD(const char*, m_szClanName)
SCHEMA_FIELD(uint32_t, m_iPawnHealth)
SCHEMA_FIELD(bool, m_bPawnIsAlive)
SCHEMA_FIELD(const char*, m_szClanName)
};

View File

@@ -2,8 +2,6 @@
#include <cstdint>
#define INVALID_EHANDLE_INDEX 0xFFFFFFFF
#define ENT_ENTRY_MASK 0x7FFF
inline int PlayerSlot_to_EntityIndex(int PlayerSlot) { return PlayerSlot + 1; }
inline int EntityIndex_to_PlayerSlot(int EntityIndex) { return EntityIndex - 1; }
class CBaseEntity;
class CHandle
@@ -22,8 +20,5 @@ public:
{
return reinterpret_cast<T*>(GetBaseEntity());
}
auto GetPlayerSlot() {
return m_Index - 1;
}
uint32_t m_Index;
};