Opublikowano Sobota o 09:215 dn Witam, witam.Dziś potrzebuje małej pomoc, aby nazwę gildii wyświetlało w takim formacie:TeamRobaczki(Leader)Oraz chciałbym usunąć kolorowanie tekstu.PS: kod znalazłem odpowiadający za to lecz nie zapisałem go, a teraz już 10 razy jak nie więcej sprawdzam pliki i nie widzę tego kodu.Aktualny format:
Opublikowano Sobota o 09:225 dn 📌Wskazówki - jak szybciej uzyskać pomoc i uniknąć zbędnych pytań Co powinieneś dołączyć do tematu?sysser, syslog (z odpowiedniego kanału gry, klienta, db, auih)Opisz dokładnie problemCo się dzieje i w jakich okolicznościach?Jakie pliki/systemy edytowałeś?Jakie pliki serwerowe / źródło używasz?Jeśli dodawałeś jakiś system podaj nazwę lub link/załącznik.Dobre praktykiKod dodawaj zawsze jako 'blok kodu' - będzie łatwiejszy do analizowania (opcje znajdziesz w pierwszej liście rozwijanej w edytorze)Nie wklejaj logów jako tekst - dodaj jako załączniki.Udało Ci się rozwiązać problem samemu? Napisz JAK! Pomożesz wtedy również innym.Awaria serwera? (awaria kanału gry, logowania, bazy)Sprawdź, czy pojawił się plik '.core' w katalogu kanału/db/auth będzie on zawierał informacje o przyczynie awarii. Zrób debug tego pliku następnie wrzuć wynik (screen lub log) do tematu.
Opublikowano Sobota o 16:475 dn Ehh Ty mi dobrą flaszke już wisisz 😂Locale_inc.h.cpp#define ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_NAME_FIRST <<<<<<<<<<<<<<<<<< To dodaj #define ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE1 "|cFF00FFFF|H|h[Lider] "<<<<<< Tu się kolor ustawia #define ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE2 "|cFF00FF00|H|h[Genera³] "<<<< I tu teżTo sobie całe podmieńPythonTextTail.cpp#ifdef ENABLE_SHOW_LIDER_AND_GENERAL_GUILD void CPythonTextTail::RegisterCharacterTextTail(DWORD dwGuildID, BYTE dwNewIsGuildName, DWORD dwVirtualID, const D3DXCOLOR& c_rColor, float fAddHeight) #else void CPythonTextTail::RegisterCharacterTextTail(DWORD dwGuildID, DWORD dwVirtualID, const D3DXCOLOR& c_rColor, float fAddHeight) #endif { CInstanceBase* pCharacterInstance = CPythonCharacterManager::Instance().GetInstancePtr(dwVirtualID); if (!pCharacterInstance) return; TTextTail* pTextTail = RegisterTextTail( dwVirtualID, pCharacterInstance->GetNameString(), pCharacterInstance->GetGraphicThingInstancePtr(), pCharacterInstance->GetGraphicThingInstanceRef().GetHeight() + fAddHeight, c_rColor ); CGraphicTextInstance* pTextInstance = pTextTail->pTextInstance; pTextInstance->SetOutline(true); pTextInstance->SetVerticalAlign(CGraphicTextInstance::VERTICAL_ALIGN_BOTTOM); pTextTail->pMarkInstance = NULL; pTextTail->pGuildNameTextInstance = NULL; pTextTail->pTitleTextInstance = NULL; pTextTail->pLevelTextInstance = NULL; #if defined(__BL_MULTI_LANGUAGE_PREMIUM__) pTextTail->pCountryFlagImageInstance = NULL; #endif 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"; #ifdef ENABLE_SHOW_LIDER_AND_GENERAL_GUILD // If ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_NAME_FIRST is defined, show guild name first #ifdef ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_NAME_FIRST if (dwNewIsGuildName == 3) strGuildName += std::string(" ") + ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE1; else if (dwNewIsGuildName == 2) strGuildName += std::string(" ") + ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE2; #else // Default behavior: rank first, then guild name if (dwNewIsGuildName == 3) strGuildName.insert(0, ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE1); else if (dwNewIsGuildName == 2) strGuildName.insert(0, ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE2); #endif #endif 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)); }
Opublikowano Sobota o 17:325 dn Autor Teraz muszę wykombinować aby kolor (lider) był taki sam jak kolor nazwy gildii, bo kolor ustawiam według tego poradnika.========================================CZĘŚĆ SERWEROWA========================================Plik: char.cppZnajdź funkcję:void CHARACTER::SendGuildName(CGuild* pGuild)Zamień całość na:void CHARACTER::SendGuildName(CGuild* pGuild) { if (NULL == pGuild) return; DESC* desc = GetDesc(); if (NULL == desc) return; if (m_known_guild.find(pGuild->GetID()) != m_known_guild.end()) return; m_known_guild.insert(pGuild->GetID()); TPacketGCGuildName pack; memset(&pack, 0x00, sizeof(pack)); pack.header = HEADER_GC_GUILD; pack.subheader = GUILD_SUBHEADER_GC_GUILD_NAME; pack.size = sizeof(TPacketGCGuildName); pack.guildID = pGuild->GetID(); memcpy(pack.guildName, pGuild->GetName(), GUILD_NAME_MAX_LEN); pack.guildLevel = pGuild->GetLevel(); desc->Packet(&pack, sizeof(pack)); }Plik: packet.hZnajdź strukturę:typedef struct packet_guild_name_tZamień całość na:typedef struct packet_guild_name_t { BYTE header; WORD size; BYTE subheader; DWORD guildID; char guildName[GUILD_NAME_MAX_LEN]; int guildLevel; } TPacketGCGuildName;========================================CZĘŚĆ KLIENTA (UserInterface)========================================Plik: PythonGuild.hZnajdź:typedef std::map<DWORD, std::string> TGuildNameMap;Zamień na:struct GuildNameLevel { std::string name; int level; }; typedef std::map<DWORD, GuildNameLevel> TGuildNameMap; Plik: PythonGuild.cppZnajdź:void CPythonGuild::RegisterGuildName(DWORD dwID, const char * c_szName)Zamień całość na:void CPythonGuild::RegisterGuildName(DWORD dwID, const char* c_szName, int level) { GuildNameLevel gnl; gnl.name = std::string(c_szName); gnl.level = level; m_GuildNameMap.insert(make_pair(dwID, gnl)); }Zamień funkcję: CPythonGuild::GetGuildNamebool CPythonGuild::GetGuildName(DWORD dwID, std::string* pstrGuildName) { if (m_GuildNameMap.end() == m_GuildNameMap.find(dwID)) return false; int level = m_GuildNameMap[dwID].level; switch (level) { case 1: *pstrGuildName = "|cffFFFFFF" + m_GuildNameMap[dwID].name + "|r"; break; case 2: *pstrGuildName = "|cffFFFF7F" + m_GuildNameMap[dwID].name + "|r"; break; case 3: *pstrGuildName = "|cffE1E100" + m_GuildNameMap[dwID].name + "|r"; break; case 4: *pstrGuildName = "|cffCCFF00" + m_GuildNameMap[dwID].name + "|r"; break; case 5: *pstrGuildName = "|cff99FF00" + m_GuildNameMap[dwID].name + "|r"; break; case 6: *pstrGuildName = "|cff66FF00" + m_GuildNameMap[dwID].name + "|r"; break; case 7: *pstrGuildName = "|cff00FF00" + m_GuildNameMap[dwID].name + "|r"; break; case 8: *pstrGuildName = "|cff00E940" + m_GuildNameMap[dwID].name + "|r"; break; case 9: *pstrGuildName = "|cff00D200" + m_GuildNameMap[dwID].name + "|r"; break; case 10: *pstrGuildName = "|cff00C57A" + m_GuildNameMap[dwID].name + "|r"; break; case 11: *pstrGuildName = "|cff00B999" + m_GuildNameMap[dwID].name + "|r"; break; case 12: *pstrGuildName = "|cff00A8B6" + m_GuildNameMap[dwID].name + "|r"; break; case 13: *pstrGuildName = "|cff0099D0" + m_GuildNameMap[dwID].name + "|r"; break; case 14: *pstrGuildName = "|cff2897F1" + m_GuildNameMap[dwID].name + "|r"; break; case 15: *pstrGuildName = "|cff329DFF" + m_GuildNameMap[dwID].name + "|r"; break; case 16: *pstrGuildName = "|cff689AFF" + m_GuildNameMap[dwID].name + "|r"; break; case 17: *pstrGuildName = "|cff819EFF" + m_GuildNameMap[dwID].name + "|r"; break; case 18: *pstrGuildName = "|cff9788FF" + m_GuildNameMap[dwID].name + "|r"; break; case 19: *pstrGuildName = "|cffB07EFF" + m_GuildNameMap[dwID].name + "|r"; break; case 20: *pstrGuildName = "|cffC874FF" + m_GuildNameMap[dwID].name + "|r"; break; case 21: *pstrGuildName = "|cffD978FF" + m_GuildNameMap[dwID].name + "|r"; break; case 22: *pstrGuildName = "|cffD8A6F7" + m_GuildNameMap[dwID].name + "|r"; break; case 23: *pstrGuildName = "|cffE9C9FF" + m_GuildNameMap[dwID].name + "|r"; break; case 24: *pstrGuildName = "|cffFFBDF0" + m_GuildNameMap[dwID].name + "|r"; break; case 25: *pstrGuildName = "|cffFF91CA" + m_GuildNameMap[dwID].name + "|r"; break; case 26: *pstrGuildName = "|cffFF6B94" + m_GuildNameMap[dwID].name + "|r"; break; case 27: *pstrGuildName = "|cffFF5C8A" + m_GuildNameMap[dwID].name + "|r"; break; case 28: *pstrGuildName = "|cffFF456D" + m_GuildNameMap[dwID].name + "|r"; break; case 29: *pstrGuildName = "|cffFF4545" + m_GuildNameMap[dwID].name + "|r"; break; case 30: *pstrGuildName = "|cffFF2121" + m_GuildNameMap[dwID].name + "|r"; break; default: *pstrGuildName = m_GuildNameMap[dwID].name; break; } return true; } Plik: PythonNetworkStreamPhaseGame.cppZnajdź:case GUILD_SUBHEADER_GC_GUILD_NAME:Zamień cały case na:case GUILD_SUBHEADER_GC_GUILD_NAME: { DWORD dwID; char szGuildName[GUILD_NAME_MAX_LEN + 1]; int guildLevel; int iPacketSize = int(GuildPacket.size) - sizeof(GuildPacket); int nItemSize = sizeof(dwID) + GUILD_NAME_MAX_LEN + sizeof(guildLevel); assert(iPacketSize % nItemSize == 0 && "GUILD_SUBHEADER_GC_GUILD_NAME"); for (; iPacketSize > 0;) { if (!Recv(sizeof(dwID), &dwID)) return false; if (!Recv(GUILD_NAME_MAX_LEN, &szGuildName)) return false; if (!Recv(sizeof(guildLevel), &guildLevel)) return false; szGuildName[GUILD_NAME_MAX_LEN] = 0; CPythonGuild::Instance().RegisterGuildName(dwID, szGuildName, guildLevel); iPacketSize -= nItemSize; } } break; Na jednej chyba się nie skończy 🍹Nazwa postaci poszła 🕺screen_4.bmpconst float c_TextTail_Name_Position = 15.0f;const float c_fxMarkPosition = 1.5f;const float c_fyGuildNamePosition = -10.0f;const float c_fyMarkPosition = -10.0f + 11.0f;
Opublikowano Sobota o 19:125 dn Autor 1 minutę temu, wojciech74 napisał(a):Przecież Ci napisałem gdzie się kolor zmienia.Tylko, że muszę zrobić aby był taki sam kolor jak nazwa gildii, a kolor dla nazwy gildii zmienia się co każdy poziom. Maksymalny poziom gildii mam zrobione na 30.
Opublikowano Sobota o 19:595 dn 45 minut temu, benio101 napisał(a):Tylko, że muszę zrobić aby był taki sam kolor jak nazwa gildii, a kolor dla nazwy gildii zmienia się co każdy poziom. Maksymalny poziom gildii mam zrobione na 30.To robisz w locale_inc.h kolor jako zmienna i tworzysz taki sam switch dla tytułu jak dla nazwy albo wykorzystaj switch nazwy gildii.
Opublikowano Niedziela o 19:254 dn Autor Zamieniłem na :#define ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE1 "(Lider)"#define ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE2 "(General)"Plus wykonałem tą instrukcję i nadal nie działają kolory. Męczę się już trochę z tym:========================================CZĘŚĆ SERWEROWA========================================Plik: char.cppZnajdź funkcję:void CHARACTER::SendGuildName(CGuild* pGuild)Zamień całość na:void CHARACTER::SendGuildName(CGuild* pGuild) { if (NULL == pGuild) return; DESC* desc = GetDesc(); if (NULL == desc) return; if (m_known_guild.find(pGuild->GetID()) != m_known_guild.end()) return; m_known_guild.insert(pGuild->GetID()); TPacketGCGuildName pack; memset(&pack, 0x00, sizeof(pack)); pack.header = HEADER_GC_GUILD; pack.subheader = GUILD_SUBHEADER_GC_GUILD_NAME; pack.size = sizeof(TPacketGCGuildName); pack.guildID = pGuild->GetID(); memcpy(pack.guildName, pGuild->GetName(), GUILD_NAME_MAX_LEN); pack.guildLevel = pGuild->GetLevel(); desc->Packet(&pack, sizeof(pack)); }Plik: packet.hZnajdź strukturę:typedef struct packet_guild_name_tZamień całość na:typedef struct packet_guild_name_t { BYTE header; WORD size; BYTE subheader; DWORD guildID; char guildName[GUILD_NAME_MAX_LEN]; int guildLevel; } TPacketGCGuildName;========================================CZĘŚĆ KLIENTA (UserInterface)========================================Plik: PythonGuild.hZnajdź:typedef std::map<DWORD, std::string> TGuildNameMap;Zamień na:struct GuildNameLevel { std::string name; int level; }; typedef std::map<DWORD, GuildNameLevel> TGuildNameMap; Plik: PythonGuild.cppZnajdź:void CPythonGuild::RegisterGuildName(DWORD dwID, const char * c_szName)Zamień całość na:void CPythonGuild::RegisterGuildName(DWORD dwID, const char* c_szName, int level) { GuildNameLevel gnl; gnl.name = std::string(c_szName); gnl.level = level; m_GuildNameMap.insert(make_pair(dwID, gnl)); }Zamień funkcję: CPythonGuild::GetGuildNamebool CPythonGuild::GetGuildName(DWORD dwID, std::string* pstrGuildName) { if (m_GuildNameMap.end() == m_GuildNameMap.find(dwID)) return false; int level = m_GuildNameMap[dwID].level; switch (level) { case 1: *pstrGuildName = "|cffFFFFFF" + m_GuildNameMap[dwID].name + "|r"; break; case 2: *pstrGuildName = "|cffFFFF7F" + m_GuildNameMap[dwID].name + "|r"; break; case 3: *pstrGuildName = "|cffE1E100" + m_GuildNameMap[dwID].name + "|r"; break; case 4: *pstrGuildName = "|cffCCFF00" + m_GuildNameMap[dwID].name + "|r"; break; case 5: *pstrGuildName = "|cff99FF00" + m_GuildNameMap[dwID].name + "|r"; break; case 6: *pstrGuildName = "|cff66FF00" + m_GuildNameMap[dwID].name + "|r"; break; case 7: *pstrGuildName = "|cff00FF00" + m_GuildNameMap[dwID].name + "|r"; break; case 8: *pstrGuildName = "|cff00E940" + m_GuildNameMap[dwID].name + "|r"; break; case 9: *pstrGuildName = "|cff00D200" + m_GuildNameMap[dwID].name + "|r"; break; case 10: *pstrGuildName = "|cff00C57A" + m_GuildNameMap[dwID].name + "|r"; break; case 11: *pstrGuildName = "|cff00B999" + m_GuildNameMap[dwID].name + "|r"; break; case 12: *pstrGuildName = "|cff00A8B6" + m_GuildNameMap[dwID].name + "|r"; break; case 13: *pstrGuildName = "|cff0099D0" + m_GuildNameMap[dwID].name + "|r"; break; case 14: *pstrGuildName = "|cff2897F1" + m_GuildNameMap[dwID].name + "|r"; break; case 15: *pstrGuildName = "|cff329DFF" + m_GuildNameMap[dwID].name + "|r"; break; case 16: *pstrGuildName = "|cff689AFF" + m_GuildNameMap[dwID].name + "|r"; break; case 17: *pstrGuildName = "|cff819EFF" + m_GuildNameMap[dwID].name + "|r"; break; case 18: *pstrGuildName = "|cff9788FF" + m_GuildNameMap[dwID].name + "|r"; break; case 19: *pstrGuildName = "|cffB07EFF" + m_GuildNameMap[dwID].name + "|r"; break; case 20: *pstrGuildName = "|cffC874FF" + m_GuildNameMap[dwID].name + "|r"; break; case 21: *pstrGuildName = "|cffD978FF" + m_GuildNameMap[dwID].name + "|r"; break; case 22: *pstrGuildName = "|cffD8A6F7" + m_GuildNameMap[dwID].name + "|r"; break; case 23: *pstrGuildName = "|cffE9C9FF" + m_GuildNameMap[dwID].name + "|r"; break; case 24: *pstrGuildName = "|cffFFBDF0" + m_GuildNameMap[dwID].name + "|r"; break; case 25: *pstrGuildName = "|cffFF91CA" + m_GuildNameMap[dwID].name + "|r"; break; case 26: *pstrGuildName = "|cffFF6B94" + m_GuildNameMap[dwID].name + "|r"; break; case 27: *pstrGuildName = "|cffFF5C8A" + m_GuildNameMap[dwID].name + "|r"; break; case 28: *pstrGuildName = "|cffFF456D" + m_GuildNameMap[dwID].name + "|r"; break; case 29: *pstrGuildName = "|cffFF4545" + m_GuildNameMap[dwID].name + "|r"; break; case 30: *pstrGuildName = "|cffFF2121" + m_GuildNameMap[dwID].name + "|r"; break; default: *pstrGuildName = m_GuildNameMap[dwID].name; break; } return true; } Plik: PythonNetworkStreamPhaseGame.cppZnajdź:case GUILD_SUBHEADER_GC_GUILD_NAME:Zamień cały case na:case GUILD_SUBHEADER_GC_GUILD_NAME: { DWORD dwID; char szGuildName[GUILD_NAME_MAX_LEN + 1]; int guildLevel; int iPacketSize = int(GuildPacket.size) - sizeof(GuildPacket); int nItemSize = sizeof(dwID) + GUILD_NAME_MAX_LEN + sizeof(guildLevel); assert(iPacketSize % nItemSize == 0 && "GUILD_SUBHEADER_GC_GUILD_NAME"); for (; iPacketSize > 0;) { if (!Recv(sizeof(dwID), &dwID)) return false; if (!Recv(GUILD_NAME_MAX_LEN, &szGuildName)) return false; if (!Recv(sizeof(guildLevel), &guildLevel)) return false; szGuildName[GUILD_NAME_MAX_LEN] = 0; CPythonGuild::Instance().RegisterGuildName(dwID, szGuildName, guildLevel); iPacketSize -= nItemSize; } } break;
Opublikowano Wtorek o 17:392 dn Majster, chat Ci to napisał? bool CPythonGuild::GetGuildName(DWORD dwID, std::string* pstrGuildName) { if (m_GuildNameMap.end() == m_GuildNameMap.find(dwID)) return false; int level = m_GuildNameMap[dwID].level; std::string guildColor; switch (level) { case 1: guildColor = "|cffFFFFFF"; break; case 2: guildColor = "|cffFFFF7F"; break; case 3: guildColor = "|cffE1E100"; break; case 4: guildColor = "|cffCCFF00"; break; case 5: guildColor = "|cff99FF00"; break; case 6: guildColor = "|cff66FF00"; break; case 7: guildColor = "|cff00FF00"; break; case 8: guildColor = "|cff00E940"; break; case 9: guildColor = "|cff00D200"; break; case 10: guildColor = "|cff00C57A"; break; case 11: guildColor = "|cff00B999"; break; case 12: guildColor = "|cff00A8B6"; break; case 13: guildColor = "|cff0099D0"; break; case 14: guildColor = "|cff2897F1"; break; case 15: guildColor = "|cff329DFF"; break; case 16: guildColor = "|cff689AFF"; break; case 17: guildColor = "|cff819EFF"; break; case 18: guildColor = "|cff9788FF"; break; case 19: guildColor = "|cffB07EFF"; break; case 20: guildColor = "|cffC874FF"; break; case 21: guildColor = "|cffD978FF"; break; case 22: guildColor = "|cffD8A6F7"; break; case 23: guildColor = "|cffE9C9FF"; break; case 24: guildColor = "|cffFFBDF0"; break; case 25: guildColor = "|cffFF91CA"; break; case 26: guildColor = "|cffFF6B94"; break; case 27: guildColor = "|cffFF5C8A"; break; case 28: guildColor = "|cffFF456D"; break; case 29: guildColor = "|cffFF4545"; break; case 30: guildColor = "|cffFF2121"; break; default: guildColor = ""; break; } #ifdef ENABLE_SHOW_LIDER_AND_GENERAL_GUILD if (level == 1) { *pstrGuildName = guildColor + ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE1 + m_GuildNameMap[dwID].name + "|r"; } else if (level == 2) { *pstrGuildName = guildColor + ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE2 + m_GuildNameMap[dwID].name + "|r"; } else { *pstrGuildName = guildColor + m_GuildNameMap[dwID].name + "|r"; } #else *pstrGuildName = guildColor + m_GuildNameMap[dwID].name + "|r"; #endif return true; } Coś w tym stylu:*pstrGuildName = guildColor + ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE2 + m_GuildNameMap[dwID].name + "|r";Powinno być w PythonTextTail.cpp, a nie w PythonGuild.cpp
Opublikowano Wczoraj o 18:08 1 dn Autor Metin2Dev | M2DevGuild Name Color by RankingM2 Download Center This is the hidden content, please Sign In or Sign Up ( Internal ) Hey guyz Here's an image to see what is it about. Just coloring guild names for the top3 rank. (gold,silver,bronzeZnalazłem takie coś i próbowałem edytować.
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.