Opublikowano 1 Marca 20251 r Zmiana koloru według poziomu !Przejdz do : InstanceBaseEffect.cpp wyszukaj : Tylko zalogowani Zaloguj się, aby wyświetlić chronioną treść Ten post zawiera treści dostępne tylko dla członków. Zaloguj się lub utwórz konto, aby odblokować całą zawartość tego posta. Zaloguj się Utwórz konto Zamieniamy na :Informacje:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~- Jeśli postać ma poziom od 1 do 9 (włącznie), kolor poziomu będzie następujący: #959697 (jasnoszary).- Jeśli postać ma poziom pomiędzy 10 a 19, kolor poziomu będzie następujący: #FFFFFF (biały).- Jeśli postać ma poziom pomiędzy 20 a 29, kolor poziomu będzie następujący: #00FF7F (jasnozielony).- Jeśli postać ma poziom pomiędzy 30 a 39, kolor poziomu będzie następujący: #00FF00 (zielony).- Jeśli postać ma poziom pomiędzy 40 a 49, kolor poziomu będzie następujący: #00CCFF (jasnoniebieski).- Jeśli postać ma poziom pomiędzy 50 a 59, kolor poziomu będzie następujący: #0000FF (niebieski).- Jeśli postać ma poziom pomiędzy 60 a 69, kolor poziomu będzie następujący: #DA70D6 (jasnofioletowy).- Jeśli postać ma poziom pomiędzy 70 a 79, kolor poziomu będzie wyglądał następująco: #C67171 (czerwono-brązowy).- Jeśli postać ma poziom pomiędzy 80 a 89, kolor poziomu będzie następujący: #00FFFF (cyjan).- Jeśli postać ma poziom pomiędzy 90 a 99, kolor poziomu będzie następujący: #FFCC00 (żółty).- Jeśli postać ma poziom pomiędzy 100 a 104, kolor poziomu będzie następujący: #FF4500 (pomarańczowy).- Jeśli postać ma poziom 105 lub wyższy, kolor poziomu będzie następujący: #CD661D (ciemnobrązowy).~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Aby wybrać inne kolory wejdź na stronę Zmień kod koloru po |cff
Opublikowano 1 Marca 20251 r To ja polece ten sposóbZamień cała funkcje void CInstanceBase::UpdateTextTailLevel(DWORD level) na<code>void CInstanceBase::UpdateTextTailLevel(DWORD level){static D3DXCOLOR s_kLevelColor = D3DXCOLOR(152.0f / 255.0f, 255.0f / 255.0f, 51.0f / 255.0f, 1.0f);struct LevelColor {int minLevel;int maxLevel;const char* colorCode;};LevelColor levelColors[] = {{1, 10, "|cFF959697"},{10, 20, "|cFFFFFFFF"},{20, 30, "|cFF00FF7F"},{30, 40, "|cFF00FF00"},{40, 50, "|cFF00CCFF"},{50, 60, "|cFF0000FF"},{60, 70, "|cFFDA70D6"},{70, 80, "|cFFC67171"},{80, 90, "|cFF00FFFF"},{90, 100, "|cFFFFCC00"},{100, 105, "|cFFFF4500"},{105, INT_MAX, "|cFFCD661D"}};const char* colorCode = "|cFFFFFFFF"; // deafult colorfor (const auto& lc : levelColors) {if (level >= lc.minLevel && level < lc.maxLevel) {colorCode = lc.colorCode;break;}}char szText[256];sprintf(szText, "Lv%|r", colorCode, level);CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColor);}dodajcie se taby bo nie ogarniam tu tego bbc</code> Edytowane 2 Marca 20251 r przez Arta
Opublikowano 1 Marca 20251 r Dzięki za wstawkę! Ja wykonałem to w nieco bardziej estetyczny sposób:C++Kod został skopiowanyvoid CInstanceBase::UpdateTextTailLevel(DWORD level){ static D3DXCOLOR s_kLevelColor = D3DXCOLOR(152.0f/255.0f, 255.0f/255.0f, 51.0f/255.0f, 1.0f); const char* levelColors[] = { "|cFF959697", "|cFFFFFFFF", "|cFF00FF7F", "|cFF00FF00", "|cFF00CCFF", "|cFF0000FF", "|cFFDA70D6", "|cFFC67171", "|cFF00FFFF", "|cFFFFCC00", "|cFFFF4500", "|cFFCD661D" }; int colorIndex = (level >= 105) ? 11 : (level >= 100) ? 10 : (level >= 90) ? 9 : (level >= 80) ? 8 : (level >= 70) ? 7 : (level >= 60) ? 6 : (level >= 50) ? 5 : (level >= 40) ? 4 : (level >= 30) ? 3 : (level >= 20) ? 2 : (level >= 10) ? 1 : 0; char szText[256]; sprintf(szText, "%sLv. %d|r", levelColors[colorIndex], level); CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColor);}Efekt: Edytowane 1 Marca 20251 r przez YeeeY
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto