Graf Posted November 30, 2023 Share Posted November 30, 2023 (edited) Рейтинг над головой персонажа Чтобы добавить рейтинг, нужно в исходном коде клиента открыть файл UIHeadSay.cpp, найти: #ifdef _LOG_NAME_ //и§’и‰ІеђЌз§° if( CCharacter::IsShowLogName ) { CChaStateMgr* pState = _pOwn->GetStateMgr(); int nCount = pState->GetSkillStateNum(); for( int i=0; i<nCount; i++ ) { y -= 20; CGuiFont::s_Font.Render( pState->GetSkillState(i)->szName, x, y, COLOR_WHITE ); } } #endif и ниже вписать: // Вывод рейтинга if (_pOwn->IsPlayer()) { if (_IsShowName) { if (_pOwn->getGuildID()) y -= 14; char RenderTextRating[32] = {0}; sprintf(RenderTextRating, "- [%d] -", CalculateRating(_pOwn->getGameAttr())); int RatingLength = CGuiFont::s_Font.GetWidth(RenderTextRating); CGuiFont::s_Font.Render(RenderTextRating, x - (RatingLength / 2), y - 28, 0xFF000000 ); CGuiFont::s_Font.Render(RenderTextRating, x - (RatingLength / 2) - 1, y - 28 - 1, 0xFF00FFFF ); } } Найти функцию: void CHeadSay::SetName( const char* name ) { _nChaNameOffX = 0 - CGuiFont::s_Font.GetWidth( name )/2; } И ниже вставить: // Подсчет рейтинга inline int CalculateRating(SGameAttr* attrArr) { int result = 0; result += attrArr->get(ATTR_HP); return result; } В данном примере рейтинг выводит количество ATTR_HP (ХП персонажа). Вы можете настроить свои формулы, к примеру сумму основных характеристик персонажа. Edited November 30, 2023 by Graf 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.