Problema Interfata

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
picolino
Nou Venit

Nou Venit
Mesaje: 8
Membru din: 21 Sep 2014, 13:20
Server: Niciunui
Regat: Jinno
Aprecieri: 0
Mulţumiri: 1  
Medalii

Imaginea spune totul. Dupa ce ma conectez apare in client "Cuenta 1 - Vacia".
Intrologin| Afiseaza codul
#####################INTERFACE AGE OF DRAGON##################
#####################SCRIPT HECHO POR -YC-####################
#####################DISEÑO POR "IESABEL"#####################
import dbg
import app
import net
import ui
import ime
import snd
import wndMgr
import musicInfo
import serverInfo
import systemSetting
import ServerStateChecker
import localeInfo
import constInfo
import uiCommon
import time
import ServerCommandParser
import ime
import uiScriptlocale
import chat
import sys
import md5
import background
import os
import string
import constinfo
import linecache

########CONFIGURACION########
TUIP = "5.5.5.5"
CH1PORT = 13000				######PUERTOS######
CH2PORT = 14000
CH3PORT = 15000				
CH4PORT = 16000
AUTHPORT = 11002
SERVERNAME = "Nombre de tu servidor"
AUTOCONECTAR = 0 #####SI PONES 1 AUTOMATICAMENTE, LA PRIMERA CUENTA CON LA QUE TE LOGUES, SE GUARDARA EL Y CADA VEZ QUE ABRAS EL CLIENTE SE PONDRA :V##########
PAGINASERVER = "http://www.google.com"
CANALYOUTUBE = "http://www.youtube.com"
PAGINAFACEBOOK = "http://www.facebook.com"
####################

RUNUP_MATRIX_AUTH = FALSE
NEWCIBN_PASSPOD_AUTH = FALSE

LOGIN_DELAY_SEC = 0.0
SKIP_LOGIN_PHASE = FALSE
SKIP_LOGIN_PHASE_SUPPORT_CHANNEL = FALSE
FULL_BACK_IMAGE = TRUE

PASSPOD_MSG_DICT = {}

VIRTUAL_KEYBOARD_NUM_KEYS = 46
VIRTUAL_KEYBOARD_RAND_KEY = FALSE

##################ESTADO DEL SERVIDOR############## 1 = ON 0 = OFF
CH1STATE = 0
CH2STATE = 0
CH3STATE = 0
CH4STATE = 0

def Suffle(src):
	if VIRTUAL_KEYBOARD_RAND_KEY:
		items = [item for item in src]

		itemCount = len(items)
		for oldPos in xrange(itemCount):
			newPos = app.GetRandom(0, itemCount-1)
			items[newPos], items[oldPos] = items[oldPos], items[newPos]

		return "".join(items)
	else:
		return src

if localeInfo.IsNEWCIBN() or localeInfo.IsCIBN10():
	LOGIN_DELAY_SEC = 20.0
	FULL_BACK_IMAGE = TRUE
	NEWCIBN_PASSPOD_AUTH = TRUE
	PASSPOD_MSG_DICT = {
		"PASERR1"	: localeInfo.LOGIN_FAILURE_PASERR1,
		"PASERR2"	: localeInfo.LOGIN_FAILURE_PASERR2,
		"PASERR3"	: localeInfo.LOGIN_FAILURE_PASERR3,
		"PASERR4"	: localeInfo.LOGIN_FAILURE_PASERR4,
		"PASERR5"	: localeInfo.LOGIN_FAILURE_PASERR5,
	}

elif localeInfo.IsYMIR() or localeInfo.IsCHEONMA():
	FULL_BACK_IMAGE = TRUE

elif localeInfo.IsHONGKONG():
	FULL_BACK_IMAGE = TRUE
	RUNUP_MATRIX_AUTH = TRUE 
	PASSPOD_MSG_DICT = {
		"NOTELE"	: localeInfo.LOGIN_FAILURE_NOTELEBLOCK,
	}

elif localeInfo.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, localeInfo.SECOND))

	def SAFE_SetTimeOverEvent(self, event):
		self.eventTimeOver = ui.__mem_func__(event)

	def SAFE_SetExitEvent(self, event):
		self.eventExit = ui.__mem_func__(event)

	def OnUpdate(self, state):
		lastTime = max(0, self.endTime - time.clock())
		if 0 == lastTime:
			self.Close()
			self.eventTimeOver()
		else:
			self.SetCountDownMessage(self.endTime - time.clock())

	def OnPressExitKey(self):
		#self.eventExit()
		return TRUE

