Skocz do zawartości
Masz już aplikację Sharegon?

Odkryj wszystkie możliwości. Dowiedz się więcej

Sharegon.pl

Zainstaluj aplikację Sharegon i korzystaj z powiadomień push oraz licznika nowych aktywności bezpośrednio z ekranu głównego.

Aby zainstalować tę aplikację na iOS i iPadOS.
  1. Tap the Share icon in Safari
  2. Przewiń menu i stuknij Dodaj do ekranu początkowego.
  3. Stuknij Dodaj w prawym górnym rogu.
Zainstaluj aplikację Sharegon na Androidzie
  1. Otwórz Sklep Google Play na swoim smarfonie.
  2. Wyszukaj „Sharegon” w pasku wyszukiwania.
  3. Stuknij „Zainstaluj”, aby pobrać aplikację.

Nazwa gildi - zmiana koloru według poziomu

Nieaktywny

Featured Replies

Opublikowano

Witam.

Znalazłem kod na naszym forum aby zmienić kolor poziomu wyświetlanego nad postacią. Chciałem użyć kod aby zmienić kolor nazwy gildii nad postacią.

W załączniku ss'y jak wygląda kod w praktyce. Co muszę zrobić aby kod zadziałał?

kod z forum:

void 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);
}

Screenshot_103.png.b45c9a85c2a61462156f6b70cf20f6c0.png

#ifdef 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 (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 SHOW_LIDER_AND_GENERAL_GUILD
		if (dwNewIsGuildName == 3)
			strGuildName += std::string(" ") + SHOW_LIDER_AND_GENERAL_GUILD_VALUE1;
		else if (dwNewIsGuildName == 2)
			strGuildName += std::string(" ") + SHOW_LIDER_AND_GENERAL_GUILD_VALUE2;
		#endif
		
		DWORD Guildlevel = CPythonGuild::Instance().GetGuildLevel(dwGuildID);
		
		static D3DXCOLOR gGuildLevelColor = D3DXCOLOR(152.0f/255.0f, 255.0f/255.0f, 51.0f/255.0f, 1.0f);
		
		const char* GuildlevelColors[] = {
		"|cFF959697", "|cFFFFFFFF", "|cFF00FF7F", "|cFF00FF00", "|cFF00CCFF",
		"|cFF0000FF", "|cFFDA70D6", "|cFFC67171", "|cFF00FFFF", "|cFFFFCC00"
		};
		
		int colorIndex = (Guildlevel >= 10) ? 9 :
					 	 (Guildlevel >= 9) ? 8 :
					 	 (Guildlevel >= 8) ? 7 :
					 	 (Guildlevel >= 7) ? 6 :
					 	 (Guildlevel >= 6) ? 5 :
					 	 (Guildlevel >= 5) ? 4 :
					 	 (Guildlevel >= 4) ? 3 :
					 	 (Guildlevel >= 3) ? 2 :
					 	 (Guildlevel >= 2) ? 1 : 0;
						 
		char szGuildText[256];
		sprintf(szGuildText, "%s|r", GuildLevelColors[colorIndex]);
		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->Update();
	}
	m_CharacterTextTailMap.insert (TTextTailMap::value_type (dwVirtualID, pTextTail));
}

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Konto

Nawigacja

Skonfiguruj powiadomienia push w przeglądarce.

Chrome (Android)
  1. Stuknij ikonę kłódki obok paska adresu.
  2. Wybierz Uprawnienia → Powiadomienia.
  3. Dostosuj swoje preferencje.
Chrome (Desktop)
  1. Kliknij ikonę kłódki na pasku adresu.
  2. Wybierz Ustawienia witryny.
  3. Znajdź Powiadomienia i dostosuj swoje preferencje.