Aller au contenu
Funky-Emulation Recrute
Takuma

 tutoriel / partage [FIX]Remettre le niveau en temps réel.

Messages recommandés

Salut !

 

Comme certains m'ont demandé sur skype, etc, et j'ai envie de partager, je le mets ici :

Dans les sources serveur : 

 

Dans packet.h cherchez : 

typedef struct packet_update_char

Dans celui-ci, cherchez :

short    sAlignment;

Ajoutez en dessous :

DWORD    dwLevel;

 


 

Maintenant, dans char.cpp, cherchez :

void CHARACTER::UpdatePacket()

Trouvez de dans :

pack.sAlignment    = m_iAlignment / 10;

Ajoutez en dessous :

pack.dwLevel = GetLevel();

 



 

Ensuite, dans vos sources client, ouvrez le packet.h :

Cherchez :

typedef struct packet_update_char

Trouvez dans celui-ci :

short       sAlignment;

Ajoutez :

DWORD        dwLevel;

 


 

Ouvrez ensuite PythonNetworkStreamPhaseGameActor.cpp et cherchez :

bool CPythonNetworkStream::RecvCharacterUpdatePacket()

De dans, cherchez :

kNetUpdateActorData.m_sAlignment=chrUpdatePacket.sAlignment;

Ajoutez :

kNetUpdateActorData.m_dwLevel=chrUpdatePacket.dwLevel;

 


 

 

Rendez vous ensuite dans NetworkActorManager.cpp et cherchez :

void CNetworkActorManager::UpdateActor(const SNetworkUpdateActorData& c_rkNetUpdateActorData)

Cherchez de dans :

pkInstFind->SetAlignment(c_rkNetUpdateActorData.m_sAlignment);

Ajoutez en dessous :

pkInstFind->SetLevel(c_rkNetUpdateActorData.m_dwLevel);

 


 

Allez ensuite dans NetworkActorManager.h et cherchez :

struct SNetworkUpdateActorData

De dans, vous aurez :

short m_sAlignment;

Mettez à la suite :

DWORD m_dwLevel;

 


Ensuite, dans InstanceBase.cpp cherchez :

void CInstanceBase::SetAlignment(short sAlignment)

Après la fonction, ajoutez celle-ci :

void CInstanceBase::SetLevel(DWORD level){    m_dwLevel = level;    UpdateTextTailLevel(m_dwLevel);}

 


Ouvrez ensuite InstanceBaseEffect.cpp et cherchez :

void CInstanceBase::UpdateTextTailLevel(DWORD level)

Remplacez toute la fonction par :

void CInstanceBase::UpdateTextTailLevel(DWORD level){    if (IsPC())    {        static D3DXCOLOR s_kLevelColor = D3DXCOLOR(152.0f/255.0f, 255.0f/255.0f, 51.0f/255.0f, 1.0f);        char szText[256];        sprintf(szText, "Lv %d", level);        CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColor);    }}

 


Et pour finir, dans InstanceBase.h cherchez :

void                    SetAlignment(short sAlignment);

Ajoutez pour finir : 

void                    SetLevel(DWORD level);

 



 

Et voilà, le niveau va maintenant se mettre à jour en temps réel pour tout le monde.

 

 

Cordialement, Takuma.

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites
054220Sans-titre-1.gif

Partager ce message


Lien à poster
Partager sur d’autres sites

@"Kijaru" :D

Partager ce message


Lien à poster
Partager sur d’autres sites

De rien, si je peux aider haha

Partager ce message


Lien à poster
Partager sur d’autres sites

One problem is with refreshing the level in the group (party).

Who have fix for this? Takuma can you update your code?

Partager ce message


Lien à poster
Partager sur d’autres sites

×

Information importante

By using this site, you agree to our Conditions d’utilisation.