You last visited: Today at 22:02
Advertisement
Client Namen
Discussion on Client Namen within the Metin2 Private Server forum part of the Metin2 category.
07/24/2013, 14:08
#1
elite*gold: 0
Join Date: Jan 2009
Posts: 1,107
Received Thanks: 54
Client Namen
Wie kann ich das ändern?:
Und wenn man draufklickt den Servernamen?
07/24/2013, 14:23
#2
elite*gold: 101
Join Date: Mar 2013
Posts: 13,366
Received Thanks: 2,748
Die root.eix/epk entpacken und in der intrologin.py btw. serverinfo.py nach "Servername" suchen.
Dann einfach umbenennen.
kind regards
07/24/2013, 14:44
#3
elite*gold: 0
Join Date: Jul 2013
Posts: 64
Received Thanks: 44
Quote:
Originally Posted by
Jinbei
Die root.eix/epk entpacken und in der intrologin.py btw. serverinfo.py nach "Servername" suchen.
Dann einfach umbenennen.
kind regards
Falsch.
Entpack die locale_de.eix /.epk geh in \Source\locale\de
öffne die locale_interface.txt dann drück STRG + F und such nach " Servername ".
07/24/2013, 14:49
#4
elite*gold: 315
Join Date: Jun 2012
Posts: 5,158
Received Thanks: 4,814
em nein ?
PHP Code:
REGION_DICT = { 0 : { 1 : { "name" : "Alcatraz" , "channel" : Laulings_serverinfo_ip , }, 2 : { "name" : "Asphire" , "channel" : Laulings_serverinfo_ip2 , }, }, }
hier wird der name definiert und dieser abschnitt ist aus der serverinfo.py!
07/24/2013, 14:55
#5
elite*gold: 35
Join Date: Feb 2012
Posts: 1,965
Received Thanks: 1,632
Quote:
Originally Posted by
I n c r e d i b l e
Falsch.
Entpack die locale_de.eix /.epk geh in \Source\locale\de
öffne die locale_interface.txt dann drück STRG + F und such nach " Servername ".
Also ich weiß ja nicht was du für einen verkorxten Client hast, aber der Name wird in der intrologin.py oder in der serverinfo.py festgelegt. Diese zwei Dateien findest du in der root.epk/root.eix.
regards, Ivica.Lovro
07/24/2013, 15:00
#6
elite*gold: 50
Join Date: May 2012
Posts: 1,140
Received Thanks: 401
Ja, aber
Incredible liegt auch richtig.
Denn da steht der Servername auch nochmal bei diesen Login-Interface.
07/24/2013, 15:02
#7
elite*gold: 315
Join Date: Jun 2012
Posts: 5,158
Received Thanks: 4,814
du meinst bestimmt der titel oben im client.
der te redet aber von den namen bei den channels.....
07/24/2013, 16:10
#8
elite*gold: 0
Join Date: May 2012
Posts: 7,283
Received Thanks: 822
Quote:
Originally Posted by
dakillafarmer
Wie kann ich das ändern?:
Und wenn man draufklickt den Servernamen?
Das kannst es so ändern. root.eix/epk entpacken, und nach intrologin.py suchen, das ist das neue Client Interface, es ist mit Intrologin verknüpft, einfach intrologin.py mit notepad++ öffnen und nach "Servername" suchen.
07/24/2013, 16:12
#9
elite*gold: 20
Join Date: Jul 2013
Posts: 304
Received Thanks: 49
Er meint, wenn man den Clienten aufmach steht da ja Servername und wenn man dann auf einen Ch klickt kommt der name aus der IntroLogin.. Incredible hat schon recht!
07/24/2013, 17:07
#10
elite*gold: 315
Join Date: Jun 2012
Posts: 5,158
Received Thanks: 4,814
nein hat er nicht, das auf dem bild wird in der serverinfo.py definiert und nirgends anders!
07/24/2013, 23:04
#11
elite*gold: 0
Join Date: Sep 2012
Posts: 815
Received Thanks: 627
Quote:
Originally Posted by
Lauling
nein hat er nicht, das auf dem bild wird in der serverinfo.py definiert und nirgends anders!
Lauling hat gesprochen. Wen Lauling was sagt dann hat er Recht damit !!!!
PHP Code:
[ 23 : 07 : 08 ] Meister Michaela aka . Remix der Babo : wer nicht hört kriegt ordentliche respektschelle
07/24/2013, 23:08
#12
elite*gold: 0
Join Date: May 2012
Posts: 7,283
Received Thanks: 822
Er hat ja auch eine Epische serverinfo.py xD
07/25/2013, 01:08
#13
elite*gold: 5
Join Date: Sep 2008
Posts: 241
Received Thanks: 113
Quote:
Originally Posted by
Lauling
nein hat er nicht, das auf dem bild wird in der serverinfo.py definiert und nirgends anders!
Du liegst in dem Fall zu 1000000 % falsch!
Das interface, was der TE nutzt ist entweder
oder
. Und da wird es in der intrologin.py eingetragen.
07/25/2013, 01:39
#14
elite*gold: 315
Join Date: Jun 2012
Posts: 5,158
Received Thanks: 4,814
Quote:
Originally Posted by
darkfr3ak
Du liegst in dem Fall zu 1000000 % falsch!
Das interface, was der TE nutzt ist entweder
oder
. Und da wird es in der intrologin.py eingetragen.
achja dann erklär mir bitte wo in dieser intrologin.py der servername ist:
PHP Code:
import dbg import app import net import ui import ime import snd import wndMgr import musicInfo import serverInfo import systemSetting import ServerStateChecker import locale import constInfo import uiCommon import time import ServerCommandParser import ime import uiScriptLocale 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 = FALSE PASSPOD_MSG_DICT = {} VIRTUAL_KEYBOARD_NUM_KEYS = 46 VIRTUAL_KEYBOARD_RAND_KEY = TRUE 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 ): 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 , } 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 ( "bg1" ). Hide () self . GetChild ( "bg2" ). 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 . GetChild ( "key_space" ). SetEvent ( None ) self . GetChild ( "key_backspace" ). SetEvent ( None ) self . GetChild ( "key_enter" ). SetEvent ( None ) self . GetChild ( "key_shift" ). SetToggleDownEvent ( None ) self . GetChild ( "key_shift" ). SetToggleUpEvent ( None ) self . GetChild ( "key_at" ). SetToggleDownEvent ( None ) self . GetChild ( "key_at" ). SetToggleUpEvent ( 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 . serverSelectButton = GetObject ( "ServerSelectButton" ) self . serverExitButton = GetObject ( "ServerExitButton" ) self . connectBoard = GetObject ( "ConnectBoard" ) self . loginBoard = GetObject ( "LoginBoard" ) self . idEditLine = GetObject ( "ID_EditLine" ) self . pwdEditLine = GetObject ( "Password_EditLine" ) self . serverInfo = GetObject ( "ConnectName" ) self . selectConnectButton = GetObject ( "SelectConnectButton" ) self . loginButton = GetObject ( "LoginButton" ) self . loginExitButton = GetObject ( "LoginExitButton" ) if locale . IsVIETNAM (): self . checkButton = GetObject ( "CheckButton" ) self . checkButton . Down () # 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 ]) if locale . IsBRAZIL (): self . VIRTUAL_KEY_SYMBOLS_BR = Suffle ( locale . VIRTUAL_KEY_SYMBOLS_BR ) else: self . VIRTUAL_KEY_SYMBOLS = Suffle ( locale . VIRTUAL_KEY_SYMBOLS ) self . VIRTUAL_KEY_NUMBERS = Suffle ( locale . VIRTUAL_KEY_NUMBERS ) self . __VirtualKeyboard_SetAlphabetMode () self . GetChild ( "key_space" ). SetEvent ( lambda : self . __VirtualKeyboard_PressKey ( ' ' )) self . GetChild ( "key_backspace" ). SetEvent ( lambda : self . __VirtualKeyboard_PressBackspace ()) self . GetChild ( "key_enter" ). SetEvent ( lambda : self . __VirtualKeyboard_PressReturn ()) self . GetChild ( "key_shift" ). SetToggleDownEvent ( lambda : self . __VirtualKeyboard_SetUpperMode ()) self . GetChild ( "key_shift" ). SetToggleUpEvent ( lambda : self . __VirtualKeyboard_SetLowerMode ()) self . GetChild ( "key_at" ). SetToggleDownEvent ( lambda : self . __VirtualKeyboard_SetSymbolMode ()) self . GetChild ( "key_at" ). SetToggleUpEvent ( lambda : self . __VirtualKeyboard_SetAlphabetMode ()) except : import exception exception . Abort ( "LoginWindow.__LoadScript.BindObject" ) if self . IS_TEST : self . selectConnectButton . Hide () else: self . selectConnectButton . SetEvent ( ui . __mem_func__ ( self . __OnClickSelectConnectButton )) self . serverBoard . OnKeyUp = ui . __mem_func__ ( self . __ServerBoard_OnKeyUp ) self . xServerBoard , self . yServerBoard = self . serverBoard . GetLocalPosition () self . serverSelectButton . SetEvent ( ui . __mem_func__ ( self . __OnClickSelectServerButton )) self . serverExitButton . SetEvent ( ui . __mem_func__ ( self . __OnClickExitButton )) self . loginButton . SetEvent ( ui . __mem_func__ ( self . __OnClickLoginButton )) self . loginExitButton . SetEvent ( ui . __mem_func__ ( self . __OnClickExitButton )) 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 ( "bg1" ). Show () self . GetChild ( "bg2" ). Hide () 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 ( 0 , 0 , 0 ) 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" : if locale . IsBRAZIL (): self . __VirtualKeyboard_SetKeys ( self . VIRTUAL_KEY_SYMBOLS_BR ) else: 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: if locale . IsBRAZIL (): self . __VirtualKeyboard_SetKeys ( self . VIRTUAL_KEY_SYMBOLS_BR ) 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" if locale . IsBRAZIL (): self . __VirtualKeyboard_SetKeys ( self . VIRTUAL_KEY_SYMBOLS_BR ) else: 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 ): loadRegionID , loadServerID , loadChannelID = self . __LoadChannelInfo () serverIndex = self . __ServerIDToServerIndex ( loadRegionID , loadServerID ) channelIndex = self . __ChannelIDToChannelIndex ( loadChannelID ) # 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 . serverList . SelectItem ( serverIndex ) if locale . IsEUROPE (): self . channelList . SelectItem ( app . GetRandom ( 0 , self . channelList . GetItemCount ())) else: if channelIndex >= 0 : self . channelList . SelectItem ( channelIndex ) ## Show/Hide Äڵ忡 ¹®Á¦°¡ ÀÖ¾î¼* Àӽà - [levites] self . serverBoard . SetPosition ( self . xServerBoard , self . yServerBoard ) self . serverBoard . Show () self . connectBoard . Hide () self . loginBoard . Hide () if self . virtualKeyboard : self . virtualKeyboard . Hide () if app . loggined and not SKIP_LOGIN_PHASE_SUPPORT_CHANNEL : self . serverList . SelectItem ( self . loginnedServer - 1 ) self . channelList . SelectItem ( self . loginnedChannel - 1 ) self . __OnClickSelectServerButton () def __OpenLoginBoard ( self ): self . serverExitButton . SetEvent ( ui . __mem_func__ ( self . __OnClickExitServerButton )) self . serverExitButton . SetText ( locale . UI_CLOSE ) # 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 () 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 ( "bg1" ). Hide () self . GetChild ( "bg2" ). 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 . serverExitButton . SetEvent ( ui . __mem_func__ ( self . __OnClickExitServerButton )) self . serverExitButton . SetText ( locale . UI_CLOSE ) self . __RefreshServerList () self . __OpenServerBoard () def __OnClickSelectServerButton ( self ): if IsFullBackImage (): self . GetChild ( "bg1" ). Hide () self . GetChild ( "bg2" ). Show () regionID = self . __GetRegionID () serverID = self . __GetServerID () channelID = self . __GetChannelID () 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 try: channelDict = serverInfo . REGION_DICT [ regionID ][ serverID ][ "channel" ] except KeyError : return try: state = channelDict [ channelID ][ "state" ] except KeyError : self . PopupNotifyMessage ( locale . CHANNEL_SELECT_CHANNEL ) return # »óŰ¡ FULL °ú °°À¸¸é ÁøÀÔ ±ÝÁö if state == serverInfo . STATE_DICT [ 3 ]: self . PopupNotifyMessage ( locale . CHANNEL_NOTIFY_FULL ) return self . __SaveChannelInfo () try: serverName = serverInfo . REGION_DICT [ regionID ][ serverID ][ "name" ] channelName = serverInfo . REGION_DICT [ regionID ][ serverID ][ "channel" ][ channelID ][ "name" ] addrKey = serverInfo . REGION_DICT [ regionID ][ serverID ][ "channel" ][ channelID ][ "key" ] if "õ¸¶ ¼*¹ö" == serverName : app . ForceSetLocale ( "ymir" , "locale/ymir" ) elif "Äèµµ ¼*¹ö" == serverName : app . ForceSetLocale ( "we_korea" , "locale/we_korea" ) except : print " ERROR __OnClickSelectServerButton(%d, %d, %d)" % ( regionID , serverID , channelID ) serverName = locale . CHANNEL_EMPTY_SERVER channelName = locale . CHANNEL_NORMAL % channelID self . __SetServerInfo ( "%s, %s " % ( serverName , channelName )) try: ip = serverInfo . REGION_DICT [ regionID ][ serverID ][ "channel" ][ channelID ][ "ip" ] tcp_port = serverInfo . REGION_DICT [ regionID ][ serverID ][ "channel" ][ channelID ][ "tcp_port" ] except : import exception exception . Abort ( "LoginWindow.__OnClickSelectServerButton - ¼*¹ö ¼±Åà ½ÇÆÐ" ) try: account_ip = serverInfo . REGION_AUTH_SERVER_DICT [ regionID ][ serverID ][ "ip" ] account_port = serverInfo . REGION_AUTH_SERVER_DICT [ regionID ][ serverID ][ "port" ] except : account_ip = 0 account_port = 0 try: markKey = regionID * 1000 + serverID * 10 markAddrValue = serverInfo . MARKADDR_DICT [ markKey ] net . SetMarkServer ( markAddrValue [ "ip" ], markAddrValue [ "tcp_port" ]) app . SetGuildMarkPath ( markAddrValue [ "mark" ]) # GUILD_SYMBOL app . SetGuildSymbolPath ( markAddrValue [ "symbol_path" ]) # END_OF_GUILD_SYMBOL except : import exception exception . Abort ( "LoginWindow.__OnClickSelectServerButton - ¸¶Å© Á¤º¸ ¾øÀ½" ) self . stream . SetConnectInfo ( ip , tcp_port , account_ip , account_port ) self . __OpenLoginBoard () def __OnClickSelectConnectButton ( self ): if IsFullBackImage (): self . GetChild ( "bg1" ). Show () self . GetChild ( "bg2" ). Hide () self . __RefreshServerList () self . __OpenServerBoard () 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 self . Connect ( id , pwd )
edit:
okay wenn es sich um einen modifizierten client handelt kann es durchaus sein, dass der servername nicht mehr in der serverinfo.py definiert wird, aber beim standart 2010/2011 client ist dies der fall!
07/25/2013, 01:50
#15
elite*gold: 5
Join Date: Sep 2008
Posts: 241
Received Thanks: 113
Ich ignoriere mal deinen Einwand und nehm nur deinen Edit
Die anordnung der buttons verrät, dass es eins der beiden von mir verlinkten interfaces ist (eventuell gibts noch mehr, die das so machen) Und deshalb weiß ich, d *** es in der intrologin geändert werden muss.
Similar Threads
Item_Proto Client BUG - Namen mit Akzenten
02/02/2013 - Metin2 Private Server - 0 Replies
Item_Proto Client BUG - Namen mit Akzenten.
Fehler:
http://i.imagebanana.com/img/iz2oqj28/1.png
Ursprüngliche wäre:
Pergaminho da Bênção
ENGLISH:
Client 11er Exe Namen
11/09/2011 - Metin2 Private Server - 3 Replies
Ich möchte bei einem 11er Client den namen der .exe ändern,
aber wenn ich das mache geht das nichtmehr weil der hackshild das nicht zulässt.
UNKNOWN_ERROR(errorCode=100)
[ComputerKrank-Client]Namen verändern!
06/21/2011 - Metin2 Private Server - 7 Replies
Ja hallo, wie kann ich eig. von ComputerKrank-Client den Namen verändern? Also wenn man es öffnet steht bei mir rechts oben "METIN2" ich will das auf mein Servernamen verändern, aber die Datei locale=txt befindet sich nicht im Clienten, damit ich das verändern kann! Hat wer ne Idee wie es weitergehen soll oder wie ich das mache?
[HOW to]Server namen im client kriegen
03/04/2011 - Metin2 PServer Guides & Strategies - 9 Replies
:)Hallo Com,:)
Heute zeig ich euch wie ihr euren Server namen in den client reinkriegt!
------------------------------------------------- -------------------------
Gliederung:
1.Serverliste
2.Programm Name
3.Copyright (usw.)
------------------------------------------------- --------------------------
[Profizocker94]Namen vom Client
10/18/2010 - Metin2 Private Server - 1 Replies
http://s3.imgimg.de/uploads/Unbenannt1d0212c27jpg. jpg
Wie ändere ich alles was Rot markiert ist?
Edit habe alles ausser das in der Mitte..
1.Fenstername = erledigt
2.Serverfiles by Profizocker (mitte) = Unklar
3.Servername = erledigt
All times are GMT +2. The time now is 22:03 .