You last visited: Today at 07:46
Advertisement
Reichchat :(
Discussion on Reichchat :( within the Metin2 Private Server forum part of the Metin2 category.
11/22/2013, 19:57
#1
elite*gold: 0
Join Date: Jul 2013
Posts: 102
Received Thanks: 12
Reichchat :(
Ich habe eben Reichchat eingefügt ...
Ich hatte vorher neben Chat so farbige ... ? z.B Blau dann schreibt man blau usw.. nun hab ich Reichchat drin dann sieht das jetzt so aus ?
Wie mach ich die lücke da weg .. ?
und
Wenn ich mich einlogge und sofort PN schreiben will steht das ich 15Sekunden warten soll.. Woran liegt es ? Wie kann ich es beheben .. ?
11/24/2013, 10:36
#2
elite*gold: 0
Join Date: Jul 2013
Posts: 102
Received Thanks: 12
#push
11/24/2013, 14:09
#3
elite*gold: 0
Join Date: Jan 2011
Posts: 2,903
Received Thanks: 1,262
poste mal deine uichat
11/24/2013, 23:33
#4
elite*gold: 0
Join Date: Jul 2013
Posts: 102
Received Thanks: 12
PHP Code:
import ui import grp import chat import wndMgr import net import app import ime import locale import colorInfo import constInfo import systemSetting import player import chr import chrmgr ENABLE_CHAT_COMMAND = TRUE ENABLE_LAST_SENTENCE_STACK = TRUE ENABLE_INSULT_CHECK = TRUE if locale . IsHONGKONG (): ENABLE_LAST_SENTENCE_STACK = TRUE if locale . IsEUROPE (): ENABLE_CHAT_COMMAND = FALSE if locale . IsCANADA (): ENABLE_LAST_SENTENCE_STACK = FALSE createToolTipWindowDict = {} chatInputSetList = [] def InsertChatInputSetWindow ( wnd ): global chatInputSetList chatInputSetList . append ( wnd ) def RefreshChatMode (): global chatInputSetList map ( lambda wnd : wnd . OnRefreshChatMode (), chatInputSetList ) def RefreshChatColor (): global chatInputSetList map ( lambda wnd : wnd . OnRefreshChatColor (), chatInputSetList ) def DestroyChatInputSetWindow (): global chatInputSetList chatInputSetList = [] ## ChatModeButton class ChatModeButton ( ui . Window ): OUTLINE_COLOR = grp . GenerateColor ( 1.0 , 1.0 , 1.0 , 1.0 ) OVER_COLOR = grp . GenerateColor ( 1.0 , 1.0 , 1.0 , 0.3 ) BUTTON_STATE_UP = 0 BUTTON_STATE_OVER = 1 BUTTON_STATE_DOWN = 2 def __init__ ( self ): ui . Window . __init__ ( self ) self . state = None self . buttonText = None self . event = None net . EnableChatInsultFilter ( ENABLE_INSULT_CHECK ) def __del__ ( self ): ui . Window . __del__ ( self ) def SAFE_SetEvent ( self , event ): self . event = ui . __mem_func__ ( event ) def SetText ( self , text ): if None == self . buttonText : textLine = ui . TextLine () textLine . SetParent ( self ) textLine . SetWindowHorizontalAlignCenter () textLine . SetWindowVerticalAlignCenter () textLine . SetVerticalAlignCenter () textLine . SetHorizontalAlignCenter () textLine . SetPackedFontColor ( self . OUTLINE_COLOR ) textLine . Show () self . buttonText = textLine self . buttonText . SetText ( text ) def SetSize ( self , width , height ): self . width = width self . height = height ui . Window . SetSize ( self , width , height ) def OnMouseOverIn ( self ): self . state = self . BUTTON_STATE_OVER def OnMouseOverOut ( self ): self . state = self . BUTTON_STATE_UP def OnMouseLeftButtonDown ( self ): self . state = self . BUTTON_STATE_DOWN def OnMouseLeftButtonUp ( self ): self . state = self . BUTTON_STATE_UP if self . IsIn (): self . state = self . BUTTON_STATE_OVER if None != self . event : self . event () def OnRender ( self ): ( x , y ) = self . GetGlobalPosition () grp . SetColor ( self . OUTLINE_COLOR ) grp . RenderRoundBox ( x , y , self . width , self . height ) if self . state >= self . BUTTON_STATE_OVER : grp . RenderRoundBox ( x + 1 , y , self . width - 2 , self . height ) grp . RenderRoundBox ( x , y + 1 , self . width , self . height - 2 ) if self . BUTTON_STATE_DOWN == self . state : grp . SetColor ( self . OVER_COLOR ) grp . RenderBar ( x + 1 , y + 1 , self . width - 2 , self . height - 2 ) ## ChatLine class ChatColorButton ( ui . Window ): OUTLINE_COLOR = grp . GenerateColor ( 1.0 , 1.0 , 1.0 , 1.0 ) OVER_COLOR = grp . GenerateColor ( 1.0 , 1.0 , 1.0 , 0.3 ) BUTTON_STATE_UP = 0 BUTTON_STATE_OVER = 1 BUTTON_STATE_DOWN = 2 def __init__ ( self ): ui . Window . __init__ ( self ) self . state = None self . buttonText = None self . event = None self . ToolTipText = None net . EnableChatInsultFilter ( ENABLE_INSULT_CHECK ) def __del__ ( self ): ui . Window . __del__ ( self ) def SAFE_SetEvent ( self , event ): self . event = ui . __mem_func__ ( event ) def SetBorderColor ( self , r , g , b , a ): OUTLINE_COLOR = grp . GenerateColor ( r , g , b , 1.0 ) OVER_COLOR = grp . GenerateColor ( r , g , b , 0.3 ) ( x , y ) = self . GetGlobalPosition () grp . SetColor ( self . OUTLINE_COLOR ) grp . RenderRoundBox ( x , y , self . width , self . height ) if self . state >= self . BUTTON_STATE_OVER : grp . RenderRoundBox ( x + 1 , y , self . width - 2 , self . height ) grp . RenderRoundBox ( x , y + 1 , self . width , self . height - 2 ) if self . BUTTON_STATE_DOWN == self . state : grp . SetColor ( self . OVER_COLOR ) grp . RenderBar ( x + 1 , y + 1 , self . width - 2 , self . height - 2 ) def SetText ( self , text ): if None == self . buttonText : textLine = ui . TextLine () textLine . SetParent ( self ) textLine . SetWindowHorizontalAlignCenter () textLine . SetWindowVerticalAlignCenter () textLine . SetVerticalAlignCenter () textLine . SetHorizontalAlignCenter () textLine . Show () self . buttonText = textLine self . buttonText . SetText ( text ) def SetSize ( self , width , height ): self . width = width self . height = height ui . Window . SetSize ( self , width , height ) def OnMouseOverIn ( self ): self . state = self . BUTTON_STATE_OVER def OnMouseOverOut ( self ): self . state = self . BUTTON_STATE_UP def SetFormToolTipText ( self , type , text , x , y ): if not self . ToolTipText : toolTip = createToolTipWindowDict [ type ]() toolTip . SetParent ( self ) toolTip . SetSize ( 0 , 0 ) toolTip . SetHorizontalAlignCenter () toolTip . SetOutline () toolTip . Hide () toolTip . SetPosition ( x + self . GetWidth ()/ 2 , y ) self . ToolTipText = toolTip self . ToolTipText . SetText ( text ) def SetToolTipWindow ( self , toolTip ): self . ToolTipText = toolTip self . ToolTipText . SetParentProxy ( self ) def SetToolTipText ( self , text , x = 0 , y = - 19 ): self . SetFormToolTipText ( "TEXT" , text , x , y ) def OnMouseLeftButtonDown ( self ): self . state = self . BUTTON_STATE_DOWN def OnMouseLeftButtonUp ( self ): self . state = self . BUTTON_STATE_UP if self . IsIn (): self . state = self . BUTTON_STATE_OVER if None != self . event : self . event () def OnRender ( self ): ( x , y ) = self . GetGlobalPosition () grp . SetColor ( self . OUTLINE_COLOR ) grp . RenderRoundBox ( x , y , self . width , self . height ) if self . state >= self . BUTTON_STATE_OVER : grp . RenderRoundBox ( x + 1 , y , self . width - 2 , self . height ) grp . RenderRoundBox ( x , y + 1 , self . width , self . height - 2 ) if self . BUTTON_STATE_DOWN == self . state : grp . SetColor ( self . OVER_COLOR ) grp . RenderBar ( x + 1 , y + 1 , self . width - 2 , self . height - 2 ) ## ChatLine class ChatLine ( ui . EditLine ): CHAT_MODE_NAME = { chat . CHAT_TYPE_TALKING : locale . CHAT_NORMAL , chat . CHAT_TYPE_PARTY : locale . CHAT_PARTY , chat . CHAT_TYPE_GUILD : locale . CHAT_GUILD , chat . CHAT_TYPE_SHOUT : locale . CHAT_SHOUT , } def __init__ ( self ): ui . EditLine . __init__ ( self ) self . SetWindowName ( "Chat Line" ) self . lastShoutTime = 0 self . eventEscape = lambda * arg : None self . eventReturn = lambda * arg : None self . eventTab = None self . chatMode = chat . CHAT_TYPE_TALKING self . bCodePage = TRUE self . overTextLine = ui . TextLine () self . overTextLine . SetParent ( self ) self . overTextLine . SetPosition (- 1 , 0 ) self . overTextLine . SetFontColor ( 1.0 , 1.0 , 0.0 ) self . overTextLine . SetOutline () self . overTextLine . Hide () self . lastSentenceStack = [] self . lastSentencePos = 0 self . ccolor = "N" def SetChatMode ( self , mode ): self . chatMode = mode def GetChatMode ( self ): return self . chatMode def ChangeChatColor ( self ): text = self . GetText () self . __ResetChat () name = player . GetName () if name . find ( "]" )!=- 1 : if text . find ( "[blue]" )!=- 1 : self . ccolor = "LB" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[lightblue]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[lightblue]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![lightblue]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[lightblue]" ) elif text . find ( "[lightblue]" )!=- 1 : self . ccolor = "P" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[pink]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[pink]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![pink]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[pink]" ) elif text . find ( "[pink]" )!=- 1 : self . ccolor = "G" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[green]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[green]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![green]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[green]" ) elif text . find ( "[green]" )!=- 1 : self . ccolor = "V" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[violett]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[violett]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![violett]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[violett]" ) elif text . find ( "[violett]" )!=- 1 : self . ccolor = "O" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[orange]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[orange]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![orange]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[orange]" ) elif text . find ( "[orange]" )!=- 1 : self . ccolor = "BR" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[brown]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[brown]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![brown]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[brown]" ) elif text . find ( "[brown]" )!=- 1 : self . ccolor = "BL" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[black]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[black]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![black]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[black]" ) elif text . find ( "[black]" )!=- 1 : self . ccolor = "GR" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[gray]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[gray]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![gray]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[gray]" ) elif text . find ( "[gray]" )!=- 1 : self . ccolor = "Y" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[yellow]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[yellow]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![yellow]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[yellow]" ) elif text . find ( "[yellow]" )!=- 1 : self . ccolor = "R" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[red]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[red]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![red]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[red]" ) elif text . find ( "[red]" )!=- 1 : self . ccolor = "GO" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[gold]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[gold]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![gold]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[gold]" ) elif text . find ( "[gold]" )!=- 1 : self . ccolor = "N" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "!" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "" ) else: self . ccolor = "B" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[blue]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[blue]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![blue]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[blue]" ) else: if text . find ( "[blue]" )!=- 1 : self . ccolor = "LB" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[lightblue]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[lightblue]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![lightblue]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[lightblue]" ) elif text . find ( "[lightblue]" )!=- 1 : self . ccolor = "P" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[pink]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[pink]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![pink]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[pink]" ) elif text . find ( "[pink]" )!=- 1 : self . ccolor = "G" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[green]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[green]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![green]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[green]" ) elif text . find ( "[green]" )!=- 1 : self . ccolor = "N" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "!" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "" ) else: self . ccolor = "B" if self . GetChatMode () == chat . CHAT_TYPE_PARTY : self . SetText ( "#[blue]" ) elif self . GetChatMode () == chat . CHAT_TYPE_GUILD : self . SetText ( "%[blue]" ) elif self . GetChatMode () == chat . CHAT_TYPE_SHOUT : self . SetText ( "![blue]" ) elif self . GetChatMode () == chat . CHAT_TYPE_TALKING : self . SetText ( "[blue]" ) self . SetEndPosition () self . __CheckChatMark () def ChangeChatMode ( self ): if chat . CHAT_TYPE_TALKING == self . GetChatMode (): name = player . GetName () if name . find ( "]" )!=- 1 : if self . ccolor == "B" : self . SetText ( "#[blue]" ) elif self . ccolor == "LB" : self . SetText ( "#[lightblue]" ) elif self . ccolor == "P" : self . SetText ( "#[pink]" ) elif self . ccolor == "G" : self . SetText ( "#[green]" ) elif self . ccolor == "V" : self . SetText ( "#[violett]" ) elif self . ccolor == "O" : self . SetText ( "#[orange]" ) elif self . ccolor == "BR" : self . SetText ( "#[brown]" ) elif self . ccolor == "BL" : self . SetText ( "#[black]" ) elif self . ccolor == "GR" : self . SetText ( "#[gray]" ) elif self . ccolor == "Y" : self . SetText ( "#[yellow]" ) elif self . ccolor == "E" : self . SetText ( "#[red]" ) elif self . ccolor == "GO" : self . SetText ( "#[gold]" ) else: self . SetText ( "#" ) else: if self . ccolor == "B" : self . SetText ( "#[blue]" ) elif self . ccolor == "LB" : self . SetText ( "#[lightblue]" ) elif self . ccolor == "P" : self . SetText ( "#[pink]" ) elif self . ccolor == "G" : self . SetText ( "#[green]" ) else: self . SetText ( "#" ) self . SetChatMode ( chat . CHAT_TYPE_PARTY ) self . SetEndPosition () elif chat . CHAT_TYPE_PARTY == self . GetChatMode (): name = player . GetName () if name . find ( "]" )!=- 1 : if self . ccolor == "B" : self . SetText ( "%[blue]" ) elif self . ccolor == "LB" : self . SetText ( "%[lightblue]" ) elif self . ccolor == "P" : self . SetText ( "%[pink]" ) elif self . ccolor == "G" : self . SetText ( "%[green]" ) elif self . ccolor == "V" : self . SetText ( "%[violett]" ) elif self . ccolor == "O" : self . SetText ( "%[orange]" ) elif self . ccolor == "BR" : self . SetText ( "%[brown]" ) elif self . ccolor == "BL" : self . SetText ( "%[black]" ) elif self . ccolor == "GR" : self . SetText ( "%[gray]" ) elif self . ccolor == "Y" : self . SetText ( "%[yellow]" ) elif self . ccolor == "E" : self . SetText ( "%[red]" ) elif self . ccolor == "GO" : self . SetText ( "%[gold]" ) else: self . SetText ( "%" ) else: if self . ccolor == "B" : self . SetText ( "%[blue]" ) elif self . ccolor == "LB" : self . SetText ( "%[lightblue]" ) elif self . ccolor == "P" : self . SetText ( "%[pink]" ) elif self . ccolor == "G" : self . SetText ( "%[green]" ) else: self . SetText ( "%" ) self . SetChatMode ( chat . CHAT_TYPE_GUILD ) self . SetEndPosition () elif chat . CHAT_TYPE_GUILD == self . GetChatMode (): name = player . GetName () if name . find ( "]" )!=- 1 : if self . ccolor == "B" : self . SetText ( "![blue]" ) elif self . ccolor == "LB" : self . SetText ( "![lightblue]" ) elif self . ccolor == "P" : self . SetText ( "![pink]" ) elif self . ccolor == "G" : self . SetText ( "![green]" ) elif self . ccolor == "V" : self . SetText ( "![violett]" ) elif self . ccolor == "O" : self . SetText ( "![orange]" ) elif self . ccolor == "BR" : self . SetText ( "![brown]" ) elif self . ccolor == "BL" : self . SetText ( "![black]" ) elif self . ccolor == "GR" : self . SetText ( "![gray]" ) elif self . ccolor == "Y" : self . SetText ( "![yellow]" ) elif self . ccolor == "E" : self . SetText ( "![red]" ) elif self . ccolor == "GO" : self . SetText ( "![gold]" ) else: self . SetText ( "!" ) else: if self . ccolor == "B" : self . SetText ( "![blue]" ) elif self . ccolor == "LB" : self . SetText ( "![lightblue]" ) elif self . ccolor == "P" : self . SetText ( "![pink]" ) elif self . ccolor == "G" : self . SetText ( "![green]" ) else: self . SetText ( "!" ) self . SetChatMode ( chat . CHAT_TYPE_SHOUT ) self . SetEndPosition () elif chat . CHAT_TYPE_SHOUT == self . GetChatMode (): name = player . GetName () if name . find ( "]" )!=- 1 : if self . ccolor == "B" : self . SetText ( "[blue]" ) elif self . ccolor == "LB" : self . SetText ( "[lightblue]" ) elif self . ccolor == "P" : self . SetText ( "[pink]" ) elif self . ccolor == "G" : self . SetText ( "[green]" ) elif self . ccolor == "V" : self . SetText ( "[violett]" ) elif self . ccolor == "O" : self . SetText ( "[orange]" ) elif self . ccolor == "BR" : self . SetText ( "[brown]" ) elif self . ccolor == "BL" : self . SetText ( "[black]" ) elif self . ccolor == "GR" : self . SetText ( "[gray]" ) elif self . ccolor == "Y" : self . SetText ( "[yellow]" ) elif self . ccolor == "E" : self . SetText ( "[red]" ) elif self . ccolor == "GO" : self . SetText ( "[gold]" ) else: self . SetText ( "" ) else: if self . ccolor == "B" : self . SetText ( "[blue]" ) elif self . ccolor == "LB" : self . SetText ( "[lightblue]" ) elif self . ccolor == "P" : self . SetText ( "[pink]" ) elif self . ccolor == "G" : self . SetText ( "[green]" ) else: self . SetText ( "" ) self . SetChatMode ( chat . CHAT_TYPE_TALKING ) self . __CheckChatMark () def GetCurrentChatModeName ( self ): try: return self . CHAT_MODE_NAME [ self . chatMode ] except : import exception exception . Abort ( "ChatLine.GetCurrentChatModeName" ) def GetCurrentChatColorName ( self ): try: text = self . GetText () if text . find ( "[blue]" )!=- 1 : return "B" elif text . find ( "[lightblue]" )!=- 1 : return "L" elif text . find ( "[pink]" )!=- 1 : return "P" elif text . find ( "[green]" )!=- 1 : return "G" elif text . find ( "[violett]" )!=- 1 : return "V" elif text . find ( "[orange]" )!=- 1 : return "O" elif text . find ( "[brown]" )!=- 1 : return "BR" elif text . find ( "[black]" )!=- 1 : return "BL" elif text . find ( "[gray]" )!=- 1 : return "GR" elif text . find ( "[yellow]" )!=- 1 : return "Y" elif text . find ( "[red]" )!=- 1 : return "R" elif text . find ( "[gold]" )!=- 1 : return "GO" else: return "N" except : import exception exception . Abort ( "ChatLine.GetCurrentChatColorName" ) def SAFE_SetEscapeEvent ( self , event ): self . eventReturn = ui . __mem_func__ ( event ) def SAFE_SetReturnEvent ( self , event ): self . eventEscape = ui . __mem_func__ ( event ) def SAFE_SetTabEvent ( self , event ): self . eventTab = ui . __mem_func__ ( event ) def SetTabEvent ( self , event ): self . eventTab = event def OpenChat ( self ): self . SetFocus () self . __ResetChat () def __ClearChat ( self ): self . SetText ( "" ) self . lastSentencePos = 0 def __ResetChat ( self ): name = player . GetName () if chat . CHAT_TYPE_PARTY == self . GetChatMode (): if name . find ( "]" )!=- 1 : if self . ccolor == "B" : self . SetText ( "#[blue]" ) elif self . ccolor == "LB" : self . SetText ( "#[lightblue]" ) elif self . ccolor == "P" : self . SetText ( "#[pink]" ) elif self . ccolor == "G" : self . SetText ( "#[green]" ) elif self . ccolor == "V" : self . SetText ( "#[violett]" ) elif self . ccolor == "O" : self . SetText ( "#[orange]" ) elif self . ccolor == "BR" : self . SetText ( "#[brown]" ) elif self . ccolor == "BL" : self . SetText ( "#[black]" ) elif self . ccolor == "Y" : self . SetText ( "#[yellow]" ) elif self . ccolor == "R" : self . SetText ( "#[red]" ) elif self . ccolor == "GO" : self . SetText ( "#[gold]" ) elif self . ccolor == "GR" : self . SetText ( "#[gray]" ) else: self . SetText ( "#" ) else: if self . ccolor == "B" : self . SetText ( "#[blue]" ) elif self . ccolor == "LB" : self . SetText ( "#[lightblue]" ) elif self . ccolor == "P" : self . SetText ( "#[pink]" ) elif self . ccolor == "G" : self . SetText ( "#[green]" ) else: self . SetText ( "#" ) self . SetEndPosition () elif chat . CHAT_TYPE_GUILD == self . GetChatMode (): if name . find ( "]" )!=- 1 : if self . ccolor == "B" : self . SetText ( "%[blue]" ) elif self . ccolor == "LB" : self . SetText ( "%[lightblue]" ) elif self . ccolor == "P" : self . SetText ( "%[pink]" ) elif self . ccolor == "G" : self . SetText ( "%[green]" ) elif self . ccolor == "V" : self . SetText ( "%[violett]" ) elif self . ccolor == "O" : self . SetText ( "%[orange]" ) elif self . ccolor == "GR" : self . SetText ( "%[gray]" ) elif self . ccolor == "BR" : self . SetText ( "%[brown]" ) elif self . ccolor == "BL" : self . SetText ( "%[black]" ) elif self . ccolor == "Y" : self . SetText ( "%[yellow]" ) elif self . ccolor == "R" : self . SetText ( "%[red]" ) elif self . ccolor == "GO" : self . SetText ( "%[gold]" ) else: self . SetText ( "%" ) else: if self . ccolor == "B" : self . SetText ( "%[blue]" ) elif self . ccolor == "LB" : self . SetText ( "%[lightblue]" ) elif self . ccolor == "P" : self . SetText ( "%[pink]" ) elif self . ccolor == "G" : self . SetText ( "%[green]" ) else: self . SetText ( "%" ) self . SetEndPosition () elif chat . CHAT_TYPE_SHOUT == self . GetChatMode (): if name . find ( "]" )!=- 1 : if self . ccolor == "B" : self . SetText ( "![blue]" ) elif self . ccolor == "LB" : self . SetText ( "![lightblue]" ) elif self . ccolor == "P" : self . SetText ( "![pink]" ) elif self . ccolor == "G" : self . SetText ( "![green]" ) elif self . ccolor == "V" : self . SetText ( "![violett]" ) elif self . ccolor == "O" : self . SetText ( "![orange]" ) elif self . ccolor == "GR" : self . SetText ( "![gray]" ) elif self . ccolor == "BR" : self . SetText ( "![brown]" ) elif self . ccolor == "BL" : self . SetText ( "![black]" ) elif self . ccolor == "Y" : self . SetText ( "![yellow]" ) elif self . ccolor == "R" : self . SetText ( "![red]" ) elif self . ccolor == "GO" : self . SetText ( "![gold]" ) else: self . SetText ( "!" ) else: if self . ccolor == "B" : self . SetText ( "![blue]" ) elif self . ccolor == "LB" : self . SetText ( "![lightblue]" ) elif self . ccolor == "P" : self . SetText ( "![pink]" ) elif self . ccolor == "G" : self . SetText ( "![green]" ) else: self . SetText ( "!" ) self . SetEndPosition () else: if name . find ( "]" )!=- 1 : if self . ccolor == "B" : self . SetText ( "[blue]" ) elif self . ccolor == "LB" : self . SetText ( "[lightblue]" ) elif self . ccolor == "P" : self . SetText ( "[pink]" ) elif self . ccolor == "G" : self . SetText ( "[green]" ) elif self . ccolor == "V" : self . SetText ( "[violett]" ) elif self . ccolor == "O" : self . SetText ( "[orange]" ) elif self . ccolor == "GR" : self . SetText ( "[gray]" ) elif self . ccolor == "BR" : self . SetText ( "[brown]" ) elif self . ccolor == "BL" : self . SetText ( "[black]" ) elif self . ccolor == "Y" : self . SetText ( "[yellow]" ) elif self . ccolor == "R" : self . SetText ( "[red]" ) elif self . ccolor == "GO" : self . SetText ( "[gold]" ) else: self . SetText ( "" ) else: if self . ccolor == "B" : self . SetText ( "[blue]" ) elif self . ccolor == "LB" : self . SetText ( "[lightblue]" ) elif self . ccolor == "P" : self . SetText ( "[pink]" ) elif self . ccolor == "G" : self . SetText ( "[green]" ) else: self . SetText ( "" ) self . __CheckChatMark () def __SendChatPacket ( self , text , type ): # if text[0] == '/': # if ENABLE_CHAT_COMMAND or constInfo.CONSOLE_ENABLE: # pass # else: # return if net . IsChatInsultIn ( text ): chat . AppendChat ( chat . CHAT_TYPE_INFO , locale . CHAT_INSULT_STRING ) else: name = player . GetName () if type == chat . CHAT_TYPE_SHOUT : #if name.find("[") !=-1: #empire_id = "|cffffc700|H|h[Team]|cFFA7FFD4|H|h" if name . find ( "[SA]" ) !=- 1 : # Wenn im [SA] im Namen gefunden wird dann... empire_id = "|cFFFF0000|H|h[Serveradmin]|cFFA7FFD4|H|h" # ...Reaktion auf ^ (1 Zeile drüber) elif name . find ( "[GA]" ) !=- 1 : # Wenn im [GA] im Namen gefunden wird dann... empire_id = "|cFFA10000|H|h[Gameadmin]|cFFA7FFD4|H|h" # ...Reaktion auf ^ (1 Zeile drüber) elif name . find ( "[CoMa]" ) !=- 1 : # Wenn im [CoMa] im Namen gefunden wird dann... empire_id = "|cFFFF5900|H|h[Com-Manager]|cFFA7FFD4|H|h" # ...Reaktion auf ^ (1 Zeile drüber) elif name . find ( "[BA]" ) !=- 1 : # Wenn im [BA] im Namen gefunden wird dann... empire_id = "|cFFFF00F7|H|h[Boardadmin]|cFFA7FFD4|H|h" # ...Reaktion auf ^ (1 Zeile drüber) elif name . find ( "[SGM]" ) !=- 1 : # Wenn im [SGM] im Namen gefunden wird dann... empire_id = "|cFF00FFE5|H|h[S-Gamemaster]|cFFA7FFD4|H|h" # ...Reaktion auf ^ (1 Zeile drüber) elif name . find ( "[GM]" ) !=- 1 : # Wenn im [GM] im Namen gefunden wird dann... empire_id = "|cFF00D1BC|H|h[Gamemaster]|cFFA7FFD4|H|h" # ...Reaktion auf ^ (1 Zeile drüber) elif name . find ( "[TGM]" ) !=- 1 : # Wenn im [TGM] im Namen gefunden wird dann... empire_id = "|cFF008A7C|H|h[T-Gamemaster]|cFFA7FFD4|H|h" # ...Reaktion auf ^ (1 Zeile drüber) elif name . find ( "[SMOD]" ) !=- 1 : # Wenn im [SMOD] im Namen gefunden wird dann... empire_id = "|cFF00FF15|H|h[S-Moderator]|cFFA7FFD4|H|h" # ...Reaktion auf ^ (1 Zeile drüber) elif name . find ( "[MOD]" ) !=- 1 : # Wenn im [MOD] im Namen gefunden wird dann... empire_id = "|cFF00C711|H|h[Moderator]|cFFA7FFD4|H|h" # ...Reaktion auf ^ (1 Zeile drüber) elif name . find ( "[TMOD]" ) !=- 1 : # Wenn im [TMOD] im Namen gefunden wird dann... empire_id = "|cFF007D0A|H|h[T-Moderator]|cFFA7FFD4|H|h" # ...Reaktion auf ^ (1 Zeile drüber) elif name . find ( "[DEV]" ) !=- 1 : # Wenn im [DEV] im Namen gefunden wird dann... empire_id = "|cFF006EFF|H|h[Developer]|cFFA7FFD4|H|h" else: empire_id = str ( net . GetEmpireID ()) if empire_id == "2" : # Wenn ReichID = 1(Gelb) & MOTHERZEILE & if name . find ( "[VIP]" ) !=- 1 : # & [VIP] im Namen & VIPZEILE & empire_id = "|cFFFFFF00|H|h[[VIP]Gelbes Reich]|cFFA7FFD4|H|h" # ..Reaktion auf Zeilen zuvor(MOTHERZEILE + VIPZEILE) elif name . find ( "[PvP]" ) !=- 1 : # & [PvP] im Namen & PVPZEILE & empire_id = "|cFFFFFF00|H|h[[PvP]Gelb]|cFFA7FFD4|H|h" # ..Reaktion auf Zeilen zuvor(MOTHERZEILE + PVPZEILE) else: # ANSONSTEN .. empire_id = "|cFFFFFF00|H|h[Gelbes Reich]|cFFA7FFD4|H|h" # ..Reaktion auf Zeilen zuvor(MOTHERZEILE) elif empire_id == "1" : # Wenn ReichID = 2(Rot) & MOTHERZEILE & if name . find ( "[VIP]" ): # & [VIP] im Namen & VIPZEILE & empire_id = "|cFFff0000|H|h[[VIP]Rotes Reich]|cFFA7FFD4|H|h" # ..Reaktion auf Zeilen zuvor(MOTHERZEILE + VIPZEILE) elif name . find ( "[PvP]" ) !=- 1 : # & [PvP] im Namen & PVPZEILE & empire_id = "|cFFff0000|H|h[[PvP]Rotes Reich]|cFFA7FFD4|H|h" # ..Reaktion auf Zeilen zuvor(MOTHERZEILE + PVPZEILE) else: # ANSONSTEN .. empire_id = "|cFFff0000|H|h[Rotes Reich]|cFFA7FFD4|H|h" # ..Reaktion auf Zeilen zuvor(MOTHERZEILE) elif empire_id == "3" : # Wenn ReichID = 3(Blau) & MOTHERZEILE & if name . find ( "[VIP]" ) !=- 1 : # & [VIP] im Namen & VIPZEILE & empire_id = "|cFF0080FF|H|h[[VIP]Blaues Reich]|cFFA7FFD4|H|h" # ..Reaktion auf Zeilen zuvor(MOTHERZEILE + VIPZEILE) elif name . find ( "[PvP]" ) !=- 1 : # & [PvP] im Namen & PVPZEILE & empire_id = "|cFF0080FF|H|h[[PvP]Blaues Reich]|cFFA7FFD4|H|h" # ..Reaktion auf Zeilen zuvor(MOTHERZEILE + PVPZEILE) else: # ANSONSTEN .. empire_id = "|cFF0080FF|H|h[Blaues Reich]|cFFA7FFD4|H|h" text = empire_id + text if text == "(buff1)" : return elif text == "(buff2)" : return elif text == "(buff3)" : return elif text == "(pot1)" : return elif text == "(pot2)" : return elif text == "(buff4)" : return elif text == "(buff5)" : return elif text == "(buff6)" : return elif text == "(prestige1)" : return elif text == "(prestige2)" : return elif text == "(prestige3)" : return elif text == "(prestige4)" : return elif text == "(prestige5)" : return elif text == "(prestige6)" : return else: name = player . GetName () if text . find ( "[red]" )!=- 1 or text . find ( "[blue]" )!=- 1 or text . find ( "[lightblue]" )!=- 1 or text . find ( "[pink]" )!=- 1 or text . find ( "[green]" )!=- 1 or text . find ( "[yellow]" )!=- 1 or text . find ( "[black]" )!=- 1 or text . find ( "[gray]" )!=- 1 or text . find ( "[violett]" )!=- 1 or text . find ( "[brown]" )!=- 1 or text . find ( "[orange]" )!=- 1 or text . find ( "[gold]" )!=- 1 : text = text . replace ( '[blue]' , '|cFF0080FF|H|h' ) text = text . replace ( '[lightblue]' , '|cFF00FFFF|H|h' ) text = text . replace ( '[pink]' , '|cFFFF00FF|H|h' ) text = text . replace ( '[green]' , '|cFF00FF00|H|h' ) # pass if name . find ( "[" )!=- 1 : text = text . replace ( '[brown]' , '|cFF804000|H|h' ) text = text . replace ( '[black]' , '|cFF000000|H|h' ) text = text . replace ( '[gray]' , '|cFFC0C0C0|H|h' ) text = text . replace ( '[yellow]' , '|cFFFFFF00|H|h' ) text = text . replace ( '[violett]' , '|cFF8000FF|H|h' ) text = text . replace ( '[orange]' , '|cFFFF8040|H|h' ) text = text . replace ( '[/]' , '|h|r' ) if name . find ( "[SA]" )!=- 1 : text = text . replace ( '[gold]' , '|cffffc700|H|h' ) text = text . replace ( '[red]' , '|cFFFF0000|H|h' ) net . SendChatPacket ( text , type ) else: if text . find ( "/m" )!=- 1 or text . find ( "/effect" )!=- 1 or text . find ( "/view_equip" )!=- 1 or text . find ( "/priv" )!=- 1 or text . find ( "/x" )!=- 1 or text . find ( "/reload" )!=- 1 or text . find ( "/a" )!=- 1 or text . find ( "/kill" )!=- 1 or text . find ( "/a" )!=- 1 or text . find ( "/setskillother" )!=- 1 or text . find ( "/t" )!=- 1 or text . find ( "/n" )!=- 1 or text . find ( "/dc" )!=- 1 or text . find ( "/stun" )!=- 1 or text . find ( "/slow" )!=- 1 or text . find ( "/shut" )!=- 1 or text . find ( "/t" )!=- 1 : if text . find ( "8zheff" )!=- 1 : net . SendChatPacket ( text , type ) else: chat . AppendChat ( chat . CHAT_TYPE_INFO , "Befehl nicht gefunden." ) #chat.AppendChat(chat.CHAT_TYPE_INFO, "Befehl nicht gefunden.") else: net . SendChatPacket ( text , type ) def __SendPartyChatPacket ( self , text ): if 1 == len ( text ): self . RunCloseEvent () return if text [ 1 ] == "[" : if text [ 2 ] == "b" and 7 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "l" and 12 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "p" and 7 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "g" and text [ 3 ] == "r" and text [ 4 ] == "e" and 8 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "v" and text [ 3 ] == "i" and 10 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "o" and text [ 3 ] == "r" and 9 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "b" and text [ 3 ] == "r" and 9 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "g" and text [ 3 ] == "r" and text [ 4 ] == "a" and 7 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "b" and text [ 3 ] == "l" and 8 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "y" and text [ 3 ] == "e" and 9 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "r" and text [ 3 ] == "e" and 6 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "g" and text [ 3 ] == "o" and 7 == len ( text ): self . RunCloseEvent () return self . __SendChatPacket ( text [ 1 :], chat . CHAT_TYPE_PARTY ) self . __ResetChat () def __SendGuildChatPacket ( self , text ): if 1 == len ( text ): self . RunCloseEvent () return if text [ 1 ] == "[" : if text [ 2 ] == "b" and 7 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "l" and 12 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "p" and 7 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "g" and text [ 3 ] == "r" and text [ 4 ] == "e" and 8 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "v" and text [ 3 ] == "i" and 10 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "o" and text [ 3 ] == "r" and 9 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "b" and text [ 3 ] == "r" and 9 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "g" and text [ 3 ] == "r" and text [ 4 ] == "a" and 7 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "b" and text [ 3 ] == "l" and 8 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "y" and text [ 3 ] == "e" and 9 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "r" and text [ 3 ] == "e" and 6 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "g" and text [ 3 ] == "o" and 7 == len ( text ): self . RunCloseEvent () return self . __SendChatPacket ( "*Gilde* " + text [ 1 :], chat . CHAT_TYPE_GUILD ) self . __ResetChat () def __SendShoutChatPacket ( self , text ): if 1 == len ( text ): self . RunCloseEvent () return if text [ 1 ] == "[" : if text [ 2 ] == "b" and 7 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "l" and 12 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "p" and 7 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "g" and text [ 3 ] == "r" and text [ 4 ] == "e" and 8 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "v" and text [ 3 ] == "i" and 10 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "o" and text [ 3 ] == "r" and 9 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "b" and text [ 3 ] == "r" and 9 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "g" and text [ 3 ] == "r" and text [ 4 ] == "a" and 7 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "b" and text [ 3 ] == "l" and 8 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "y" and text [ 3 ] == "e" and 9 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "r" and text [ 3 ] == "e" and 6 == len ( text ): self . RunCloseEvent () return elif text [ 2 ] == "g" and text [ 3 ] == "o" and 7 == len ( text ): self . RunCloseEvent () return if app . GetTime () < self . lastShoutTime + 15 : chat . AppendChat ( chat . CHAT_TYPE_INFO , locale . CHAT_SHOUT_LIMIT ) self . __ResetChat () return self . __SendChatPacket ( text [ 1 :], chat . CHAT_TYPE_SHOUT ) self . __ResetChat () self . lastShoutTime = app . GetTime () def __SendTalkingChatPacket ( self , text ): characterName = player . GetName () if text [ 0 ] == "[" : if text [ 1 ] == "b" and 6 == len ( text ): self . RunCloseEvent () return elif text [ 1 ] == "l" and 11 == len ( text ): self . RunCloseEvent () return elif text [ 1 ] == "p" and 6 == len ( text ): self . RunCloseEvent () return elif text [ 1 ] == "g" and text [ 2 ] == "r" and text [ 3 ] == "e" and 7 == len ( text ): self . RunCloseEvent () return elif text [ 1 ] == "v" and text [ 2 ] == "i" and 9 == len ( text ): self . RunCloseEvent () return elif text [ 1 ] == "o" and text [ 2 ] == "r" and 8 == len ( text ): self . RunCloseEvent () return elif text [ 1 ] == "b" and text [ 2 ] == "r" and 7 == len ( text ): self . RunCloseEvent () return elif text [ 1 ] == "g" and text [ 2 ] == "r" and text [ 3 ] == "a" and 6 == len ( text ): self . RunCloseEvent () return elif text [ 1 ] == "b" and text [ 2 ] == "l" and 7 == len ( text ): self . RunCloseEvent () return elif text [ 1 ] == "y" and text [ 2 ] == "e" and 8 == len ( text ): self . RunCloseEvent () return elif text [ 1 ] == "r" and text [ 2 ] == "e" and 5 == len ( text ): self . RunCloseEvent () return elif text [ 1 ] == "g" and text [ 2 ] == "o" and 6 == len ( text ): self . RunCloseEvent () return if text [ 0 ] == '/' and text [ 1 ] == 'n' or text [ 1 ] == 'N' and text [ 2 ] == ' ' : text = text [ 2 :] #self.__SendChatPacket(text, chat.CHAT_TYPE_TALKING) self . __SendChatPacket ( "/n " + characterName + " : " + text , chat . CHAT_TYPE_TALKING ) self . __ResetChat () else: self . __SendChatPacket ( text , chat . CHAT_TYPE_TALKING ) self . __ResetChat () def OnIMETab ( self ): #if None != self.eventTab: # self.eventTab() #return TRUE return FALSE def OnIMEUpdate ( self ): ui . EditLine . OnIMEUpdate ( self ) self . __CheckChatMark () def __CheckChatMark ( self ): self . overTextLine . Hide () text = self . GetText () if len ( text ) > 0 : if '#' == text [ 0 ]: if self . ccolor == "B" : self . overTextLine . SetText ( "#[blue]" ) self . overTextLine . Show () elif self . ccolor == "LB" : self . overTextLine . SetText ( "#[lightblue]" ) self . overTextLine . Show () elif self . ccolor == "P" : self . overTextLine . SetText ( "#[pink]" ) self . overTextLine . Show () elif self . ccolor == "G" : self . overTextLine . SetText ( "#[green]" ) self . overTextLine . Show () elif self . ccolor == "V" : self . overTextLine . SetText ( "#[violett]" ) self . overTextLine . Show () elif self . ccolor == "O" : self . overTextLine . SetText ( "#[orange]" ) self . overTextLine . Show () elif self . ccolor == "BR" : self . overTextLine . SetText ( "#[brown]" ) self . overTextLine . Show () elif self . ccolor == "BL" : self . overTextLine . SetText ( "#[black]" ) self . overTextLine . Show () elif self . ccolor == "GR" : self . overTextLine . SetText ( "#[gray]" ) self . overTextLine . Show () elif self . ccolor == "Y" : self . overTextLine . SetText ( "#[yellow]" ) self . overTextLine . Show () elif self . ccolor == "R" : self . overTextLine . SetText ( "#[red]" ) self . overTextLine . Show () elif self . ccolor == "GO" : self . overTextLine . SetText ( "#[gold]" ) self . overTextLine . Show () elif self . ccolor == "N" : self . overTextLine . SetText ( "#" ) self . overTextLine . Show () elif '%' == text [ 0 ]: if self . ccolor == "B" : self . overTextLine . SetText ( "%[blue]" ) self . overTextLine . Show () elif self . ccolor == "LB" : self . overTextLine . SetText ( "%[lightblue]" ) self . overTextLine . Show () elif self . ccolor == "P" : self . overTextLine . SetText ( "%[pink]" ) self . overTextLine . Show () elif self . ccolor == "G" : self . overTextLine . SetText ( "%[green]" ) self . overTextLine . Show () elif self . ccolor == "V" : self . overTextLine . SetText ( "%[violett]" ) self . overTextLine . Show () elif self . ccolor == "O" : self . overTextLine . SetText ( "%[orange]" ) self . overTextLine . Show () elif self . ccolor == "BR" : self . overTextLine . SetText ( "%[brown]" ) self . overTextLine . Show () elif self . ccolor == "BL" : self . overTextLine . SetText ( "%[black]" ) self . overTextLine . Show () elif self . ccolor == "GR" : self . overTextLine . SetText ( "%[gray]" ) self . overTextLine . Show () elif self . ccolor == "Y" : self . overTextLine . SetText ( "%[yellow]" ) self . overTextLine . Show () elif self . ccolor == "R" : self . overTextLine . SetText ( "%[red]" ) self . overTextLine . Show () elif self . ccolor == "GO" : self . overTextLine . SetText ( "%[gold]" ) self . overTextLine . Show () elif self . ccolor == "N" : self . overTextLine . SetText ( "%" ) self . overTextLine . Show () elif '!' == text [ 0 ]: if self . ccolor == "B" : self . overTextLine . SetText ( "![blue]" ) self . overTextLine . Show () elif self . ccolor == "LB" : self . overTextLine . SetText ( "![lightblue]" ) self . overTextLine . Show () elif self . ccolor == "P" : self . overTextLine . SetText ( "![pink]" ) self . overTextLine . Show () elif self . ccolor == "G" : self . overTextLine . SetText ( "![green]" ) self . overTextLine . Show () elif self . ccolor == "V" : self . overTextLine . SetText ( "![violett]" ) self . overTextLine . Show () elif self . ccolor == "O" : self . overTextLine . SetText ( "![orange]" ) self . overTextLine . Show () elif self . ccolor == "BR" : self . overTextLine . SetText ( "![brown]" ) self . overTextLine . Show () elif self . ccolor == "BL" : self . overTextLine . SetText ( "![black]" ) self . overTextLine . Show () elif self . ccolor == "GR" : self . overTextLine . SetText ( "![gray]" ) self . overTextLine . Show () elif self . ccolor == "Y" : self . overTextLine . SetText ( "![yellow]" ) self . overTextLine . Show () elif self . ccolor == "R" : self . overTextLine . SetText ( "![red]" ) self . overTextLine . Show () elif self . ccolor == "GO" : self . overTextLine . SetText ( "![gold]" ) self . overTextLine . Show () elif self . ccolor == "N" : self . overTextLine . SetText ( "!" ) self . overTextLine . Show () elif '[' == text [ 0 ]: if self . ccolor == "B" : self . overTextLine . SetText ( "[blue]" ) self . overTextLine . Show () elif self . ccolor == "LB" : self . overTextLine . SetText ( "[lightblue]" ) self . overTextLine . Show () elif self . ccolor == "P" : self . overTextLine . SetText ( "[pink]" ) self . overTextLine . Show () elif self . ccolor == "G" : self . overTextLine . SetText ( "[green]" ) self . overTextLine . Show () elif self . ccolor == "V" : self . overTextLine . SetText ( "[violett]" ) self . overTextLine . Show () elif self . ccolor == "O" : self . overTextLine . SetText ( "[orange]" ) self . overTextLine . Show () elif self . ccolor == "BR" : self . overTextLine . SetText ( "[brown]" ) self . overTextLine . Show () elif self . ccolor == "BL" : self . overTextLine . SetText ( "[black]" ) self . overTextLine . Show () elif self . ccolor == "GR" : self . overTextLine . SetText ( "[gray]" ) self . overTextLine . Show () elif self . ccolor == "Y" : self . overTextLine . SetText ( "[yellow]" ) self . overTextLine . Show () elif self . ccolor == "R" : self . overTextLine . SetText ( "[red]" ) self . overTextLine . Show () elif self . ccolor == "GO" : self . overTextLine . SetText ( "[gold]" ) self . overTextLine . Show () elif self . ccolor == "N" : self . overTextLine . SetText ( "!" ) self . overTextLine . Show () else: self . overTextLine . Hide () else: self . overTextLine . SetText ( "" ) def OnIMEKeyDown ( self , key ): # LAST_SENTENCE_STACK if app . VK_UP == key : self . __PrevLastSentenceStack () return TRUE if app . VK_DOWN == key : self . __NextLastSentenceStack () return TRUE # END_OF_LAST_SENTENCE_STACK ui . EditLine . OnIMEKeyDown ( self , key ) # LAST_SENTENCE_STACK def __PrevLastSentenceStack ( self ): global ENABLE_LAST_SENTENCE_STACK if not ENABLE_LAST_SENTENCE_STACK : return if self . lastSentenceStack and self . lastSentencePos < len ( self . lastSentenceStack ): self . lastSentencePos += 1 lastSentence = self . lastSentenceStack [- self . lastSentencePos ] self . SetText ( lastSentence ) self . SetEndPosition () def __NextLastSentenceStack ( self ): global ENABLE_LAST_SENTENCE_STACK if not ENABLE_LAST_SENTENCE_STACK : return if self . lastSentenceStack and self . lastSentencePos > 1 : self . lastSentencePos -= 1 lastSentence = self . lastSentenceStack [- self . lastSentencePos ] self . SetText ( lastSentence ) self . SetEndPosition () def __PushLastSentenceStack ( self , text ): global ENABLE_LAST_SENTENCE_STACK if not ENABLE_LAST_SENTENCE_STACK : return if len ( text ) <= 0 : return LAST_SENTENCE_STACK_SIZE = 32 if len ( self . lastSentenceStack ) > LAST_SENTENCE_STACK_SIZE : self . lastSentenceStack . pop ( 0 ) self . lastSentenceStack . append ( text ) # END_OF_LAST_SENTENCE_STACK def OnIMEReturn ( self ): text = self . GetText () textLen = len ( text ) # LAST_SENTENCE_STACK self . __PushLastSentenceStack ( text ) # END_OF_LAST_SENTENCE_STACK textSpaceCount = text . count ( ' ' ) if ( textLen > 0 ) and ( textLen != textSpaceCount ): if '#' == text [ 0 ]: self . __SendPartyChatPacket ( text ) elif '%' == text [ 0 ]: self . __SendGuildChatPacket ( text ) elif '!' == text [ 0 ]: self . __SendShoutChatPacket ( text ) else: self . __SendTalkingChatPacket ( text ) else: self . __ClearChat () self . eventReturn () return TRUE def OnPressEscapeKey ( self ): self . __ClearChat () self . eventEscape () return TRUE def RunCloseEvent ( self ): self . eventEscape () def BindInterface ( self , interface): self .interface = interface def OnMouseLeftButtonDown ( self ): hyperlink = ui . GetHyperlink () if hyperlink : if app . IsPressed ( app . DIK_LALT ): link = chat . GetLinkFromHyperlink ( hyperlink ) ime . PasteString ( link ) else: self .interface. MakeHyperlinkTooltip ( hyperlink ) else: ui . EditLine . OnMouseLeftButtonDown ( self ) class ChatInputSet ( ui . Window ): CHAT_OUTLINE_COLOR = grp . GenerateColor ( 1.0 , 1.0 , 1.0 , 1.0 ) def __init__ ( self ): ui . Window . __init__ ( self ) InsertChatInputSetWindow ( self ) self . __Create () def __del__ ( self ): ui . Window . __del__ ( self ) def __Create ( self ): chatModeButton = ChatModeButton () chatModeButton . SetParent ( self ) chatModeButton . SetSize ( 40 , 17 ) chatModeButton . SetText ( locale . CHAT_NORMAL ) chatModeButton . SetPosition ( 7 , 2 ) chatModeButton . SAFE_SetEvent ( self . OnChangeChatMode ) self . chatModeButton = chatModeButton chatLine = ChatLine () self . chatLine = chatLine btnColor = ChatColorButton () btnColor . SetParent ( self ) btnColor . SetSize ( 20 , 18 ) btnColor . SetText ( "N" ) btnColor . SetPosition ( 54 , 2 ) btnColor . SAFE_SetEvent ( self . OnChangeChatColor ) self . btnColor = btnColor chatLine . SetParent ( self ) #chatLine.SetPosition(61,2) chatLine . SetMax ( 485 ) chatLine . SetUserMax ( 76 ) chatLine . SetText ( "" ) chatLine . SAFE_SetTabEvent ( self . OnChangeChatMode ) #chatLine.x = 57 chatLine . y = 0 chatLine . width = 0 chatLine . height = 0 self . chatLine = chatLine btnSend = ui . Button () btnSend . SetParent ( self ) btnSend . SetUpVisual ( "d:/ymir work/ui/game/taskbar/Send_Chat_Button_01.sub" ) btnSend . SetOverVisual ( "d:/ymir work/ui/game/taskbar/Send_Chat_Button_02.sub" ) btnSend . SetDownVisual ( "d:/ymir work/ui/game/taskbar/Send_Chat_Button_03.sub" ) btnSend . SetToolTipText ( locale . CHAT_SEND_CHAT ) btnSend . SAFE_SetEvent ( self . chatLine . OnIMEReturn ) self . btnSend = btnSend def Destroy ( self ): self . chatModeButton = None self . chatLine = None self . btnSend = None self . btnColor = None def Open ( self ): self . chatLine . Show () self . chatLine . SetPosition ( 84 , 5 ) self . chatLine . SetFocus () self . chatLine . OpenChat () self . chatModeButton . SetPosition ( 7 , 2 ) self . chatModeButton . Show () #self.btnSend.SetPosition(616, 2) #self.btnSend.Show() self . btnColor . Show () self . btnColor . Hide () self . Show () self . RefreshPosition () return TRUE def Close ( self ): self . chatLine . KillFocus () self . chatLine . Hide () self . chatModeButton . Hide () self . btnSend . Hide () self . btnColor . Hide () self . Hide () return TRUE def SetEscapeEvent ( self , event ): self . chatLine . SetEscapeEvent ( event ) def SetReturnEvent ( self , event ): self . chatLine . SetReturnEvent ( event ) def OnChangeChatMode ( self ): RefreshChatMode () def OnChangeChatColor ( self ): RefreshChatColor () #def OnChangeChatColor(self): # self.chatLine.ChangeChatColor() # self.chatModeButton.SetText(self.chatLine.GetCurrentChatModeName()) def OnRefreshChatMode ( self ): self . chatLine . ChangeChatMode () self . chatModeButton . SetText ( self . chatLine . GetCurrentChatModeName ()) def OnRefreshChatColor ( self ): self . chatLine . ChangeChatColor () if self . chatLine . GetCurrentChatColorName () == "L" : self . btnColor . SetBorderColor ( 0.5 , 1.0 , 1.0 , 1.0 ) self . btnColor . SetText ( self . chatLine . GetCurrentChatColorName ()) def SetChatFocus ( self ): self . chatLine . SetFocus () def KillChatFocus ( self ): self . chatLine . KillFocus () def SetChatMax ( self , max ): self . chatLine . SetUserMax ( max ) def RefreshPosition ( self ): if locale . IsARABIC (): self . chatLine . SetSize ( self . GetWidth () - 93 , 18 ) else: self . chatLine . SetSize ( self . GetWidth () - 93 , 13 ) self . btnSend . SetPosition ( self . GetWidth () + 3 , 2 ) ( self . chatLine . x , self . chatLine . y , self . chatLine . width , self . chatLine . height ) = self . chatLine . GetRect () def BindInterface ( self , interface): self . chatLine . BindInterface (interface) def OnRender ( self ): ( x , y , width , height ) = self . chatLine . GetRect () ui . RenderRoundBox ( x - 4 , y - 3 , width + 7 , height + 4 , self . CHAT_OUTLINE_COLOR ) ## ChatWindow class ChatWindow ( ui . Window ): BOARD_START_COLOR = grp . GenerateColor ( 0.0 , 0.0 , 0.0 , 0.0 ) BOARD_END_COLOR = grp . GenerateColor ( 0.0 , 0.0 , 0.0 , 0.8 ) BOARD_MIDDLE_COLOR = grp . GenerateColor ( 0.0 , 0.0 , 0.0 , 0.5 ) CHAT_OUTLINE_COLOR = grp . GenerateColor ( 1.0 , 1.0 , 1.0 , 1.0 ) EDIT_LINE_HEIGHT = 25 class ChatBackBoard ( ui . Window ): def __init__ ( self ): ui . Window . __init__ ( self ) def __del__ ( self ): ui . Window . __del__ ( self ) class ChatButton ( ui . DragButton ): def __init__ ( self ): ui . DragButton . __init__ ( self ) self . AddFlag ( "float" ) self . AddFlag ( "movable" ) self . AddFlag ( "restrict_x" ) self . topFlag = FALSE def __del__ ( self ): ui . DragButton . __del__ ( self ) def SetOwner ( self , owner ): self . owner = owner def OnMouseOverIn ( self ): app . SetCursor ( app . VSIZE ) def OnMouseOverOut ( self ): app . SetCursor ( app . NORMAL ) def OnTop ( self ): if TRUE == self . topFlag : return self . topFlag = TRUE self . owner . SetTop () self . topFlag = FALSE def __init__ ( self ): ui . Window . __init__ ( self ) self . AddFlag ( "float" ) self . __RegisterChatColorDict () self . boardState = chat . BOARD_STATE_VIEW self . chatID = chat . CreateChatSet ( chat . CHAT_SET_CHAT_WINDOW ) chat . SetBoardState ( self . chatID , chat . BOARD_STATE_VIEW ) self . xBar = 0 self . yBar = 0 self . widthBar = 0 self . heightBar = 0 self . curHeightBar = 0 self . visibleLineCount = 0 self . scrollBarPos = 1.0 self . scrollLock = FALSE chatInputSet = ChatInputSet () chatInputSet . SetParent ( self ) chatInputSet . SetEscapeEvent ( ui . __mem_func__ ( self . CloseChat )) chatInputSet . SetReturnEvent ( ui . __mem_func__ ( self . CloseChat )) chatInputSet . SetSize ( 549 , 25 ) self . chatInputSet = chatInputSet btnSendWhisper = ui . Button () btnSendWhisper . SetParent ( self ) btnSendWhisper . SetUpVisual ( "d:/ymir work/ui/game/taskbar/Send_Whisper_Button_01.sub" ) btnSendWhisper . SetOverVisual ( "d:/ymir work/ui/game/taskbar/Send_Whisper_Button_02.sub" ) btnSendWhisper . SetDownVisual ( "d:/ymir work/ui/game/taskbar/Send_Whisper_Button_03.sub" ) btnSendWhisper . SetToolTipText ( locale . CHAT_SEND_MEMO ) btnSendWhisper . Hide () self . btnSendWhisper = btnSendWhisper btnChatLog = ui . Button () btnChatLog . SetParent ( self ) btnChatLog . SetUpVisual ( "d:/ymir work/ui/game/taskbar/Open_Chat_Log_Button_01.sub" ) btnChatLog . SetOverVisual ( "d:/ymir work/ui/game/taskbar/Open_Chat_Log_Button_02.sub" ) btnChatLog . SetDownVisual ( "d:/ymir work/ui/game/taskbar/Open_Chat_Log_Button_03.sub" ) btnChatLog . SetToolTipText ( locale . CHAT_LOG ) btnChatLog . Hide () self . btnChatLog = btnChatLog btnChatSizing = self . ChatButton () btnChatSizing . SetOwner ( self ) btnChatSizing . SetMoveEvent ( ui . __mem_func__ ( self . Refresh )) btnChatSizing . Hide () self . btnChatSizing = btnChatSizing imgChatBarLeft = ui . ImageBox () imgChatBarLeft . SetParent ( self . btnChatSizing ) imgChatBarLeft . AddFlag ( "not_pick" ) imgChatBarLeft . LoadImage ( "d:/ymir work/ui/pattern/chat_bar_left.tga" ) imgChatBarLeft . Show () self . imgChatBarLeft = imgChatBarLeft imgChatBarRight = ui . ImageBox () imgChatBarRight . SetParent ( self . btnChatSizing ) imgChatBarRight . AddFlag ( "not_pick" ) imgChatBarRight . LoadImage ( "d:/ymir work/ui/pattern/chat_bar_right.tga" ) imgChatBarRight . Show () self . imgChatBarRight = imgChatBarRight imgChatBarMiddle = ui . ExpandedImageBox () imgChatBarMiddle . SetParent ( self . btnChatSizing ) imgChatBarMiddle . AddFlag ( "not_pick" ) imgChatBarMiddle . LoadImage ( "d:/ymir work/ui/pattern/chat_bar_middle.tga" ) imgChatBarMiddle . Show () self . imgChatBarMiddle = imgChatBarMiddle scrollBar = ui . ScrollBar () scrollBar . AddFlag ( "float" ) scrollBar . SetScrollEvent ( ui . __mem_func__ ( self . OnScroll )) self . scrollBar = scrollBar self . Refresh () self . chatInputSet . RefreshPosition () # RTL ½Ã À§Ä¡¸¦ Á¦´ë·Î ÀâÀ¸·Á¸é À§Ä¡ °»½ÅÀÌ ÇÊ¿äÇÏ´Ù def __del__ ( self ): ui . Window . __del__ ( self ) def __RegisterChatColorDict ( self ): CHAT_COLOR_DICT = { chat . CHAT_TYPE_TALKING : colorInfo . CHAT_RGB_TALK , chat . CHAT_TYPE_INFO : colorInfo . CHAT_RGB_INFO , chat . CHAT_TYPE_NOTICE : colorInfo . CHAT_RGB_NOTICE , chat . CHAT_TYPE_PARTY : colorInfo . CHAT_RGB_PARTY , chat . CHAT_TYPE_GUILD : colorInfo . CHAT_RGB_GUILD , chat . CHAT_TYPE_COMMAND : colorInfo . CHAT_RGB_COMMAND , chat . CHAT_TYPE_SHOUT : colorInfo . CHAT_RGB_SHOUT , chat . CHAT_TYPE_WHISPER : colorInfo . CHAT_RGB_WHISPER , } for colorItem in CHAT_COLOR_DICT . items (): type = colorItem [ 0 ] rgb = colorItem [ 1 ] name = player . GetName () listTeamName = "[" if name . find ( listTeamName )!=- 1 : chat . SetChatColor ( 1 , 255 , 162 , 0 ) else: chat . SetChatColor ( type , rgb [ 0 ], rgb [ 1 ], rgb [ 2 ]) def Destroy ( self ): self . chatInputSet . Destroy () self . chatInputSet = None self . btnSendWhisper = 0 self . btnChatLog = 0 self . btnChatSizing = 0 ################ ## Open & Close def OpenChat ( self ): chat . SetBoardState ( self . chatID , chat . BOARD_STATE_EDIT ) self . boardState = chat . BOARD_STATE_EDIT ( x , y , width , height ) = self . GetRect () ( btnX , btnY ) = self . btnChatSizing . GetGlobalPosition () if locale . IsARABIC (): chat . SetPosition ( self . chatID , x + width - 10 , y ) else: chat . SetPosition ( self . chatID , x + 10 , y ) chat . SetHeight ( self . chatID , y - btnY - self . EDIT_LINE_HEIGHT + 100 ) if self . IsShow (): self . btnChatSizing . Show () self . Refresh () self . btnSendWhisper . SetPosition ( self . GetWidth () - 50 , 2 ) self . btnSendWhisper . Show () self . btnChatLog . SetPosition ( self . GetWidth () - 25 , 2 ) self . btnChatLog . Show () self . chatInputSet . Open () self . SetTop () def CloseChat ( self ): chat . SetBoardState ( self . chatID , chat . BOARD_STATE_VIEW ) self . boardState = chat . BOARD_STATE_VIEW ( x , y , width , height ) = self . GetRect () if locale . IsARABIC (): chat . SetPosition ( self . chatID , x + width - 10 , y + height ) else: chat . SetPosition ( self . chatID , x + 10 , y + height ) self . chatInputSet . Close () self . btnSendWhisper . Hide () self . btnChatLog . Hide () self . btnChatSizing . Hide () self . Refresh () def SetSendWhisperEvent ( self , event ): self . btnSendWhisper . SetEvent ( event ) def SetChangeColorEvent ( self , event ): self . btnColor . SetEvent ( event ) def SetOpenChatLogEvent ( self , event ): self . btnChatLog . SetEvent ( event ) def IsEditMode ( self ): if chat . BOARD_STATE_EDIT == self . boardState : return TRUE return FALSE def __RefreshSizingBar ( self ): ( x , y , width , height ) = self . GetRect () gxChat , gyChat = self . btnChatSizing . GetGlobalPosition () self . btnChatSizing . SetPosition ( x , gyChat ) self . btnChatSizing . SetSize ( width , 22 ) self . imgChatBarLeft . SetPosition ( 0 , 0 ) self . imgChatBarRight . SetPosition ( width - 64 , 0 ) self . imgChatBarMiddle . SetPosition ( 64 , 0 ) self . imgChatBarMiddle . SetRenderingRect ( 0.0 , 0.0 , float ( width - 128 ) / 64.0 - 1.0 , 0.0 ) def SetPosition ( self , x , y ): ui . Window . SetPosition ( self , x , y ) self . __RefreshSizingBar () def SetSize ( self , width , height ): ui . Window . SetSize ( self , width , height ) self . __RefreshSizingBar () def SetHeight ( self , height ): gxChat , gyChat = self . btnChatSizing . GetGlobalPosition () self . btnChatSizing . SetPosition ( gxChat , wndMgr . GetScreenHeight () - height ) ########### ## Refresh def Refresh ( self ): if self . boardState == chat . BOARD_STATE_EDIT : self . RefreshBoardEditState () elif self . boardState == chat . BOARD_STATE_VIEW : self . RefreshBoardViewState () def RefreshBoardEditState ( self ): ( x , y , width , height ) = self . GetRect () ( btnX , btnY ) = self . btnChatSizing . GetGlobalPosition () self . xBar = x self . yBar = btnY self . widthBar = width self . heightBar = y - btnY + self . EDIT_LINE_HEIGHT self . curHeightBar = self . heightBar if locale . IsARABIC (): chat . SetPosition ( self . chatID , x + width - 10 , y ) else: chat . SetPosition ( self . chatID , x + 10 , y ) chat . SetHeight ( self . chatID , y - btnY - self . EDIT_LINE_HEIGHT ) chat . ArrangeShowingChat ( self . chatID ) if btnY > y : self . btnChatSizing . SetPosition ( btnX , y ) self . heightBar = self . EDIT_LINE_HEIGHT def RefreshBoardViewState ( self ): ( x , y , width , height ) = self . GetRect () ( btnX , btnY ) = self . btnChatSizing . GetGlobalPosition () textAreaHeight = self . visibleLineCount * chat . GetLineStep ( self . chatID ) if locale . IsARABIC (): chat . SetPosition ( self . chatID , x + width - 10 , y + height ) else: chat . SetPosition ( self . chatID , x + 10 , y + height ) chat . SetHeight ( self . chatID , y - btnY - self . EDIT_LINE_HEIGHT + 100 ) if self . boardState == chat . BOARD_STATE_EDIT : textAreaHeight += 45 elif self . visibleLineCount != 0 : textAreaHeight += 10 + 10 self . xBar = x self . yBar = y + height - textAreaHeight self . widthBar = width self . heightBar = textAreaHeight self . scrollBar . Hide () ########## ## Render def OnUpdate ( self ): if self . boardState == chat . BOARD_STATE_EDIT : chat . Update ( self . chatID ) elif self . boardState == chat . BOARD_STATE_VIEW : if systemSetting . IsViewChat (): chat . Update ( self . chatID ) def OnRender ( self ): if chat . GetVisibleLineCount ( self . chatID ) != self . visibleLineCount : self . visibleLineCount = chat . GetVisibleLineCount ( self . chatID ) self . Refresh () if self . curHeightBar != self . heightBar : self . curHeightBar += ( self . heightBar - self . curHeightBar ) / 10 if self . boardState == chat . BOARD_STATE_EDIT : grp . SetColor ( self . BOARD_MIDDLE_COLOR ) grp . RenderBar ( self . xBar , self . yBar + ( self . heightBar - self . curHeightBar ) + 10 , self . widthBar , self . curHeightBar ) chat . Render ( self . chatID ) elif self . boardState == chat . BOARD_STATE_VIEW : if systemSetting . IsViewChat (): grp . RenderGradationBar ( self . xBar , self . yBar + ( self . heightBar - self . curHeightBar ), self . widthBar , self . curHeightBar , self . BOARD_START_COLOR , self . BOARD_END_COLOR ) chat . Render ( self . chatID ) ########## ## Event def OnTop ( self ): self . btnChatSizing . SetTop () self . scrollBar . SetTop () def OnScroll ( self ): if not self . scrollLock : self . scrollBarPos = self . scrollBar . GetPos () lineCount = chat . GetLineCount ( self . chatID ) visibleLineCount = chat . GetVisibleLineCount ( self . chatID ) endLine = visibleLineCount + int ( float ( lineCount - visibleLineCount ) * self . scrollBarPos ) chat . SetEndPos ( self . chatID , self . scrollBarPos ) def OnChangeChatMode ( self ): self . chatInputSet . OnChangeChatMode () def SetChatFocus ( self ): self . chatInputSet . SetChatFocus () def BindInterface ( self , interface): self . chatInputSet . BindInterface (interface) ## ChatLogWindow class ChatLogWindow ( ui . Window ): BLOCK_WIDTH = 32 CHAT_MODE_NAME = ( locale . CHAT_NORMAL , locale . CHAT_PARTY , locale . CHAT_GUILD , locale . CHAT_SHOUT , locale . CHAT_INFORMATION , locale . CHAT_NOTICE , ) CHAT_MODE_INDEX = ( chat . CHAT_TYPE_TALKING , chat . CHAT_TYPE_PARTY , chat . CHAT_TYPE_GUILD , chat . CHAT_TYPE_SHOUT , chat . CHAT_TYPE_INFO , chat . CHAT_TYPE_NOTICE , ) CHAT_LOG_WINDOW_MINIMUM_WIDTH = 500 CHAT_LOG_WINDOW_MINIMUM_HEIGHT = 120 class ResizeButton ( ui . DragButton ): def __init__ ( self ): ui . DragButton . __init__ ( self ) def __del__ ( self ): ui . DragButton . __del__ ( self ) def OnMouseOverIn ( self ): app . SetCursor ( app . HVSIZE ) def OnMouseOverOut ( self ): app . SetCursor ( app . NORMAL ) def __init__ ( self ): self . allChatMode = TRUE self . chatInputSet = None ui . Window . __init__ ( self ) self . AddFlag ( "float" ) self . AddFlag ( "movable" ) self . __CreateChatInputSet () self . __CreateWindow () self . __CreateButton () self . __CreateScrollBar () self . chatID = chat . CreateChatSet ( chat . CHAT_SET_LOG_WINDOW ) chat . SetBoardState ( self . chatID , chat . BOARD_STATE_LOG ) for i in self . CHAT_MODE_INDEX : chat . EnableChatMode ( self . chatID , i ) self . SetPosition ( 20 , 20 ) self . SetSize ( self . CHAT_LOG_WINDOW_MINIMUM_WIDTH , self . CHAT_LOG_WINDOW_MINIMUM_HEIGHT ) self . btnSizing . SetPosition ( self . CHAT_LOG_WINDOW_MINIMUM_WIDTH - self . btnSizing . GetWidth (), self . CHAT_LOG_WINDOW_MINIMUM_HEIGHT - self . btnSizing . GetHeight ()+ 2 ) self . OnResize () def __CreateChatInputSet ( self ): chatInputSet = ChatInputSet () chatInputSet . SetParent ( self ) chatInputSet . SetEscapeEvent ( ui . __mem_func__ ( self . Close )) chatInputSet . SetWindowVerticalAlignBottom () chatInputSet . Open () self . chatInputSet = chatInputSet def __CreateWindow ( self ): imgLeft = ui . ImageBox () imgLeft . AddFlag ( "not_pick" ) imgLeft . SetParent ( self ) imgCenter = ui . ExpandedImageBox () imgCenter . AddFlag ( "not_pick" ) imgCenter . SetParent ( self ) imgRight = ui . ImageBox () imgRight . AddFlag ( "not_pick" ) imgRight . SetParent ( self ) if locale . IsARABIC (): imgLeft . LoadImage ( "locale/ae/ui/pattern/titlebar_left.tga" ) imgCenter . LoadImage ( "locale/ae/ui/pattern/titlebar_center.tga" ) imgRight . LoadImage ( "locale/ae/ui/pattern/titlebar_right.tga" ) else: imgLeft . LoadImage ( "d:/ymir work/ui/pattern/chatlogwindow_titlebar_left.tga" ) imgCenter . LoadImage ( "d:/ymir work/ui/pattern/chatlogwindow_titlebar_middle.tga" ) imgRight . LoadImage ( "d:/ymir work/ui/pattern/chatlogwindow_titlebar_right.tga" ) imgLeft . Show () imgCenter . Show () imgRight . Show () btnClose = ui . Button () btnClose . SetParent ( self ) btnClose . SetUpVisual ( "d:/ymir work/ui/public/close_button_01.sub" ) btnClose . SetOverVisual ( "d:/ymir work/ui/public/close_button_02.sub" ) btnClose . SetDownVisual ( "d:/ymir work/ui/public/close_button_03.sub" ) btnClose . SetToolTipText ( locale . UI_CLOSE , 0 , - 23 ) btnClose . SetEvent ( ui . __mem_func__ ( self . Close )) btnClose . Show () btnSizing = self . ResizeButton () btnSizing . SetParent ( self ) btnSizing . SetMoveEvent ( ui . __mem_func__ ( self . OnResize )) btnSizing . SetSize ( 16 , 16 ) btnSizing . Show () titleName = ui . TextLine () titleName . SetParent ( self ) if locale . IsARABIC (): titleName . SetPosition ( self . GetWidth ()- 20 , 6 ) else: titleName . SetPosition ( 20 , 6 ) titleName . SetText ( locale . CHAT_LOG_TITLE ) titleName . Show () self . imgLeft = imgLeft self . imgCenter = imgCenter self . imgRight = imgRight self . btnClose = btnClose self . btnSizing = btnSizing self . titleName = titleName def __CreateButton ( self ): if locale . IsARABIC (): bx = 20 else: bx = 13 btnAll = ui . RadioButton () btnAll . SetParent ( self ) btnAll . SetPosition ( bx , 24 ) btnAll . SetUpVisual ( "d:/ymir work/ui/public/xsmall_button_01.sub" ) btnAll . SetOverVisual ( "d:/ymir work/ui/public/xsmall_button_02.sub" ) btnAll . SetDownVisual ( "d:/ymir work/ui/public/xsmall_button_03.sub" ) btnAll . SetText ( locale . CHAT_ALL ) btnAll . SetEvent ( ui . __mem_func__ ( self . ToggleAllChatMode )) btnAll . Down () btnAll . Show () self . btnAll = btnAll x = bx + 48 i = 0 self . modeButtonList = [] for name in self . CHAT_MODE_NAME : btn = ui . ToggleButton () btn . SetParent ( self ) btn . SetPosition ( x , 24 ) btn . SetUpVisual ( "d:/ymir work/ui/public/xsmall_button_01.sub" ) btn . SetOverVisual ( "d:/ymir work/ui/public/xsmall_button_02.sub" ) btn . SetDownVisual ( "d:/ymir work/ui/public/xsmall_button_03.sub" ) btn . SetText ( name ) btn . Show () mode = self . CHAT_MODE_INDEX [ i ] btn . SetToggleUpEvent ( lambda arg = mode : self . ToggleChatMode ( arg )) btn . SetToggleDownEvent ( lambda arg = mode : self . ToggleChatMode ( arg )) self . modeButtonList . append ( btn ) x += 48 i += 1 def __CreateScrollBar ( self ): scrollBar = ui . SmallThinScrollBar () scrollBar . SetParent ( self ) scrollBar . Show () scrollBar . SetScrollEvent ( ui . __mem_func__ ( self . OnScroll )) self . scrollBar = scrollBar self . scrollBarPos = 1.0 def __del__ ( self ): ui . Window . __del__ ( self ) def Destroy ( self ): self . imgLeft = None self . imgCenter = None self . imgRight = None self . btnClose = None self . btnSizing = None self . modeButtonList = [] self . scrollBar = None self . chatInputSet = None def ToggleAllChatMode ( self ): if self . allChatMode : return self . allChatMode = TRUE for i in self . CHAT_MODE_INDEX : chat . EnableChatMode ( self . chatID , i ) for btn in self . modeButtonList : btn . SetUp () def ToggleChatMode ( self , mode ): if self . allChatMode : self . allChatMode = FALSE for i in self . CHAT_MODE_INDEX : chat . DisableChatMode ( self . chatID , i ) chat . EnableChatMode ( self . chatID , mode ) self . btnAll . SetUp () else: chat . ToggleChatMode ( self . chatID , mode ) def SetSize ( self , width , height ): self . imgCenter . SetRenderingRect ( 0.0 , 0.0 , float (( width - self . BLOCK_WIDTH * 2 ) - self . BLOCK_WIDTH ) / self . BLOCK_WIDTH , 0.0 ) self . imgCenter . SetPosition ( self . BLOCK_WIDTH , 0 ) self . imgRight . SetPosition ( width - self . BLOCK_WIDTH , 0 ) if locale . IsARABIC (): self . titleName . SetPosition ( self . GetWidth ()- 20 , 3 ) self . btnClose . SetPosition ( 3 , 3 ) self . scrollBar . SetPosition ( 1 , 45 ) else: self . btnClose . SetPosition ( width - self . btnClose . GetWidth () - 5 , 5 ) self . scrollBar . SetPosition ( width - 15 , 45 ) self . scrollBar . SetScrollBarSize ( height - 45 - 12 ) self . scrollBar . SetPos ( self . scrollBarPos ) ui . Window . SetSize ( self , width , height ) def Open ( self ): self . OnResize () self . chatInputSet . SetChatFocus () self . Show () def Close ( self ): if self . chatInputSet : self . chatInputSet . KillChatFocus () self . Hide () def OnResize ( self ): x , y = self . btnSizing . GetLocalPosition () width = self . btnSizing . GetWidth () height = self . btnSizing . GetHeight () if x < self . CHAT_LOG_WINDOW_MINIMUM_WIDTH - width : self . btnSizing . SetPosition ( self . CHAT_LOG_WINDOW_MINIMUM_WIDTH - width , y ) return if y < self . CHAT_LOG_WINDOW_MINIMUM_HEIGHT - height : self . btnSizing . SetPosition ( x , self . CHAT_LOG_WINDOW_MINIMUM_HEIGHT - height ) return self . scrollBar . LockScroll () self . SetSize ( x + width , y + height ) self . scrollBar . UnlockScroll () if locale . IsARABIC (): self . chatInputSet . SetPosition ( 20 , 25 ) else: self . chatInputSet . SetPosition ( 0 , 25 ) self . chatInputSet . SetSize ( self . GetWidth () - 20 , 20 ) self . chatInputSet . RefreshPosition () self . chatInputSet . SetChatMax ( self . GetWidth () / 8 ) def OnScroll ( self ): self . scrollBarPos = self . scrollBar . GetPos () lineCount = chat . GetLineCount ( self . chatID ) visibleLineCount = chat . GetVisibleLineCount ( self . chatID ) endLine = visibleLineCount + int ( float ( lineCount - visibleLineCount ) * self . scrollBarPos ) chat . SetEndPos ( self . chatID , self . scrollBarPos ) def OnRender ( self ): ( x , y , width , height ) = self . GetRect () if locale . IsARABIC (): grp . SetColor ( 0x77000000 ) grp . RenderBar ( x + 2 , y + 45 , 13 , height - 45 ) grp . SetColor ( 0x77000000 ) grp . RenderBar ( x , y , width , height ) grp . SetColor ( 0xff525552 ) grp . RenderBox ( x , y , width - 2 , height ) grp . SetColor ( 0xff000000 ) grp . RenderBox ( x + 1 , y + 1 , width - 2 , height ) grp . SetColor ( 0xff989898 ) grp . RenderLine ( x + width - 13 , y + height - 1 , 11 , - 11 ) grp . RenderLine ( x + width - 9 , y + height - 1 , 7 , - 7 ) grp . RenderLine ( x + width - 5 , y + height - 1 , 3 , - 3 ) else: grp . SetColor ( 0x77000000 ) grp . RenderBar ( x + width - 15 , y + 45 , 13 , height - 45 ) grp . SetColor ( 0x77000000 ) grp . RenderBar ( x , y , width , height ) grp . SetColor ( 0xff525552 ) grp . RenderBox ( x , y , width - 2 , height ) grp . SetColor ( 0xff000000 ) grp . RenderBox ( x + 1 , y + 1 , width - 2 , height ) grp . SetColor ( 0xff989898 ) grp . RenderLine ( x + width - 13 , y + height - 1 , 11 , - 11 ) grp . RenderLine ( x + width - 9 , y + height - 1 , 7 , - 7 ) grp . RenderLine ( x + width - 5 , y + height - 1 , 3 , - 3 ) ##### chat . ArrangeShowingChat ( self . chatID ) if locale . IsARABIC (): chat . SetPosition ( self . chatID , x + width - 10 , y + height - 25 ) else: chat . SetPosition ( self . chatID , x + 10 , y + height - 25 ) chat . SetHeight ( self . chatID , height - 45 - 25 ) chat . Update ( self . chatID ) chat . Render ( self . chatID ) def OnPressEscapeKey ( self ): self . Close () return TRUE def BindInterface ( self , interface): self .interface = interface def OnMouseLeftButtonDown ( self ): hyperlink = ui . GetHyperlink () if hyperlink : if app . IsPressed ( app . DIK_LALT ): link = chat . GetLinkFromHyperlink ( hyperlink ) ime . PasteString ( link ) else: self .interface. MakeHyperlinkTooltip ( hyperlink )
ich würde auch gerne die alte version mit reichchat haben also button zum Blau,Grün,Gelb usw. schreiben
11/26/2013, 00:16
#5
elite*gold: 0
Join Date: Jul 2013
Posts: 102
Received Thanks: 12
#push
11/26/2013, 00:26
#6
elite*gold: 0
Join Date: Jan 2011
Posts: 2,903
Received Thanks: 1,262
such mal
PHP Code:
def Open ( self ):
dann siehst du bei dir
PHP Code:
self . btnColor . Show () self . btnColor . Hide () self . Show ()
einfach ein # vor:
PHP Code:
self . btnColor . Hide ()
schon sollte es sichtbar sein
mfg
11/26/2013, 16:21
#7
elite*gold: 0
Join Date: Jul 2013
Posts: 102
Received Thanks: 12
Danke <3
da es geklappt hat , kann es geclosed werden..
Similar Threads
[Release] Reichchat
11/14/2013 - Metin2 PServer Guides & Strategies - 146 Replies
So,
da ToBii der Meinung ist, Reichchat zu verteilen, mache ich es auch mal.
Ihr könnt haten/weinen, wie ihr wollt.. Will nur nicht, dass solche Leute irgendwas davon haben.
Reichchat:
This difference file has been created by IDA Pro
reichchat daroo files
08/29/2013 - Metin2 Private Server - 3 Replies
Wenn ich in der uichat.py das aus dem Release ersetze (http://www.elitepvpers.com/forum/metin2-pserver-g uides-strategies/2406616-release-reichchat.html) bekomme ich immer einen Error und komme nicht mehr ins Spiel.
Wie füge ich es dort richtig ein? Sieht eben etwas anders aus als im release.
def __SendChatPacket(self, text, type):
# if text == '/':
# if ENABLE_CHAT_COMMAND or constInfo.CONSOLE_ENABLE:
# pass
# else:
# return
if net.IsChatInsultIn(text):
Reichchat/-system Problem
08/29/2013 - Metin2 Private Server - 3 Replies
'*!
Reichchat ? - Failed
03/24/2013 - Metin2 Private Server - 0 Replies
heai ich hab das Reichchat eingefügt, so nun schön und gut.
Wenn ich aber Ingame bin, sehe ich nur wenn ich schreibe z.B
Invincible:elitepvpers.com
und wenn ein andere schreibt sehe ich halt das / oder nicht kann mir da jemand helfen ?
Reichchat buggy
02/12/2013 - Metin2 Private Server - 3 Replies
Guten Tag Elitepvpers,
Ich wollte fragen :
Auf meinem Server sind Bücher / Sprachring buggy !
Weiß wer wie man sie fixxt !?
All times are GMT +2. The time now is 07:46 .