Vous devez être connecté et donner une réaction ( Like ) au sujet pour débloquer les liens de téléchargements...
  • 0
Sign in to follow this  
Calypso

en cours Chat Inter- Empire

Question

Bonjour à tous,

Le Python est mon plus grand point faible, pour cela que j'ai besoin de vous ^^

 

Version des files : Client 2014

Domaine (Base de données, Core, etc.) : Client

 

Description du problème : J'essaie de mettre le chat inter-royaume sur mon cliet. J'ai mit les tabulations, sauf que IG, on ne peut plus parler en général ..

 

Recherches et tests effectué :

 

Le uichat.py d'Emulateur:

 

def __SendShoutChatPacket(self, text):

       if 1 == len(text):
           self.RunCloseEvent()
           return

       if app.GetTime()             chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CHAT_SHOUT_LIMIT)
           self.__ResetChat()
           return

       import player
       e_id = str(net.GetEmpireID())

       if e_id == "1":
                   e_id = "|cFFFF0000|H|h[Rouge]|cFFA7FFD4|H|h"
       elif e_id == "2":
                   e_id = "|cFFFFFF00|H|h[Jaune]|cFFA7FFD4|H|h"
       elif e_id == "3":
                   e_id = "|cFF0080FF|H|h[bleu]|cFFA7FFD4|H|h"

       self.__SendChatPacket(e_id+" "+text[1:], chat.CHAT_TYPE_SHOUT)
       self.__ResetChat()
       self.lastShoutTime = app.GetTime() 

 

Le uichat d'Awesome:

 

if type == chat.CHAT_TYPE_SHOUT:
               if name.find("[") !=-1:
                   empire_d = "|cffffc700|H|h[staff]"
                   text =    empire_d + text
               elif name.find("{P}") !=-1:
                   empire_i = "|cFF00FF00|H|h{P}|cFF00FF00|H|h"
                   empire_id = str(net.GetEmpireID())
                   if empire_id == "1":
                       empire_id = "|cFFFF0000|H|h[shinsoo]|cFFFF0000|H|h"
                   elif empire_id == "2":
                       empire_id = "|cFFFFFF00|H|h[Chunjo]|cFFFFFF00|H|h"
                   elif empire_id == "3":
                       empire_id = "|cFF0080FF|H|h[Jinno]|cFF0080FF|H|h"
                   text =    empire_i + empire_id + text
               else:    
                   empire_id = str(net.GetEmpireID())
                   if empire_id == "1":
                       empire_id = "|cFFFF0000|H|h[shinsoo]|cFFFF0000|H|h"
                   elif empire_id == "2":
                       empire_id = "|cFFFFFF00|H|h[Chunjo]|cFFFFFF00|H|h"
                   elif empire_id == "3":
                       empire_id = "|cFF0080FF|H|h[Jinno]|cFF0080FF|H|h"
                   text =    empire_id + text

 

Résultat des recherches et tests :

 

Emulateur: Ca affiche rien sur le général

Awesome (c'es son code que je voudrais): J'écris mais quand j'appuie sur entrée, le texte ne s'envoit pas. Il reste dans la zone de saisie

 

Message d'erreur, capture d'écran :

 

Aucun erreur Sysser pour le code d'Awesome

 

En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.

Share this post


Link to post
Share on other sites

24 answers to this question

Recommended Posts

  • 0

J'avais exactement le même problème, j'ai remit mon uichat d'origine, sans doute qu'il faut toucher ailleurs (?)

Share this post


Link to post
Share on other sites
  • 0

Une sympathique personne m'a envoyé un MP avec tout ce qu'il faut.

Je cherche donc la fameuse DIFF concernant le verre de pénétration (loupe magique) pour le game 40250

Share this post


Link to post
Share on other sites
  • 0

Il faut effectivement une DIFF, j'ai mis le chat inter royaume sur mon serveur, sans la DIFF j'avais l'erreur de la loupe (files 2013).

La voici :)

0010D85D: E8 90 
0010D85E: FE 90 
0010D85F: 6B 90 
0010D860: F1 90 
0010D861: FF 90 
0010D864: 74 90 
0010D865: CA 90 

Je précise que je l'ai trouver sur EPVP pour le game 40250.

Share this post


Link to post
Share on other sites
  • 0

Plus de loupe :

game_r40250
001060C9: 01 00
001060F1: 02 00
00106108: E8 90
00106109: B3 90
0010610A: 8C 90
0010610B: F4 90
0010610C: FF 90 

chat en lui-même

game_r40250
0010D85D: E8 90
0010D85E: FE 90
0010D85F: 6B 90
0010D860: F1 90
0010D861: FF 90
0010D864: 74 90
0010D865: CA 90 

Share this post


Link to post
Share on other sites
  • 0

Merci, j'ai utilisé la première DIFF et ça fonctionne :)

J'ai malheureusement encore un petit problème, l'organisation d'une ligne n'est pas bonne:

 

Elea : [Jaune] : Elea : Test

 

Je voudrai: [Jaune] Elea :

J'ai essayé de bidouillé un peu mais sans résultat. Voici mon code:

 

			elif type == chat.CHAT_TYPE_SHOUT:
			if name.find("[") !=-1:
				empire_id = "|cFFFFC700|H|h[staff] "
			else:
				empire_id = str(net.GetEmpireID())
				if empire_id == "1":
					empire_id = "|cFFFF0000|H|h[Rouge] |cFFa7ffd4|H|h"
				elif empire_id == "2":
					empire_id = "|cFFFFFF00|H|h[Jaune] |cFFa7ffd4|H|h"
				elif empire_id == "3":
					empire_id = "|cFF0080FF|H|h[bleu] |cFFa7ffd4|H|h"
			text = empire_id + "|Hmsg:" + name + "|h" + name + "|h|r : " + text
		else:
			text = name + " : " + text

		net.SendChatPacket(text, type)

 

Si quelqu'un à la solution, n'hésitez pas à m'éclaircir.

Merci à vous^^

Share this post


Link to post
Share on other sites
  • 0

Je pense que tu doit juste enlever les ":" de ceci:

if empire_id == "1":
                       empire_id = "|cFFFF0000|H|h[Rouge] |cFFa7ffd4|H|h"

 

 

donc

 

if empire_id == "1"
                       empire_id = "|cFFFF0000|H|h[Rouge] |cFFa7ffd4|H|h"

 

et cela pour chaque empire. (Il y en a que trois) Je ne suis sûr de rien, fait une save au cas-ou, à priori c'est ça :).

Après pour inter verser les deux codes, je ne sais pas :S ([Jaune] Elea -> Elea [Jaune]).

Share this post


Link to post
Share on other sites
  • 0

Bah nan, ça peut pas être ça .. C'est la syntaxe. J'peux même plus me connecter si je fais ça:

 

networkModule.SetSelectCharacterPhase - :invalid syntax (uiChat.py, line 234)

Share this post


Link to post
Share on other sites
  • 0

Hmmm pas faux, je pense que c'est ça:

 

text = name + " : " + text

 

dans " : " tu peux y insérer du texte, autrement enleve les ":" . Essaye et garde une save avant.

Share this post


Link to post
Share on other sites
  • 0

Nan mais c'est pas ça le problème ..

Si je fais:

 

text = empire_id + text

 

Je l'ai sous le forme Elea : [Jaune] Test

Share this post


Link to post
Share on other sites
  • 0

Tu veux juste enlever ces ":" ou faire autre chose?

Après je vois que ce bout de code:

 

text = empire_id + "|Hmsg:" + name + "|h" + name + "|h|r : " + text

A toi de voir les deux qu'il faut enlever ..

Share this post


Link to post
Share on other sites
  • 0

Ça ne serais pas ça?

 

text = name + " : " + text
Si on le modifie en => text = " : "  + name + text ?

Share this post


Link to post
Share on other sites
  • 0

Toujours pareil.

En fait le soucis c'est que le pseudo est déjà défini hors du code. Donc j'ai beau changé tout le code pour mettre le bon placement, j'aurais toujours le Pseudo: au début ..

Share this post


Link to post
Share on other sites
  • 0

Il paraîtrai qu'il n'est pas possible de le faire via le client ..

Il faudrait donc une DIF pour modifier l'ordre de la ligne ..

Je prend volontiers si quelqu'un la possède

Share this post


Link to post
Share on other sites
  • 0

Bonjour;

J'ai le même problème sur mon serveur je trouve pas le fichier pour faire [bleu]Kiara: ça me met toujours Kiara:[bleu]

Share this post


Link to post
Share on other sites
  • 0

Salut :D

 

"Il paraîtrai qu'il n'est pas possible de le faire via le client ." Qui a dit ça que je l'étripe ? :D

 

Non sérieusement, Elea toi qui a joué sur mon serveur, ce que tu demandes, ça y était si tu te souviens bien dans la version 2, sauf que j'avais remplacé par Pseudo [R]Pseudo et [J]Pseudo.

Je vais installé ces bon dieux de files 2014 et vu je suis le plus gentil (ça va laissez moi m'enflammer :P) je vais te coder ça dès que j'aurais tout les fichiers ;)

(Pour toi aussi kiki :P)

Share this post


Link to post
Share on other sites
  • 0

OverDose sur les games 34/40k la fonction net.SendChatPacket() a déjà un argument de base qui est le pseudo donc la partie client n'y changera rien il faut donc éditer le game.

Share this post


Link to post
Share on other sites
  • 0

Alors là, tu sais quoi, honnêtement, je vais pas te tenir tête, tu as sûrement raison je n'ai pas ces GAME's , je savais même pas qu'ils avaient rajouté ça.

Autant pour moi je vais m'étriper tout seul du coup...

(Aurais-tu skype par hasard ?)

Share this post


Link to post
Share on other sites
  • 0

Pas du tout !

Il est strictement impossible de faire ce que je voulais qu'avec le client.

Même sur les 2012 ....

 

On peut déjà essayer de modifier le packet envoyé par le client, mais pour ça, va falloir modifier le lanceur et le game.

Pour mon problème, j'essaie de toucher au game pour changer l'emplacement des différentes fonction.

Mais même sur les 2012, c'est pas possible (Lumnia a eu une DIFF pour faire ça)

Un grand merci à Verso qui m'aide énormément dans ce que j'aimerais faire ^^

Share this post


Link to post
Share on other sites
  • 0

Je pense qu'ont peux aussi mette juste le pseudo en couleur, sans toucher aux game.

Share this post


Link to post
Share on other sites
  • 0

Comme oscar l'a dit, mettre le pseudo en couleur, sinon, je n'étais pas au courant pour le game.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this