Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion src/cs2_sdk/entity/cbaseplayercontroller.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,19 @@ class CBasePlayerController : public CBaseEntity
// - An observer pawn if spectating
// - A bot pawn if controlling one
CBasePlayerPawn* GetPawn() { return m_hPawn.Get(); }
const char* GetPlayerName() { return m_iszPlayerName(); }
const char* GetPlayerName()
{
static char buf[128];
const char* name = m_iszPlayerName();
strncpy(buf, name, sizeof(buf) - 1);
buf[sizeof(buf) - 1] = '\0';

size_t len = strlen(buf);
if (len > 0 && buf[len - 1] == ' ')
buf[len - 1] = '\0';

return buf;
}
int GetPlayerSlot() { return entindex() - 1; }
bool IsConnected() { return m_iConnected() == PlayerConnectedState::PlayerConnected; }
void SetPawn(CCSPlayerPawn* pawn)
Expand Down
2 changes: 1 addition & 1 deletion src/cs2_sdk/entity/ccsplayercontroller.h
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ class CCSPlayerController : public CBasePlayerController
m_szClan = g_pEntitySystem->AllocPooledString(pszClanTag);

// This name swap trick is necessary to get clients to display the new clan tag
std::string strName = GetPlayerName();
std::string strName = m_iszPlayerName();

if (!strName.empty() && strName.back() == ' ')
strName.pop_back();
Expand Down
2 changes: 1 addition & 1 deletion src/detours.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@ void FASTCALL Detour_UTIL_SayText2Filter(
Message("Chat from %s to %s: %s\n", param1, target->GetPlayerName(), param2);
#endif

UTIL_SayText2Filter(filter, pEntity, eMessageType, msg_name, param1, param2, param3, param4);
UTIL_SayText2Filter(filter, pEntity, eMessageType, msg_name, pEntity->GetPlayerName(), param2, param3, param4);
}

bool FASTCALL Detour_CCSPlayer_WeaponServices_CanUse(CCSPlayer_WeaponServices* pWeaponServices, CBasePlayerWeapon* pPlayerWeapon)
Expand Down
8 changes: 1 addition & 7 deletions src/playermanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1590,13 +1590,7 @@ ETargetError CPlayerManager::GetPlayersFromString(CCSPlayerController* pPlayer,
if (!pTarget || !pTarget->IsController() || !pTarget->IsConnected() || pTarget->m_bIsHLTV)
continue;

std::string strName = pTarget->GetPlayerName();

// Ignore space that might be added by clan tag name swap trick
if (!strName.empty() && strName.back() == ' ')
strName.pop_back();

if ((!bExactName && V_stristr(strName.c_str(), pszTarget)) || !V_strcmp(strName.c_str(), pszTarget))
if ((!bExactName && V_stristr(pTarget->GetPlayerName(), pszTarget)) || !V_strcmp(pTarget->GetPlayerName(), pszTarget))
{
nType = ETargetType::PLAYER;
if (iNumClients == 1)
Expand Down
Loading