Aller au contenu
Takuma

tutoriel [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

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×

Information importante

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