Hallo Leute,
ich habe mich ein wenig an den Clienten gesetzt und irgendwie zeigt er bei mir keine Maus an.
In der Syserr. steht das
Bitte melden Sie sich an, um diesen Link zu sehen.
intrologin.py
Code
- import dbg
- import app
- import net
- import ui
- import ime
- import snd
- import wndMgr
- import musicInfo
- import serverInfo
- import systemSetting
- import ServerStateChecker
- import localeInfo as locale
- import constInfo
- import uiCommon
- import time
- import ServerCommandParser
- import ime
- import uiScriptLocale
- import chat
- import sys
- import md5
- import background
- import os
- import string
- import constinfo
- import linecache
- ########Config########
- DEINEIP = "178.33.64.98"
- CH1PORT = 11002
- CH2PORT = 13003
- CH3PORT = 17005
- CH4PORT = 18005
- AUTHPORT = 13363
- SERVERNAME = "CovidMT2"
- LOGINDATENSPEICHERN = 0 #0 = aus / 1 = an
- FORUMLINK = "http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/"
- YOUTUBELINK = "http://www.youtube.com"
- FACEBOOKLINK = "http://www.facebook.com"
- ####################
- #####Ab hier nichts mehr ändern!######
- RUNUP_MATRIX_AUTH = FALSE
- NEWCIBN_PASSPOD_AUTH = FALSE
- LOGIN_DELAY_SEC = 0.0
- SKIP_LOGIN_PHASE = FALSE
- SKIP_LOGIN_PHASE_SUPPORT_CHANNEL = FALSE
- FULL_BACK_IMAGE = TRUE
- PASSPOD_MSG_DICT = {}
- VIRTUAL_KEYBOARD_NUM_KEYS = 46
- VIRTUAL_KEYBOARD_RAND_KEY = FALSE
- CH1STATE = 0
- CH2STATE = 0
- CH3STATE = 0
- CH4STATE = 0
- def Suffle(src):
- if VIRTUAL_KEYBOARD_RAND_KEY:
- items = [item for item in src]
- itemCount = len(items)
- for oldPos in xrange(itemCount):
- newPos = app.GetRandom(0, itemCount-1)
- items[newPos], items[oldPos] = items[oldPos], items[newPos]
- return "".join(items)
- else:
- return src
- if locale.IsNEWCIBN() or locale.IsCIBN10():
- LOGIN_DELAY_SEC = 20.0
- FULL_BACK_IMAGE = TRUE
- NEWCIBN_PASSPOD_AUTH = TRUE
- PASSPOD_MSG_DICT = {
- "PASERR1" : locale.LOGIN_FAILURE_PASERR1,
- "PASERR2" : locale.LOGIN_FAILURE_PASERR2,
- "PASERR3" : locale.LOGIN_FAILURE_PASERR3,
- "PASERR4" : locale.LOGIN_FAILURE_PASERR4,
- "PASERR5" : locale.LOGIN_FAILURE_PASERR5,
- }
- elif locale.IsYMIR() or locale.IsCHEONMA():
- FULL_BACK_IMAGE = TRUE
- elif locale.IsHONGKONG():
- FULL_BACK_IMAGE = TRUE
- RUNUP_MATRIX_AUTH = TRUE
- PASSPOD_MSG_DICT = {
- "NOTELE" : locale.LOGIN_FAILURE_NOTELEBLOCK,
- }
- elif locale.IsJAPAN():
- FULL_BACK_IMAGE = TRUE
- def IsFullBackImage():
- global FULL_BACK_IMAGE
- return FULL_BACK_IMAGE
- def IsLoginDelay():
- global LOGIN_DELAY_SEC
- if LOGIN_DELAY_SEC > 0.0:
- return TRUE
- else:
- return FALSE
- def IsRunupMatrixAuth():
- global RUNUP_MATRIX_AUTH
- return RUNUP_MATRIX_AUTH
- def IsNEWCIBNPassPodAuth():
- global NEWCIBN_PASSPOD_AUTH
- return NEWCIBN_PASSPOD_AUTH
- def GetLoginDelay():
- global LOGIN_DELAY_SEC
- return LOGIN_DELAY_SEC
- app.SetGuildMarkPath("test")
- class ConnectingDialog(ui.ScriptWindow):
- def __init__(self):
- ui.ScriptWindow.__init__(self)
- self.__LoadDialog()
- self.eventTimeOver = lambda *arg: None
- self.eventExit = lambda *arg: None
- def __del__(self):
- ui.ScriptWindow.__del__(self)
- def __LoadDialog(self):
- try:
- PythonScriptLoader = ui.PythonScriptLoader()
- PythonScriptLoader.LoadScriptFile(self, "UIScript/ConnectingDialog.py")
- self.board = self.GetChild("board")
- self.message = self.GetChild("message")
- self.countdownMessage = self.GetChild("countdown_message")
- except:
- import exception
- exception.Abort("ConnectingDialog.LoadDialog.BindObject")
- def Open(self, waitTime):
- curTime = time.clock()
- self.endTime = curTime + waitTime
- self.Lock()
- self.SetCenterPosition()
- self.SetTop()
- self.Show()
- def Close(self):
- self.Unlock()
- self.Hide()
- def Destroy(self):
- self.Hide()
- self.ClearDictionary()
- def SetText(self, text):
- self.message.SetText(text)
- def SetCountDownMessage(self, waitTime):
- self.countdownMessage.SetText("%.0f%s" % (waitTime, locale.SECOND))
- def SAFE_SetTimeOverEvent(self, event):
- self.eventTimeOver = ui.__mem_func__(event)
- def SAFE_SetExitEvent(self, event):
- self.eventExit = ui.__mem_func__(event)
- def OnUpdate(self, state):
- lastTime = max(0, self.endTime - time.clock())
- if 0 == lastTime:
- self.Close()
- self.eventTimeOver()
- else:
- self.SetCountDownMessage(self.endTime - time.clock())
- def OnPressExitKey(self):
- #self.eventExit()
- return TRUE
- class LoginWindow(ui.ScriptWindow):
- IS_TEST = net.IsTest()
- def __init__(self, stream):
- print "NEW LOGIN WINDOW ----------------------------------------------------------------------------"
- ui.ScriptWindow.__init__(self)
- net.SetPhaseWindow(net.PHASE_WINDOW_LOGIN, self)
- net.SetAccountConnectorHandler(self)
- self.matrixInputChanceCount = 0
- self.lastLoginTime = 0
- self.inputDialog = None
- self.connectingDialog = None
- self.stream=stream
- self.isNowCountDown=FALSE
- self.isStartError=FALSE
- self.xServerBoard = 0
- self.yServerBoard = 0
- self.loadingImage = None
- self.virtualKeyboard = None
- self.virtualKeyboardMode = "ALPHABET"
- self.virtualKeyboardIsUpper = FALSE
- def __del__(self):
- net.ClearPhaseWindow(net.PHASE_WINDOW_LOGIN, self)
- net.SetAccountConnectorHandler(0)
- ui.ScriptWindow.__del__(self)
- print "---------------------------------------------------------------------------- DELETE LOGIN WINDOW"
- def Open(self):
- ServerStateChecker.Create(self)
- print "LOGIN WINDOW OPEN ----------------------------------------------------------------------------"
- self.loginFailureMsgDict={
- #"DEFAULT" : locale.LOGIN_FAILURE_UNKNOWN,
- "ALREADY" : locale.LOGIN_FAILURE_ALREAY,
- "NOID" : locale.LOGIN_FAILURE_NOT_EXIST_ID,
- "WRONGPWD" : locale.LOGIN_FAILURE_WRONG_PASSWORD,
- "FULL" : locale.LOGIN_FAILURE_TOO_MANY_USER,
- "SHUTDOWN" : locale.LOGIN_FAILURE_SHUTDOWN,
- "REPAIR" : locale.LOGIN_FAILURE_REPAIR_ID,
- "BLOCK" : locale.LOGIN_FAILURE_BLOCK_ID,
- "WRONGMAT" : locale.LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER,
- "QUIT" : locale.LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE,
- "BESAMEKEY" : locale.LOGIN_FAILURE_BE_SAME_KEY,
- "NOTAVAIL" : locale.LOGIN_FAILURE_NOT_AVAIL,
- "NOBILL" : locale.LOGIN_FAILURE_NOBILL,
- "BLKLOGIN" : locale.LOGIN_FAILURE_BLOCK_LOGIN,
- "WEBBLK" : locale.LOGIN_FAILURE_WEB_BLOCK,
- "HACK" : "Du wurdest wegen hacken gesperrt.",
- "BOT" : "Du wurdest wegen benutzung von Bots gesperrt.",
- "SCAM" : "Du wurdest wegen Betrug gesperrt.",
- "INSULT" : "Du wurdest wegen Beleidigung gesperrt.",
- "FAKE" : "Du wurdest aufgrund deiner Namensgebung gesperrt.",
- "NAME" : "Du wurdest aufgrund deiner Namensgebung gesperrt.",
- "BUG" : "Du wurdest wegen Bugusing gesperrt.",
- "DK" : "Du wurdest wegen Dauerkill gesperrt.",
- "OTHER" : "Du wurdest von der Serverleitung gesperrt.",
- }
- self.loginFailureFuncDict = {
- "WRONGPWD" : self.__DisconnectAndInputPassword,
- "WRONGMAT" : self.__DisconnectAndInputMatrix,
- "QUIT" : app.Exit,
- }
- self.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
- self.SetWindowName("LoginWindow")
- if not self.__LoadScript(uiScriptLocale.LOCALE_UISCRIPT_PATH + "LoginWindow.py"):
- dbg.TraceError("LoginWindow.Open - __LoadScript Error")
- return
- self.__LoadLoginInfo("loginInfo.py")
- if app.loggined:
- self.loginFailureFuncDict = {
- "WRONGPWD" : app.Exit,
- "WRONGMAT" : app.Exit,
- "QUIT" : app.Exit,
- }
- if musicInfo.loginMusic != "":
- snd.SetMusicVolume(systemSetting.GetMusicVolume())
- snd.FadeInMusic("BGM/"+musicInfo.loginMusic)
- snd.SetSoundVolume(systemSetting.GetSoundVolume())
- # pevent key "[" "]"
- ime.AddExceptKey(91)
- ime.AddExceptKey(93)
- self.Show()
- global SKIP_LOGIN_PHASE
- if SKIP_LOGIN_PHASE:
- if self.isStartError:
- self.connectBoard.Hide()
- self.loginBoard.Hide()
- self.serverBoard.Hide()
- self.PopupNotifyMessage(locale.LOGIN_CONNECT_FAILURE, self.__ExitGame)
- return
- if self.loginInfo:
- self.serverBoard.Hide()
- else:
- self.__RefreshServerList()
- self.__OpenServerBoard()
- else:
- connectingIP = self.stream.GetConnectAddr()
- if connectingIP:
- self.__OpenLoginBoard()
- if IsFullBackImage():
- self.GetChild("demonking").Show()
- else:
- self.__RefreshServerList()
- self.__OpenServerBoard()
- app.ShowCursor()
- def Close(self):
- if self.connectingDialog:
- self.connectingDialog.Close()
- self.connectingDialog = None
- ServerStateChecker.Destroy(self)
- print "---------------------------------------------------------------------------- CLOSE LOGIN WINDOW "
- #
- # selectMusicÀÌ ¾øÀ¸¸é BGMÀÌ ²÷±â¹Ç·Î µÎ°³ ´Ù üũÇÑ´Ù.
- #
- if musicInfo.loginMusic != "" and musicInfo.selectMusic != "":
- snd.FadeOutMusic("BGM/"+musicInfo.loginMusic)
- ## NOTE : idEditLine¿Í pwdEditLineÀº À̺¥Æ®°¡ ¼·Î ¿¬°á µÇ¾îÀÖ¾î¼
- ## Event¸¦ °Á¦·Î ÃʱâÈ ÇØÁÖ¾î¾ß¸¸ ÇÕ´Ï´Ù - [levites]
- self.idEditLine.SetTabEvent(0)
- self.idEditLine.SetReturnEvent(0)
- self.pwdEditLine.SetReturnEvent(0)
- self.pwdEditLine.SetTabEvent(0)
- self.connectBoard = None
- self.loginBoard = None
- self.idEditLine = None
- self.pwdEditLine = None
- self.inputDialog = None
- self.connectingDialog = None
- self.loadingImage = None
- self.serverBoard = None
- self.serverList = None
- self.channelList = None
- # RUNUP_MATRIX_AUTH
- self.matrixQuizBoard = None
- self.matrixAnswerInput = None
- self.matrixAnswerOK = None
- self.matrixAnswerCancel = None
- # RUNUP_MATRIX_AUTH_END
- # NEWCIBN_PASSPOD_AUTH
- self.passpodBoard = None
- self.passpodAnswerInput = None
- self.passpodAnswerOK = None
- self.passpodAnswerCancel = None
- # NEWCIBN_PASSPOD_AUTH_END
- self.VIRTUAL_KEY_ALPHABET_LOWERS = None
- self.VIRTUAL_KEY_ALPHABET_UPPERS = None
- self.VIRTUAL_KEY_SYMBOLS = None
- self.VIRTUAL_KEY_NUMBERS = None
- # VIRTUAL_KEYBOARD_BUG_FIX
- if self.virtualKeyboard:
- for keyIndex in xrange(0, VIRTUAL_KEYBOARD_NUM_KEYS+1):
- key = self.GetChild2("key_%d" % keyIndex)
- if key:
- key.SetEvent(None)
- self.virtualKeyboard = None
- self.KillFocus()
- self.Hide()
- self.stream.popupWindow.Close()
- self.loginFailureFuncDict=None
- ime.ClearExceptKey()
- app.HideCursor()
- def __SaveChannelInfo(self):
- try:
- file=open("channel.inf", "w")
- file.write("%d %d %d" % (self.__GetServerID(), self.__GetChannelID(), self.__GetRegionID()))
- except:
- print "LoginWindow.__SaveChannelInfo - SaveError"
- def __LoadChannelInfo(self):
- try:
- file=open("channel.inf")
- lines=file.readlines()
- if len(lines)>0:
- tokens=lines[0].split()
- selServerID=int(tokens[0])
- selChannelID=int(tokens[1])
- if len(tokens) == 3:
- regionID = int(tokens[2])
- return regionID, selServerID, selChannelID
- except:
- print "LoginWindow.__LoadChannelInfo - OpenError"
- return -1, -1, -1
- def __ExitGame(self):
- app.Exit()
- def SetIDEditLineFocus(self):
- if self.idEditLine != None:
- self.idEditLine.SetFocus()
- def SetPasswordEditLineFocus(self):
- if locale.IsEUROPE():
- if self.idEditLine != None: #0000862: [M2EU] ·Î±×ÀÎâ Æ˾÷ ¿¡·¯: Á¾·á½Ã ¸ÕÀú None ¼³Á¤µÊ
- self.idEditLine.SetText("")
- self.idEditLine.SetFocus() #0000685: [M2EU] ¾ÆÀ̵ð/ºñ¹Ð¹øÈ£ À¯Ãß °¡´É ¹ö±× ¼öÁ¤: ¹«Á¶°Ç ¾ÆÀ̵ð·Î Æ÷Ä¿½º°¡ °¡°Ô ¸¸µç´Ù
- if self.pwdEditLine != None: #0000862: [M2EU] ·Î±×ÀÎâ Æ˾÷ ¿¡·¯: Á¾·á½Ã ¸ÕÀú None ¼³Á¤µÊ
- self.pwdEditLine.SetText("")
- else:
- if self.pwdEditLine != None:
- self.pwdEditLine.SetFocus()
- def OnEndCountDown(self):
- self.isNowCountDown = FALSE
- self.OnConnectFailure()
- def OnConnectFailure(self):
- if self.isNowCountDown:
- return
- snd.PlaySound("sound/ui/loginfail.wav")
- if self.connectingDialog:
- self.connectingDialog.Close()
- self.connectingDialog = None
- if app.loggined:
- self.PopupNotifyMessage(locale.LOGIN_CONNECT_FAILURE, self.__ExitGame)
- else:
- self.PopupNotifyMessage(locale.LOGIN_CONNECT_FAILURE, self.SetPasswordEditLineFocus)
- def OnHandShake(self):
- if not IsLoginDelay():
- snd.PlaySound("sound/ui/loginok.wav")
- self.PopupDisplayMessage(locale.LOGIN_CONNECT_SUCCESS)
- def OnLoginStart(self):
- if not IsLoginDelay():
- self.PopupDisplayMessage(locale.LOGIN_PROCESSING)
- def OnLoginFailure(self, error):
- if self.connectingDialog:
- self.connectingDialog.Close()
- self.connectingDialog = None
- try:
- loginFailureMsg = self.loginFailureMsgDict[error]
- except KeyError:
- if PASSPOD_MSG_DICT:
- try:
- loginFailureMsg = PASSPOD_MSG_DICT[error]
- except KeyError:
- loginFailureMsg = locale.LOGIN_FAILURE_UNKNOWN + error
- else:
- loginFailureMsg = locale.LOGIN_FAILURE_UNKNOWN + error
- #0000685: [M2EU] ¾ÆÀ̵ð/ºñ¹Ð¹øÈ£ À¯Ãß °¡´É ¹ö±× ¼öÁ¤: ¹«Á¶°Ç Æнº¿öµå·Î Æ÷Ä¿½º°¡ °¡°Ô ¸¸µç´Ù
- loginFailureFunc=self.loginFailureFuncDict.get(error, self.SetPasswordEditLineFocus)
- if app.loggined:
- self.PopupNotifyMessage(loginFailureMsg, self.__ExitGame)
- else:
- self.PopupNotifyMessage(loginFailureMsg, loginFailureFunc)
- snd.PlaySound("sound/ui/loginfail.wav")
- def __DisconnectAndInputID(self):
- if self.connectingDialog:
- self.connectingDialog.Close()
- self.connectingDialog = None
- self.SetIDEditLineFocus()
- net.Disconnect()
- def __DisconnectAndInputPassword(self):
- if self.connectingDialog:
- self.connectingDialog.Close()
- self.connectingDialog = None
- self.SetPasswordEditLineFocus()
- net.Disconnect()
- def __DisconnectAndInputMatrix(self):
- if self.connectingDialog:
- self.connectingDialog.Close()
- self.connectingDialog = None
- self.stream.popupWindow.Close()
- self.matrixInputChanceCount -= 1
- if self.matrixInputChanceCount <= 0:
- self.__OnCloseInputDialog()
- elif self.inputDialog:
- self.inputDialog.Show()
- def __LoadScript(self, fileName):
- try:
- pyScrLoader = ui.PythonScriptLoader()
- pyScrLoader.LoadScriptFile(self, fileName)
- except:
- import exception
- exception.Abort("LoginWindow.__LoadScript.LoadObject")
- try:
- GetObject=self.GetChild
- self.serverBoard = GetObject("ServerBoard")
- self.serverList = GetObject("ServerList")
- self.channelList = GetObject("ChannelList")
- self.connectBoard = GetObject("ConnectBoard")
- self.loginBoard = GetObject("LoginBoard")
- self.idEditLine = GetObject("ID_EditLine")
- self.pwdEditLine = GetObject("Password_EditLine")
- self.ch1_offline_demon = GetObject("Channel1_offline_demon")
- self.ch2_offline_demon = GetObject("Channel2_offline_demon")
- self.ch3_offline_demon = GetObject("Channel3_offline_demon")
- self.ch4_offline_demon = GetObject("Channel4_offline_demon")
- self.ch1_online_demon = GetObject("Channel1_online_demon")
- self.ch2_online_demon = GetObject("Channel2_online_demon")
- self.ch3_online_demon = GetObject("Channel3_online_demon")
- self.ch4_online_demon = GetObject("Channel4_online_demon")
- self.ch1_online_markiert_demon = GetObject("Channel1_online_markiert_demon")
- self.ch2_online_markiert_demon = GetObject("Channel2_online_markiert_demon")
- self.ch3_online_markiert_demon = GetObject("Channel3_online_markiert_demon")
- self.ch4_online_markiert_demon = GetObject("Channel4_online_markiert_demon")
- self.ch1_offline_markiert_demon = GetObject("Channel1_offline_markiert_demon")
- self.ch2_offline_markiert_demon = GetObject("Channel2_offline_markiert_demon")
- self.ch3_offline_markiert_demon = GetObject("Channel3_offline_markiert_demon")
- self.ch4_offline_markiert_demon = GetObject("Channel4_offline_markiert_demon")
- self.loginButton = GetObject("LoginButton")
- self.forum = GetObject("forum")
- self.youtube = GetObject("youtube")
- self.facebook = GetObject("facebook")
- self.oben_links = GetObject("oben_links")
- self.idEditLine.SetFontColor(71, 96, 144)
- self.pwdEditLine.SetFontColor(71, 96, 144)
- ## ACCMANAGER
- self.endles = GetObject("endles")
- # RUNUP_MATRIX_AUTH
- if IsRunupMatrixAuth():
- self.matrixQuizBoard = GetObject("RunupMatrixQuizBoard")
- self.matrixAnswerInput = GetObject("RunupMatrixAnswerInput")
- self.matrixAnswerOK = GetObject("RunupMatrixAnswerOK")
- self.matrixAnswerCancel = GetObject("RunupMatrixAnswerCancel")
- # RUNUP_MATRIX_AUTH_END
- # NEWCIBN_PASSPOD_AUTH
- if IsNEWCIBNPassPodAuth():
- self.passpodBoard = GetObject("NEWCIBN_PASSPOD_BOARD")
- self.passpodAnswerInput = GetObject("NEWCIBN_PASSPOD_INPUT")
- self.passpodAnswerOK = GetObject("NEWCIBN_PASSPOD_OK")
- self.passpodAnswerCancel= GetObject("NEWCIBN_PASSPOD_CANCEL")
- # NEWCIBN_PASSPOD_AUTH_END
- self.virtualKeyboard = self.GetChild2("VirtualKeyboard")
- if self.virtualKeyboard:
- self.VIRTUAL_KEY_ALPHABET_UPPERS = Suffle(locale.VIRTUAL_KEY_ALPHABET_UPPERS)
- self.VIRTUAL_KEY_ALPHABET_LOWERS = "".join([locale.VIRTUAL_KEY_ALPHABET_LOWERS[locale.VIRTUAL_KEY_ALPHABET_UPPERS.index(e)] for e in self.VIRTUAL_KEY_ALPHABET_UPPERS])
- self.VIRTUAL_KEY_SYMBOLS = Suffle(locale.VIRTUAL_KEY_SYMBOLS)
- self.VIRTUAL_KEY_NUMBERS = Suffle(locale.VIRTUAL_KEY_NUMBERS)
- self.__VirtualKeyboard_SetAlphabetMode()
- except:
- import exception
- exception.Abort("LoginWindow.__LoadScript.BindObject")
- self.serverBoard.OnKeyUp = ui.__mem_func__(self.__ServerBoard_OnKeyUp)
- self.xServerBoard, self.yServerBoard = self.serverBoard.GetLocalPosition()
- self.loginButton.SetEvent(ui.__mem_func__(self.__OnClickLoginButton))
- self.forum.SetEvent(ui.__mem_func__(self.__forum))
- self.youtube.SetEvent(ui.__mem_func__(self.__youtube))
- self.facebook.SetEvent(ui.__mem_func__(self.__facebook))
- ## ACCMANAGER
- self.endles.SetEvent(self.__OnClickExitButton)
- ## END ACCMANAGER
- self.serverList.SetEvent(ui.__mem_func__(self.__OnSelectServer))
- self.idEditLine.SetReturnEvent(ui.__mem_func__(self.pwdEditLine.SetFocus))
- self.idEditLine.SetTabEvent(ui.__mem_func__(self.pwdEditLine.SetFocus))
- self.pwdEditLine.SetReturnEvent(ui.__mem_func__(self.__OnClickLoginButton))
- self.pwdEditLine.SetTabEvent(ui.__mem_func__(self.idEditLine.SetFocus))
- # RUNUP_MATRIX_AUTH
- if IsRunupMatrixAuth():
- self.matrixAnswerOK.SAFE_SetEvent(self.__OnClickMatrixAnswerOK)
- self.matrixAnswerCancel.SAFE_SetEvent(self.__OnClickMatrixAnswerCancel)
- self.matrixAnswerInput.SAFE_SetReturnEvent(self.__OnClickMatrixAnswerOK)
- # RUNUP_MATRIX_AUTH_END
- # NEWCIBN_PASSPOD_AUTH
- if IsNEWCIBNPassPodAuth():
- self.passpodAnswerOK.SAFE_SetEvent(self.__OnClickNEWCIBNPasspodAnswerOK)
- self.passpodAnswerCancel.SAFE_SetEvent(self.__OnClickNEWCIBNPasspodAnswerCancel)
- self.passpodAnswerInput.SAFE_SetReturnEvent(self.__OnClickNEWCIBNPasspodAnswerOK)
- # NEWCIBN_PASSPOD_AUTH_END
- if IsFullBackImage():
- self.GetChild("demonking").Show()
- return 1
- def __VirtualKeyboard_SetKeys(self, keyCodes):
- uiDefFontBackup = locale.UI_DEF_FONT
- locale.UI_DEF_FONT = locale.UI_DEF_FONT_LARGE
- keyIndex = 1
- for keyCode in keyCodes:
- key = self.GetChild2("key_%d" % keyIndex)
- if key:
- key.SetEvent(lambda x=keyCode: self.__VirtualKeyboard_PressKey(x))
- key.SetText(keyCode)
- key.ButtonText.SetFontColor(1, 1, 1)
- keyIndex += 1
- for keyIndex in xrange(keyIndex, VIRTUAL_KEYBOARD_NUM_KEYS+1):
- key = self.GetChild2("key_%d" % keyIndex)
- if key:
- key.SetEvent(lambda x=' ': self.__VirtualKeyboard_PressKey(x))
- key.SetText(' ')
- locale.UI_DEF_FONT = uiDefFontBackup
- def __VirtualKeyboard_PressKey(self, code):
- ime.PasteString(code)
- #if self.virtualKeyboardMode == "ALPHABET" and self.virtualKeyboardIsUpper:
- # self.__VirtualKeyboard_SetLowerMode()
- def __VirtualKeyboard_PressBackspace(self):
- ime.PasteBackspace()
- def __VirtualKeyboard_PressReturn(self):
- ime.PasteReturn()
- def __VirtualKeyboard_SetUpperMode(self):
- self.virtualKeyboardIsUpper = TRUE
- if self.virtualKeyboardMode == "ALPHABET":
- self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_ALPHABET_UPPERS)
- elif self.virtualKeyboardMode == "NUMBER":
- self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_SYMBOLS)
- else:
- self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_NUMBERS)
- def __VirtualKeyboard_SetLowerMode(self):
- self.virtualKeyboardIsUpper = FALSE
- if self.virtualKeyboardMode == "ALPHABET":
- self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_ALPHABET_LOWERS)
- elif self.virtualKeyboardMode == "NUMBER":
- self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_NUMBERS)
- else:
- self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_SYMBOLS)
- def __VirtualKeyboard_SetAlphabetMode(self):
- self.virtualKeyboardIsUpper = FALSE
- self.virtualKeyboardMode = "ALPHABET"
- self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_ALPHABET_LOWERS)
- def __VirtualKeyboard_SetNumberMode(self):
- self.virtualKeyboardIsUpper = FALSE
- self.virtualKeyboardMode = "NUMBER"
- self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_NUMBERS)
- def __VirtualKeyboard_SetSymbolMode(self):
- self.virtualKeyboardIsUpper = FALSE
- self.virtualKeyboardMode = "SYMBOL"
- self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_SYMBOLS)
- def Connect(self, id, pwd):
- if constInfo.SEQUENCE_PACKET_ENABLE:
- net.SetPacketSequenceMode()
- if IsLoginDelay():
- loginDelay = GetLoginDelay()
- self.connectingDialog = ConnectingDialog()
- self.connectingDialog.Open(loginDelay)
- self.connectingDialog.SAFE_SetTimeOverEvent(self.OnEndCountDown)
- self.connectingDialog.SAFE_SetExitEvent(self.OnPressExitKey)
- self.isNowCountDown = TRUE
- else:
- self.stream.popupWindow.Close()
- self.stream.popupWindow.Open(locale.LOGIN_CONNETING, self.SetPasswordEditLineFocus, locale.UI_CANCEL)
- self.stream.SetLoginInfo(id, pwd)
- self.stream.Connect()
- def __OnClickExitButton(self):
- self.stream.SetPhaseWindow(0)
- def __SetServerInfo(self, name):
- net.SetServerInfo(name.strip())
- self.serverInfo.SetText(name)
- def __LoadLoginInfo(self, loginInfoFileName):
- try:
- loginInfo={}
- execfile(loginInfoFileName, loginInfo)
- except IOError:
- print(\
- "ÀÚµ¿ ·Î±×ÀÎÀ» ÇϽ÷Á¸é" + loginInfoFileName + "ÆÄÀÏÀ» ÀÛ¼ºÇØÁÖ¼¼¿ä\n"\
- "\n"\
- "³»¿ë:\n"\
- "================================================================\n"\
- "addr=ÁÖ¼Ò\n"\
- "port=Æ÷Æ®\n"\
- "id=¾ÆÀ̵ð\n"\
- "pwd=ºñ¹Ð¹øÈ£\n"\
- "slot=ij¸¯ÅÍ ¼±Åà À妽º (¾ø°Å³ª -1À̸é ÀÚµ¿ ¼±Åà ¾ÈÇÔ)\n"\
- "autoLogin=ÀÚµ¿ Á¢¼Ó ¿©ºÎ\n"
- "autoSelect=ÀÚµ¿ Á¢¼Ó ¿©ºÎ\n"
- "locale=(ymir) LC_Ymir ÀÏ°æ¿ì ymir·Î ÀÛµ¿. ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é korea·Î ÀÛµ¿\n"
- );
- id=loginInfo.get("id", "")
- pwd=loginInfo.get("pwd", "")
- if self.IS_TEST:
- try:
- addr=loginInfo["addr"]
- port=loginInfo["port"]
- account_addr=addr
- account_port=port
- net.SetMarkServer(addr, port)
- self.__SetServerInfo(locale.CHANNEL_TEST_SERVER_ADDR % (addr, port))
- except:
- try:
- addr=serverInfo.TESTADDR["ip"]
- port=serverInfo.TESTADDR["tcp_port"]
- net.SetMarkServer(addr, port)
- self.__SetServerInfo(locale.CHANNEL_TEST_SERVER)
- except:
- import exception
- exception.Abort("LoginWindow.__LoadLoginInfo - Å×½ºÆ®¼¹ö ÁÖ¼Ò°¡ ¾ø½À´Ï´Ù")
- else:
- addr=loginInfo.get("addr", "")
- port=loginInfo.get("port", 0)
- account_addr=loginInfo.get("account_addr", addr)
- account_port=loginInfo.get("account_port", port)
- locale = loginInfo.get("locale", "")
- if addr and port:
- net.SetMarkServer(addr, port)
- if locale == "ymir" :
- net.SetServerInfo("õ¸¶ ¼¹ö")
- self.serverInfo.SetText("Y:"+addr+":"+str(port))
- else:
- net.SetServerInfo(addr+":"+str(port))
- self.serverInfo.SetText("K:"+addr+":"+str(port))
- slot=loginInfo.get("slot", 0)
- isAutoLogin=loginInfo.get("auto", 0)
- isAutoLogin=loginInfo.get("autoLogin", 0)
- isAutoSelect=loginInfo.get("autoSelect", 0)
- self.stream.SetCharacterSlot(slot)
- self.stream.SetConnectInfo(addr, port, account_addr, account_port)
- self.stream.isAutoLogin=isAutoLogin
- self.stream.isAutoSelect=isAutoSelect
- self.id = None
- self.pwd = None
- self.loginnedServer = None
- self.loginnedChannel = None
- app.loggined = FALSE
- self.loginInfo = loginInfo
- if self.id and self.pwd:
- app.loggined = TRUE
- if isAutoLogin:
- self.Connect(id, pwd)
- print "=================================================================================="
- print "ÀÚµ¿ ·Î±×ÀÎ: %s - %s:%d %s" % (loginInfoFileName, addr, port, id)
- print "=================================================================================="
- def PopupDisplayMessage(self, msg):
- self.stream.popupWindow.Close()
- self.stream.popupWindow.Open(msg)
- def PopupNotifyMessage(self, msg, func=0):
- if not func:
- func=self.EmptyFunc
- self.stream.popupWindow.Close()
- self.stream.popupWindow.Open(msg, func, locale.UI_OK)
- # RUNUP_MATRIX_AUTH
- def BINARY_OnRunupMatrixQuiz(self, quiz):
- if not IsRunupMatrixAuth():
- return
- id = self.GetChild("RunupMatrixID")
- id.SetText(self.idEditLine.GetText())
- code = self.GetChild("RunupMatrixCode")
- code.SetText("".join(["[%c,%c]" % (quiz[i], quiz[i+1]) for i in xrange(0, len(quiz), 2)]))
- self.stream.popupWindow.Close()
- self.serverBoard.Hide()
- self.connectBoard.Hide()
- self.loginBoard.Hide()
- self.matrixQuizBoard.Show()
- self.matrixAnswerInput.SetFocus()
- def __OnClickMatrixAnswerOK(self):
- answer = self.matrixAnswerInput.GetText()
- print "matrix_quiz.ok"
- net.SendRunupMatrixCardPacket(answer)
- self.matrixQuizBoard.Hide()
- self.stream.popupWindow.Close()
- self.stream.popupWindow.Open("WAITING FOR MATRIX AUTHENTICATION",
- self.__OnClickMatrixAnswerCancel,
- locale.UI_CANCEL)
- def __OnClickMatrixAnswerCancel(self):
- print "matrix_quiz.cancel"
- if self.matrixQuizBoard:
- self.matrixQuizBoard.Hide()
- if self.connectBoard:
- self.connectBoard.Show()
- if self.loginBoard:
- self.loginBoard.Show()
- # RUNUP_MATRIX_AUTH_END
- # NEWCIBN_PASSPOD_AUTH
- def BINARY_OnNEWCIBNPasspodRequest(self):
- if not IsNEWCIBNPassPodAuth():
- return
- if self.connectingDialog:
- self.connectingDialog.Close()
- self.connectingDialog = None
- self.stream.popupWindow.Close()
- self.serverBoard.Hide()
- self.connectBoard.Hide()
- self.loginBoard.Hide()
- self.passpodBoard.Show()
- self.passpodAnswerInput.SetFocus()
- def BINARY_OnNEWCIBNPasspodFailure(self):
- if not IsNEWCIBNPassPodAuth():
- return
- def __OnClickNEWCIBNPasspodAnswerOK(self):
- answer = self.passpodAnswerInput.GetText()
- print "passpod.ok"
- net.SendNEWCIBNPasspodAnswerPacket(answer)
- self.passpodAnswerInput.SetText("")
- self.passpodBoard.Hide()
- self.stream.popupWindow.Close()
- self.stream.popupWindow.Open(locale.WAIT_FOR_PASSPOD,
- self.__OnClickNEWCIBNPasspodAnswerCancel,
- locale.UI_CANCEL)
- def __OnClickNEWCIBNPasspodAnswerCancel(self):
- print "passpod.cancel"
- if self.passpodBoard:
- self.passpodBoard.Hide()
- if self.connectBoard:
- self.connectBoard.Show()
- if self.loginBoard:
- self.loginBoard.Show()
- # NEWCIBN_PASSPOD_AUTH_END
- def OnMatrixCard(self, row1, row2, row3, row4, col1, col2, col3, col4):
- if self.connectingDialog:
- self.connectingDialog.Close()
- self.connectingDialog = None
- self.matrixInputChanceCount = 3
- self.stream.popupWindow.Close()
- # CHINA_MATRIX_CARD_BUG_FIX
- ## A~Z ±îÁö 26 À̳»ÀÇ °ªÀÌ µé¾îÀÖ¾î¾ß¸¸ ÇÑ´Ù.
- ## Python Exception Log ¿¡¼ ±× ÀÌ»óÀÇ °ªÀÌ µé¾îÀÖ¾î¼ ¿¡·¯ ¹æÁö
- ## Çåµ¥ ¿Ö Çѱ¹ÂÊ ·Î±×¿¡¼ ÀÌ°Ô È°¿ëµÇ´ÂÁö´Â ¸ð¸£°ÚÀ½
- row1 = min(30, row1)
- row2 = min(30, row2)
- row3 = min(30, row3)
- row4 = min(30, row4)
- # END_OF_CHINA_MATRIX_CARD_BUG_FIX
- row1 = chr(row1 + ord('A'))
- row2 = chr(row2 + ord('A'))
- row3 = chr(row3 + ord('A'))
- row4 = chr(row4 + ord('A'))
- col1 = col1 + 1
- col2 = col2 + 1
- col3 = col3 + 1
- col4 = col4 + 1
- inputDialog = uiCommon.InputDialogWithDescription2()
- inputDialog.SetMaxLength(8)
- inputDialog.SetAcceptEvent(ui.__mem_func__(self.__OnAcceptMatrixCardData))
- inputDialog.SetCancelEvent(ui.__mem_func__(self.__OnCancelMatrixCardData))
- inputDialog.SetTitle(locale.INPUT_MATRIX_CARD_TITLE)
- inputDialog.SetDescription1(locale.INPUT_MATRIX_CARD_NUMBER)
- inputDialog.SetDescription2("%c%d %c%d %c%d %c%d" % (row1, col1,
- row2, col2,
- row3, col3,
- row4, col4))
- inputDialog.Open()
- self.inputDialog = inputDialog
- def __OnAcceptMatrixCardData(self):
- text = self.inputDialog.GetText()
- net.SendChinaMatrixCardPacket(text)
- if self.inputDialog:
- self.inputDialog.Hide()
- self.PopupNotifyMessage(locale.LOGIN_PROCESSING)
- return TRUE
- def __OnCancelMatrixCardData(self):
- self.SetPasswordEditLineFocus()
- self.__OnCloseInputDialog()
- self.__DisconnectAndInputPassword()
- return TRUE
- def __OnCloseInputDialog(self):
- if self.inputDialog:
- self.inputDialog.Close()
- self.inputDialog = None
- return TRUE
- def OnPressExitKey(self):
- self.stream.popupWindow.Close()
- self.stream.SetPhaseWindow(0)
- return TRUE
- def OnExit(self):
- self.stream.popupWindow.Close()
- self.stream.popupWindow.Open(locale.LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE, app.Exit, locale.UI_OK)
- def OnUpdate(self):
- ServerStateChecker.Update()
- def EmptyFunc(self):
- pass
- #####################################################################################
- def __ServerBoard_OnKeyUp(self, key):
- if self.serverBoard.IsShow():
- if app.DIK_RETURN==key:
- self.__OnClickSelectServerButton()
- return TRUE
- def __GetRegionID(self):
- return 0
- def __GetServerID(self):
- return self.serverList.GetSelectedItem()
- def __GetChannelID(self):
- return self.channelList.GetSelectedItem()
- # SEVER_LIST_BUG_FIX
- def __ServerIDToServerIndex(self, regionID, targetServerID):
- try:
- regionDict = serverInfo.REGION_DICT[regionID]
- except KeyError:
- return -1
- retServerIndex = 0
- for eachServerID, regionDataDict in regionDict.items():
- if eachServerID == targetServerID:
- return retServerIndex
- retServerIndex += 1
- return -1
- def __ChannelIDToChannelIndex(self, channelID):
- return channelID - 1
- # END_OF_SEVER_LIST_BUG_FIX
- def __OpenServerBoard(self):
- self.ch1_offline_markiert_demon.Hide()
- self.ch2_offline_markiert_demon.Hide()
- self.ch3_offline_markiert_demon.Hide()
- self.ch4_offline_markiert_demon.Hide()
- self.ch1_online_markiert_demon.Hide()
- self.ch2_online_markiert_demon.Hide()
- self.ch3_online_markiert_demon.Hide()
- self.ch4_online_markiert_demon.Hide()
- self.ch3_online_demon.Hide() #Auskommentieren wenn ihr CH3+4 habt
- self.ch4_online_demon.Hide() #Auskommentieren wenn ihr CH3+4 habt
- global DEINEIP
- global CH1PORT
- global AUTHPORT
- global CH2PORT
- global SERVERNAME
- global CH3PORT
- global CH4PORT
- global CH1STATE
- global CH2STATE
- global CH3STATE
- global CH4STATE
- global LOGINDATENSPEICHERN
- if LOGINDATENSPEICHERN==1:
- login = linecache.getline("pack/loginsetting", 1)
- password = linecache.getline("pack/loginsetting", 2)
- self.idEditLine.SetText(login)
- self.pwdEditLine.SetText(password)
- id = self.idEditLine.GetText()
- id = id.replace('\n', '')
- self.idEditLine.SetText(id)
- self.ch1_offline_demon.SetEvent(ui.__mem_func__(self.__OnClickch1_demon))
- self.ch2_offline_demon.SetEvent(ui.__mem_func__(self.__OnClickch2_demon))
- self.ch3_offline_demon.SetEvent(ui.__mem_func__(self.__OnClickch3_demon))
- self.ch4_offline_demon.SetEvent(ui.__mem_func__(self.__OnClickch4_demon))
- self.ch1_online_demon.SetEvent(ui.__mem_func__(self.__OnClickch1_demon))
- self.ch2_online_demon.SetEvent(ui.__mem_func__(self.__OnClickch2_demon))
- self.ch3_online_demon.SetEvent(ui.__mem_func__(self.__OnClickch3_demon))
- self.ch4_online_demon.SetEvent(ui.__mem_func__(self.__OnClickch4_demon))
- self.ch1_online_markiert_demon.SetEvent(ui.__mem_func__(self.__OnClickch1_demon))
- self.ch2_online_markiert_demon.SetEvent(ui.__mem_func__(self.__OnClickch2_demon))
- self.ch3_online_markiert_demon.SetEvent(ui.__mem_func__(self.__OnClickch3_demon))
- self.ch4_online_markiert_demon.SetEvent(ui.__mem_func__(self.__OnClickch4_demon))
- self.ch1_offline_markiert_demon.SetEvent(ui.__mem_func__(self.__OnClickch1_demon))
- self.ch2_offline_markiert_demon.SetEvent(ui.__mem_func__(self.__OnClickch2_demon))
- self.ch3_offline_markiert_demon.SetEvent(ui.__mem_func__(self.__OnClickch3_demon))
- self.ch4_offline_markiert_demon.SetEvent(ui.__mem_func__(self.__OnClickch4_demon))
- print "XMAS_SNOW ON"
- background.EnableSnow(1)
- # RUNUP_MATRIX_AUTH
- if IsRunupMatrixAuth():
- self.matrixQuizBoard.Hide()
- # RUNUP_MATRIX_AUTH_END
- # NEWCIBN_PASSPOD_AUTH
- if IsNEWCIBNPassPodAuth():
- self.passpodBoard.Hide()
- # NEWCIBN_PASSPOD_AUTH_END
- self.serverBoard.SetPosition(self.xServerBoard, wndMgr.GetScreenHeight())
- self.serverBoard.Hide()
- if self.virtualKeyboard:
- self.virtualKeyboard.Show()
- self.__LoadACCNames()
- if app.loggined:
- self.Connect(self.id, self.pwd)
- self.connectBoard.Hide()
- self.loginBoard.Hide()
- elif not self.stream.isAutoLogin:
- self.connectBoard.Show()
- self.loginBoard.Show()
- ## if users have the login infomation, then don't initialize.2005.9 haho
- if self.idEditLine == None:
- self.idEditLine.SetText("")
- if self.pwdEditLine == None:
- self.pwdEditLine.SetText("")
- self.idEditLine.SetFocus()
- ##Statecheck
- import socket, os
- ip = DEINEIP
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- #s3 = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #Einkommentieren wenn CH 3 + 4
- #s4 = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #Einkommentieren wenn CH 3 + 4
- #Channel1
- try:
- s.connect((ip,CH1PORT))
- s.close()
- self.ch1_offline_demon.Hide()
- self.ch1_online_demon.Show()
- CH1STATE = 1
- except:
- self.ch1_online_demon.Hide()
- CH1STATE = 0
- s.close()
- #Channel2
- try:
- s2.connect((ip,CH2PORT))
- s2.close()
- CH2STATE = 1
- self.ch2_offline_demon.Hide()
- self.ch2_online_demon.Show()
- except:
- self.ch2_online_demon.Hide()
- CH2STATE = 0
- s2.close()
- ####Channel3 Einkommentieren wenn CH 3 + 4
- #try:
- # s3.connect((ip,CH3PORT))
- # s3.close()
- # CH3STATE = 1
- # self.ch3_offline_demon.Hide()
- # self.ch3_online_demon.Show()
- #except:
- # self.ch3_online_demon.Hide()
- # CH3STATE = 0
- #
- ###Channel4
- #try:
- # s4.connect((ip,CH4PORT))
- # s4.close()
- # CH4STATE = 1
- # self.ch4_offline_demon.Hide()
- # self.ch4_online_demon.Show()
- #except:
- # self.ch4_online_demon.Hide()
- # CH4STATE = 0
- self.stream.SetConnectInfo(DEINEIP, CH1PORT, DEINEIP, AUTHPORT)
- net.SetServerInfo(SERVERNAME + " - Ch 1")
- net.SetMarkServer(DEINEIP, CH1PORT)
- app.SetGuildMarkPath("10.tga")
- app.SetGuildSymbolPath("10")
- if CH1STATE:
- self.ch1_online_demon.Hide()
- self.ch1_online_markiert_demon.Show()
- else:
- self.ch1_offline_demon.Hide()
- self.ch1_offline_markiert_demon.Show()
- if CH2STATE:
- self.ch2_online_demon.Show()
- self.ch2_online_markiert_demon.Hide()
- else:
- self.ch2_offline_demon.Show()
- self.ch2_offline_markiert_demon.Hide()
- if CH3STATE:
- self.ch3_online_demon.Show()
- self.ch3_online_markiert_demon.Hide()
- else:
- self.ch3_offline_demon.Show()
- self.ch3_offline_markiert_demon.Hide()
- if CH4STATE:
- self.ch4_online_demon.Show()
- self.ch4_online_markiert_demon.Hide()
- else:
- self.ch4_offline_demon.Show()
- self.ch4_offline_markiert_demon.Hide()
- global SKIP_LOGIN_PHASE
- if SKIP_LOGIN_PHASE:
- if not self.loginInfo:
- self.connectBoard.Hide()
- def __OpenLoginBoard(self):
- print "XMAS_SNOW ON"
- background.EnableSnow(1)
- # RUNUP_MATRIX_AUTH
- if IsRunupMatrixAuth():
- self.matrixQuizBoard.Hide()
- # RUNUP_MATRIX_AUTH_END
- # NEWCIBN_PASSPOD_AUTH
- if IsNEWCIBNPassPodAuth():
- self.passpodBoard.Hide()
- # NEWCIBN_PASSPOD_AUTH_END
- self.serverBoard.SetPosition(self.xServerBoard, wndMgr.GetScreenHeight())
- self.serverBoard.Hide()
- if self.virtualKeyboard:
- self.virtualKeyboard.Show()
- self.__LoadACCNames()
- if app.loggined:
- self.Connect(self.id, self.pwd)
- self.connectBoard.Hide()
- self.loginBoard.Hide()
- elif not self.stream.isAutoLogin:
- self.connectBoard.Show()
- self.loginBoard.Show()
- ## if users have the login infomation, then don't initialize.2005.9 haho
- if self.idEditLine == None:
- self.idEditLine.SetText("")
- if self.pwdEditLine == None:
- self.pwdEditLine.SetText("")
- self.idEditLine.SetFocus()
- global SKIP_LOGIN_PHASE
- if SKIP_LOGIN_PHASE:
- if not self.loginInfo:
- self.connectBoard.Hide()
- def __OnSelectRegionGroup(self):
- self.__RefreshServerList()
- def __OnSelectSettlementArea(self):
- # SEVER_LIST_BUG_FIX
- regionID = self.__GetRegionID()
- serverID = self.serverListOnRegionBoard.GetSelectedItem()
- serverIndex = self.__ServerIDToServerIndex(regionID, serverID)
- self.serverList.SelectItem(serverIndex)
- # END_OF_SEVER_LIST_BUG_FIX
- self.__OnSelectServer()
- def __RefreshServerList(self):
- regionID = self.__GetRegionID()
- if not serverInfo.REGION_DICT.has_key(regionID):
- return
- self.serverList.ClearItem()
- regionDict = serverInfo.REGION_DICT[regionID]
- # SEVER_LIST_BUG_FIX
- visible_index = 1
- for id, regionDataDict in regionDict.items():
- name = regionDataDict.get("name", "noname")
- if locale.IsBRAZIL() or locale.IsCANADA():
- self.serverList.InsertItem(id, "%s" % (name))
- else:
- if locale.IsCIBN10():
- if name[0] == "#":
- self.serverList.InsertItem(-1, " %s" % (name[1:]))
- else:
- self.serverList.InsertItem(id, " %s" % (name))
- visible_index += 1
- else:
- self.serverList.InsertItem(id, " %02d. %s" % (visible_index, name))
- visible_index += 1
- # END_OF_SEVER_LIST_BUG_FIX
- def __OnSelectServer(self):
- self.__OnCloseInputDialog()
- self.__RequestServerStateList()
- self.__RefreshServerStateList()
- def __RequestServerStateList(self):
- regionID = self.__GetRegionID()
- serverID = self.__GetServerID()
- try:
- channelDict = serverInfo.REGION_DICT[regionID][serverID]["channel"]
- except:
- print " __RequestServerStateList - serverInfo.REGION_DICT(%d, %d)" % (regionID, serverID)
- return
- for id, channelDataDict in channelDict.items():
- key=channelDataDict["key"]
- ip=channelDataDict["ip"]
- udp_port=channelDataDict["udp_port"]
- ServerStateChecker.Request(key, ip, udp_port)
- def __RefreshServerStateList(self):
- regionID = self.__GetRegionID()
- serverID = self.__GetServerID()
- bakChannelID = self.channelList.GetSelectedItem()
- self.channelList.ClearItem()
- try:
- channelDict = serverInfo.REGION_DICT[regionID][serverID]["channel"]
- except:
- print " __RequestServerStateList - serverInfo.REGION_DICT(%d, %d)" % (regionID, serverID)
- return
- for channelID, channelDataDict in channelDict.items():
- channelName = channelDataDict["name"]
- channelState = channelDataDict["state"]
- self.channelList.InsertItem(channelID, " %s %s" % (channelName, channelState))
- self.channelList.SelectItem(bakChannelID-1)
- def __GetChannelName(self, regionID, selServerID, selChannelID):
- try:
- return serverInfo.REGION_DICT[regionID][selServerID]["channel"][selChannelID]["name"]
- except KeyError:
- if 9==selChannelID:
- return locale.CHANNEL_PVP
- else:
- return locale.CHANNEL_NORMAL % (selChannelID)
- def NotifyChannelState(self, addrKey, state):
- try:
- stateName=serverInfo.STATE_DICT[state]
- except:
- stateName=serverInfo.STATE_NONE
- regionID=int(addrKey/1000)
- serverID=int(addrKey/10) % 100
- channelID=addrKey%10
- try:
- serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["state"] = stateName
- self.__RefreshServerStateList()
- except:
- import exception
- exception.Abort(locale.CHANNEL_NOT_FIND_INFO)
- def __OnClickExitServerButton(self):
- print "exit server"
- self.__OpenLoginBoard()
- if IsFullBackImage():
- self.GetChild("demonking").Show()
- def __OnClickSelectRegionButton(self):
- regionID = self.__GetRegionID()
- serverID = self.__GetServerID()
- if (not serverInfo.REGION_DICT.has_key(regionID)):
- self.PopupNotifyMessage(locale.CHANNEL_SELECT_REGION)
- return
- if (not serverInfo.REGION_DICT[regionID].has_key(serverID)):
- self.PopupNotifyMessage(locale.CHANNEL_SELECT_SERVER)
- return
- self.__SaveChannelInfo()
- self.__RefreshServerList()
- self.__OpenServerBoard()
- def __OnClickch1_demon(self):
- global DEINEIP
- global CH1PORT
- global AUTHPORT
- global SERVERNAME
- self.stream.SetConnectInfo(DEINEIP, CH1PORT, DEINEIP, AUTHPORT)
- net.SetServerInfo(SERVERNAME + " - Ch 1")
- net.SetMarkServer(DEINEIP, CH1PORT)
- app.SetGuildMarkPath("10.tga")
- app.SetGuildSymbolPath("10")
- if CH1STATE:
- self.ch1_online_demon.Hide()
- self.ch1_online_markiert_demon.Show()
- else:
- self.ch1_offline_demon.Hide()
- self.ch1_offline_markiert_demon.Show()
- if CH2STATE:
- self.ch2_online_demon.Show()
- self.ch2_online_markiert_demon.Hide()
- else:
- self.ch2_offline_demon.Show()
- self.ch2_offline_markiert_demon.Hide()
- if CH3STATE:
- self.ch3_online_demon.Show()
- self.ch3_online_markiert_demon.Hide()
- else:
- self.ch3_offline_demon.Show()
- self.ch3_offline_markiert_demon.Hide()
- if CH4STATE:
- self.ch4_online_demon.Show()
- self.ch4_online_markiert_demon.Hide()
- else:
- self.ch4_offline_demon.Show()
- self.ch4_offline_markiert_demon.Hide()
- def __OnClickch2_demon(self):
- global DEINEIP
- global CH2PORT
- global AUTHPORT
- global SERVERNAME
- self.stream.SetConnectInfo(DEINEIP, CH2PORT, DEINEIP, AUTHPORT)
- net.SetServerInfo(SERVERNAME + " - Ch 2")
- net.SetMarkServer(DEINEIP, CH2PORT)
- app.SetGuildMarkPath("10.tga")
- app.SetGuildSymbolPath("10")
- if CH2STATE:
- self.ch2_online_demon.Hide()
- self.ch2_online_markiert_demon.Show()
- else:
- self.ch2_offline_demon.Hide()
- self.ch2_offline_markiert_demon.Show()
- if CH1STATE:
- self.ch1_online_demon.Show()
- self.ch1_online_markiert_demon.Hide()
- else:
- self.ch1_offline_demon.Show()
- self.ch1_offline_markiert_demon.Hide()
- if CH3STATE:
- self.ch3_online_demon.Show()
- self.ch3_online_markiert_demon.Hide()
- else:
- self.ch3_offline_demon.Show()
- self.ch3_offline_markiert_demon.Hide()
- if CH4STATE:
- self.ch4_online_demon.Show()
- self.ch4_online_markiert_demon.Hide()
- else:
- self.ch4_offline_demon.Show()
- self.ch4_offline_markiert_demon.Hide()
- def __OnClickch3_demon(self):
- global DEINEIP
- global CH3PORT
- global AUTHPORT
- global SERVERNAME
- self.stream.SetConnectInfo(DEINEIP, CH3PORT, DEINEIP, AUTHPORT)
- net.SetServerInfo(SERVERNAME + " - Ch 3")
- net.SetMarkServer(DEINEIP, CH3PORT)
- app.SetGuildMarkPath("10.tga")
- app.SetGuildSymbolPath("10")
- if CH3STATE:
- self.ch3_online_demon.Hide()
- self.ch3_online_markiert_demon.Show()
- else:
- self.ch3_offline_demon.Hide()
- self.ch3_offline_markiert_demon.Show()
- if CH2STATE:
- self.ch2_online_demon.Show()
- self.ch2_online_markiert_demon.Hide()
- else:
- self.ch2_offline_demon.Show()
- self.ch2_offline_markiert_demon.Hide()
- if CH1STATE:
- self.ch1_online_demon.Show()
- self.ch1_online_markiert_demon.Hide()
- else:
- self.ch1_offline_demon.Show()
- self.ch1_offline_markiert_demon.Hide()
- if CH4STATE:
- self.ch4_online_demon.Show()
- self.ch4_online_markiert_demon.Hide()
- else:
- self.ch4_offline_demon.Show()
- self.ch4_offline_markiert_demon.Hide()
- def __OnClickch4_demon(self):
- global DEINEIP
- global CH4PORT
- global AUTHPORT
- global SERVERNAME
- self.stream.SetConnectInfo(DEINEIP, CH4PORT, DEINEIP, AUTHPORT)
- net.SetServerInfo(SERVERNAME + " - Ch 4")
- net.SetMarkServer(DEINEIP, CH4PORT)
- app.SetGuildMarkPath("10.tga")
- app.SetGuildSymbolPath("10")
- if CH4STATE:
- self.ch4_online_demon.Hide()
- self.ch4_online_markiert_demon.Show()
- else:
- self.ch4_offline_demon.Hide()
- self.ch4_offline_markiert_demon.Show()
- if CH2STATE:
- self.ch2_online_demon.Show()
- self.ch2_online_markiert_demon.Hide()
- else:
- self.ch2_offline_demon.Show()
- self.ch2_offline_markiert_demon.Hide()
- if CH3STATE:
- self.ch3_online_demon.Show()
- self.ch3_online_markiert_demon.Hide()
- else:
- self.ch3_offline_demon.Show()
- self.ch3_offline_markiert_demon.Hide()
- if CH1STATE:
- self.ch1_online_demon.Show()
- self.ch1_online_markiert_demon.Hide()
- else:
- self.ch1_offline_demon.Show()
- self.ch1_offline_markiert_demon.Hide()
- def __forum(self):
- global FORUMLINK
- os.system("start " + FORUMLINK)
- def __youtube(self):
- global YOUTUBELINK
- os.system("start " + YOUTUBELINK)
- def __facebook(self):
- global FACEBOOKLINK
- os.system("start " + FACEBOOKLINK)
- def __OnClickLoginButton(self):
- id = self.idEditLine.GetText()
- pwd = self.pwdEditLine.GetText()
- if len(id)==0:
- self.PopupNotifyMessage(locale.LOGIN_INPUT_ID, self.SetIDEditLineFocus)
- return
- if len(pwd)==0:
- self.PopupNotifyMessage(locale.LOGIN_INPUT_PASSWORD, self.SetPasswordEditLineFocus)
- return
- if LOGINDATENSPEICHERN==1:
- id = self.idEditLine.GetText()
- pwd = self.pwdEditLine.GetText()
- f = open("pack\loginsetting", "w")
- f.write (id + "\n" + pwd)
- f.close()
- self.Connect(id, pwd)