Reichchat uichat.py FAIL?

06/17/2015 22:10 MaxChri#1
Nabend,

ich habe den Reichchat mit einer dif gepatcht und wollte nun in der uichat.py bei jedem shout das Reich zu dem Spieler anzeigen. lassen.
Z.B [Blau]Testspieler: Hallo

Ich habe folgendes eingefügt:
PHP Code:
    def __SendChatPacket(selftexttype):
        if 
text == "(buff1)":
            return
        
elif text == "(buff2)":
            return
        
elif text == "(buff3)":
            return
        
elif text == "(buff4)":
            return
        
elif text == "(buff5)":
            return
        
elif text == "(buff6)":
            return
        
elif net.IsChatInsultIn(text):
            
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.CHAT_INSULT_STRING)
        else:
            if 
type == chat.CHAT_TYPE_SHOUT:
                
name player.GetName()
                
empire_id str(net.GetEmpireID())
                if 
empire_id == "1":
                    
empire_id "|cFFFF0000|H|h[Rot]|cFFA7FFD4|H|h"
                
elif empire_id == "2":
                    
empire_id "|cFFFFFF00|H|h[Gelb]|cFFA7FFD4|H|h"
                
elif empire_id == "3":
                    
empire_id "|cFF0080FF|H|h[Blau]|cFFA7FFD4|H|h"

            
text empire_id text
            net
.SendChatPacket(texttype
Wenn ich jetzt aber im Spiel bin und etwas im Shout schreiben will, schließt sich das Chatfenster einfach. Es passiert sonst nix weiter. Weiß einer vielleicht, woran der Fehler liegt?
06/18/2015 07:34 Poccix#2
Syserr.txt Inhalt bitte.
06/18/2015 09:52 rollback#3
Kommt nicht erst der type und dann der Text?

Code:
net.SendChatPacket(type, text)
06/18/2015 17:07 MaxChri#4
Achso sorry, hier ist die syserr.txt

PHP Code:
0618 17:06:11629 :: GRANNYr:/granny/rt/granny_file_info.cpp(145): File has run-time type tag of 0x8000000fwhich doesn't match this version of Granny (0x80000010).  Automatic conversion will be attempted.
0618 17:06:14091 :: CreateFromMemoryFile: Cannot create texture
0618 17:06:20165 :: Traceback (most recent call last):

0618 17:06:20165 ::   File "uiChat.py", line 376, in OnIMEReturn

0618 17:06:20165 ::   File "uiChat.py", line 278, in __SendTalkingChatPacket

0618 17:06:20166 ::   File "uiChat.py", line 240, in __SendChatPacket

0618 17:06:20166 :: UnboundLocalError
0618 17:06:20166 :: : 
0618 17:06:20166 :: local variable '
empire_id' referenced before assignment
0618 17:06:20166 :: 

0618 17:06:20166 :: Traceback (most recent call last):

0618 17:06:20166 ::   File "uiChat.py", line 376, in OnIMEReturn

0618 17:06:20166 ::   File "uiChat.py", line 278, in __SendTalkingChatPacket

0618 17:06:20166 ::   File "uiChat.py", line 240, in __SendChatPacket

0618 17:06:20166 :: UnboundLocalError
0618 17:06:20166 :: : 
0618 17:06:20166 :: local variable '
empire_id' referenced before assignment
0618 17:06:20166 :: 
Quote:
Originally Posted by It's me, 1093 View Post
Kommt nicht erst der type und dann der Text?

Code:
net.SendChatPacket(type, text)
Hab ich versucht, dann kam aber eine meterlange syserr :(
06/18/2015 17:57 Poccix#5
Code:
def __SendChatPacket(self, text, type):
	if text == "(buff1)":
		return
	elif text == "(buff2)":
		return
	elif text == "(buff3)":
		return
	elif text == "(buff4)":
		return
	elif text == "(buff5)":
		return
	elif text == "(buff6)":
		return
	elif net.IsChatInsultIn(text):
		chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CHAT_INSULT_STRING)
	else:
		if type == chat.CHAT_TYPE_SHOUT:
			name = player.GetName()
			empire_id = str(net.GetEmpireID())
			if empire_id == "1":
				empire_id = "|cFFFF0000|H|h[Rot]|cFFA7FFD4|H|h"
			elif empire_id == "2":
				empire_id = "|cFFFFFF00|H|h[Gelb]|cFFA7FFD4|H|h"
			elif empire_id == "3":
				empire_id = "|cFF0080FF|H|h[Blau]|cFFA7FFD4|H|h"
				
			text = empire_id + text

		net.SendChatPacket(text, type)
06/18/2015 18:05 Nick#6
Quote:
Originally Posted by It's me, 1093 View Post
Kommt nicht erst der type und dann der Text?

Code:
net.SendChatPacket(type, text)
Nein, nicht mit chat.AppendChat() verwechseln. :p

Versuch es bestenfalls [Only registered and activated users can see links. Click Here To Register...], sollte funktionieren, auch der Code fällt besser aus.

lg
06/18/2015 18:21 MaxChri#7
Quote:
Originally Posted by .JayZoN View Post
Nein, nicht mit chat.AppendChat() verwechseln. :p

Versuch es bestenfalls [Only registered and activated users can see links. Click Here To Register...], sollte funktionieren, auch der Code fällt besser aus.

lg
Danke habe ich eingebaut, aber die Chatbox schließt sich jetzt trotzdem noch, wenn ich in den Rufchat schreibe. Normal schreiben geht aber im Vergleich zum alten Skript.

Quote:
Originally Posted by Poccix View Post
Code:
def __SendChatPacket(self, text, type):
	if text == "(buff1)":
		return
	elif text == "(buff2)":
		return
	elif text == "(buff3)":
		return
	elif text == "(buff4)":
		return
	elif text == "(buff5)":
		return
	elif text == "(buff6)":
		return
	elif net.IsChatInsultIn(text):
		chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CHAT_INSULT_STRING)
	else:
		if type == chat.CHAT_TYPE_SHOUT:
			name = player.GetName()
			empire_id = str(net.GetEmpireID())
			if empire_id == "1":
				empire_id = "|cFFFF0000|H|h[Rot]|cFFA7FFD4|H|h"
			elif empire_id == "2":
				empire_id = "|cFFFFFF00|H|h[Gelb]|cFFA7FFD4|H|h"
			elif empire_id == "3":
				empire_id = "|cFF0080FF|H|h[Blau]|cFFA7FFD4|H|h"
				
			text = empire_id + text

		net.SendChatPacket(text, type)
