You last visited: Today at 01:51
Advertisement
Interface Code
Discussion on Interface Code within the Metin2 Private Server forum part of the Metin2 category.
02/09/2014, 18:57
#1
elite*gold: 0
Join Date: Nov 2013
Posts: 401
Received Thanks: 132
Interface Code
Moin,
Kann mir jemand Helfen,
Beim Code,
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
import linecache
import string
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 :
if app . USE_OPENID and not app . OPENID_TEST :
self . __RefreshServerList ()
self . __OpenServerBoard ()
else:
self . __OpenLoginBoard ()
if IsFullBackImage ():
self . GetChild ( "bg1" ). Hide ()
self . GetChild ( "bg2" ). Show ()
else:
self . __RefreshServerList ()
self . __OpenServerBoard ()
app . ShowCursor ()
self . __OpenLoginBoard ()
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 . loginButton = GetObject ( "LoginButton" )
self . loginExitButton = GetObject ( "LoginExitButton" )
self . logo = GetObject ( "Logo" )
self . channelBoard = GetObject ( "ChannelBoard" )
## Channels
self . channel1Select = GetObject ( "Channel1Select" )
self . channel2Select = GetObject ( "Channel2Select" )
self . channel3Select = GetObject ( "Channel3Select" )
self . channel4Select = GetObject ( "Channel4Select" )
self . channel1Selected = GetObject ( "Channel1Selected" )
self . channel2Selected = GetObject ( "Channel2Selected" )
self . channel3Selected = GetObject ( "Channel3Selected" )
self . channel4Selected = GetObject ( "Channel4Selected" )
self . channel1Selected . Hide ()
self . channel2Selected . Hide ()
self . channel3Selected . Hide ()
self . channel4Selected . Hide ()
## Account Save
self . acc1Label = GetObject ( "ACC1Label" )
self . acc2Label = GetObject ( "ACC2Label" )
self . acc3Label = GetObject ( "ACC3Label" )
self . acc1Button = GetObject ( "ACC1Button" )
self . acc2Button = GetObject ( "ACC2Button" )
self . acc3Button = GetObject ( "ACC3Button" )
self . acc1Save = GetObject ( "ACC1Save" )
self . acc2Save = GetObject ( "ACC2Save" )
self . acc3Save = GetObject ( "ACC3Save" )
self . acc1Delete = GetObject ( "ACC1Delete" )
self . acc2Delete = GetObject ( "ACC2Delete" )
self . acc3Delete = GetObject ( "ACC3Delete" )
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" )
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 . channel1Select . SetEvent ( ui . __mem_func__ ( self . __OnClickChannel1Button ))
self . channel2Select . SetEvent ( ui . __mem_func__ ( self . __OnClickChannel2Button ))
self . channel3Select . SetEvent ( ui . __mem_func__ ( self . __OnClickChannel3Button ))
self . channel4Select . SetEvent ( ui . __mem_func__ ( self . __OnClickChannel4Button ))
self . acc1Button . SetEvent ( ui . __mem_func__ ( self . LoadAccount1 ))
self . acc2Button . SetEvent ( ui . __mem_func__ ( self . LoadAccount2 ))
self . acc3Button . SetEvent ( ui . __mem_func__ ( self . LoadAccount3 ))
self . acc1Delete . SetEvent ( ui . __mem_func__ ( self . DeleteAccount1 ))
self . acc2Delete . SetEvent ( ui . __mem_func__ ( self . DeleteAccount2 ))
self . acc3Delete . SetEvent ( ui . __mem_func__ ( self . DeleteAccount3 ))
self . acc1Save . SetEvent ( ui . __mem_func__ ( self . SaveAccount1 ))
self . acc2Save . SetEvent ( ui . __mem_func__ ( self . SaveAccount2 ))
self . acc3Save . SetEvent ( ui . __mem_func__ ( self . SaveAccount3 ))
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 __OnClickChannel1Button ( self ):
if self . currentChannel == 2 :
self . channel2Select . Show ()
self . channel2Selected . Hide ()
if self . currentChannel == 3 :
self . channel3Select . Show ()
self . channel3Selected . Hide ()
if self . currentChannel == 4 :
self . channel4Select . Show ()
self . channel4Selected . Hide ()
self . channel1Select . Hide ()
self . channel1Selected . Show ()
self . currentChannel = 1
self . SetConnectInfo ( 1 )
def __OnClickChannel2Button ( self ):
if self . currentChannel == 1 :
self . channel1Select . Show ()
self . channel1Selected . Hide ()
if self . currentChannel == 3 :
self . channel3Select . Show ()
self . channel3Selected . Hide ()
if self . currentChannel == 4 :
self . channel4Select . Show ()
self . channel4Selected . Hide ()
self . channel2Select . Hide ()
self . channel2Selected . Show ()
self . currentChannel = 2
self . SetConnectInfo ( 2 )
def __OnClickChannel3Button ( self ):
if self . currentChannel == 1 :
self . channel1Select . Show ()
self . channel1Selected . Hide ()
if self . currentChannel == 2 :
self . channel2Select . Show ()
self . channel2Selected . Hide ()
if self . currentChannel == 4 :
self . channel4Select . Show ()
self . channel4Selected . Hide ()
self . channel3Select . Hide ()
self . channel3Selected . Show ()
self . currentChannel = 3
self . SetConnectInfo ( 3 )
def __OnClickChannel4Button ( self ):
if self . currentChannel == 1 :
self . channel1Select . Show ()
self . channel1Selected . Hide ()
if self . currentChannel == 2 :
self . channel2Select . Show ()
self . channel2Selected . Hide ()
if self . currentChannel == 3 :
self . channel3Select . Show ()
self . channel3Selected . Hide ()
self . channel4Select . Hide ()
self . channel4Selected . Show ()
self . currentChannel = 4
self . SetConnectInfo ( 4 )
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 ConnectTimer ( self ):
startTime = time . time ()
while 1 :
if time . time () - startTime > 5000 :
self . OnLoginFailure ()
break
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 SetConnectInfo ( self , channelID ):
regionID = 0
serverID = 1
try:
ip = serverInfo . REGION_DICT [ regionID ][ serverID ][ "channel" ][ channelID ][ "ip" ]
tcp_port = serverInfo . REGION_DICT [ regionID ][ serverID ][ "channel" ][ channelID ][ "tcp_port" ]
serverName = serverInfo . REGION_DICT [ regionID ][ serverID ][ "name" ]
channelName = serverInfo . REGION_DICT [ regionID ][ serverID ][ "channel" ][ channelID ][ "name" ]
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.SetConnectInfo - ¸¶Å© Á¤º¸ ¾øÀ½" )
self . __SetServerInfo ( "%s, %s " % ( serverName , channelName ))
self . stream . SetConnectInfo ( ip , tcp_port , account_ip , account_port )
def __OpenServerBoard ( self ):
loadRegionID , loadServerID , loadChannelID = self . __LoadChannelInfo ()
self . currentChannel = 1
self . SetConnectInfo ( self . currentChannel )
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 ()
self . logo . Show ()
self . channelBoard . 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 ()
self . connectBoard . Hide ()
## Select default channel
self . channel1Select . Hide ()
self . channel1Selected . Show ()
## Load saved accounts
self . __LoadSavedAccounts ()
def __LoadSavedAccounts ( self ):
## Account 1
acc1_login = linecache . getline ( "data/account1.dat" , 1 )
if acc1_login . strip ():
self . acc1Label . SetText ( self . decode ( acc1_login ))
## Account 2
acc2_login = linecache . getline ( "data/account2.dat" , 1 )
if acc2_login . strip ():
self . acc2Label . SetText ( self . decode ( acc2_login ))
## Account 3
acc3_login = linecache . getline ( "data/account3.dat" , 1 )
if acc3_login . strip ():
self . acc3Label . SetText ( self . decode ( acc3_login ))
def encode ( self , value ):
if not value . strip ():
return ""
a = value
new_string = ''
for x in a :
new_string = new_string + str ( int ( ord ( x )+ 122 )* 31 )+ ' '
encrypt_string = base64 . encodestring ( new_string )
return encrypt_string . replace ( "\n" , "" )
def decode ( self , value ):
if not value . strip ():
return ""
a = value
data = base64 . decodestring ( a )
new_string = ''
b = data . split ()
for x in b :
new_string = new_string + chr (( int ( x )/ 31 )- 122 )
return new_string . replace ( "\n" , "" )
def LoadAccount ( self , slot ):
f = open ( "data/account" + str ( slot ) + ".dat" , "r" )
id = f . readline (). replace ( "\n" , "" )
pwd = f . readline ()
self . idEditLine . SetText ( self . decode ( id ))
self . pwdEditLine . SetText ( self . decode ( pwd ))
self . __OnClickLoginButton ()
def LoadAccount1 ( self ):
self . LoadAccount ( 1 )
def LoadAccount2 ( self ):
self . LoadAccount ( 2 )
def LoadAccount3 ( self ):
self . LoadAccount ( 3 )
def SaveAccount ( self , slot ):
f = open ( "data/account" + str ( slot ) + ".dat" , "w" )
f . write ( self . encode ( self . idEditLine . GetText ()) + "\n" )
f . write ( self . encode ( self . pwdEditLine . GetText ()))
f . close ()
if slot == 1 :
self . acc1Label . SetText ( self . idEditLine . GetText ())
elif slot == 2 :
self . acc2Label . SetText ( self . idEditLine . GetText ())
elif slot == 3 :
self . acc3Label . SetText ( self . idEditLine . GetText ())
def SaveAccount1 ( self ):
self . SaveAccount ( 1 )
def SaveAccount2 ( self ):
self . SaveAccount ( 2 )
def SaveAccount3 ( self ):
self . SaveAccount ( 3 )
def DeleteAccount ( self , slot ):
f = open ( "data/account" + str ( slot ) + ".dat" , "w" )
f . close ()
if slot == 1 :
self . acc1Label . SetText ( "" )
elif slot == 2 :
self . acc2Label . SetText ( "" )
elif slot == 3 :
self . acc3Label . SetText ( "" )
def DeleteAccount1 ( self ):
self . DeleteAccount ( 1 )
def DeleteAccount2 ( self ):
self . DeleteAccount ( 2 )
def DeleteAccount3 ( self ):
self . DeleteAccount ( 3 )
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:
try:
server_id = serverInfo . SERVER_ID_DICT [ id ]
except :
server_id = visible_index
self . serverList . InsertItem ( id , " %02d. %s" % ( int ( server_id ), 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 - ¸¶Å© Á¤º¸ ¾øÀ½" )
if app . USE_OPENID and not app . OPENID_TEST :
## 2012.07.19 OpenID : ±è¿ë¿í
# ä³Î ¼±Åà È*¸é¿¡¼* "È®ÀÎ"(SelectServerButton) À» ´*·¶À»¶§,
# ·Î±×ÀÎ È*¸éÀ¸·Î ³Ñ¾î°¡Áö ¾Ê°í ¹Ù·Î ¼*¹ö¿¡ OpenID ÀÎÁõ۸¦ º¸³»µµ·Ï ¼öÁ¤
self . stream . SetConnectInfo ( ip , tcp_port , account_ip , account_port )
self . Connect ( 0 , 0 )
else :
self . stream . SetConnectInfo ( ip , tcp_port , account_ip , account_port )
self . __OpenLoginBoard ()
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 )
02/09/2014, 19:06
#2
elite*gold: 0
Join Date: Apr 2013
Posts: 2,575
Received Thanks: 916
Hey,
Solch ein Interface habe ich hier gefunden:
Es wurde schon gecodet
.
Gruß,
.Cyous
02/09/2014, 19:10
#3
elite*gold: 0
Join Date: Nov 2013
Posts: 401
Received Thanks: 132
Es muss nur angepasst werden
Und ich will es auf meine art
02/09/2014, 20:01
#4
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
Musst doch nur die x & y koordianten im Script anpassen.
02/09/2014, 20:13
#5
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,724
Dann zeig dein Code, dann helfen wir dir auch. Das Bild bringt uns momentan Null.
02/09/2014, 20:20
#6
elite*gold: 0
Join Date: Nov 2013
Posts: 401
Received Thanks: 132
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 import linecache import string 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 : if app . USE_OPENID and not app . OPENID_TEST : self . __RefreshServerList () self . __OpenServerBoard () else: self . __OpenLoginBoard () if IsFullBackImage (): self . GetChild ( "bg1" ). Hide () self . GetChild ( "bg2" ). Show () else: self . __RefreshServerList () self . __OpenServerBoard () app . ShowCursor () self . __OpenLoginBoard () 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 . loginButton = GetObject ( "LoginButton" ) self . loginExitButton = GetObject ( "LoginExitButton" ) self . logo = GetObject ( "Logo" ) self . channelBoard = GetObject ( "ChannelBoard" ) ## Channels self . channel1Select = GetObject ( "Channel1Select" ) self . channel2Select = GetObject ( "Channel2Select" ) self . channel3Select = GetObject ( "Channel3Select" ) self . channel4Select = GetObject ( "Channel4Select" ) self . channel1Selected = GetObject ( "Channel1Selected" ) self . channel2Selected = GetObject ( "Channel2Selected" ) self . channel3Selected = GetObject ( "Channel3Selected" ) self . channel4Selected = GetObject ( "Channel4Selected" ) self . channel1Selected . Hide () self . channel2Selected . Hide () self . channel3Selected . Hide () self . channel4Selected . Hide () ## Account Save self . acc1Label = GetObject ( "ACC1Label" ) self . acc2Label = GetObject ( "ACC2Label" ) self . acc3Label = GetObject ( "ACC3Label" ) self . acc1Button = GetObject ( "ACC1Button" ) self . acc2Button = GetObject ( "ACC2Button" ) self . acc3Button = GetObject ( "ACC3Button" ) self . acc1Save = GetObject ( "ACC1Save" ) self . acc2Save = GetObject ( "ACC2Save" ) self . acc3Save = GetObject ( "ACC3Save" ) self . acc1Delete = GetObject ( "ACC1Delete" ) self . acc2Delete = GetObject ( "ACC2Delete" ) self . acc3Delete = GetObject ( "ACC3Delete" ) 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" ) 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 . channel1Select . SetEvent ( ui . __mem_func__ ( self . __OnClickChannel1Button )) self . channel2Select . SetEvent ( ui . __mem_func__ ( self . __OnClickChannel2Button )) self . channel3Select . SetEvent ( ui . __mem_func__ ( self . __OnClickChannel3Button )) self . channel4Select . SetEvent ( ui . __mem_func__ ( self . __OnClickChannel4Button )) self . acc1Button . SetEvent ( ui . __mem_func__ ( self . LoadAccount1 )) self . acc2Button . SetEvent ( ui . __mem_func__ ( self . LoadAccount2 )) self . acc3Button . SetEvent ( ui . __mem_func__ ( self . LoadAccount3 )) self . acc1Delete . SetEvent ( ui . __mem_func__ ( self . DeleteAccount1 )) self . acc2Delete . SetEvent ( ui . __mem_func__ ( self . DeleteAccount2 )) self . acc3Delete . SetEvent ( ui . __mem_func__ ( self . DeleteAccount3 )) self . acc1Save . SetEvent ( ui . __mem_func__ ( self . SaveAccount1 )) self . acc2Save . SetEvent ( ui . __mem_func__ ( self . SaveAccount2 )) self . acc3Save . SetEvent ( ui . __mem_func__ ( self . SaveAccount3 )) 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 __OnClickChannel1Button ( self ): if self . currentChannel == 2 : self . channel2Select . Show () self . channel2Selected . Hide () if self . currentChannel == 3 : self . channel3Select . Show () self . channel3Selected . Hide () if self . currentChannel == 4 : self . channel4Select . Show () self . channel4Selected . Hide () self . channel1Select . Hide () self . channel1Selected . Show () self . currentChannel = 1 self . SetConnectInfo ( 1 ) def __OnClickChannel2Button ( self ): if self . currentChannel == 1 : self . channel1Select . Show () self . channel1Selected . Hide () if self . currentChannel == 3 : self . channel3Select . Show () self . channel3Selected . Hide () if self . currentChannel == 4 : self . channel4Select . Show () self . channel4Selected . Hide () self . channel2Select . Hide () self . channel2Selected . Show () self . currentChannel = 2 self . SetConnectInfo ( 2 ) def __OnClickChannel3Button ( self ): if self . currentChannel == 1 : self . channel1Select . Show () self . channel1Selected . Hide () if self . currentChannel == 2 : self . channel2Select . Show () self . channel2Selected . Hide () if self . currentChannel == 4 : self . channel4Select . Show () self . channel4Selected . Hide () self . channel3Select . Hide () self . channel3Selected . Show () self . currentChannel = 3 self . SetConnectInfo ( 3 ) def __OnClickChannel4Button ( self ): if self . currentChannel == 1 : self . channel1Select . Show () self . channel1Selected . Hide () if self . currentChannel == 2 : self . channel2Select . Show () self . channel2Selected . Hide () if self . currentChannel == 3 : self . channel3Select . Show () self . channel3Selected . Hide () self . channel4Select . Hide () self . channel4Selected . Show () self . currentChannel = 4 self . SetConnectInfo ( 4 ) 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 ConnectTimer ( self ): startTime = time . time () while 1 : if time . time () - startTime > 5000 : self . OnLoginFailure () break 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 SetConnectInfo ( self , channelID ): regionID = 0 serverID = 1 try: ip = serverInfo . REGION_DICT [ regionID ][ serverID ][ "channel" ][ channelID ][ "ip" ] tcp_port = serverInfo . REGION_DICT [ regionID ][ serverID ][ "channel" ][ channelID ][ "tcp_port" ] serverName = serverInfo . REGION_DICT [ regionID ][ serverID ][ "name" ] channelName = serverInfo . REGION_DICT [ regionID ][ serverID ][ "channel" ][ channelID ][ "name" ] 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.SetConnectInfo - ¸¶Å© Á¤º¸ ¾øÀ½" ) self . __SetServerInfo ( "%s, %s " % ( serverName , channelName )) self . stream . SetConnectInfo ( ip , tcp_port , account_ip , account_port ) def __OpenServerBoard ( self ): loadRegionID , loadServerID , loadChannelID = self . __LoadChannelInfo () self . currentChannel = 1 self . SetConnectInfo ( self . currentChannel ) 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 () self . logo . Show () self . channelBoard . 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 () self . connectBoard . Hide () ## Select default channel self . channel1Select . Hide () self . channel1Selected . Show () ## Load saved accounts self . __LoadSavedAccounts () def __LoadSavedAccounts ( self ): ## Account 1 acc1_login = linecache . getline ( "data/account1.dat" , 1 ) if acc1_login . strip (): self . acc1Label . SetText ( self . decode ( acc1_login )) ## Account 2 acc2_login = linecache . getline ( "data/account2.dat" , 1 ) if acc2_login . strip (): self . acc2Label . SetText ( self . decode ( acc2_login )) ## Account 3 acc3_login = linecache . getline ( "data/account3.dat" , 1 ) if acc3_login . strip (): self . acc3Label . SetText ( self . decode ( acc3_login )) def encode ( self , value ): if not value . strip (): return "" a = value new_string = '' for x in a : new_string = new_string + str ( int ( ord ( x )+ 122 )* 31 )+ ' ' encrypt_string = base64 . encodestring ( new_string ) return encrypt_string . replace ( "\n" , "" ) def decode ( self , value ): if not value . strip (): return "" a = value data = base64 . decodestring ( a ) new_string = '' b = data . split () for x in b : new_string = new_string + chr (( int ( x )/ 31 )- 122 ) return new_string . replace ( "\n" , "" ) def LoadAccount ( self , slot ): f = open ( "data/account" + str ( slot ) + ".dat" , "r" ) id = f . readline (). replace ( "\n" , "" ) pwd = f . readline () self . idEditLine . SetText ( self . decode ( id )) self . pwdEditLine . SetText ( self . decode ( pwd )) self . __OnClickLoginButton () def LoadAccount1 ( self ): self . LoadAccount ( 1 ) def LoadAccount2 ( self ): self . LoadAccount ( 2 ) def LoadAccount3 ( self ): self . LoadAccount ( 3 ) def SaveAccount ( self , slot ): f = open ( "data/account" + str ( slot ) + ".dat" , "w" ) f . write ( self . encode ( self . idEditLine . GetText ()) + "\n" ) f . write ( self . encode ( self . pwdEditLine . GetText ())) f . close () if slot == 1 : self . acc1Label . SetText ( self . idEditLine . GetText ()) elif slot == 2 : self . acc2Label . SetText ( self . idEditLine . GetText ()) elif slot == 3 : self . acc3Label . SetText ( self . idEditLine . GetText ()) def SaveAccount1 ( self ): self . SaveAccount ( 1 ) def SaveAccount2 ( self ): self . SaveAccount ( 2 ) def SaveAccount3 ( self ): self . SaveAccount ( 3 ) def DeleteAccount ( self , slot ): f = open ( "data/account" + str ( slot ) + ".dat" , "w" ) f . close () if slot == 1 : self . acc1Label . SetText ( "" ) elif slot == 2 : self . acc2Label . SetText ( "" ) elif slot == 3 : self . acc3Label . SetText ( "" ) def DeleteAccount1 ( self ): self . DeleteAccount ( 1 ) def DeleteAccount2 ( self ): self . DeleteAccount ( 2 ) def DeleteAccount3 ( self ): self . DeleteAccount ( 3 ) 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: try: server_id = serverInfo . SERVER_ID_DICT [ id ] except : server_id = visible_index self . serverList . InsertItem ( id , " %02d. %s" % ( int ( server_id ), 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 - ¸¶Å© Á¤º¸ ¾øÀ½" ) if app . USE_OPENID and not app . OPENID_TEST : ## 2012.07.19 OpenID : ±è¿ë¿í # ä³Î ¼±Åà È*¸é¿¡¼* "È®ÀÎ"(SelectServerButton) À» ´*·¶À»¶§, # ·Î±×ÀÎ È*¸éÀ¸·Î ³Ñ¾î°¡Áö ¾Ê°í ¹Ù·Î ¼*¹ö¿¡ OpenID ÀÎÁõ۸¦ º¸³»µµ·Ï ¼öÁ¤ self . stream . SetConnectInfo ( ip , tcp_port , account_ip , account_port ) self . Connect ( 0 , 0 ) else : self . stream . SetConnectInfo ( ip , tcp_port , account_ip , account_port ) self . __OpenLoginBoard () 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 )
02/09/2014, 20:23
#7
elite*gold: 135
Join Date: Oct 2007
Posts: 1,088
Received Thanks: 210
nicht der code.... der code vom interface
sollte bei uiscript liegen
02/09/2014, 20:25
#8
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,724
Die Sachen werden in der loginwindow.py gesetzt, die brauchen wir.
02/09/2014, 20:49
#9
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
Quote:
Originally Posted by
lolor2
nicht der code.... der code vom interface
sollte bei uiscript liegen
locale_de
02/10/2014, 14:51
#10
elite*gold: 0
Join Date: Nov 2013
Posts: 401
Received Thanks: 132
habs schon danke
#closerequest
02/10/2014, 15:23
#11
elite*gold: 0
Join Date: Feb 2014
Posts: 88
Received Thanks: 25
Quote:
Originally Posted by
xGr33n
locale_de
Scripte ihn das doch , vlt. verkackst du das ding genauso wie das andere Interface
(keine Ahnung wie das heißt ) . Mit der schönen Online-Abfrag funktion *Facepalm*
02/10/2014, 17:10
#12
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
Quote:
Originally Posted by
Liquiidzz
Scripte ihn das doch , vlt. verkackst du das ding genauso wie das andere Interface
(keine Ahnung wie das heißt ) . Mit der schönen Online-Abfrag funktion *Facepalm*
Ahso ja, geh mal bitte sterben-Danke.
1. Das war mein 2tes gecodetes Logininterface
2. Wieso sollte ich den Statecheck von mir der komplett über die orginal Funktionen läuft in nem pub Interface drin lassen? Bin doch ned total bekloppt
02/10/2014, 17:17
#13
elite*gold: 0
Join Date: Nov 2013
Posts: 401
Received Thanks: 132
Hallo
#CLOSEREQUEST
Nicht SPAMEN
Similar Threads
[Release]Client-Interface (PSD ohne Code)
05/04/2014 - Metin2 PServer Designs, Websites & Scripts - 21 Replies
Hallo Community,
neues Jahr ist da und nun auch
endlich mal wieder ein Release von mir.
Es ist ein Login Interface für denn Client,
aber es ist ohne Code.
Wer es Coden möchte/will kann es gerne machen.
Ich weiß der Hintergrund passt jetzt nicht zu
Metin2 aber #YOLO. ;)
Login Interface by VMP code by DEMONKING
08/10/2013 - Metin2 PServer Guides & Strategies - 32 Replies
New Login Design by me and DEMONKING.
http://imageshack.us/a/img547/6679/75xu.jpg
http://imageshack.us/a/img607/6418/l2qy.jpg
PSD used: http://www.elitepvpers.com/forum/metin2-pserver-gu ides-strategies/2703296-metin2-webdesign-fire-worl d-castiel.html
Help me for v19 taskbar,interface,theme(Source Code)
11/16/2012 - Flyff Private Server - 0 Replies
Please put some guide w/ v19 source code and also the file that needed
thankyou
Sorry for my bad englis
Suche [Interface Code | Chilligen Mitspieler]
06/24/2011 - League of Legends - 6 Replies
Huhu :)
Ich hab mal im offiziellen Lol Forum einen Thread gesehen bezüglich einfacher gestalteten Interfaces in welchen bestimmte Dateien umgecodet wurden , kennt da wer nen schicken Code ? Ne kleine einfügen Erklärung wär lieb !
Desweiteren suche ich noch einen Relativ Sozialen Menschen :b mit Skype und einem Funktionierenden Headset welcher nicht instant flamed :p Verbesserungsvorschläge konstruktiv bringt und auch mal für ne lange nacht zu haben ist !
All times are GMT +2. The time now is 01:51 .