Acest FIX rezolva bug-ul clasic de pe toate serverele cu numele la bresle care devin "Noname" cand iesi dintr=o breasla sau in alte scenarii. (War/etc.)
*Poze / Video:
*Link download / Code:
In PythonTextTail.h cautam:
Code:
CGraphicObjectInstance * pOwner{};
DWORD dwVirtualID{}; Cautam:
Code:
void SetCharacterTextTailGuildText(DWORD dwVID, const char* c_szText);In PythonTextTail.cpp in functia RegisterCharacterTextTail cautam:
Code:
if (0 != dwGuildID)
{
pTextTail->pMarkInstance = CGraphicMarkInstance::New();
DWORD dwMarkID = CGuildMarkManager::Instance().GetMarkID(dwGuildID);
if (dwMarkID != CGuildMarkManager::INVALID_MARK_ID)
{
std::string markImagePath;
if (CGuildMarkManager::Instance().GetMarkImageFilename(dwMarkID / CGuildMarkImage::MARK_TOTAL_COUNT, markImagePath))
{
pTextTail->pMarkInstance->SetImageFileName(markImagePath.c_str());
pTextTail->pMarkInstance->Load();
pTextTail->pMarkInstance->SetIndex(dwMarkID % CGuildMarkImage::MARK_TOTAL_COUNT);
}
}
std::string strGuildName;
if (!CPythonGuild::Instance().GetGuildName(dwGuildID, &strGuildName))
strGuildName = "Noname";
CGraphicTextInstance *& prGuildNameInstance = pTextTail->pGuildNameTextInstance;
prGuildNameInstance = CGraphicTextInstance::New();
prGuildNameInstance->SetTextPointer(ms_pFont);
prGuildNameInstance->SetOutline(true);
prGuildNameInstance->SetHorizonalAlign(CGraphicTextInstance::HORIZONTAL_ALIGN_CENTER);
prGuildNameInstance->SetVerticalAlign(CGraphicTextInstance::VERTICAL_ALIGN_BOTTOM);
prGuildNameInstance->SetValue(strGuildName.c_str());
prGuildNameInstance->SetColor(c_TextTail_Guild_Name_Color.r, c_TextTail_Guild_Name_Color.g, c_TextTail_Guild_Name_Color.b);
prGuildNameInstance->Update();
}
m_CharacterTextTailMap.insert(TTextTailMap::value_type(dwVirtualID, pTextTail));In PythonGuild.cpp adaugam:
Code:
#include "PythonTextTail.h"Code:
void CPythonGuild::RegisterGuildName(DWORD dwID, const char * c_szName)
{
m_GuildNameMap.insert(make_pair(dwID, std::string(c_szName)));
}Adaugam sub functia RegisterGuildName:
In GetGuildName cautam:
Code:
bool CPythonGuild::GetGuildName(DWORD dwID, std::string * pstrGuildName)
{
if (m_GuildNameMap.end() == m_GuildNameMap.find(dwID))
return false;
*pstrGuildName = m_GuildNameMap[dwID];
return true;
}

la acest mesaj și conținutul se va afișa automat.