Da kommt jetzt im Chat: Glas der Einsicht benötigt O.o Obwohl ich eine dif habe, womit man das eigentlich nicht benötigt :(
06/18/2015 18:26 Poccix#8
Oben "import player" bei den anderen Import's
06/18/2015 18:32 MaxChri#9
Quote:
Originally Posted by Poccix View Post
Oben "import player" bei den anderen Import's
Ja ist mir auch eben aufgefallen xD Aber da kommt jetzt dann im Shout: "Glas der Einsicht wird benötigt" Gibt es dafür auch einen Fix? Normal kann man ohne Glas der Einsicht Items auswählen.
06/18/2015 18:47 Nick#10
Quote:
Originally Posted by MaxChri View Post
Ja ist mir auch eben aufgefallen xD Aber da kommt jetzt dann im Shout: "Glas der Einsicht wird benötigt" Gibt es dafür auch einen Fix? Normal kann man ohne Glas der Einsicht Items auswählen.
Den Import darfst du natürlich nicht vergessen, das ist klar, hat DasKuchen auch im Startpost erwähnt. Welche Gamefile ist aktuell in Verwendung?

lg
06/18/2015 18:53 MaxChri#11
Quote:
Originally Posted by .JayZoN View Post
Den Import darfst du natürlich nicht vergessen, das ist klar, hat DasKuchen auch im Startpost erwähnt. Welche Gamefile ist aktuell in Verwendung?

lg
Ja genau :D Benutze die 20k files von invoice unbugged by gr33n.
06/18/2015 18:57 Nick#12
Quote:
Originally Posted by MaxChri View Post
Ja genau :D Benutze die 20k files von invoice unbugged by gr33n.
2089M != 20k. Umso besser, die zweite DIF [Only registered and activated users can see links. Click Here To Register...] dürfte den gewünschten Effekt erzeugen.

lg
06/18/2015 19:07 MaxChri#13
Quote:
Originally Posted by .JayZoN View Post
2089M != 20k. Umso besser, die zweite DIF [Only registered and activated users can see links. Click Here To Register...] dürfte den gewünschten Effekt erzeugen.

lg
Okay dann weiß ich Bescheid. Jeeeetzt weiß ich, was der mit dieser zweiten dif meint xD Die erste hatte ich schon für den Reichchat benutzt. Nun funktioniert es, Vielen Dank an euch allen.
06/21/2015 15:49 Yunora#14
Am besten nimmst du die Uichat ausm Atimera client wenn du noch nicht so viel ahnung von Python hast Lg. und hoffe hat geklappt :)
06/21/2015 19:12 MaxChri#15
Quote:
Originally Posted by Yunora View Post
Am besten nimmst du die Uichat ausm Atimera client wenn du noch nicht so viel ahnung von Python hast Lg. und hoffe hat geklappt :)
Ja hat teilweise geklappt. Das Reich wird erst hinter dem Namen angezeigt :(
Ich habe testweise den Clienten von Abizu2 genommen, wo ebenfalls der Reichchat drin war, aber da ist der Aufbau genau so und bei den wurde es richtig angezeigt :confused: