Added SetCustomName() to players.
This commit is contained in:
@@ -81,7 +81,8 @@ cPlayer::cPlayer(cClientHandle* a_Client, const AString & a_PlayerName) :
|
||||
m_Team(NULL),
|
||||
m_TicksUntilNextSave(PLAYER_INVENTORY_SAVE_INTERVAL),
|
||||
m_bIsTeleporting(false),
|
||||
m_UUID((a_Client != NULL) ? a_Client->GetUUID() : "")
|
||||
m_UUID((a_Client != NULL) ? a_Client->GetUUID() : ""),
|
||||
m_CustomName("")
|
||||
{
|
||||
m_InventoryWindow = new cInventoryWindow(*this);
|
||||
m_CurrentWindow = m_InventoryWindow;
|
||||
@@ -813,6 +814,28 @@ void cPlayer::SetCanFly(bool a_CanFly)
|
||||
|
||||
|
||||
|
||||
void cPlayer::SetCustomName(const AString & a_CustomName)
|
||||
{
|
||||
if (m_CustomName == a_CustomName)
|
||||
{
|
||||
return;
|
||||
}
|
||||
m_World->BroadcastPlayerListItem(GetTabListName(), false, 0); // Remove old tab-list entry
|
||||
|
||||
m_CustomName = a_CustomName;
|
||||
if (m_CustomName.length() > 16)
|
||||
{
|
||||
m_CustomName = m_CustomName.substr(0, 16);
|
||||
}
|
||||
|
||||
m_World->BroadcastSpawnEntity(*this, m_ClientHandle);
|
||||
m_World->BroadcastPlayerListItem(GetTabListName(), true, GetClientHandle()->GetPing());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cPlayer::SetFlying(bool a_IsFlying)
|
||||
{
|
||||
if (a_IsFlying == m_IsFlying)
|
||||
@@ -1443,6 +1466,28 @@ AString cPlayer::GetColor(void) const
|
||||
|
||||
|
||||
|
||||
AString cPlayer::GetTabListName(void) const
|
||||
{
|
||||
const AString & Color = GetColor();
|
||||
|
||||
if (HasCustomName())
|
||||
{
|
||||
return m_CustomName;
|
||||
}
|
||||
else if ((GetName().length() <= 14) && !Color.empty())
|
||||
{
|
||||
return Printf("%s%s", Color.c_str(), GetName().c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
return GetName();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cPlayer::TossEquippedItem(char a_Amount)
|
||||
{
|
||||
cItems Drops;
|
||||
|
||||
Reference in New Issue
Block a user