Ich wollte gerne etwas einfügen
und jedes mal gibt es ein Fehler.
PHP Code:
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)
in den uichat.py
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 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 net.IsChatInsultIn(text):
chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CHAT_INSULT_STRING)
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')
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.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)
da rein^^
kann mir wer ganz genau sagen wie? und wo?^^