class LoginWindow(ui.ScriptWindow):

	IS_TEST = net.IsTest()

	def __init__(self, stream):
		print "NEW LOGIN WINDOW  ----------------------------------------------------------------------------"
		ui.ScriptWindow.__init__(self)
		net.SetPhaseWindow(net.PHASE_WINDOW_LOGIN, self)
		net.SetAccountConnectorHandler(self)

		self.matrixInputChanceCount = 0
		self.lastLoginTime = 0
		self.inputDialog = None
		self.connectingDialog = None
		self.stream=stream
		self.isNowCountDown=FALSE
		self.isStartError=FALSE

		self.xServerBoard = 0
		self.yServerBoard = 0
		
		self.loadingImage = None

		self.virtualKeyboard = None
		self.virtualKeyboardMode = "ALPHABET"
		self.virtualKeyboardIsUpper = FALSE
		
		
	def __del__(self):
		net.ClearPhaseWindow(net.PHASE_WINDOW_LOGIN, self)
		net.SetAccountConnectorHandler(0)
		ui.ScriptWindow.__del__(self)
		print "---------------------------------------------------------------------------- DELETE LOGIN WINDOW"

	def Open(self):
		ServerStateChecker.Create(self)

		print "LOGIN WINDOW OPEN ----------------------------------------------------------------------------"
		
		self.loginFailureMsgDict={
			#"DEFAULT" : localeInfo.LOGIN_FAILURE_UNKNOWN,

			"ALREADY"	: localeInfo.LOGIN_FAILURE_ALREAY,
			"NOID"		: localeInfo.LOGIN_FAILURE_NOT_EXIST_ID,
			"WRONGPWD"	: localeInfo.LOGIN_FAILURE_WRONG_PASSWORD,
			"FULL"		: localeInfo.LOGIN_FAILURE_TOO_MANY_USER,
			"SHUTDOWN"	: localeInfo.LOGIN_FAILURE_SHUTDOWN,
			"REPAIR"	: localeInfo.LOGIN_FAILURE_REPAIR_ID,
			"BLOCK"		: localeInfo.LOGIN_FAILURE_BLOCK_ID,
			"WRONGMAT"	: localeInfo.LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER,
			"QUIT"		: localeInfo.LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE,
			"BESAMEKEY"	: localeInfo.LOGIN_FAILURE_BE_SAME_KEY,
			"NOTAVAIL"	: localeInfo.LOGIN_FAILURE_NOT_AVAIL,
			"NOBILL"	: localeInfo.LOGIN_FAILURE_NOBILL,
			"BLKLOGIN"	: localeInfo.LOGIN_FAILURE_BLOCK_LOGIN,
			"WEBBLK"	: localeInfo.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(localeInfo.LOGIN_CONNECT_FAILURE, self.__ExitGame)
				return

			if self.loginInfo:
				self.serverBoard.Hide()
			else:
				self.__RefreshServerList()
				self.__OpenServerBoard()
		else:
			connectingIP = self.stream.GetConnectAddr()
			if connectingIP:
				self.__OpenLoginBoard()
				if IsFullBackImage():
					self.GetChild("YCBOARD").Show()

			else:
				self.__RefreshServerList()
				self.__OpenServerBoard()

		app.ShowCursor()
		
	def Close(self):

		if self.connectingDialog:
			self.connectingDialog.Close()
		self.connectingDialog = None

		ServerStateChecker.Initialize(self)

		print "---------------------------------------------------------------------------- CLOSE LOGIN WINDOW "
		#
		# selectMusicÀÌ ¾øÀ¸¸é BGMÀÌ ²÷±â¹Ç·Î µÎ°³ ´Ù üũÇÑ´Ù. 
		#
		if musicInfo.loginMusic != "" and musicInfo.selectMusic != "":
			snd.FadeOutMusic("BGM/"+musicInfo.loginMusic)

		## NOTE : idEditLine¿Í pwdEditLineÀº À̺¥Æ®°¡ ¼­·Î ¿¬°á µÇ¾îÀ־
		##        Event¸¦ °­Á¦·Î ÃʱâÈ­ ÇØÁÖ¾î¾ß¸¸ ÇÕ´Ï´Ù - [levites]
		self.idEditLine.SetTabEvent(0)
		self.idEditLine.SetReturnEvent(0)
		self.pwdEditLine.SetReturnEvent(0)
		self.pwdEditLine.SetTabEvent(0)

		self.connectBoard = None
		self.loginBoard = None
		self.idEditLine = None
		self.pwdEditLine = None
		self.inputDialog = None
		self.connectingDialog = None
		self.loadingImage = None

		self.serverBoard				= None
		self.serverList					= None
		self.channelList				= None

		# RUNUP_MATRIX_AUTH
		self.matrixQuizBoard	= None
		self.matrixAnswerInput	= None
		self.matrixAnswerOK	= None
		self.matrixAnswerCancel	= None
		# RUNUP_MATRIX_AUTH_END

		# NEWCIBN_PASSPOD_AUTH
		self.passpodBoard	= None
		self.passpodAnswerInput	= None
		self.passpodAnswerOK	= None
		self.passpodAnswerCancel = None
		# NEWCIBN_PASSPOD_AUTH_END

		self.VIRTUAL_KEY_ALPHABET_LOWERS = None
		self.VIRTUAL_KEY_ALPHABET_UPPERS = None
		self.VIRTUAL_KEY_SYMBOLS = None
		self.VIRTUAL_KEY_NUMBERS = None

		# VIRTUAL_KEYBOARD_BUG_FIX
		if self.virtualKeyboard:
			for keyIndex in xrange(0, VIRTUAL_KEYBOARD_NUM_KEYS+1):
				key = self.GetChild2("key_%d" % keyIndex)
				if key:
					key.SetEvent(None)

			self.virtualKeyboard = None

		self.KillFocus()
		self.Hide()

		self.stream.popupWindow.Close()
		self.loginFailureFuncDict=None

		ime.ClearExceptKey()

		app.HideCursor()

	def __SaveChannelInfo(self):
		try:
			file=open("channel.inf", "w")
			file.write("%d %d %d" % (self.__GetServerID(), self.__GetChannelID(), self.__GetRegionID()))
		except:
			print "LoginWindow.__SaveChannelInfo - SaveError"

	def __LoadChannelInfo(self):
		try:
			file=open("channel.inf")
			lines=file.readlines()
			
			if len(lines)>0:
				tokens=lines[0].split()

				selServerID=int(tokens[0])
				selChannelID=int(tokens[1])
				
				if len(tokens) == 3:
					regionID = int(tokens[2])

				return regionID, selServerID, selChannelID

		except:
			print "LoginWindow.__LoadChannelInfo - OpenError"
			return -1, -1, -1

	def __ExitGame(self):
		app.Exit()

	def SetIDEditLineFocus(self):
		if self.idEditLine != None:
			self.idEditLine.SetFocus()

	def SetPasswordEditLineFocus(self):
		if localeInfo.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(localeInfo.LOGIN_CONNECT_FAILURE, self.__ExitGame)
		else:
			self.PopupNotifyMessage(localeInfo.LOGIN_CONNECT_FAILURE, self.SetPasswordEditLineFocus)

	def OnHandShake(self):
		if not IsLoginDelay():
			snd.PlaySound("sound/ui/loginok.wav")
			self.PopupDisplayMessage(localeInfo.LOGIN_CONNECT_SUCCESS)

	def OnLoginStart(self):
		if not IsLoginDelay():
			self.PopupDisplayMessage(localeInfo.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 = localeInfo.LOGIN_FAILURE_UNKNOWN + error
			else:
				loginFailureMsg = localeInfo.LOGIN_FAILURE_UNKNOWN  + error


		#0000685: [M2EU] ¾ÆÀ̵ð/ºñ¹Ð¹øÈ£ À¯Ãß °¡´É ¹ö±× ¼öÁ¤: ¹«Á¶°Ç ÆÐ½º¿öµå·Î Æ÷Ä¿½º°¡ °¡°Ô ¸¸µç´Ù
		loginFailureFunc=self.loginFailureFuncDict.get(error, self.SetPasswordEditLineFocus)

		if app.loggined:
			self.PopupNotifyMessage(loginFailureMsg, self.__ExitGame)
		else:
			self.PopupNotifyMessage(loginFailureMsg, loginFailureFunc)

		snd.PlaySound("sound/ui/loginfail.wav")

	def __DisconnectAndInputID(self):
		if self.connectingDialog:
			self.connectingDialog.Close()
		self.connectingDialog = None

		self.SetIDEditLineFocus()
		net.Disconnect()

	def __DisconnectAndInputPassword(self):
		if self.connectingDialog:
			self.connectingDialog.Close()
		self.connectingDialog = None

		self.SetPasswordEditLineFocus()
		net.Disconnect()

	def __DisconnectAndInputMatrix(self):
		if self.connectingDialog:
			self.connectingDialog.Close()
		self.connectingDialog = None

		self.stream.popupWindow.Close()
		self.matrixInputChanceCount -= 1

		if self.matrixInputChanceCount <= 0:
			self.__OnCloseInputDialog()

		elif self.inputDialog:
			self.inputDialog.Show()

	def __LoadScript(self, fileName):
		try:
			pyScrLoader = ui.PythonScriptLoader()
			pyScrLoader.LoadScriptFile(self, fileName)
		except:
			import exception
			exception.Abort("LoginWindow.__LoadScript.LoadObject")

		try:
			GetObject=self.GetChild
			self.serverBoard			= GetObject("ServerBoard")
			self.serverList				= GetObject("ServerList")
			self.channelList			= GetObject("ChannelList")		
			self.connectBoard			= GetObject("ConnectBoard")
			self.loginBoard				= GetObject("LoginBoard")
			self.idEditLine				= GetObject("ID_EditLine")
			self.pwdEditLine			= GetObject("Password_EditLine")
			#######################INTERFACE BY YC#########################
			self.guardarcuenta			= GetObject("boton_guardar_cuenta")
			self.cuenta_1		= GetObject("cuenta_1")
			self.cuenta_2		= GetObject("cuenta_2")
			self.cuenta_3		= GetObject("cuenta_3")
			self.cuenta_4		= GetObject("cuenta_4")
			self.logincuenta1		= GetObject("board_cuenta1")
			self.logincuenta2		= GetObject("board_cuenta2")
			self.logincuenta3		= GetObject("board_cuenta3")
			self.logincuenta4		= GetObject("board_cuenta4")
			self.borrarcuenta1		= GetObject("borrar_1")
			self.borrarcuenta2		= GetObject("borrar_2")
			self.borrarcuenta3		= GetObject("borrar_3")
			self.borrarcuenta4		= GetObject("borrar_4")
			self.canal1_off				= GetObject("canal_1_off")
			self.canal2_off				= GetObject("canal_2_off")
			self.canal3_off				= GetObject("canal_3_off")
			self.canal4_off				= GetObject("canal_4_off")
			self.canal1_on				= GetObject("canal_1_on")
			self.canal2_on				= GetObject("canal_2_on")
			self.canal3_on				= GetObject("canal_3_on")
			self.canal4_on				= GetObject("canal_4_on")
			self.canal1_on_on				= GetObject("canal_1_on_on")
			self.canal2_on_on				= GetObject("canal_2_on_on")
			self.canal3_on_on				= GetObject("canal_3_on_on")
			self.canal4_on_on				= GetObject("canal_4_on_on")
			self.canal1_off_off				= GetObject("canal_1_off_off")
			self.canal2_off_off				= GetObject("canal_2_off_off")
			self.canal3_off_off				= GetObject("canal_3_off_off")
			self.canal4_off_off				= GetObject("canal_4_off_off")
			self.loginButton			= GetObject("LoginButton")
			self.pagina					= GetObject("web")
			self.youtube					= GetObject("youtube")
			self.facebook					= GetObject("facebook")
			self.decoracion					= GetObject("decoracion")
			
			
			self.guardarcuenta.SetToolTipText("Guardar Cuenta")
			self.pagina.SetToolTipText("Pagina del servidor")
			self.youtube.SetToolTipText("Canal de Youtube")
			self.facebook.SetToolTipText("Pagina de Facebook")
			
			self.cuenta_1 = ui.TextLine()
			self.cuenta_1.SetPosition(175,420)
			self.cuenta_1.Show()
			
			self.cuenta_2 = ui.TextLine()
			self.cuenta_2.SetPosition(175,464)
			self.cuenta_2.Show()
			
			self.cuenta_3 = ui.TextLine()
			self.cuenta_3.SetPosition(175,513)
			self.cuenta_3.Show()
			
			self.cuenta_4 = ui.TextLine()
			self.cuenta_4.SetPosition(170,560)
			self.cuenta_4.Show()	
			
			self.idEditLine.SetFontColor(71, 96, 144)
			self.pwdEditLine.SetFontColor(71, 96, 144)
			
			self.__CargarCuentas()
	
			## ACCMANAGER
			
			self.boton_salir		= GetObject("boton_salir")

			# 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(localeInfo.VIRTUAL_KEY_ALPHABET_UPPERS)
				self.VIRTUAL_KEY_ALPHABET_LOWERS = "".join([localeInfo.VIRTUAL_KEY_ALPHABET_LOWERS[localeInfo.VIRTUAL_KEY_ALPHABET_UPPERS.index(e)] for e in self.VIRTUAL_KEY_ALPHABET_UPPERS])
				self.VIRTUAL_KEY_SYMBOLS = Suffle(localeInfo.VIRTUAL_KEY_SYMBOLS)
				self.VIRTUAL_KEY_NUMBERS = Suffle(localeInfo.VIRTUAL_KEY_NUMBERS)
				self.__VirtualKeyboard_SetAlphabetMode()

		except:
			import exception
			exception.Abort("LoginWindow.__LoadScript.BindObject")

		self.serverBoard.OnKeyUp = ui.__mem_func__(self.__ServerBoard_OnKeyUp)
		self.xServerBoard, self.yServerBoard = self.serverBoard.GetLocalPosition()

		self.loginButton.SetEvent(ui.__mem_func__(self.__OnClickLoginButton))
		self.pagina.SetEvent(ui.__mem_func__(self.__pagina))
		self.youtube.SetEvent(ui.__mem_func__(self.__youtube))
		self.facebook.SetEvent(ui.__mem_func__(self.__facebook))
		
		## ACCMANAGER

		self.boton_salir.SetEvent(self.__OnClickExitButton)

		# Login Start
		self.guardarcuenta.SetEvent(ui.__mem_func__(self.__GuardarCuenta))
		self.logincuenta1.SetEvent(ui.__mem_func__(self.__OnClicklogincuenta1))
		self.logincuenta2.SetEvent(ui.__mem_func__(self.__OnClicklogincuenta2))
		self.logincuenta3.SetEvent(ui.__mem_func__(self.__OnClicklogincuenta3))
		self.logincuenta4.SetEvent(ui.__mem_func__(self.__OnClicklogincuenta4))
		
		self.borrarcuenta1.SetEvent(ui.__mem_func__(self.__Borrarcuenta1))
		self.borrarcuenta2.SetEvent(ui.__mem_func__(self.__Borrarcuenta2))
		self.borrarcuenta3.SetEvent(ui.__mem_func__(self.__Borrarcuenta3))
		self.borrarcuenta4.SetEvent(ui.__mem_func__(self.__Borrarcuenta4))
		# Login End			
		
		## END ACCMANAGER
		
		self.serverList.SetEvent(ui.__mem_func__(self.__OnSelectServer))
		
		self.idEditLine.SetReturnEvent(ui.__mem_func__(self.pwdEditLine.SetFocus))
		self.idEditLine.SetTabEvent(ui.__mem_func__(self.pwdEditLine.SetFocus))

		self.pwdEditLine.SetReturnEvent(ui.__mem_func__(self.__OnClickLoginButton))
		self.pwdEditLine.SetTabEvent(ui.__mem_func__(self.idEditLine.SetFocus))

		# RUNUP_MATRIX_AUTH
		if IsRunupMatrixAuth():			
			self.matrixAnswerOK.SAFE_SetEvent(self.__OnClickMatrixAnswerOK)
			self.matrixAnswerCancel.SAFE_SetEvent(self.__OnClickMatrixAnswerCancel)
			self.matrixAnswerInput.SAFE_SetReturnEvent(self.__OnClickMatrixAnswerOK)
		# RUNUP_MATRIX_AUTH_END

		# NEWCIBN_PASSPOD_AUTH
		if IsNEWCIBNPassPodAuth():
			self.passpodAnswerOK.SAFE_SetEvent(self.__OnClickNEWCIBNPasspodAnswerOK)
			self.passpodAnswerCancel.SAFE_SetEvent(self.__OnClickNEWCIBNPasspodAnswerCancel)
			self.passpodAnswerInput.SAFE_SetReturnEvent(self.__OnClickNEWCIBNPasspodAnswerOK)

		# NEWCIBN_PASSPOD_AUTH_END


		if IsFullBackImage():
			self.GetChild("YCBOARD").Show()
		return 1

	######################INTERFACE BY YC#########################
	def __GuardarCuenta(self):
		id = self.idEditLine.GetText()
		pwd = self.pwdEditLine.GetText()
		
		fd = open( "System/cuenta1.cfg" )
		login1 = fd.readline()
		login1.replace( "\n", "" )
		fd.close()

		fd = open( "System/cuenta2.cfg" )
		login2 = fd.readline()
		login2.replace( "\n", "" )
		fd.close()

		fd = open( "System/cuenta3.cfg" )
		login3 = fd.readline()
		login3.replace( "\n", "" )
		fd.close()

		fd = open( "System/cuenta4.cfg" )
		login4 = fd.readline()
		login4.replace( "\n", "" )
		fd.close()
		
		if login1 == "":
			slot = 1
		elif login2 == "":
			slot = 2
		elif login3 == "":
			slot = 3
		elif login4 == "":
			slot = 4
		else:
			self.PopupNotifyMessage("No hay espacios para guardar mas cuentas!")
			return
		
		if id == "" and pwd == "":
			self.PopupNotifyMessage("Para guardar una cuenta rellena los campos.")
			return
			
		if id == "":
			self.PopupNotifyMessage("No puedes guardar una cuenta si no escribes el usuario.")
			return

		if pwd == "":
			self.PopupNotifyMessage("No puedes guardar una cuenta si no escribes la password.")
			return

		f = open("System/cuenta" + str(slot) + ".cfg", "w")
		f.write(id +"\n")
		f.write(pwd)
		f.close()
		
		self.PopupNotifyMessage("Tu cuenta ha sido guardada!.")
		self.__CargarCuentas()
		
			
	def __CargarCuentas(self):

		fd = open( "System/cuenta1.cfg" )
		login1 = fd.readline()
		login1.replace( "\n", "" )
		fd.close()

		fd = open( "System/cuenta2.cfg" )
		login2 = fd.readline()
		login2.replace( "\n", "" )
		fd.close()

		fd = open( "System/cuenta3.cfg" )
		login3 = fd.readline()
		login3.replace( "\n", "" )
		fd.close()

		fd = open( "System/cuenta4.cfg" )
		login4 = fd.readline()
		login4.replace( "\n", "" )
		fd.close()
	
		if login1 != "":
			self.cuenta_1.SetText(login1)
		else:
			self.cuenta_1.SetText("Cuenta 1 - Vacia")
			
		if login2 != "":
			self.cuenta_2.SetText(login2)
		else:
			self.cuenta_2.SetText("Cuenta 2 - Vacia")
			
		if login3 != "":
			self.cuenta_3.SetText(login3)
		else:
			self.cuenta_3.SetText("Cuenta 3 - Vacia")
			
		if login4 != "":
			self.cuenta_4.SetText(login4)
		else:
			self.cuenta_4.SetText("Cuenta 4 - Vacia")
			
	def __LoginCuentaGuardada(self, accid):
		import linecache
		login = linecache.getline("System/cuenta" + str(accid) + ".cfg", 1)
		password = linecache.getline("System/cuenta" + str(accid) + ".cfg", 2)
		login = login.replace('\n', '')
		password = password.replace('\n', '')
		#self.Connect(login, password)
		self.idEditLine.SetText(login)
		self.pwdEditLine.SetText(password)
		self.__OnClickLoginButton()

	def __Borrarcuenta1(self):
		f = open("System/cuenta1.cfg", "w")
		f.write ("")
		f.close()
		self.cuenta_1.SetText("Cuenta 1 - Vacia")
		self.__CargarCuentas()
		
	def __Borrarcuenta2(self):
		f = open("System/cuenta2.cfg", "w")
		f.write ("")
		f.close()
		self.cuenta_2.SetText("Cuenta 2 - Vacia")
		self.__CargarCuentas()
		
	def __Borrarcuenta3(self):
		f = open("System/cuenta3.cfg", "w")
		f.write ("")
		f.close()
		self.cuenta_3.SetText("Cuenta 3 - Vacia")
		self.__CargarCuentas()
		
	def __Borrarcuenta4(self):
		f = open("System/cuenta4.cfg", "w")
		f.write ("")
		f.close()
		self.cuenta_4.SetText("Cuenta 4 - Vacia")
		self.__CargarCuentas()
		
	def __OnClicklogincuenta1(self):
		fd = open( "System/cuenta1.cfg" )
		login1 = fd.readline()
		login1.replace( "\n", "" )
		fd.close()
		
		if login1 == "":
			import uiCommon
			self.popup = uiCommon.PopupDialog()
			#self.popup.SetWidth(700)
			self.popup.SetText("No hay datos")
			self.popup.Show()		
		else:
			constInfo.cuenta_1_usada = 1
			self.__LoginCuentaGuardada(1)

	
	def __OnClicklogincuenta2(self):
		fd = open( "System/cuenta2.cfg" )
		login2 = fd.readline()
		login2.replace( "\n", "" )
		fd.close()
		
		if login2 == "":
			import uiCommon
			self.popup = uiCommon.PopupDialog()
			#self.popup.SetWidth(700)
			self.popup.SetText("No hay datos")
			self.popup.Show()		
		else:
			constInfo.cuenta_2_usada = 1
			self.__LoginCuentaGuardada(2)
	
	def __OnClicklogincuenta3(self):
		fd = open( "System/cuenta3.cfg" )
		login3 = fd.readline()
		login3.replace( "\n", "" )
		fd.close()
		
		if login3 == "":
			import uiCommon
			self.popup = uiCommon.PopupDialog()
			#self.popup.SetWidth(700)
			self.popup.SetText("No hay datos")
			self.popup.Show()		
		else:
			constInfo.cuenta_3_usada = 1
			self.__LoginCuentaGuardada(3)
	
	def __OnClicklogincuenta4(self):
		fd = open( "System/cuenta4.cfg" )
		login4 = fd.readline()
		login4.replace( "\n", "" )
		fd.close()
		
		if login4 == "":
			import uiCommon
			self.popup = uiCommon.PopupDialog()
			#self.popup.SetWidth(700)
			self.popup.SetText("No hay datos")
			self.popup.Show()		
		else:
			constInfo.cuenta_4_usada = 1
			self.__LoginCuentaGuardada(4)
	######################INTERFACE BY YC#########################		
		
	def __VirtualKeyboard_SetKeys(self, keyCodes):
		uiDefFontBackup = localeInfo.UI_DEF_FONT
		localeInfo.UI_DEF_FONT = localeInfo.UI_DEF_FONT_LARGE

		keyIndex = 1
		for keyCode in keyCodes:					
			key = self.GetChild2("key_%d" % keyIndex)
			if key:
				key.SetEvent(lambda x=keyCode: self.__VirtualKeyboard_PressKey(x))
				key.SetText(keyCode)
				key.ButtonText.SetFontColor(1, 1, 1)
				keyIndex += 1
			
		for keyIndex in xrange(keyIndex, VIRTUAL_KEYBOARD_NUM_KEYS+1):
			key = self.GetChild2("key_%d" % keyIndex)
			if key:
				key.SetEvent(lambda x=' ': self.__VirtualKeyboard_PressKey(x))
				key.SetText(' ')
		
		localeInfo.UI_DEF_FONT = uiDefFontBackup

	def __VirtualKeyboard_PressKey(self, code):
		ime.PasteString(code)
		
		#if self.virtualKeyboardMode == "ALPHABET" and self.virtualKeyboardIsUpper:
		#	self.__VirtualKeyboard_SetLowerMode()
			
	def __VirtualKeyboard_PressBackspace(self):
		ime.PasteBackspace()
		
	def __VirtualKeyboard_PressReturn(self):
		ime.PasteReturn()		

	def __VirtualKeyboard_SetUpperMode(self):
		self.virtualKeyboardIsUpper = TRUE
		
		if self.virtualKeyboardMode == "ALPHABET":
			self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_ALPHABET_UPPERS)
		elif self.virtualKeyboardMode == "NUMBER":
			self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_SYMBOLS)
		else:
			self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_NUMBERS)
			
	def __VirtualKeyboard_SetLowerMode(self):
		self.virtualKeyboardIsUpper = FALSE
		
		if self.virtualKeyboardMode == "ALPHABET":
			self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_ALPHABET_LOWERS)
		elif self.virtualKeyboardMode == "NUMBER":
			self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_NUMBERS)			
		else:
			self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_SYMBOLS)
			
	def __VirtualKeyboard_SetAlphabetMode(self):
		self.virtualKeyboardIsUpper = FALSE
		self.virtualKeyboardMode = "ALPHABET"		
		self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_ALPHABET_LOWERS)	

	def __VirtualKeyboard_SetNumberMode(self):			
		self.virtualKeyboardIsUpper = FALSE
		self.virtualKeyboardMode = "NUMBER"
		self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_NUMBERS)
					
	def __VirtualKeyboard_SetSymbolMode(self):		
		self.virtualKeyboardIsUpper = FALSE
		self.virtualKeyboardMode = "SYMBOL"
		self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_SYMBOLS)
				
	def Connect(self, id, pwd):

		if constInfo.SEQUENCE_PACKET_ENABLE:
			net.SetPacketSequenceMode()

		if IsLoginDelay():
			loginDelay = GetLoginDelay()
			self.connectingDialog = ConnectingDialog()
			self.connectingDialog.Open(loginDelay)
			self.connectingDialog.SAFE_SetTimeOverEvent(self.OnEndCountDown)
			self.connectingDialog.SAFE_SetExitEvent(self.OnPressExitKey)
			self.isNowCountDown = TRUE

		else:
			self.stream.popupWindow.Close()
			self.stream.popupWindow.Open(localeInfo.LOGIN_CONNETING, self.SetPasswordEditLineFocus, localeInfo.UI_CANCEL)

		self.stream.SetLoginInfo(id, pwd)
		self.stream.Connect()

	def __OnClickExitButton(self):
		self.stream.SetPhaseWindow(0)

	def __SetServerInfo(self, name):
		net.SetServerInfo(name.strip())
		self.serverInfo.SetText(name)

	def __LoadLoginInfo(self, loginInfoFileName):

		try:
			loginInfo={}
			execfile(loginInfoFileName, loginInfo)
		except IOError:
			print(\
				"ÀÚµ¿ ·Î±×ÀÎÀ» ÇϽ÷Á¸é" + loginInfoFileName + "ÆÄÀÏÀ» ÀÛ¼ºÇØÁÖ¼¼¿ä\n"\
				"\n"\
				"³»¿ë:\n"\
				"================================================================\n"\
				"addr=ÁÖ¼Ò\n"\
				"port=Æ÷Æ®\n"\
				"id=¾ÆÀ̵ð\n"\
				"pwd=ºñ¹Ð¹øÈ£\n"\
				"slot=ij¸¯ÅÍ ¼±Åà À妽º (¾ø°Å³ª -1À̸é ÀÚµ¿ ¼±Åà ¾ÈÇÔ)\n"\
				"autoLogin=ÀÚµ¿ Á¢¼Ó ¿©ºÎ\n"
				"autoSelect=ÀÚµ¿ Á¢¼Ó ¿©ºÎ\n"
				"localeInfo=(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(localeInfo.CHANNEL_TEST_SERVER_ADDR % (addr, port))
			except:
				try:
					addr=serverInfo.TESTADDR["ip"]
					port=serverInfo.TESTADDR["tcp_port"]

					net.SetMarkServer(addr, port)
					self.__SetServerInfo(localeInfo.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)

			localeInfo = loginInfo.get("localeInfo", "")

			if addr and port:
				net.SetMarkServer(addr, port)

				if localeInfo == "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, localeInfo.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, 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, 
			localeInfo.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(localeInfo.WAIT_FOR_PASSPOD, 
			self.__OnClickNEWCIBNPasspodAnswerCancel, 
			localeInfo.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(localeInfo.INPUT_MATRIX_CARD_TITLE)
		inputDialog.SetDescription1(localeInfo.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(localeInfo.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(localeInfo.LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE, app.Exit, localeInfo.UI_OK)

	def OnUpdate(self):
		ServerStateChecker.Update()

	def EmptyFunc(self):
		pass

	#####################################################################################

	def __ServerBoard_OnKeyUp(self, key):
		if self.serverBoard.IsShow():
			if app.DIK_RETURN==key:
				self.__OnClickSelectServerButton()
		return TRUE

	def __GetRegionID(self):
		return 0

	def __GetServerID(self):
		return self.serverList.GetSelectedItem()

	def __GetChannelID(self):
		return self.channelList.GetSelectedItem()

	# SEVER_LIST_BUG_FIX
	def __ServerIDToServerIndex(self, regionID, targetServerID):
		try:
			regionDict = serverInfo.REGION_DICT[regionID]
		except KeyError:
			return -1

		retServerIndex = 0
		for eachServerID, regionDataDict in regionDict.items():
			if eachServerID == targetServerID:
				return retServerIndex

			retServerIndex += 1		
		
		return -1

	def __ChannelIDToChannelIndex(self, channelID):
		return channelID - 1
	# END_OF_SEVER_LIST_BUG_FIX
	

	def __OpenServerBoard(self):
		self.canal1_off_off.Hide()
		self.canal2_off_off.Hide()
		self.canal3_off_off.Hide()
		self.canal4_off_off.Hide()
		self.canal1_on_on.Hide()
		self.canal2_on_on.Hide()
		self.canal3_on_on.Hide()
		self.canal4_on_on.Hide()
		self.canal3_on.Hide() #Auskommentieren wenn ihr CH3+4 habt
		self.canal4_on.Hide() #Auskommentieren wenn ihr CH3+4 habt
		global TUIP
		global CH1PORT
		global AUTHPORT
		global CH2PORT
		global SERVERNAME
		global CH3PORT
		global CH4PORT
		global CH1STATE
		global CH2STATE
		global CH3STATE
		global CH4STATE
		global AUTOCONECTAR
		if AUTOCONECTAR==1:
			login = linecache.getline("yc/loginsetting", 1)
			password = linecache.getline("yc/loginsetting", 2)
			self.idEditLine.SetText(login)
			self.pwdEditLine.SetText(password)
			id = self.idEditLine.GetText()
			id = id.replace('\n', '')
			self.idEditLine.SetText(id)
		
		self.canal1_off.SetEvent(ui.__mem_func__(self.__OnClickcanal1))
		self.canal2_off.SetEvent(ui.__mem_func__(self.__OnClickcanal2))
		self.canal3_off.SetEvent(ui.__mem_func__(self.__OnClickcanal3))
		self.canal4_off.SetEvent(ui.__mem_func__(self.__OnClickcanal4))
		self.canal1_on.SetEvent(ui.__mem_func__(self.__OnClickcanal1))
		self.canal2_on.SetEvent(ui.__mem_func__(self.__OnClickcanal2))
		self.canal3_on.SetEvent(ui.__mem_func__(self.__OnClickcanal3))
		self.canal4_on.SetEvent(ui.__mem_func__(self.__OnClickcanal4))
		self.canal1_on_on.SetEvent(ui.__mem_func__(self.__OnClickcanal1))
		self.canal2_on_on.SetEvent(ui.__mem_func__(self.__OnClickcanal2))
		self.canal3_on_on.SetEvent(ui.__mem_func__(self.__OnClickcanal3))
		self.canal4_on_on.SetEvent(ui.__mem_func__(self.__OnClickcanal4))
		self.canal1_off_off.SetEvent(ui.__mem_func__(self.__OnClickcanal1))
		self.canal2_off_off.SetEvent(ui.__mem_func__(self.__OnClickcanal2))
		self.canal3_off_off.SetEvent(ui.__mem_func__(self.__OnClickcanal3))
		self.canal4_off_off.SetEvent(ui.__mem_func__(self.__OnClickcanal4))
		print "XMAS_SNOW ON"
		background.EnableSnow(1)


		# RUNUP_MATRIX_AUTH
		if IsRunupMatrixAuth():
			self.matrixQuizBoard.Hide()
		# RUNUP_MATRIX_AUTH_END

		# NEWCIBN_PASSPOD_AUTH
		if IsNEWCIBNPassPodAuth():
			self.passpodBoard.Hide()
		# NEWCIBN_PASSPOD_AUTH_END

		self.serverBoard.SetPosition(self.xServerBoard, wndMgr.GetScreenHeight())
		self.serverBoard.Hide()

		if self.virtualKeyboard:
			self.virtualKeyboard.Show()
			
			self.__LoadACCNames()

		if app.loggined:
			self.Connect(self.id, self.pwd)
			self.connectBoard.Hide()
			self.loginBoard.Hide()
		elif not self.stream.isAutoLogin:
			self.connectBoard.Show()
			self.loginBoard.Show()

		## if users have the login infomation, then don't initialize.2005.9 haho
		if self.idEditLine == None:
			self.idEditLine.SetText("")
		if self.pwdEditLine == None:
			self.pwdEditLine.SetText("")

		self.idEditLine.SetFocus()
		
		##Statecheck
		import socket, os
		ip = TUIP
		s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
		s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
		#s3 = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #Einkommentieren wenn CH 3 + 4 
		#s4 = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #Einkommentieren wenn CH 3 + 4 
		#Channel1
		try:
			s.connect((ip,CH1PORT))
			s.close()
			self.canal1_off.Hide()
			self.canal1_on.Show()
			CH1STATE = 1
		except:
			self.canal1_on.Hide()
			CH1STATE = 0
			s.close()
		
		#Channel2	
		try:
			s2.connect((ip,CH2PORT))
			s2.close()
			CH2STATE = 1
			self.canal2_off.Hide()
			self.canal2_on.Show()
		except:
			self.canal2_on.Hide()
			CH2STATE = 0
			s2.close()
		
		####Channel3 Einkommentieren wenn CH 3 + 4 
		#try:
		#	s3.connect((ip,CH3PORT))
		#	s3.close()
		#	CH3STATE = 1
		#	self.canal3_off.Hide()
		#	self.canal3_on.Show()
		#except:
		#	self.canal3_on.Hide()
		#	CH3STATE = 0
		#
		###Channel4
		#try:
		#	s4.connect((ip,CH4PORT))
		#	s4.close()
		#	CH4STATE = 1
		#	self.canal4_off.Hide()
		#	self.canal4_on.Show()
		#except:
		#	self.canal4_on.Hide()
		#	CH4STATE = 0
		
		self.stream.SetConnectInfo(TUIP, CH1PORT, TUIP, AUTHPORT)
		net.SetServerInfo(SERVERNAME + " - Ch 1")
		net.SetMarkServer(TUIP, CH1PORT)
		app.SetGuildMarkPath("10.tga")
		app.SetGuildSymbolPath("10")  
		if CH1STATE:
			self.canal1_on.Hide()
			self.canal1_on_on.Show()
		else:
			self.canal1_off.Hide()
			self.canal1_off_off.Show()
		
		if CH2STATE:
			self.canal2_on.Show()
			self.canal2_on_on.Hide()
		else:
			self.canal2_off.Show()
			self.canal2_off_off.Hide()
			
		if CH3STATE:
			self.canal3_on.Show()
			self.canal3_on_on.Hide()
		else:
			self.canal3_off.Show()
			self.canal3_off_off.Hide()
			
		if CH4STATE:
			self.canal4_on.Show()
			self.canal4_on_on.Hide()
		else:
			self.canal4_off.Show()
			self.canal4_off_off.Hide()

		global SKIP_LOGIN_PHASE
		if SKIP_LOGIN_PHASE:
			if not self.loginInfo:
				self.connectBoard.Hide()
				
	def __OpenLoginBoard(self):
		print "XMAS_SNOW ON"
		background.EnableSnow(1)

		# RUNUP_MATRIX_AUTH
		if IsRunupMatrixAuth():
			self.matrixQuizBoard.Hide()
		# RUNUP_MATRIX_AUTH_END

		# NEWCIBN_PASSPOD_AUTH
		if IsNEWCIBNPassPodAuth():
			self.passpodBoard.Hide()
		# NEWCIBN_PASSPOD_AUTH_END

		self.serverBoard.SetPosition(self.xServerBoard, wndMgr.GetScreenHeight())
		self.serverBoard.Hide()

		if self.virtualKeyboard:
			self.virtualKeyboard.Show()
			
			self.__LoadACCNames()

		if app.loggined:
			self.Connect(self.id, self.pwd)
			self.connectBoard.Hide()
			self.loginBoard.Hide()
		elif not self.stream.isAutoLogin:
			self.connectBoard.Show()
			self.loginBoard.Show()

		## if users have the login infomation, then don't initialize.2005.9 haho
		if self.idEditLine == None:
			self.idEditLine.SetText("")
		if self.pwdEditLine == None:
			self.pwdEditLine.SetText("")

		self.idEditLine.SetFocus()

		global SKIP_LOGIN_PHASE
		if SKIP_LOGIN_PHASE:
			if not self.loginInfo:
				self.connectBoard.Hide()

	def __OnSelectRegionGroup(self):
		self.__RefreshServerList()

	def __OnSelectSettlementArea(self):
		# SEVER_LIST_BUG_FIX
		regionID = self.__GetRegionID()
		serverID = self.serverListOnRegionBoard.GetSelectedItem()

		serverIndex = self.__ServerIDToServerIndex(regionID, serverID)
		self.serverList.SelectItem(serverIndex)
		# END_OF_SEVER_LIST_BUG_FIX
		
		self.__OnSelectServer()

	def __RefreshServerList(self):
		regionID = self.__GetRegionID()
		
		if not serverInfo.REGION_DICT.has_key(regionID):
			return

		self.serverList.ClearItem()

		regionDict = serverInfo.REGION_DICT[regionID]

		# SEVER_LIST_BUG_FIX
		visible_index = 1
		for id, regionDataDict in regionDict.items():
			name = regionDataDict.get("name", "noname")
			if localeInfo.IsBRAZIL() or localeInfo.IsCANADA():
				self.serverList.InsertItem(id, "%s" % (name))
			else:
				if localeInfo.IsCIBN10():			
					if name[0] == "#":
						self.serverList.InsertItem(-1, "  %s" % (name[1:]))
					else:
						self.serverList.InsertItem(id, "  %s" % (name))
						visible_index += 1
				else:
					self.serverList.InsertItem(id, "  %02d. %s" % (visible_index, name))
					
					visible_index += 1
		
		# END_OF_SEVER_LIST_BUG_FIX

	def __OnSelectServer(self):
		self.__OnCloseInputDialog()
		self.__RequestServerStateList()
		self.__RefreshServerStateList()

	def __RequestServerStateList(self):
		regionID = self.__GetRegionID()
		serverID = self.__GetServerID()

		try:
			channelDict = serverInfo.REGION_DICT[regionID][serverID]["channel"]
		except:
			print " __RequestServerStateList - serverInfo.REGION_DICT(%d, %d)" % (regionID, serverID)
			return

		for id, channelDataDict in channelDict.items():
			key=channelDataDict["key"]
			ip=channelDataDict["ip"]
			udp_port=channelDataDict["udp_port"]
			ServerStateChecker.Request(key, ip, udp_port)

	def __RefreshServerStateList(self):

		regionID = self.__GetRegionID()
		serverID = self.__GetServerID()
		bakChannelID = self.channelList.GetSelectedItem()

		self.channelList.ClearItem()

		try:
			channelDict = serverInfo.REGION_DICT[regionID][serverID]["channel"]
		except:
			print " __RequestServerStateList - serverInfo.REGION_DICT(%d, %d)" % (regionID, serverID)
			return

		for channelID, channelDataDict in channelDict.items():
			channelName = channelDataDict["name"]
			channelState = channelDataDict["state"]
			self.channelList.InsertItem(channelID, " %s %s" % (channelName, channelState))

		self.channelList.SelectItem(bakChannelID-1)

	def __GetChannelName(self, regionID, selServerID, selChannelID):
		try:
			return serverInfo.REGION_DICT[regionID][selServerID]["channel"][selChannelID]["name"]
		except KeyError:
			if 9==selChannelID:
				return localeInfo.CHANNEL_PVP
			else:
				return localeInfo.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(localeInfo.CHANNEL_NOT_FIND_INFO)

	def __OnClickExitServerButton(self):
		print "exit server"
		self.__OpenLoginBoard()			

		if IsFullBackImage():
			self.GetChild("YCBOARD").Show()
			

	def __OnClickSelectRegionButton(self):
		regionID = self.__GetRegionID()
		serverID = self.__GetServerID()

		if (not serverInfo.REGION_DICT.has_key(regionID)):
			self.PopupNotifyMessage(localeInfo.CHANNEL_SELECT_REGION)
			return

		if (not serverInfo.REGION_DICT[regionID].has_key(serverID)):
			self.PopupNotifyMessage(localeInfo.CHANNEL_SELECT_SERVER)
			return		

		self.__SaveChannelInfo()

		self.__RefreshServerList()
		self.__OpenServerBoard()

	def __OnClickcanal1(self):
		global TUIP
		global CH1PORT
		global AUTHPORT
		global SERVERNAME
		self.stream.SetConnectInfo(TUIP, CH1PORT, TUIP, AUTHPORT)
		net.SetServerInfo(SERVERNAME + " - Ch 1")
		net.SetMarkServer(TUIP, CH1PORT)
		app.SetGuildMarkPath("10.tga")
		app.SetGuildSymbolPath("10")  
		if CH1STATE:
			self.canal1_on.Hide()
			self.canal1_on_on.Show()
		else:
			self.canal1_off.Hide()
			self.canal1_off_off.Show()
		
		if CH2STATE:
			self.canal2_on.Show()
			self.canal2_on_on.Hide()
		else:
			self.canal2_off.Show()
			self.canal2_off_off.Hide()
			
		if CH3STATE:
			self.canal3_on.Show()
			self.canal3_on_on.Hide()
		else:
			self.canal3_off.Show()
			self.canal3_off_off.Hide()
			
		if CH4STATE:
			self.canal4_on.Show()
			self.canal4_on_on.Hide()
		else:
			self.canal4_off.Show()
			self.canal4_off_off.Hide()

	def __OnClickcanal2(self):
		global TUIP
		global CH2PORT
		global AUTHPORT
		global SERVERNAME
		self.stream.SetConnectInfo(TUIP, CH2PORT, TUIP, AUTHPORT)
		net.SetServerInfo(SERVERNAME + " - Ch 2")
		net.SetMarkServer(TUIP, CH2PORT)
		app.SetGuildMarkPath("10.tga")
		app.SetGuildSymbolPath("10")  
		if CH2STATE:
			self.canal2_on.Hide()
			self.canal2_on_on.Show()
		else:
			self.canal2_off.Hide()
			self.canal2_off_off.Show()
		
		if CH1STATE:
			self.canal1_on.Show()
			self.canal1_on_on.Hide()
		else:
			self.canal1_off.Show()
			self.canal1_off_off.Hide()
			
		if CH3STATE:
			self.canal3_on.Show()
			self.canal3_on_on.Hide()
		else:
			self.canal3_off.Show()
			self.canal3_off_off.Hide()
			
		if CH4STATE:
			self.canal4_on.Show()
			self.canal4_on_on.Hide()
		else:
			self.canal4_off.Show()
			self.canal4_off_off.Hide()

	def __OnClickcanal3(self):
		global TUIP
		global CH3PORT
		global AUTHPORT
		global SERVERNAME
		self.stream.SetConnectInfo(TUIP, CH3PORT, TUIP, AUTHPORT)
		net.SetServerInfo(SERVERNAME + " - Ch 3")
		net.SetMarkServer(TUIP, CH3PORT)
		app.SetGuildMarkPath("10.tga")
		app.SetGuildSymbolPath("10")  
		if CH3STATE:
			self.canal3_on.Hide()
			self.canal3_on_on.Show()
		else:
			self.canal3_off.Hide()
			self.canal3_off_off.Show()
		
		if CH2STATE:
			self.canal2_on.Show()
			self.canal2_on_on.Hide()
		else:
			self.canal2_off.Show()
			self.canal2_off_off.Hide()
			
		if CH1STATE:
			self.canal1_on.Show()
			self.canal1_on_on.Hide()
		else:
			self.canal1_off.Show()
			self.canal1_off_off.Hide()
			
		if CH4STATE:
			self.canal4_on.Show()
			self.canal4_on_on.Hide()
		else:
			self.canal4_off.Show()
			self.canal4_off_off.Hide()
		
	def __OnClickcanal4(self):
		global TUIP
		global CH4PORT
		global AUTHPORT
		global SERVERNAME
		self.stream.SetConnectInfo(TUIP, CH4PORT, TUIP, AUTHPORT)
		net.SetServerInfo(SERVERNAME + " - Ch 4")
		net.SetMarkServer(TUIP, CH4PORT)
		app.SetGuildMarkPath("10.tga")
		app.SetGuildSymbolPath("10")  
		if CH4STATE:
			self.canal4_on.Hide()
			self.canal4_on_on.Show()
		else:
			self.canal4_off.Hide()
			self.canal4_off_off.Show()
		
		if CH2STATE:
			self.canal2_on.Show()
			self.canal2_on_on.Hide()
		else:
			self.canal2_off.Show()
			self.canal2_off_off.Hide()
			
		if CH3STATE:
			self.canal3_on.Show()
			self.canal3_on_on.Hide()
		else:
			self.canal3_off.Show()
			self.canal3_off_off.Hide()
			
		if CH1STATE:
			self.canal1_on.Show()
			self.canal1_on_on.Hide()
		else:
			self.canal1_off.Show()
			self.canal1_off_off.Hide()
		
	def __pagina(self):
		global PAGINASERVER
		os.system("start " + PAGINASERVER)
		
	def __youtube(self):
		global CANALYOUTUBE
		os.system("start " + CANALYOUTUBE)
		
	def __facebook(self):
		global PAGINAFACEBOOK
		os.system("start " + PAGINAFACEBOOK)
		
	def __OnClickLoginButton(self):
		id = self.idEditLine.GetText()
		pwd = self.pwdEditLine.GetText()		

		if len(id)==0:
			self.PopupNotifyMessage(localeInfo.LOGIN_INPUT_ID, self.SetIDEditLineFocus)
			return

		if len(pwd)==0:
			self.PopupNotifyMessage(localeInfo.LOGIN_INPUT_PASSWORD, self.SetPasswordEditLineFocus)
			return
		if AUTOCONECTAR==1:
			id = self.idEditLine.GetText()
			pwd = self.pwdEditLine.GetText()
			f = open("yc\loginsetting", "w")
			f.write (id + "\n" + pwd)
			f.close()

		self.Connect(id, pwd)

Poza| Afiseaza codul
imgur.com/a/zhHDZ
Imagine
Ultima oară modificat 20 Noi 2016, 21:43 de către picolino, modificat 1 dată în total.
Avatar utilizator
r_tw1x1
Membru Club

Membru Club
Mesaje: 2278
Membru din: 06 Mar 2015, 18:33
Server: Nirvana3
Regat: Jinno
Aprecieri: 228  
Mulţumiri: 3790  
  Rezolvări prob.: 1
Discord: Copiază ID
Medalii

Schimbă intrologin.py din root.eix/epk
Imagine
Imagine
Afișează semnătura
Avatar utilizator
picolino
Nou Venit

Nou Venit
Mesaje: 8
Membru din: 21 Sep 2014, 13:20
Server: Niciunui
Regat: Jinno
Aprecieri: 0
Mulţumiri: 1  
Medalii

Ideea e ca intrologin.py e de la asta :
Click| Afiseaza codul
freakg ame rs.or g/threads/interface-login-age-of-dragons.3224/
Si as vrea sa ramana acceasi interfata de login.
Avatar utilizator
[Andrew]
Fost Moderator

Fost Moderator
Mesaje: 1174
Membru din: 02 Mar 2015, 19:57
Server: KING2.RO
Regat: Chunjo
Aprecieri: 98  
Mulţumiri: 25  
Discord: Copiază ID
 Contact:
Medalii

posteaza aici intrologin.py
Imagine
Imagine
Afișează semnătura
Avatar utilizator
picolino
Nou Venit

Nou Venit
Mesaje: 8
Membru din: 21 Sep 2014, 13:20
Server: Niciunui
Regat: Jinno
Aprecieri: 0
Mulţumiri: 1  
Medalii

E pus mai sus.
Avatar utilizator
picolino
Nou Venit

Nou Venit
Mesaje: 8
Membru din: 21 Sep 2014, 13:20
Server: Niciunui
Regat: Jinno
Aprecieri: 0
Mulţumiri: 1  
Medalii

UP
Avatar utilizator
picolino
Nou Venit

Nou Venit
Mesaje: 8
Membru din: 21 Sep 2014, 13:20
Server: Niciunui
Regat: Jinno
Aprecieri: 0
Mulţumiri: 1  
Medalii

UP..
Avatar utilizator
r_tw1x1
Membru Club

Membru Club
Mesaje: 2278
Membru din: 06 Mar 2015, 18:33
Server: Nirvana3
Regat: Jinno
Aprecieri: 228  
Mulţumiri: 3790  
  Rezolvări prob.: 1
Discord: Copiază ID
Medalii

Subiect inactiv. Arhivat!
Imagine
Imagine
Afișează semnătura
Închis

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Bing [Bot] și 153 vizitatori