2 mesaje
Administrator Administrator
  • Mesaje: 3449
  • Reacții: 48407
  • Mesaje utile: 29
  • Status: Pe aici.. 🤠
  • Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Contact:
    *Descriere:

    Adauga un efect de RGB + animatie la numele jucatorilor.

    Poate fi extins si folosit pentru diverse sisteme :)

    In tutorial va fi aplicat acest efect la GM doar.

    *Poze / Video:
    [C++] Nume player colorat (RGB) + Animatie - Mesaj 1 - Imagine 1


    *Link download / Code:

    Deschidem PythonTextTail.cpp si cautam:
    Code:
    void CPythonTextTail::UpdateTextTail(TTextTail* pTextTail)
    {
    	if (!pTextTail->pOwner)
    		return;
    	
    	CPythonGraphic& rpyGraphic = CPythonGraphic::Instance();
    	rpyGraphic.Identity();
    	
    	const D3DXVECTOR3& c_rv3Position = pTextTail->pOwner->GetPosition();
    	rpyGraphic.ProjectPosition(c_rv3Position.x,
    		c_rv3Position.y,
    		c_rv3Position.z + pTextTail->fHeight,
    		&pTextTail->x,
    		&pTextTail->y,
    		&pTextTail->z);
    	
    	pTextTail->x = floorf(pTextTail->x);
    	pTextTail->y = floorf(pTextTail->y);
    	
    	if (pTextTail->fDistanceFromPlayer < 1300.0f)
    	{
    		pTextTail->z = 0.0f;
    	}
    	else
    	{
    		pTextTail->z = pTextTail->z * CPythonGraphic::Instance().GetOrthoDepth() * -1.0f;
    		pTextTail->z += 10.0f;
    	}
    Sub adaugam:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Acum pentru animatia de miscare stanga <-> dreapta, cautam tot in acest fisier:
    Code:
    	for (itor = m_CharacterTextTailList.begin(); itor != m_CharacterTextTailList.end(); ++itor)
    	{
    		TTextTail * pTextTail = *itor;
    
    		float fxAdd = 0.0f;
    
    Adaugam:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Cautam:
    Code:
    		if (pMarkInstance && pGuildNameInstance)
    		{
    Inlocuim tot if-ul / adaptam:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Cautam:
    Code:
    		pTextTail->pTextInstance->SetColor(pTextTail->Color.r, pTextTail->Color.g, pTextTail->Color.b);
    		pTextTail->pTextInstance->SetPosition(pTextTail->x + fxAdd, pTextTail->y, pTextTail->z);
    		pTextTail->pTextInstance->Update();
    Inlocuim cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.

    Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo
    Te asteptam si pe serverul de Discord :p - aici ne-am strans toata comunitatea de Metin2 din Romania.
    Link: https://discord.gg/jWxeDSf7HP

    Suntem peste 1700 membri! - Avem chat activ zilnic, support, cereri, resurse. :D :ymcowboy:




    See full signature

    📢 Resurse Metin2 Premium!

    Zeci de resurse Metin2 Premium - exclusive și 100% funcționale începând cu 15.99€!.

    Vezi resursele Cumpără premium
    Premium
    Premium
    Anunț
  • Mesaje: 14
  • Reacții: 66
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
  • Regat: Chunjo
  • Medalii

    Mesaj de xMexR »

    Thanks for sharing :)

    [C++] Nume player colorat (RGB) + Animatie - Mesaj 2 - Imagine 1
    Lil' adjust for shaking in the ArrangeTextTail function:
    Code:
    		pTextTail->pTextInstance->SetColor(pTextTail->Color.r, pTextTail->Color.g, pTextTail->Color.b);
    #ifdef ENABLE_GM_NAME_TEXTTAIL_EFFECT
    		static DWORD s_dwCheckTime = ELTimer_GetMSec();
    		const DWORD dwCurrentTime = ELTimer_GetMSec();
    
    		CInstanceBase* pInst = CPythonCharacterManager::Instance().GetInstancePtr(pTextTail->dwVirtualID);
    		float nameOffsetX = 0.0f;
    		float nameOffsetY = 0.0f;
    		if (pInst && pInst->IsGameMaster())
    		{
    			const DWORD currentTime = CTimer::Instance().GetCurrentMillisecond();
    			const float animTime = (currentTime % 2000) / 2000.0f;
    			nameOffsetX = 20.0f * (0.5f + 0.5f * sinf(2.0f * 3.14159f * animTime));
    			if (dwCurrentTime - s_dwCheckTime > 1000)
    			{
    				nameOffsetY += random_range(-1, 1);
    				if (dwCurrentTime - s_dwCheckTime > 2000)
    					s_dwCheckTime = ELTimer_GetMSec();
    			}
    		}
    
    		pTextTail->pTextInstance->SetPosition(pTextTail->x + nameOffsetX, pTextTail->y + nameOffsetY, pTextTail->z);
    #else
    		pTextTail->pTextInstance->SetPosition(pTextTail->x + fxAdd, pTextTail->y, pTextTail->z);
    #endif
    		pTextTail->pTextInstance->Update();
    

    📢 Resurse Metin2 Premium!

    Zeci de resurse Metin2 Premium - exclusive și 100% funcționale începând cu 15.99€!.

    Vezi resursele Cumpără premium
    Premium
    Premium
    Anunț
    Scrie răspuns

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.

    Înregistrare

    Autentifică-te

    Înapoi la “Îmbunătățiri”

    Informații

    Utilizatori ce navighează pe acest forum: ethalor2official, keksz021, Zbychu și 8 vizitatori

    Discord ID copiat: