Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...
  • 0

Chat Inter- Empire


Calypso

Question

  • Retraité

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.

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 24
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

24 réponses à cette question

Messages recommandés

  • 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.

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Funkiest

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 

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Retraité

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^^

Lien vers le commentaire
Partager sur d’autres 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]).

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Retraité

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 ..

Lien vers le commentaire
Partager sur d’autres 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)

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Retraité

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 ^^

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 21

      Metin2 en 2020 peut-on en parler?

    2. 0

      METIN2Project

    3. 3

      Ressources - UnPack - Metin2 Client - Officiel

    4. 0

      Barre des tâches d'argent étendue

    5. 16

      Redémarrage automatique des channels

    6. 16

      Multi Logo GM / SGM / GA

    7. 0

      comment extraire les fichiers locale.epk locale.eix sur le serveur officiel ?

    8. 2

      Funky-emu.net -> fr.metin2.dev

  • En ligne récemment

    • Aucun utilisateur enregistré regarde cette page.

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.