Afin de télécharger un contenu sur un Tutoriel / Partage vous devez être connecté à votre compte et donner une réaction au sujet pour débloquer le lien de téléchargement...

Recommended Posts

Bonsoir à tous, 

 

Après avoir fait des recherches sur le forum j'ai vu qu'aucun partage pour le global_chat a été fait, je décide donc de vous le partager pour les files 2014 vierges car sur les 2016 il est déjà implanté et fonctionnel mais ce serait un petit plus pour les personnes utilisant les 2014 pures.

 

Pour ce partage vous aurez besoin que de vos sources serveur et ces 4 fichiers:

  • config.cpp
  • config.h
  • input_main.cpp
  • input_p2p.cpp

 

 

1. config.cpp et config.h

 

Révélation

 

 

Dans le fichier config.cpp, cherchez :

int gPlayerMaxLevel = 99;

 

Juste en dessous mettez :

bool global_chat = false;

 

Ensuite cherchez :

TOKEN("max_level")
{
	str_to_number(gPlayerMaxLevel, value_string);
	gPlayerMaxLevel = MINMAX(1, gPlayerMaxLevel, PLAYER_MAX_LEVEL_CONST);
	fprintf(stderr, "PLAYER_MAX_LEVEL: %d\n", gPlayerMaxLevel);
}

 

Et mettez en dessous :

TOKEN("global_chat")
{
	int flag = 0;

	str_to_number(flag, value_string);
	
	if (1 == flag)
	{
		global_chat = true;
		fprintf(stderr, "GLOBAL_CHAT: %in", flag);
	}
}

 

Maintenant, dans le fichier config.h, cherchez :

extern int gPlayerMaxLevel;

 

Et mettez en dessous :

extern bool global_chat;

 

 

 

2. input_main.cpp

 

Révélation

 

 

Dans ce fichier, recherchez :

ch->SetLastShoutPulse(thecore_heart->pulse);

 

Et remplacer le code déjà existant par :

if(global_chat)
{
	const char* kingdoms[3] = { "|cFFFF0000[S]|r", "|cFFFFFF00[C]|r", "|cFF0080FF[J]|r" };
	const char * GMs = "|cFF009CD5[STAFF]|r";
	const char * GMIMPLEMENTOR = "|cFFD05A01[Admin]|r";
	char chatbuf_global[CHAT_MAX_LEN + 1];
	
	if (ch->GetGMLevel() == GM_PLAYER)
		snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s", kingdoms[ch->GetEmpire() - 1], chatbuf);
	else if (ch->GetGMLevel() == GM_IMPLEMENTOR)
		snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s", GMIMPLEMENTOR, chatbuf);
	else
		snprintf(chatbuf_global, sizeof(chatbuf_global), "%s  %s", GMs, chatbuf);
	
	TPacketGGShout p;
	p.bHeader = HEADER_GG_SHOUT;
	p.bEmpire = ch->GetEmpire();
	
	strlcpy(p.szText, chatbuf_global, sizeof(p.szText));
	P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGShout));
	SendShout(chatbuf_global, ch->GetEmpire());
	
	return (iExtraLen);
}
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

 

 

3. input_p2p.cpp

 

Révélation

 

Dans ce fichier, recherchez :

#include "threeway_war.h"

 

Et mettez en dessous :

extern bool global_chat;

 

Ensuite recherchez la fonction :

struct FuncShout

 

Dans cette fonction vous aurez :

void operator () (LPDESC d)

 

Remplacez-là par :

void operator () (LPDESC d)
{
	if(global_chat)
	{
		if (!d->GetCharacter())
			return;
	}
	else
	{
		if (!d->GetCharacter() || (d->GetCharacter()->GetGMLevel() == GM_PLAYER && d->GetEmpire() != m_bEmpire))
			return;
	}

	d->GetCharacter()->ChatPacket(CHAT_TYPE_SHOUT, "%s", m_str);
}

 

Vous pouvez recompiler vos sources et votre global_chat sera implanté et fonctionnel sans oublier de mettre global_chat: 1 dans les config de vos files.

 

1537176121-screenshot-1.png

 

Link :)

 

  • Like 5

Share this post


Link to post
Share on other sites

Salut,

 

Merci pour ce partage. J'ai pris la peine de corriger quelques erreurs d'inattention et de coloration/indentation.

On attendra un éventuel retour sur l'état de fonctionnement du partage avant de l'accepter.

 

Bonne journée!

Edited by Kameyu

Share this post


Link to post
Share on other sites

Oui mais qu'il marche pour toi c'est une chose, mais il faut qu'il marche pour les autres aussi...

 

Tout ne se passe pas toujours comme prévu hein...

 

PS: Où est la source des fichiers ?

Edited by Kameyu

Share this post


Link to post
Share on other sites

problème d'accent et du au code dans l'input_main du au système de link item sans les loupes magique fin pour ma part les accents bugué quand j'activais sa mais corriger par le bout de code a remplacer qui est partagé sur le forum par Asikoo

Share this post


Link to post
Share on other sites