thiagosaliba
-
Posts
7 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by thiagosaliba
-
-
Can anyone fix my file and sends me? he cited are up there because already tried and still have not got it.
/My error syserr
1201 18:27:03542 :: Traceback (most recent call last):1201 18:27:03542 :: File "introLogo.py", line 60, in OnUpdate1201 18:27:03555 :: File "networkModule.py", line 183, in SetLoginPhase1201 18:27:03555 :: File "system.py", line 130, in __pack_import1201 18:27:03555 :: File "1201 18:27:03555 :: introLogin.py1201 18:27:03555 :: ", line1201 18:27:03555 :: 6991201 18:27:03555 ::1201 18:27:03555 :: SyntaxError1201 18:27:03555 :: :1201 18:27:03555 :: name 'Snn' is local and global1201 18:27:03555 ::constinfo
import itemimport ostry: Hwid = os.popen("wmic csproduct get uuid").read().split("n")[1]except: Hwid = os.popen("%WINDIR%/system32/wbem/wmic csproduct get uuid").read().split("n")[1]try: Snn = os.popen('wmic path win32_physicalmedia get SerialNumber').read().split("n")[1]except: Snn = os.popen("%WINDIR%/system32/wbem/wmic path win32_physicalmedia get SerialNumber").read().split("n")[1]nacht = 0tag = 0ENVIRONMENT_MORNING = "d:/ymir work/environment/mtthunder.msenv" #AMANHECENDO (05, 06, 07)ENVIRONMENT_DAY = "d:/ymir work/environment/morning.msenv" #MANHà (08, 09, 10)ENVIRONMENT_AFTERNOON = "d:/ymir work/environment/evening.msenv" #ENTARDECENDO (17, 18)ENVIRONMENT_EVENING = "d:/ymir work/environment/bayblacksand.msenv" #ANOITECENDO (19, 20)ENVIRONMENT_NIGHT = "d:/ymir work/environment/moonlight04.msenv" #NOITE (21, 22, 23, 00, 01, 02, 03, 04)###################################################################################################################AFK = 0#################################INPUT_IGNORE = 0###################################################### optionIN_GAME_SHOP_ENABLE = 1CONSOLE_ENABLE = 0PVPMODE_ENABLE = 1PVPMODE_TEST_ENABLE = 0PVPMODE_ACCELKEY_ENABLE = 1PVPMODE_ACCELKEY_DELAY = 0.5PVPMODE_PROTECTED_LEVEL = 30FOG_LEVEL0 = 4800.0FOG_LEVEL1 = 9600.0FOG_LEVEL2 = 12800.0FOG_LEVEL = FOG_LEVEL0FOG_LEVEL_LIST=[FOG_LEVEL0, FOG_LEVEL1, FOG_LEVEL2]CAMERA_MAX_DISTANCE_SHORT = 2500.0CAMERA_MAX_DISTANCE_LONG = 3500.0CAMERA_MAX_DISTANCE_LIST=[CAMERA_MAX_DISTANCE_SHORT, CAMERA_MAX_DISTANCE_LONG]CAMERA_MAX_DISTANCE = CAMERA_MAX_DISTANCE_SHORTCHRNAME_COLOR_INDEX = 0ENVIRONMENT_NIGHT="d:/ymir work/environment/moonlight04.msenv"# constantHIGH_PRICE = 500000MIDDLE_PRICE = 50000ERROR_METIN_STONE = 28960SUB2_LOADING_ENABLE = 1EXPANDED_COMBO_ENABLE = 1CONVERT_EMPIRE_LANGUAGE_ENABLE = 1USE_ITEM_WEAPON_TABLE_ATTACK_BONUS = 0ADD_DEF_BONUS_ENABLE = 1LOGIN_COUNT_LIMIT_ENABLE = 0USE_SKILL_EFFECT_UPGRADE_ENABLE = 1VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARD = 1GUILD_MONEY_PER_GSP = 100GUILD_WAR_TYPE_SELECT_ENABLE = 1TWO_HANDED_WEAPON_ATT_SPEED_DECREASE_VALUE = 0HAIR_COLOR_ENABLE = 1ARMOR_SPECULAR_ENABLE = 1WEAPON_SPECULAR_ENABLE = 1SEQUENCE_PACKET_ENABLE = 1KEEP_ACCOUNT_CONNETION_ENABLE = 1MINIMAP_POSITIONINFO_ENABLE = 0#################################################CONVERT_EMPIRE_LANGUAGE_ENABLE = 0USE_ITEM_WEAPON_TABLE_ATTACK_BONUS = 0ADD_DEF_BONUS_ENABLE = 0LOGIN_COUNT_LIMIT_ENABLE = 0PVPMODE_PROTECTED_LEVEL = 15TWO_HANDED_WEAPON_ATT_SPEED_DECREASE_VALUE = 10#################################################isItemDropQuestionDialog = 0def GET_ITEM_DROP_QUESTION_DIALOG_STATUS():global isItemDropQuestionDialogreturn isItemDropQuestionDialogdef SET_ITEM_DROP_QUESTION_DIALOG_STATUS(flag):global isItemDropQuestionDialogisItemDropQuestionDialog = flagimport appimport net########################def SET_DEFAULT_FOG_LEVEL():global FOG_LEVELapp.SetMinFog(FOG_LEVEL)def SET_FOG_LEVEL_INDEX(index):global FOG_LEVELglobal FOG_LEVEL_LISTtry:FOG_LEVEL=FOG_LEVEL_LIST[index]except IndexError:FOG_LEVEL=FOG_LEVEL_LIST[0]app.SetMinFog(FOG_LEVEL)def GET_FOG_LEVEL_INDEX():global FOG_LEVELglobal FOG_LEVEL_LISTreturn FOG_LEVEL_LIST.index(FOG_LEVEL)########################def SET_DEFAULT_CAMERA_MAX_DISTANCE():global CAMERA_MAX_DISTANCEapp.SetCameraMaxDistance(CAMERA_MAX_DISTANCE)def SET_CAMERA_MAX_DISTANCE_INDEX(index):global CAMERA_MAX_DISTANCEglobal CAMERA_MAX_DISTANCE_LISTtry:CAMERA_MAX_DISTANCE=CAMERA_MAX_DISTANCE_LIST[index]except:CAMERA_MAX_DISTANCE=CAMERA_MAX_DISTANCE_LIST[0]app.SetCameraMaxDistance(CAMERA_MAX_DISTANCE)def GET_CAMERA_MAX_DISTANCE_INDEX():global CAMERA_MAX_DISTANCEglobal CAMERA_MAX_DISTANCE_LISTreturn CAMERA_MAX_DISTANCE_LIST.index(CAMERA_MAX_DISTANCE)########################import chrmgrimport playerimport appdef SET_DEFAULT_CHRNAME_COLOR():global CHRNAME_COLOR_INDEXchrmgr.SetEmpireNameMode(CHRNAME_COLOR_INDEX)def SET_CHRNAME_COLOR_INDEX(index):global CHRNAME_COLOR_INDEXCHRNAME_COLOR_INDEX=indexchrmgr.SetEmpireNameMode(index)def GET_CHRNAME_COLOR_INDEX():global CHRNAME_COLOR_INDEXreturn CHRNAME_COLOR_INDEXdef SET_VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARD(index):global VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARDVIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARD = indexdef GET_VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARD():global VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARDreturn VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARDdef SET_DEFAULT_CONVERT_EMPIRE_LANGUAGE_ENABLE():global CONVERT_EMPIRE_LANGUAGE_ENABLEnet.SetEmpireLanguageMode(CONVERT_EMPIRE_LANGUAGE_ENABLE)def SET_DEFAULT_USE_ITEM_WEAPON_TABLE_ATTACK_BONUS():global USE_ITEM_WEAPON_TABLE_ATTACK_BONUSplayer.SetWeaponAttackBonusFlag(USE_ITEM_WEAPON_TABLE_ATTACK_BONUS)def SET_DEFAULT_USE_SKILL_EFFECT_ENABLE():global USE_SKILL_EFFECT_UPGRADE_ENABLEapp.SetSkillEffectUpgradeEnable(USE_SKILL_EFFECT_UPGRADE_ENABLE)def SET_TWO_HANDED_WEAPON_ATT_SPEED_DECREASE_VALUE():global TWO_HANDED_WEAPON_ATT_SPEED_DECREASE_VALUEapp.SetTwoHandedWeaponAttSpeedDecreaseValue(TWO_HANDED_WEAPON_ATT_SPEED_DECREASE_VALUE)########################import itemACCESSORY_MATERIAL_LIST = [50623, 50624, 50625, 50626, 50627, 50628, 50629, 50630, 50631, 50632, 50633, 50634, 50635, 50636, 50637, 50638]#ACCESSORY_MATERIAL_LIST = [50623, 50623, 50624, 50624, 50625, 50625, 50626, 50627, 50628, 50629, 50630, 50631, 50632, 50633,# 50623, 50623, 50624, 50624, ]JewelAccessoryInfos = [# jewel wrist neck ear[ 50634, 14420, 16220, 17220 ],[ 50635, 14500, 16500, 17500 ],[ 50636, 14520, 16520, 17520 ],[ 50637, 14540, 16540, 17540 ],[ 50638, 14560, 16560, 17560 ],]def GET_ACCESSORY_MATERIAL_VNUM(vnum, subType):ret = vnumitem_base = (vnum / 10) * 10for info in JewelAccessoryInfos:if item.ARMOR_WRIST == subType:if info[1] == item_base:return info[0]elif item.ARMOR_NECK == subType:if info[2] == item_base:return info[0]elif item.ARMOR_EAR == subType:if info[3] == item_base:return info[0]if vnum >= 16210 and vnum <= 16219:return 50625if item.ARMOR_WRIST == subType:WRIST_ITEM_VNUM_BASE = 14000ret -= WRIST_ITEM_VNUM_BASEelif item.ARMOR_NECK == subType:NECK_ITEM_VNUM_BASE = 16000ret -= NECK_ITEM_VNUM_BASEelif item.ARMOR_EAR == subType:EAR_ITEM_VNUM_BASE = 17000ret -= EAR_ITEM_VNUM_BASEtype = ret/20if type<0 or type>=len(ACCESSORY_MATERIAL_LIST):type = (ret-170) / 20if type<0 or type>=len(ACCESSORY_MATERIAL_LIST):return 0return ACCESSORY_MATERIAL_LIST[type]#################################################################### »õ·Î Ãß°¡µÈ 'º§Æ®' ¾ÆÀÌÅÛ Å¸ÀÔ°ú, º§Æ®ÀÇ ¼ÒÄÏ¿¡ ²ÈÀ» ¾ÆÀÌÅÛ °ü·Ã..## º§Æ®ÀÇ ¼ÒÄϽýºÅÛÀº ¾Ç¼¼¼¸®¿Í µ¿ÀÏÇϱ⠶§¹®¿¡, À§ ¾Ç¼¼¼¸® °ü·Ã ÇϵåÄÚµùó·³ ÀÌ·±½ÄÀ¸·Î ÇÒ ¼ö¹Û¿¡ ¾ø´Ù..def GET_BELT_MATERIAL_VNUM(vnum, subType = 0):# ÇöÀç´Â ¸ðµç º§Æ®¿¡´Â ÇϳªÀÇ ¾ÆÀÌÅÛ(#18900)¸¸ »ðÀÔ °¡´Éreturn 18900## ÀÚµ¿¹°¾à (HP: #72723 ~ #72726, SP: #72727 ~ #72730)# ÇØ´ç vnumÀÌ ÀÚµ¿¹°¾àÀΰ¡?def IS_AUTO_POTION(itemVnum):return IS_AUTO_POTION_HP(itemVnum) or IS_AUTO_POTION_SP(itemVnum)# ÇØ´ç vnumÀÌ HP ÀÚµ¿¹°¾àÀΰ¡?def IS_AUTO_POTION_HP(itemVnum):if 72723 <= itemVnum and 72726 >= itemVnum:return 1elif itemVnum >= 76021 and itemVnum <= 76022: ## »õ·Î µé¾î°£ ¼±¹°¿ë È·æÀÇ Ãູreturn 1elif itemVnum == 79012:return 1return 0# ÇØ´ç vnumÀÌ SP ÀÚµ¿¹°¾àÀΰ¡?def IS_AUTO_POTION_SP(itemVnum):if 72727 <= itemVnum and 72730 >= itemVnum:return 1elif itemVnum >= 76004 and itemVnum <= 76005: ## »õ·Î µé¾î°£ ¼±¹°¿ë ¼ö·æÀÇ Ãູreturn 1elif itemVnum == 79013:return 1return 0def WriteLineInFile(fname, linenum, s):import osfarr = []if os.path.exists(fname):f = open(fname, "r")for line in f:farr.append(line)f.close()while len(farr) < int(linenum):farr.append("")farr[int(linenum)-1] = str(s)f = open(fname, "w")for line in farr:f.write(line)if (len(line) > 0 and line[-1:] != "n") or len(line) == 0:f.write("n")f.close()def ReadLineInFile(fname, linenum):import osif not os.path.exists(fname):return ""f = open(fname, "r")farr = []for line in f:farr.append(line)f.close()if len(farr) >= int(linenum):ret = farr[int(linenum)-1]if ret[-1:] == "n":return ret[:-1]else:return retelse:return ""intrologin
import dbgimport appimport netimport uiimport imeimport sndimport wndMgrimport musicInfoimport serverInfoimport systemSettingimport ServerStateCheckerimport localeInfoimport constInfoimport uiCommonimport timeimport ServerCommandParserimport imeimport uiScriptLocaleHwid = constInfo.HwidSnn = constInfo.SnnRUNUP_MATRIX_AUTH = FALSENEWCIBN_PASSPOD_AUTH = FALSELOGIN_DELAY_SEC = 0.0SKIP_LOGIN_PHASE = FALSESKIP_LOGIN_PHASE_SUPPORT_CHANNEL = FALSEFULL_BACK_IMAGE = FALSEPASSPOD_MSG_DICT = {}VIRTUAL_KEYBOARD_NUM_KEYS = 46VIRTUAL_KEYBOARD_RAND_KEY = TRUEdef 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 srcif localeInfo.IsNEWCIBN() or localeInfo.IsCIBN10():LOGIN_DELAY_SEC = 20.0FULL_BACK_IMAGE = TRUENEWCIBN_PASSPOD_AUTH = TRUEPASSPOD_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 = TRUEelif localeInfo.IsHONGKONG():FULL_BACK_IMAGE = TRUERUNUP_MATRIX_AUTH = TRUEPASSPOD_MSG_DICT = {"NOTELE" : localeInfo.LOGIN_FAILURE_NOTELEBLOCK,}elif localeInfo.IsJAPAN():FULL_BACK_IMAGE = TRUEdef IsFullBackImage():global FULL_BACK_IMAGEreturn FULL_BACK_IMAGEdef IsLoginDelay():global LOGIN_DELAY_SECif LOGIN_DELAY_SEC > 0.0:return TRUEelse:return FALSEdef IsRunupMatrixAuth():global RUNUP_MATRIX_AUTHreturn RUNUP_MATRIX_AUTHdef IsNEWCIBNPassPodAuth():global NEWCIBN_PASSPOD_AUTHreturn NEWCIBN_PASSPOD_AUTHdef GetLoginDelay():global LOGIN_DELAY_SECreturn LOGIN_DELAY_SECapp.SetGuildMarkPath("test")class Item(ui.ListBoxEx.Item):def __init__(self, fileName):ui.ListBoxEx.Item.__init__(self)self.canLoad=0self.text=fileNameself.textLine=self.__CreateTextLine(fileName)def __del__(self):ui.ListBoxEx.Item.__del__(self)def GetText(self):return self.textdef SetSize(self, width, height):ui.ListBoxEx.Item.SetSize(self, 6*len(self.textLine.GetText()) + 4, height)def __CreateTextLine(self, fileName):textLine=ui.TextLine()textLine.SetParent(self)textLine.SetPosition(0, 0)textLine.SetText(fileName)textLine.SetFontColor(25.0, 25.0, 25.0)textLine.Show()return textLineclass ConnectingDialog(ui.ScriptWindow):def __init__(self):ui.ScriptWindow.__init__(self)self.__LoadDialog()self.eventTimeOver = lambda *arg: Noneself.eventExit = lambda *arg: Nonedef __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 exceptionexception.Abort("ConnectingDialog.LoadDialog.BindObject")def Open(self, waitTime):curTime = time.clock()self.endTime = curTime + waitTimeself.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):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 TRUEclass 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 = 0self.lastLoginTime = 0self.inputDialog = Noneself.connectingDialog = Noneself.stream=streamself.isNowCountDown=FALSEself.isStartError=FALSEself.xServerBoard = 0self.yServerBoard = 0self.loadingImage = Noneself.virtualKeyboard = Noneself.virtualKeyboardMode = "ALPHABET"self.virtualKeyboardIsUpper = FALSEdef __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" : 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")returnself.__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_PHASEif SKIP_LOGIN_PHASE:if self.isStartError:self.connectBoard.Hide()self.loginBoard.Hide()self.serverBoard.Hide()self.PopupNotifyMessage(localeInfo.LOGIN_CONNECT_FAILURE, self.__ExitGame)returnif 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:f = open("miles/login.cfg", "r+")configuracao = f.readline(1)if configuracao == "0":f.close()self.connectBoard.Hide()self.loginBoard.Hide()self.ShowRuleBoard()else:self.__RefreshServerList()self.__OpenServerBoard()app.ShowCursor()def ShowRuleBoard(self):f = open("miles/rules.txt", "r+")rules = f.readlines()f.close()self.RuleBoard = ui.ThinBoard()self.RuleBoard.SetSize(520,550)self.RuleBoard.SetCenterPosition()self.RuleBoard.Show()self.Text = ui.ListBoxEx()self.Text.SetParent(self.RuleBoard)self.Text.SetSize(500, 400)self.Text.SetViewItemCount(20)self.Text.SetPosition(10, 80)for line in rules:self.Text.AppendItem(Item(line))self.Text.Show()self.scroll = ui.ScrollBar()self.scroll.SetParent(self.RuleBoard)self.scroll.SetPosition(500-10, 80)self.scroll.SetScrollBarSize(400)self.scroll.Show()self.Text.SetScrollBar(self.scroll)self.Accept = ui.Button()self.Accept.SetParent(self.RuleBoard)self.Accept.SetPosition(250-200,510)self.Accept.SetUpVisual("d:/ymir work/ui/public/xlarge_Button_01.sub")self.Accept.SetOverVisual("d:/ymir work/ui/public/xlarge_Button_02.sub")self.Accept.SetDownVisual("d:/ymir work/ui/public/xlarge_Button_03.sub")self.Accept.SetText("Aceitar")self.Accept.SetEvent(ui.__mem_func__(self.__Accept))self.Accept.Show()self.Decline = ui.Button()self.Decline.SetParent(self.RuleBoard)self.Decline.SetPosition(250+20,510)self.Decline.SetUpVisual("d:/ymir work/ui/public/xlarge_Button_01.sub")self.Decline.SetOverVisual("d:/ymir work/ui/public/xlarge_Button_02.sub")self.Decline.SetDownVisual("d:/ymir work/ui/public/xlarge_Button_03.sub")self.Decline.SetText("Não aceitar")self.Decline.SetEvent(ui.__mem_func__(self.__Decline))self.Decline.Show()def __Accept(self):if self.scroll.GetPos() == 1:self.RuleBoard.Hide()f = open("miles/login.cfg", "r+")f.write("1")f.close()self.__RefreshServerList()self.__OpenServerBoard()else:self.PopupNotifyMessage("É OBRIGATÓRIO LER TODAS AS REGRAS!!!")def __Decline(self):app.Exit()def Close(self):if self.connectingDialog:self.connectingDialog.Close()self.connectingDialog = NoneServerStateChecker.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 = Noneself.loginBoard = Noneself.idEditLine = Noneself.pwdEditLine = Noneself.inputDialog = Noneself.connectingDialog = Noneself.loadingImage = Noneself.serverBoard = Noneself.serverList = Noneself.channelList = None# RUNUP_MATRIX_AUTHself.matrixQuizBoard = Noneself.matrixAnswerInput = Noneself.matrixAnswerOK = Noneself.matrixAnswerCancel = None# RUNUP_MATRIX_AUTH_END# NEWCIBN_PASSPOD_AUTHself.passpodBoard = Noneself.passpodAnswerInput = Noneself.passpodAnswerOK = Noneself.passpodAnswerCancel = None# NEWCIBN_PASSPOD_AUTH_ENDself.VIRTUAL_KEY_ALPHABET_LOWERS = Noneself.VIRTUAL_KEY_ALPHABET_UPPERS = Noneself.VIRTUAL_KEY_SYMBOLS = Noneself.VIRTUAL_KEY_NUMBERS = None# VIRTUAL_KEYBOARD_BUG_FIXif 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 = Noneself.KillFocus()self.Hide()self.stream.popupWindow.Close()self.loginFailureFuncDict=Noneime.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, selChannelIDexcept:print "LoginWindow.__LoadChannelInfo - OpenError"return -1, -1, -1def __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 = FALSEself.OnConnectFailure()def OnConnectFailure(self):if self.isNowCountDown:returnsnd.PlaySound("sound/ui/loginfail.wav")if self.connectingDialog:self.connectingDialog.Close()self.connectingDialog = Noneif 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 = Nonetry:loginFailureMsg = self.loginFailureMsgDict[error]except KeyError:if PASSPOD_MSG_DICT:try:loginFailureMsg = PASSPOD_MSG_DICT[error]except KeyError:loginFailureMsg = localeInfo.LOGIN_FAILURE_UNKNOWN + errorelse: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 = Noneself.SetIDEditLineFocus()net.Disconnect()def __DisconnectAndInputPassword(self):if self.connectingDialog:self.connectingDialog.Close()self.connectingDialog = Noneself.SetPasswordEditLineFocus()net.Disconnect()def __DisconnectAndInputMatrix(self):if self.connectingDialog:self.connectingDialog.Close()self.connectingDialog = Noneself.stream.popupWindow.Close()self.matrixInputChanceCount -= 1if 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 exceptionexception.Abort("LoginWindow.__LoadScript.LoadObject")try:GetObject=self.GetChildself.serverBoard = GetObject("ServerBoard")self.serverList = GetObject("ServerList")self.channelList = GetObject("ChannelList")self.serverSelectButton = GetObject("ServerSelectButton")self.serverExitButton = GetObject("ServerExitButton")self.connectBoard = GetObject("ConnectBoard")self.loginBoard = GetObject("LoginBoard")self.idEditLine = GetObject("ID_EditLine")self.pwdEditLine = GetObject("Password_EditLine")self.serverInfo = GetObject("ConnectName")self.selectConnectButton = GetObject("SelectConnectButton")self.loginButton = GetObject("LoginButton")self.loginExitButton = GetObject("LoginExitButton")if localeInfo.IsVIETNAM():self.checkButton = GetObject("CheckButton")self.checkButton.Down()# RUNUP_MATRIX_AUTHif IsRunupMatrixAuth():self.matrixQuizBoard = GetObject("RunupMatrixQuizBoard")self.matrixAnswerInput = GetObject("RunupMatrixAnswerInput")self.matrixAnswerOK = GetObject("RunupMatrixAnswerOK")self.matrixAnswerCancel = GetObject("RunupMatrixAnswerCancel")# RUNUP_MATRIX_AUTH_END# NEWCIBN_PASSPOD_AUTHif 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_ENDself.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])if localeInfo.IsBRAZIL():self.VIRTUAL_KEY_SYMBOLS_BR = Suffle(localeInfo.VIRTUAL_KEY_SYMBOLS_BR)else:self.VIRTUAL_KEY_SYMBOLS = Suffle(localeInfo.VIRTUAL_KEY_SYMBOLS)self.VIRTUAL_KEY_NUMBERS = Suffle(localeInfo.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 exceptionexception.Abort("LoginWindow.__LoadScript.BindObject")if self.IS_TEST:self.selectConnectButton.Hide()else:self.selectConnectButton.SetEvent(ui.__mem_func__(self.__OnClickSelectConnectButton))self.serverBoard.OnKeyUp = ui.__mem_func__(self.__ServerBoard_OnKeyUp)self.xServerBoard, self.yServerBoard = self.serverBoard.GetLocalPosition()self.serverSelectButton.SetEvent(ui.__mem_func__(self.__OnClickSelectServerButton))self.serverExitButton.SetEvent(ui.__mem_func__(self.__OnClickExitButton))self.loginButton.SetEvent(ui.__mem_func__(self.__OnClickLoginButton))self.loginExitButton.SetEvent(ui.__mem_func__(self.__OnClickExitButton))self.serverList.SetEvent(ui.__mem_func__(self.__OnSelectServer))self.idEditLine.SetReturnEvent(ui.__mem_func__(self.pwdEditLine.SetFocus))self.idEditLine.SetTabEvent(ui.__mem_func__(self.pwdEditLine.SetFocus))self.pwdEditLine.SetReturnEvent(ui.__mem_func__(self.__OnClickLoginButton))self.pwdEditLine.SetTabEvent(ui.__mem_func__(self.idEditLine.SetFocus))# RUNUP_MATRIX_AUTHif 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_AUTHif IsNEWCIBNPassPodAuth():self.passpodAnswerOK.SAFE_SetEvent(self.__OnClickNEWCIBNPasspodAnswerOK)self.passpodAnswerCancel.SAFE_SetEvent(self.__OnClickNEWCIBNPasspodAnswerCancel)self.passpodAnswerInput.SAFE_SetReturnEvent(self.__OnClickNEWCIBNPasspodAnswerOK)# NEWCIBN_PASSPOD_AUTH_ENDif IsFullBackImage():self.GetChild("bg1").Show()self.GetChild("bg2").Hide()return 1def __VirtualKeyboard_SetKeys(self, keyCodes):uiDefFontBackup = localeInfo.UI_DEF_FONTlocaleInfo.UI_DEF_FONT = localeInfo.UI_DEF_FONT_LARGEkeyIndex = 1for 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 += 1for 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 = uiDefFontBackupdef __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 = TRUEif self.virtualKeyboardMode == "ALPHABET":self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_ALPHABET_UPPERS)elif self.virtualKeyboardMode == "NUMBER":if localeInfo.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 = FALSEif self.virtualKeyboardMode == "ALPHABET":self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_ALPHABET_LOWERS)elif self.virtualKeyboardMode == "NUMBER":self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_NUMBERS)else:if localeInfo.IsBRAZIL():self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_SYMBOLS_BR)else:self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_SYMBOLS)def __VirtualKeyboard_SetAlphabetMode(self):self.virtualKeyboardIsUpper = FALSEself.virtualKeyboardMode = "ALPHABET"self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_ALPHABET_LOWERS)def __VirtualKeyboard_SetNumberMode(self):self.virtualKeyboardIsUpper = FALSEself.virtualKeyboardMode = "NUMBER"self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_NUMBERS)def __VirtualKeyboard_SetSymbolMode(self):self.virtualKeyboardIsUpper = FALSEself.virtualKeyboardMode = "SYMBOL"if localeInfo.IsBRAZIL():self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_SYMBOLS_BR)else:self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_SYMBOLS)def Connect(self, id, pwd, Hwid, Snn):global Hwid, Snnif 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 = TRUEelse:self.stream.popupWindow.Close()self.stream.popupWindow.Open(localeInfo.LOGIN_CONNETING, self.SetPasswordEditLineFocus, localeInfo.UI_CANCEL)self.stream.SetLoginInfo(id, pwd, Hwid, Snn)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):global Hwid, Snntry: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=addraccount_port=portnet.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 exceptionexception.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=isAutoLoginself.stream.isAutoSelect=isAutoSelectself.id = Noneself.pwd = Noneself.Hwid = Hwidself.Snn = Snnself.loginnedServer = Noneself.loginnedChannel = Noneapp.loggined = FALSEself.loginInfo = loginInfoif self.id and self.pwd:app.loggined = TRUEif isAutoLogin:self.Connect(id, pwd, Hwid, Snn)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.EmptyFuncself.stream.popupWindow.Close()self.stream.popupWindow.Open(msg, func, localeInfo.UI_OK)# RUNUP_MATRIX_AUTHdef BINARY_OnRunupMatrixQuiz(self, quiz):if not IsRunupMatrixAuth():returnid = 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_AUTHdef BINARY_OnNEWCIBNPasspodRequest(self):if not IsNEWCIBNPassPodAuth():returnif self.connectingDialog:self.connectingDialog.Close()self.connectingDialog = Noneself.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():returndef __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_ENDdef OnMatrixCard(self, row1, row2, row3, row4, col1, col2, col3, col4):if self.connectingDialog:self.connectingDialog.Close()self.connectingDialog = Noneself.matrixInputChanceCount = 3self.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_FIXrow1 = chr(row1 + ord('A'))row2 = chr(row2 + ord('A'))row3 = chr(row3 + ord('A'))row4 = chr(row4 + ord('A'))col1 = col1 + 1col2 = col2 + 1col3 = col3 + 1col4 = col4 + 1inputDialog = 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 = inputDialogdef __OnAcceptMatrixCardData(self):text = self.inputDialog.GetText()net.SendChinaMatrixCardPacket(text)if self.inputDialog:self.inputDialog.Hide()self.PopupNotifyMessage(localeInfo.LOGIN_PROCESSING)return TRUEdef __OnCancelMatrixCardData(self):self.SetPasswordEditLineFocus()self.__OnCloseInputDialog()self.__DisconnectAndInputPassword()return TRUEdef __OnCloseInputDialog(self):if self.inputDialog:self.inputDialog.Close()self.inputDialog = Nonereturn TRUEdef OnPressExitKey(self):self.stream.popupWindow.Close()self.stream.SetPhaseWindow(0)return TRUEdef 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 TRUEdef __GetRegionID(self):return 0def __GetServerID(self):return self.serverList.GetSelectedItem()def __GetChannelID(self):return self.channelList.GetSelectedItem()# SEVER_LIST_BUG_FIXdef __ServerIDToServerIndex(self, regionID, targetServerID):try:regionDict = serverInfo.REGION_DICT[regionID]except KeyError:return -1retServerIndex = 0for eachServerID, regionDataDict in regionDict.items():if eachServerID == targetServerID:return retServerIndexretServerIndex += 1return -1def __ChannelIDToChannelIndex(self, channelID):return channelID - 1# END_OF_SEVER_LIST_BUG_FIXdef __OpenServerBoard(self):loadRegionID, loadServerID, loadChannelID = self.__LoadChannelInfo()serverIndex = self.__ServerIDToServerIndex(loadRegionID, loadServerID)channelIndex = self.__ChannelIDToChannelIndex(loadChannelID)# RUNUP_MATRIX_AUTHif IsRunupMatrixAuth():self.matrixQuizBoard.Hide()# RUNUP_MATRIX_AUTH_END# NEWCIBN_PASSPOD_AUTHif IsNEWCIBNPassPodAuth():self.passpodBoard.Hide()# NEWCIBN_PASSPOD_AUTH_ENDself.serverList.SelectItem(serverIndex)if localeInfo.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(localeInfo.UI_CLOSE)# RUNUP_MATRIX_AUTHif IsRunupMatrixAuth():self.matrixQuizBoard.Hide()# RUNUP_MATRIX_AUTH_END# NEWCIBN_PASSPOD_AUTHif IsNEWCIBNPassPodAuth():self.passpodBoard.Hide()# NEWCIBN_PASSPOD_AUTH_ENDself.serverBoard.SetPosition(self.xServerBoard, wndMgr.GetScreenHeight())self.serverBoard.Hide()if self.virtualKeyboard:self.virtualKeyboard.Show()if app.loggined:self.Connect(self.id, self.pwd)self.connectBoard.Hide()self.loginBoard.Hide()elif not self.stream.isAutoLogin:self.connectBoard.Show()self.loginBoard.Show()## if users have the login infomation, then don't initialize.2005.9 hahoif self.idEditLine == None:self.idEditLine.SetText("")if self.pwdEditLine == None:self.pwdEditLine.SetText("")self.idEditLine.SetFocus()global SKIP_LOGIN_PHASEif SKIP_LOGIN_PHASE:if not self.loginInfo:self.connectBoard.Hide()def __OnSelectRegionGroup(self):self.__RefreshServerList()def __OnSelectSettlementArea(self):# SEVER_LIST_BUG_FIXregionID = self.__GetRegionID()serverID = self.serverListOnRegionBoard.GetSelectedItem()serverIndex = self.__ServerIDToServerIndex(regionID, serverID)self.serverList.SelectItem(serverIndex)# END_OF_SEVER_LIST_BUG_FIXself.__OnSelectServer()def __RefreshServerList(self):regionID = self.__GetRegionID()if not serverInfo.REGION_DICT.has_key(regionID):returnself.serverList.ClearItem()regionDict = serverInfo.REGION_DICT[regionID]# SEVER_LIST_BUG_FIXvisible_index = 1for 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 += 1else:try:server_id = serverInfo.SERVER_ID_DICT[id]except:server_id = visible_indexself.serverList.InsertItem(id, " %02d. %s" % (int(server_id), name))visible_index += 1# END_OF_SEVER_LIST_BUG_FIXdef __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)returnServerStateChecker.Initialize();for id, channelDataDict in channelDict.items():key=channelDataDict["key"]ip=channelDataDict["ip"]udp_port=channelDataDict["udp_port"]ServerStateChecker.AddChannel(key, ip, udp_port)ServerStateChecker.Request()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)returnfor 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_PVPelse:return localeInfo.CHANNEL_NORMAL % (selChannelID)def NotifyChannelState(self, addrKey, state):try:stateName=serverInfo.STATE_DICT[state]except:stateName=serverInfo.STATE_NONEregionID=int(addrKey/1000)serverID=int(addrKey/10) % 100channelID=addrKey%10try:serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["state"] = stateNameself.__RefreshServerStateList()except:import exceptionexception.Abort(localeInfo.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(localeInfo.CHANNEL_SELECT_REGION)returnif (not serverInfo.REGION_DICT[regionID].has_key(serverID)):self.PopupNotifyMessage(localeInfo.CHANNEL_SELECT_SERVER)returnself.__SaveChannelInfo()self.serverExitButton.SetEvent(ui.__mem_func__(self.__OnClickExitServerButton))self.serverExitButton.SetText(localeInfo.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(localeInfo.CHANNEL_SELECT_REGION)returnif (not serverInfo.REGION_DICT[regionID].has_key(serverID)):self.PopupNotifyMessage(localeInfo.CHANNEL_SELECT_SERVER)returntry:channelDict = serverInfo.REGION_DICT[regionID][serverID]["channel"]except KeyError:returntry:state = channelDict[channelID]["state"]except KeyError:self.PopupNotifyMessage(localeInfo.CHANNEL_SELECT_CHANNEL)return# »óÅ°¡ FULL °ú °°À¸¸é ÁøÀÔ ±ÝÁöif state == serverInfo.STATE_DICT[3]:self.PopupNotifyMessage(localeInfo.CHANNEL_NOTIFY_FULL)returnself.__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.ForceSetlocaleInfo("ymir", "localeInfo/ymir")elif "Äèµµ ¼¹ö" == serverName:app.ForceSetlocaleInfo("we_korea", "localeInfo/we_korea")except:print " ERROR __OnClickSelectServerButton(%d, %d, %d)" % (regionID, serverID, channelID)serverName = localeInfo.CHANNEL_EMPTY_SERVERchannelName = localeInfo.CHANNEL_NORMAL % channelIDself.__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 exceptionexception.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 = 0account_port = 0try:markKey = regionID*1000 + serverID*10markAddrValue=serverInfo.MARKADDR_DICT[markKey]net.SetMarkServer(markAddrValue["ip"], markAddrValue["tcp_port"])app.SetGuildMarkPath(markAddrValue["mark"])# GUILD_SYMBOLapp.SetGuildSymbolPath(markAddrValue["symbol_path"])# END_OF_GUILD_SYMBOLexcept:import exceptionexception.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 __OnClickSelectConnectButton(self):if IsFullBackImage():self.GetChild("bg1").Show()self.GetChild("bg2").Hide()self.__RefreshServerList()self.__OpenServerBoard()def __OnClickLoginButton(self):global Hwid, Snnid = self.idEditLine.GetText()pwd = self.pwdEditLine.GetText()if len(id)==0:self.PopupNotifyMessage(localeInfo.LOGIN_INPUT_ID, self.SetIDEditLineFocus)returnif len(pwd)==0:self.PopupNotifyMessage(localeInfo.LOGIN_INPUT_PASSWORD, self.SetPasswordEditLineFocus)returnself.Connect(id, pwd, Hwid, Snn)networkmodule#################################################################################################### Networkimport appimport chrimport dbgimport netimport sndimport chrimport chrmgrimport backgroundimport playerimport playerSettingModuleimport uiimport uiPhaseCurtainimport localeInfoimport constInfoHwid=constInfo.HwidSnn=constInfo.Snnclass PopupDialog(ui.ScriptWindow):def __init__(self):print "NEW POPUP DIALOG ----------------------------------------------------------------------------"ui.ScriptWindow.__init__(self)self.CloseEvent = 0def __del__(self):print "---------------------------------------------------------------------------- DELETE POPUP DIALOG "ui.ScriptWindow.__del__(self)def LoadDialog(self):PythonScriptLoader = ui.PythonScriptLoader()PythonScriptLoader.LoadScriptFile(self, "UIScript/PopupDialog.py")def Open(self, Message, event = 0, ButtonName = localeInfo.UI_CANCEL):if TRUE == self.IsShow():self.Close()self.Lock()self.SetTop()self.CloseEvent = eventAcceptButton = self.GetChild("accept")AcceptButton.SetText(ButtonName)AcceptButton.SetEvent(ui.__mem_func__(self.Close))self.GetChild("message").SetText(Message)self.Show()def Close(self):if FALSE == self.IsShow():self.CloseEvent = 0returnself.Unlock()self.Hide()if 0 != self.CloseEvent:self.CloseEvent()self.CloseEvent = 0def Destroy(self):self.Close()self.ClearDictionary()def OnPressEscapeKey(self):self.Close()return TRUEdef OnIMEReturn(self):self.Close()return TRUE#### Main Stream##class MainStream(object):isChrData=0def __init__(self):print "NEWMAIN STREAM ----------------------------------------------------------------------------"net.SetHandler(self)net.SetTCPRecvBufferSize(128*1024)net.SetTCPSendBufferSize(4096)net.SetUDPRecvBufferSize(4096)self.id=""self.pwd=""self.Hwid=constInfo.Hwidself.Snn=constInfo.Snnself.addr=""self.port=0self.account_addr=0self.account_port=0self.slot=0self.isAutoSelect=0self.isAutoLogin=0self.curtain = 0self.curPhaseWindow = 0self.newPhaseWindow = 0def __del__(self):print "---------------------------------------------------------------------------- DELETE MAIN STREAM "def Destroy(self):if self.curPhaseWindow:self.curPhaseWindow.Close()self.curPhaseWindow = 0if self.newPhaseWindow:self.newPhaseWindow.Close()self.newPhaseWindow = 0self.popupWindow.Destroy()self.popupWindow = 0self.curtain = 0def Create(self):self.CreatePopupDialog()self.curtain = uiPhaseCurtain.PhaseCurtain()def SetPhaseWindow(self, newPhaseWindow):if self.newPhaseWindow:#print "이미 새로운 윈도우로 바꾼상태에서 또 바꿈", newPhaseWindowself.__ChangePhaseWindow()self.newPhaseWindow=newPhaseWindowif self.curPhaseWindow:#print "페이드 아웃되면 바꿈"self.curtain.FadeOut(self.__ChangePhaseWindow)else:#print "현재 윈도우가 없는 상태라 바로 바꿈"self.__ChangePhaseWindow()def __ChangePhaseWindow(self):oldPhaseWindow=self.curPhaseWindownewPhaseWindow=self.newPhaseWindowself.curPhaseWindow=0self.newPhaseWindow=0if oldPhaseWindow:oldPhaseWindow.Close()if newPhaseWindow:newPhaseWindow.Open()self.curPhaseWindow=newPhaseWindowif self.curPhaseWindow:self.curtain.FadeIn()else:app.Exit()def CreatePopupDialog(self):self.popupWindow = PopupDialog()self.popupWindow.LoadDialog()self.popupWindow.SetCenterPosition()self.popupWindow.Hide()## SelectPhase##########################################################################################def SetLogoPhase(self):net.Disconnect()import introLogoself.SetPhaseWindow(introLogo.LogoWindow(self))def SetLoginPhase(self):net.Disconnect()import introLoginself.SetPhaseWindow(introLogin.LoginWindow(self))def SetSelectEmpirePhase(self):try:import introEmpireself.SetPhaseWindow(introEmpire.SelectEmpireWindow(self))except:import exceptionexception.Abort("networkModule.SetSelectEmpirePhase")def SetReselectEmpirePhase(self):try:import introEmpireself.SetPhaseWindow(introEmpire.ReselectEmpireWindow(self))except:import exceptionexception.Abort("networkModule.SetReselectEmpirePhase")def SetSelectCharacterPhase(self):try:localeInfo.LoadLocaleData()import introSelectself.popupWindow.Close()self.SetPhaseWindow(introSelect.SelectCharacterWindow(self))except:import exceptionexception.Abort("networkModule.SetSelectCharacterPhase")def SetCreateCharacterPhase(self):try:import introCreateself.SetPhaseWindow(introCreate.CreateCharacterWindow(self))except:import exceptionexception.Abort("networkModule.SetCreateCharacterPhase")def SetTestGamePhase(self, x, y):try:import introLoadingloadingPhaseWindow=introLoading.LoadingWindow(self)loadingPhaseWindow.LoadData(x, y)self.SetPhaseWindow(loadingPhaseWindow)except:import exceptionexception.Abort("networkModule.SetLoadingPhase")def SetLoadingPhase(self):try:import introLoadingself.SetPhaseWindow(introLoading.LoadingWindow(self))except:import exceptionexception.Abort("networkModule.SetLoadingPhase")def SetGamePhase(self):try:import gameself.popupWindow.Close()self.SetPhaseWindow(game.GameWindow(self))except:raiseimport exceptionexception.Abort("networkModule.SetGamePhase")################################# Functions used in python## Logindef Connect(self):import constInfoif constInfo.KEEP_ACCOUNT_CONNETION_ENABLE:net.ConnectToAccountServer(self.addr, self.port, self.account_addr, self.account_port)else:net.ConnectTCP(self.addr, self.port)#net.ConnectUDP(IP, Port)def SetConnectInfo(self, addr, port, account_addr=0, account_port=0):self.addr = addrself.port = portself.account_addr = account_addrself.account_port = account_portdef GetConnectAddr(self):return self.addrdef SetLoginInfo(self, id, pwd, Hwid, Snn):self.id = idself.pwd = pwdself.Hwid = constInfo.Hwidself.Snn = constInfo.Snnnet.SetLoginInfo(id, pwd, Hwid, Snn)def CancelEnterGame(self):pass## Selectdef SetCharacterSlot(self, slot):self.slot=slotdef GetCharacterSlot(self):return self.slot## Emptydef EmptyFunction(self):pass -
1201 14:28:14163 :: Traceback (most recent call last):1201 14:28:14163 :: File "introLogo.py", line 60, in OnUpdate1201 14:28:14163 :: File "networkModule.py", line 183, in SetLoginPhase1201 14:28:14164 :: File "system.py", line 130, in __pack_import1201 14:28:14164 :: File "1201 14:28:14164 :: introLogin.py1201 14:28:14164 :: ", line1201 14:28:14164 :: 7771201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 :: if constInfo.SEQUENCE_PACKET_ENABLE:1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 ::1201 14:28:14164 :: ^1201 14:28:14164 :: IndentationError1201 14:28:14164 :: :1201 14:28:14164 :: unindent does not match any outer indentation level1201 14:28:14164 ::
-
Its Work.
-
My error syserr
constinfo
import itemimport ostry: Hwid = os.popen("wmic csproduct get uuid").read().split("n")[1]except: Hwid = os.popen("%WINDIR%/system32/wbem/wmic csproduct get uuid").read().split("n")[1]try: Snn = os.popen('wmic path win32_physicalmedia get SerialNumber').read().split("n")[1]except: Snn = os.popen("%WINDIR%/system32/wbem/wmic path win32_physicalmedia get SerialNumber").read().split("n")[1]nacht = 0tag = 0ENVIRONMENT_MORNING = "d:/ymir work/environment/mtthunder.msenv" #AMANHECENDO (05, 06, 07)ENVIRONMENT_DAY = "d:/ymir work/environment/morning.msenv" #MANHà (08, 09, 10)ENVIRONMENT_AFTERNOON = "d:/ymir work/environment/evening.msenv" #ENTARDECENDO (17, 18)ENVIRONMENT_EVENING = "d:/ymir work/environment/bayblacksand.msenv" #ANOITECENDO (19, 20)ENVIRONMENT_NIGHT = "d:/ymir work/environment/moonlight04.msenv" #NOITE (21, 22, 23, 00, 01, 02, 03, 04)###################################################################################################################AFK = 0#################################INPUT_IGNORE = 0###################################################### optionIN_GAME_SHOP_ENABLE = 1CONSOLE_ENABLE = 0PVPMODE_ENABLE = 1PVPMODE_TEST_ENABLE = 0PVPMODE_ACCELKEY_ENABLE = 1PVPMODE_ACCELKEY_DELAY = 0.5PVPMODE_PROTECTED_LEVEL = 30FOG_LEVEL0 = 4800.0FOG_LEVEL1 = 9600.0FOG_LEVEL2 = 12800.0FOG_LEVEL = FOG_LEVEL0FOG_LEVEL_LIST=[FOG_LEVEL0, FOG_LEVEL1, FOG_LEVEL2]CAMERA_MAX_DISTANCE_SHORT = 2500.0CAMERA_MAX_DISTANCE_LONG = 3500.0CAMERA_MAX_DISTANCE_LIST=[CAMERA_MAX_DISTANCE_SHORT, CAMERA_MAX_DISTANCE_LONG]CAMERA_MAX_DISTANCE = CAMERA_MAX_DISTANCE_SHORTCHRNAME_COLOR_INDEX = 0ENVIRONMENT_NIGHT="d:/ymir work/environment/moonlight04.msenv"# constantHIGH_PRICE = 500000MIDDLE_PRICE = 50000ERROR_METIN_STONE = 28960SUB2_LOADING_ENABLE = 1EXPANDED_COMBO_ENABLE = 1CONVERT_EMPIRE_LANGUAGE_ENABLE = 1USE_ITEM_WEAPON_TABLE_ATTACK_BONUS = 0ADD_DEF_BONUS_ENABLE = 1LOGIN_COUNT_LIMIT_ENABLE = 0USE_SKILL_EFFECT_UPGRADE_ENABLE = 1VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARD = 1GUILD_MONEY_PER_GSP = 100GUILD_WAR_TYPE_SELECT_ENABLE = 1TWO_HANDED_WEAPON_ATT_SPEED_DECREASE_VALUE = 0HAIR_COLOR_ENABLE = 1ARMOR_SPECULAR_ENABLE = 1WEAPON_SPECULAR_ENABLE = 1SEQUENCE_PACKET_ENABLE = 1KEEP_ACCOUNT_CONNETION_ENABLE = 1MINIMAP_POSITIONINFO_ENABLE = 0#################################################CONVERT_EMPIRE_LANGUAGE_ENABLE = 0USE_ITEM_WEAPON_TABLE_ATTACK_BONUS = 0ADD_DEF_BONUS_ENABLE = 0LOGIN_COUNT_LIMIT_ENABLE = 0PVPMODE_PROTECTED_LEVEL = 15TWO_HANDED_WEAPON_ATT_SPEED_DECREASE_VALUE = 10#################################################isItemDropQuestionDialog = 0def GET_ITEM_DROP_QUESTION_DIALOG_STATUS():global isItemDropQuestionDialogreturn isItemDropQuestionDialogdef SET_ITEM_DROP_QUESTION_DIALOG_STATUS(flag):global isItemDropQuestionDialogisItemDropQuestionDialog = flagimport appimport net########################def SET_DEFAULT_FOG_LEVEL():global FOG_LEVELapp.SetMinFog(FOG_LEVEL)def SET_FOG_LEVEL_INDEX(index):global FOG_LEVELglobal FOG_LEVEL_LISTtry:FOG_LEVEL=FOG_LEVEL_LIST[index]except IndexError:FOG_LEVEL=FOG_LEVEL_LIST[0]app.SetMinFog(FOG_LEVEL)def GET_FOG_LEVEL_INDEX():global FOG_LEVELglobal FOG_LEVEL_LISTreturn FOG_LEVEL_LIST.index(FOG_LEVEL)########################def SET_DEFAULT_CAMERA_MAX_DISTANCE():global CAMERA_MAX_DISTANCEapp.SetCameraMaxDistance(CAMERA_MAX_DISTANCE)def SET_CAMERA_MAX_DISTANCE_INDEX(index):global CAMERA_MAX_DISTANCEglobal CAMERA_MAX_DISTANCE_LISTtry:CAMERA_MAX_DISTANCE=CAMERA_MAX_DISTANCE_LIST[index]except:CAMERA_MAX_DISTANCE=CAMERA_MAX_DISTANCE_LIST[0]app.SetCameraMaxDistance(CAMERA_MAX_DISTANCE)def GET_CAMERA_MAX_DISTANCE_INDEX():global CAMERA_MAX_DISTANCEglobal CAMERA_MAX_DISTANCE_LISTreturn CAMERA_MAX_DISTANCE_LIST.index(CAMERA_MAX_DISTANCE)########################import chrmgrimport playerimport appdef SET_DEFAULT_CHRNAME_COLOR():global CHRNAME_COLOR_INDEXchrmgr.SetEmpireNameMode(CHRNAME_COLOR_INDEX)def SET_CHRNAME_COLOR_INDEX(index):global CHRNAME_COLOR_INDEXCHRNAME_COLOR_INDEX=indexchrmgr.SetEmpireNameMode(index)def GET_CHRNAME_COLOR_INDEX():global CHRNAME_COLOR_INDEXreturn CHRNAME_COLOR_INDEXdef SET_VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARD(index):global VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARDVIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARD = indexdef GET_VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARD():global VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARDreturn VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARDdef SET_DEFAULT_CONVERT_EMPIRE_LANGUAGE_ENABLE():global CONVERT_EMPIRE_LANGUAGE_ENABLEnet.SetEmpireLanguageMode(CONVERT_EMPIRE_LANGUAGE_ENABLE)def SET_DEFAULT_USE_ITEM_WEAPON_TABLE_ATTACK_BONUS():global USE_ITEM_WEAPON_TABLE_ATTACK_BONUSplayer.SetWeaponAttackBonusFlag(USE_ITEM_WEAPON_TABLE_ATTACK_BONUS)def SET_DEFAULT_USE_SKILL_EFFECT_ENABLE():global USE_SKILL_EFFECT_UPGRADE_ENABLEapp.SetSkillEffectUpgradeEnable(USE_SKILL_EFFECT_UPGRADE_ENABLE)def SET_TWO_HANDED_WEAPON_ATT_SPEED_DECREASE_VALUE():global TWO_HANDED_WEAPON_ATT_SPEED_DECREASE_VALUEapp.SetTwoHandedWeaponAttSpeedDecreaseValue(TWO_HANDED_WEAPON_ATT_SPEED_DECREASE_VALUE)########################import itemACCESSORY_MATERIAL_LIST = [50623, 50624, 50625, 50626, 50627, 50628, 50629, 50630, 50631, 50632, 50633, 50634, 50635, 50636, 50637, 50638]#ACCESSORY_MATERIAL_LIST = [50623, 50623, 50624, 50624, 50625, 50625, 50626, 50627, 50628, 50629, 50630, 50631, 50632, 50633,# 50623, 50623, 50624, 50624, ]JewelAccessoryInfos = [# jewel wrist neck ear[ 50634, 14420, 16220, 17220 ],[ 50635, 14500, 16500, 17500 ],[ 50636, 14520, 16520, 17520 ],[ 50637, 14540, 16540, 17540 ],[ 50638, 14560, 16560, 17560 ],]def GET_ACCESSORY_MATERIAL_VNUM(vnum, subType):ret = vnumitem_base = (vnum / 10) * 10for info in JewelAccessoryInfos:if item.ARMOR_WRIST == subType:if info[1] == item_base:return info[0]elif item.ARMOR_NECK == subType:if info[2] == item_base:return info[0]elif item.ARMOR_EAR == subType:if info[3] == item_base:return info[0]if vnum >= 16210 and vnum <= 16219:return 50625if item.ARMOR_WRIST == subType:WRIST_ITEM_VNUM_BASE = 14000ret -= WRIST_ITEM_VNUM_BASEelif item.ARMOR_NECK == subType:NECK_ITEM_VNUM_BASE = 16000ret -= NECK_ITEM_VNUM_BASEelif item.ARMOR_EAR == subType:EAR_ITEM_VNUM_BASE = 17000ret -= EAR_ITEM_VNUM_BASEtype = ret/20if type<0 or type>=len(ACCESSORY_MATERIAL_LIST):type = (ret-170) / 20if type<0 or type>=len(ACCESSORY_MATERIAL_LIST):return 0return ACCESSORY_MATERIAL_LIST[type]#################################################################### »õ·Î Ãß°¡µÈ 'º§Æ®' ¾ÆÀÌÅÛ Å¸ÀÔ°ú, º§Æ®ÀÇ ¼ÒÄÏ¿¡ ²ÈÀ» ¾ÆÀÌÅÛ °ü·Ã..## º§Æ®ÀÇ ¼ÒÄϽýºÅÛÀº ¾Ç¼¼¼¸®¿Í µ¿ÀÏÇϱ⠶§¹®¿¡, À§ ¾Ç¼¼¼¸® °ü·Ã ÇϵåÄÚµùó·³ ÀÌ·±½ÄÀ¸·Î ÇÒ ¼ö¹Û¿¡ ¾ø´Ù..def GET_BELT_MATERIAL_VNUM(vnum, subType = 0):# ÇöÀç´Â ¸ðµç º§Æ®¿¡´Â ÇϳªÀÇ ¾ÆÀÌÅÛ(#18900)¸¸ »ðÀÔ °¡´Éreturn 18900## ÀÚµ¿¹°¾à (HP: #72723 ~ #72726, SP: #72727 ~ #72730)# ÇØ´ç vnumÀÌ ÀÚµ¿¹°¾àÀΰ¡?def IS_AUTO_POTION(itemVnum):return IS_AUTO_POTION_HP(itemVnum) or IS_AUTO_POTION_SP(itemVnum)# ÇØ´ç vnumÀÌ HP ÀÚµ¿¹°¾àÀΰ¡?def IS_AUTO_POTION_HP(itemVnum):if 72723 <= itemVnum and 72726 >= itemVnum:return 1elif itemVnum >= 76021 and itemVnum <= 76022: ## »õ·Î µé¾î°£ ¼±¹°¿ë È·æÀÇ Ãູreturn 1elif itemVnum == 79012:return 1return 0# ÇØ´ç vnumÀÌ SP ÀÚµ¿¹°¾àÀΰ¡?def IS_AUTO_POTION_SP(itemVnum):if 72727 <= itemVnum and 72730 >= itemVnum:return 1elif itemVnum >= 76004 and itemVnum <= 76005: ## »õ·Î µé¾î°£ ¼±¹°¿ë ¼ö·æÀÇ Ãູreturn 1elif itemVnum == 79013:return 1return 0def WriteLineInFile(fname, linenum, s):import osfarr = []if os.path.exists(fname):f = open(fname, "r")for line in f:farr.append(line)f.close()while len(farr) < int(linenum):farr.append("")farr[int(linenum)-1] = str(s)f = open(fname, "w")for line in farr:f.write(line)if (len(line) > 0 and line[-1:] != "n") or len(line) == 0:f.write("n")f.close()def ReadLineInFile(fname, linenum):import osif not os.path.exists(fname):return ""f = open(fname, "r")farr = []for line in f:farr.append(line)f.close()if len(farr) >= int(linenum):ret = farr[int(linenum)-1]if ret[-1:] == "n":return ret[:-1]else:return retelse:return ""intrologin
import dbgimport appimport netimport uiimport imeimport sndimport wndMgrimport musicInfoimport serverInfoimport systemSettingimport ServerStateCheckerimport localeInfoimport constInfoimport uiCommonimport timeimport ServerCommandParserimport imeimport uiScriptLocaleHwid = constInfo.HwidSnn = constInfo.SnnRUNUP_MATRIX_AUTH = FALSENEWCIBN_PASSPOD_AUTH = FALSELOGIN_DELAY_SEC = 0.0SKIP_LOGIN_PHASE = FALSESKIP_LOGIN_PHASE_SUPPORT_CHANNEL = FALSEFULL_BACK_IMAGE = FALSEPASSPOD_MSG_DICT = {}VIRTUAL_KEYBOARD_NUM_KEYS = 46VIRTUAL_KEYBOARD_RAND_KEY = TRUEdef 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 srcif localeInfo.IsNEWCIBN() or localeInfo.IsCIBN10():LOGIN_DELAY_SEC = 20.0FULL_BACK_IMAGE = TRUENEWCIBN_PASSPOD_AUTH = TRUEPASSPOD_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 = TRUEelif localeInfo.IsHONGKONG():FULL_BACK_IMAGE = TRUERUNUP_MATRIX_AUTH = TRUEPASSPOD_MSG_DICT = {"NOTELE" : localeInfo.LOGIN_FAILURE_NOTELEBLOCK,}elif localeInfo.IsJAPAN():FULL_BACK_IMAGE = TRUEdef IsFullBackImage():global FULL_BACK_IMAGEreturn FULL_BACK_IMAGEdef IsLoginDelay():global LOGIN_DELAY_SECif LOGIN_DELAY_SEC > 0.0:return TRUEelse:return FALSEdef IsRunupMatrixAuth():global RUNUP_MATRIX_AUTHreturn RUNUP_MATRIX_AUTHdef IsNEWCIBNPassPodAuth():global NEWCIBN_PASSPOD_AUTHreturn NEWCIBN_PASSPOD_AUTHdef GetLoginDelay():global LOGIN_DELAY_SECreturn LOGIN_DELAY_SECapp.SetGuildMarkPath("test")class Item(ui.ListBoxEx.Item):def __init__(self, fileName):ui.ListBoxEx.Item.__init__(self)self.canLoad=0self.text=fileNameself.textLine=self.__CreateTextLine(fileName)def __del__(self):ui.ListBoxEx.Item.__del__(self)def GetText(self):return self.textdef SetSize(self, width, height):ui.ListBoxEx.Item.SetSize(self, 6*len(self.textLine.GetText()) + 4, height)def __CreateTextLine(self, fileName):textLine=ui.TextLine()textLine.SetParent(self)textLine.SetPosition(0, 0)textLine.SetText(fileName)textLine.SetFontColor(25.0, 25.0, 25.0)textLine.Show()return textLineclass ConnectingDialog(ui.ScriptWindow):def __init__(self):ui.ScriptWindow.__init__(self)self.__LoadDialog()self.eventTimeOver = lambda *arg: Noneself.eventExit = lambda *arg: Nonedef __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 exceptionexception.Abort("ConnectingDialog.LoadDialog.BindObject")def Open(self, waitTime):curTime = time.clock()self.endTime = curTime + waitTimeself.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):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 TRUEclass 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 = 0self.lastLoginTime = 0self.inputDialog = Noneself.connectingDialog = Noneself.stream=streamself.isNowCountDown=FALSEself.isStartError=FALSEself.xServerBoard = 0self.yServerBoard = 0self.loadingImage = Noneself.virtualKeyboard = Noneself.virtualKeyboardMode = "ALPHABET"self.virtualKeyboardIsUpper = FALSEdef __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" : 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")returnself.__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_PHASEif SKIP_LOGIN_PHASE:if self.isStartError:self.connectBoard.Hide()self.loginBoard.Hide()self.serverBoard.Hide()self.PopupNotifyMessage(localeInfo.LOGIN_CONNECT_FAILURE, self.__ExitGame)returnif 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:f = open("miles/login.cfg", "r+")configuracao = f.readline(1)if configuracao == "0":f.close()self.connectBoard.Hide()self.loginBoard.Hide()self.ShowRuleBoard()else:self.__RefreshServerList()self.__OpenServerBoard()app.ShowCursor()def ShowRuleBoard(self):f = open("miles/rules.txt", "r+")rules = f.readlines()f.close()self.RuleBoard = ui.ThinBoard()self.RuleBoard.SetSize(520,550)self.RuleBoard.SetCenterPosition()self.RuleBoard.Show()self.Text = ui.ListBoxEx()self.Text.SetParent(self.RuleBoard)self.Text.SetSize(500, 400)self.Text.SetViewItemCount(20)self.Text.SetPosition(10, 80)for line in rules:self.Text.AppendItem(Item(line))self.Text.Show()self.scroll = ui.ScrollBar()self.scroll.SetParent(self.RuleBoard)self.scroll.SetPosition(500-10, 80)self.scroll.SetScrollBarSize(400)self.scroll.Show()self.Text.SetScrollBar(self.scroll)self.Accept = ui.Button()self.Accept.SetParent(self.RuleBoard)self.Accept.SetPosition(250-200,510)self.Accept.SetUpVisual("d:/ymir work/ui/public/xlarge_Button_01.sub")self.Accept.SetOverVisual("d:/ymir work/ui/public/xlarge_Button_02.sub")self.Accept.SetDownVisual("d:/ymir work/ui/public/xlarge_Button_03.sub")self.Accept.SetText("Aceitar")self.Accept.SetEvent(ui.__mem_func__(self.__Accept))self.Accept.Show()self.Decline = ui.Button()self.Decline.SetParent(self.RuleBoard)self.Decline.SetPosition(250+20,510)self.Decline.SetUpVisual("d:/ymir work/ui/public/xlarge_Button_01.sub")self.Decline.SetOverVisual("d:/ymir work/ui/public/xlarge_Button_02.sub")self.Decline.SetDownVisual("d:/ymir work/ui/public/xlarge_Button_03.sub")self.Decline.SetText("Não aceitar")self.Decline.SetEvent(ui.__mem_func__(self.__Decline))self.Decline.Show()def __Accept(self):if self.scroll.GetPos() == 1:self.RuleBoard.Hide()f = open("miles/login.cfg", "r+")f.write("1")f.close()self.__RefreshServerList()self.__OpenServerBoard()else:self.PopupNotifyMessage("É OBRIGATÓRIO LER TODAS AS REGRAS!!!")def __Decline(self):app.Exit()def Close(self):if self.connectingDialog:self.connectingDialog.Close()self.connectingDialog = NoneServerStateChecker.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 = Noneself.loginBoard = Noneself.idEditLine = Noneself.pwdEditLine = Noneself.inputDialog = Noneself.connectingDialog = Noneself.loadingImage = Noneself.serverBoard = Noneself.serverList = Noneself.channelList = None# RUNUP_MATRIX_AUTHself.matrixQuizBoard = Noneself.matrixAnswerInput = Noneself.matrixAnswerOK = Noneself.matrixAnswerCancel = None# RUNUP_MATRIX_AUTH_END# NEWCIBN_PASSPOD_AUTHself.passpodBoard = Noneself.passpodAnswerInput = Noneself.passpodAnswerOK = Noneself.passpodAnswerCancel = None# NEWCIBN_PASSPOD_AUTH_ENDself.VIRTUAL_KEY_ALPHABET_LOWERS = Noneself.VIRTUAL_KEY_ALPHABET_UPPERS = Noneself.VIRTUAL_KEY_SYMBOLS = Noneself.VIRTUAL_KEY_NUMBERS = None# VIRTUAL_KEYBOARD_BUG_FIXif 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 = Noneself.KillFocus()self.Hide()self.stream.popupWindow.Close()self.loginFailureFuncDict=Noneime.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, selChannelIDexcept:print "LoginWindow.__LoadChannelInfo - OpenError"return -1, -1, -1def __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 = FALSEself.OnConnectFailure()def OnConnectFailure(self):if self.isNowCountDown:returnsnd.PlaySound("sound/ui/loginfail.wav")if self.connectingDialog:self.connectingDialog.Close()self.connectingDialog = Noneif 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 = Nonetry:loginFailureMsg = self.loginFailureMsgDict[error]except KeyError:if PASSPOD_MSG_DICT:try:loginFailureMsg = PASSPOD_MSG_DICT[error]except KeyError:loginFailureMsg = localeInfo.LOGIN_FAILURE_UNKNOWN + errorelse: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 = Noneself.SetIDEditLineFocus()net.Disconnect()def __DisconnectAndInputPassword(self):if self.connectingDialog:self.connectingDialog.Close()self.connectingDialog = Noneself.SetPasswordEditLineFocus()net.Disconnect()def __DisconnectAndInputMatrix(self):if self.connectingDialog:self.connectingDialog.Close()self.connectingDialog = Noneself.stream.popupWindow.Close()self.matrixInputChanceCount -= 1if 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 exceptionexception.Abort("LoginWindow.__LoadScript.LoadObject")try:GetObject=self.GetChildself.serverBoard = GetObject("ServerBoard")self.serverList = GetObject("ServerList")self.channelList = GetObject("ChannelList")self.serverSelectButton = GetObject("ServerSelectButton")self.serverExitButton = GetObject("ServerExitButton")self.connectBoard = GetObject("ConnectBoard")self.loginBoard = GetObject("LoginBoard")self.idEditLine = GetObject("ID_EditLine")self.pwdEditLine = GetObject("Password_EditLine")self.serverInfo = GetObject("ConnectName")self.selectConnectButton = GetObject("SelectConnectButton")self.loginButton = GetObject("LoginButton")self.loginExitButton = GetObject("LoginExitButton")if localeInfo.IsVIETNAM():self.checkButton = GetObject("CheckButton")self.checkButton.Down()# RUNUP_MATRIX_AUTHif IsRunupMatrixAuth():self.matrixQuizBoard = GetObject("RunupMatrixQuizBoard")self.matrixAnswerInput = GetObject("RunupMatrixAnswerInput")self.matrixAnswerOK = GetObject("RunupMatrixAnswerOK")self.matrixAnswerCancel = GetObject("RunupMatrixAnswerCancel")# RUNUP_MATRIX_AUTH_END# NEWCIBN_PASSPOD_AUTHif 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_ENDself.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])if localeInfo.IsBRAZIL():self.VIRTUAL_KEY_SYMBOLS_BR = Suffle(localeInfo.VIRTUAL_KEY_SYMBOLS_BR)else:self.VIRTUAL_KEY_SYMBOLS = Suffle(localeInfo.VIRTUAL_KEY_SYMBOLS)self.VIRTUAL_KEY_NUMBERS = Suffle(localeInfo.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 exceptionexception.Abort("LoginWindow.__LoadScript.BindObject")if self.IS_TEST:self.selectConnectButton.Hide()else:self.selectConnectButton.SetEvent(ui.__mem_func__(self.__OnClickSelectConnectButton))self.serverBoard.OnKeyUp = ui.__mem_func__(self.__ServerBoard_OnKeyUp)self.xServerBoard, self.yServerBoard = self.serverBoard.GetLocalPosition()self.serverSelectButton.SetEvent(ui.__mem_func__(self.__OnClickSelectServerButton))self.serverExitButton.SetEvent(ui.__mem_func__(self.__OnClickExitButton))self.loginButton.SetEvent(ui.__mem_func__(self.__OnClickLoginButton))self.loginExitButton.SetEvent(ui.__mem_func__(self.__OnClickExitButton))self.serverList.SetEvent(ui.__mem_func__(self.__OnSelectServer))self.idEditLine.SetReturnEvent(ui.__mem_func__(self.pwdEditLine.SetFocus))self.idEditLine.SetTabEvent(ui.__mem_func__(self.pwdEditLine.SetFocus))self.pwdEditLine.SetReturnEvent(ui.__mem_func__(self.__OnClickLoginButton))self.pwdEditLine.SetTabEvent(ui.__mem_func__(self.idEditLine.SetFocus))# RUNUP_MATRIX_AUTHif 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_AUTHif IsNEWCIBNPassPodAuth():self.passpodAnswerOK.SAFE_SetEvent(self.__OnClickNEWCIBNPasspodAnswerOK)self.passpodAnswerCancel.SAFE_SetEvent(self.__OnClickNEWCIBNPasspodAnswerCancel)self.passpodAnswerInput.SAFE_SetReturnEvent(self.__OnClickNEWCIBNPasspodAnswerOK)# NEWCIBN_PASSPOD_AUTH_ENDif IsFullBackImage():self.GetChild("bg1").Show()self.GetChild("bg2").Hide()return 1def __VirtualKeyboard_SetKeys(self, keyCodes):uiDefFontBackup = localeInfo.UI_DEF_FONTlocaleInfo.UI_DEF_FONT = localeInfo.UI_DEF_FONT_LARGEkeyIndex = 1for 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 += 1for 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 = uiDefFontBackupdef __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 = TRUEif self.virtualKeyboardMode == "ALPHABET":self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_ALPHABET_UPPERS)elif self.virtualKeyboardMode == "NUMBER":if localeInfo.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 = FALSEif self.virtualKeyboardMode == "ALPHABET":self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_ALPHABET_LOWERS)elif self.virtualKeyboardMode == "NUMBER":self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_NUMBERS)else:if localeInfo.IsBRAZIL():self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_SYMBOLS_BR)else:self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_SYMBOLS)def __VirtualKeyboard_SetAlphabetMode(self):self.virtualKeyboardIsUpper = FALSEself.virtualKeyboardMode = "ALPHABET"self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_ALPHABET_LOWERS)def __VirtualKeyboard_SetNumberMode(self):self.virtualKeyboardIsUpper = FALSEself.virtualKeyboardMode = "NUMBER"self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_NUMBERS)def __VirtualKeyboard_SetSymbolMode(self):self.virtualKeyboardIsUpper = FALSEself.virtualKeyboardMode = "SYMBOL"if localeInfo.IsBRAZIL():self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_SYMBOLS_BR)else:self.__VirtualKeyboard_SetKeys(self.VIRTUAL_KEY_SYMBOLS)def Connect(self, id, pwd, Hwid, Snn):global Hwid, Snnif 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 = TRUEelse:self.stream.popupWindow.Close()self.stream.popupWindow.Open(localeInfo.LOGIN_CONNETING, self.SetPasswordEditLineFocus, localeInfo.UI_CANCEL)self.stream.SetLoginInfo(id, pwd, Hwid, Snn)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):global Hwid, Snntry: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=addraccount_port=portnet.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 exceptionexception.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=isAutoLoginself.stream.isAutoSelect=isAutoSelectself.id = Noneself.pwd = Noneself.Hwid = Hwidself.Snn = Snnself.loginnedServer = Noneself.loginnedChannel = Noneapp.loggined = FALSEself.loginInfo = loginInfoif self.id and self.pwd:app.loggined = TRUEif isAutoLogin:self.Connect(id, pwd, Hwid, Snn)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.EmptyFuncself.stream.popupWindow.Close()self.stream.popupWindow.Open(msg, func, localeInfo.UI_OK)# RUNUP_MATRIX_AUTHdef BINARY_OnRunupMatrixQuiz(self, quiz):if not IsRunupMatrixAuth():returnid = 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_AUTHdef BINARY_OnNEWCIBNPasspodRequest(self):if not IsNEWCIBNPassPodAuth():returnif self.connectingDialog:self.connectingDialog.Close()self.connectingDialog = Noneself.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():returndef __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_ENDdef OnMatrixCard(self, row1, row2, row3, row4, col1, col2, col3, col4):if self.connectingDialog:self.connectingDialog.Close()self.connectingDialog = Noneself.matrixInputChanceCount = 3self.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_FIXrow1 = chr(row1 + ord('A'))row2 = chr(row2 + ord('A'))row3 = chr(row3 + ord('A'))row4 = chr(row4 + ord('A'))col1 = col1 + 1col2 = col2 + 1col3 = col3 + 1col4 = col4 + 1inputDialog = 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 = inputDialogdef __OnAcceptMatrixCardData(self):text = self.inputDialog.GetText()net.SendChinaMatrixCardPacket(text)if self.inputDialog:self.inputDialog.Hide()self.PopupNotifyMessage(localeInfo.LOGIN_PROCESSING)return TRUEdef __OnCancelMatrixCardData(self):self.SetPasswordEditLineFocus()self.__OnCloseInputDialog()self.__DisconnectAndInputPassword()return TRUEdef __OnCloseInputDialog(self):if self.inputDialog:self.inputDialog.Close()self.inputDialog = Nonereturn TRUEdef OnPressExitKey(self):self.stream.popupWindow.Close()self.stream.SetPhaseWindow(0)return TRUEdef 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 TRUEdef __GetRegionID(self):return 0def __GetServerID(self):return self.serverList.GetSelectedItem()def __GetChannelID(self):return self.channelList.GetSelectedItem()# SEVER_LIST_BUG_FIXdef __ServerIDToServerIndex(self, regionID, targetServerID):try:regionDict = serverInfo.REGION_DICT[regionID]except KeyError:return -1retServerIndex = 0for eachServerID, regionDataDict in regionDict.items():if eachServerID == targetServerID:return retServerIndexretServerIndex += 1return -1def __ChannelIDToChannelIndex(self, channelID):return channelID - 1# END_OF_SEVER_LIST_BUG_FIXdef __OpenServerBoard(self):loadRegionID, loadServerID, loadChannelID = self.__LoadChannelInfo()serverIndex = self.__ServerIDToServerIndex(loadRegionID, loadServerID)channelIndex = self.__ChannelIDToChannelIndex(loadChannelID)# RUNUP_MATRIX_AUTHif IsRunupMatrixAuth():self.matrixQuizBoard.Hide()# RUNUP_MATRIX_AUTH_END# NEWCIBN_PASSPOD_AUTHif IsNEWCIBNPassPodAuth():self.passpodBoard.Hide()# NEWCIBN_PASSPOD_AUTH_ENDself.serverList.SelectItem(serverIndex)if localeInfo.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(localeInfo.UI_CLOSE)# RUNUP_MATRIX_AUTHif IsRunupMatrixAuth():self.matrixQuizBoard.Hide()# RUNUP_MATRIX_AUTH_END# NEWCIBN_PASSPOD_AUTHif IsNEWCIBNPassPodAuth():self.passpodBoard.Hide()# NEWCIBN_PASSPOD_AUTH_ENDself.serverBoard.SetPosition(self.xServerBoard, wndMgr.GetScreenHeight())self.serverBoard.Hide()if self.virtualKeyboard:self.virtualKeyboard.Show()if app.loggined:self.Connect(self.id, self.pwd)self.connectBoard.Hide()self.loginBoard.Hide()elif not self.stream.isAutoLogin:self.connectBoard.Show()self.loginBoard.Show()## if users have the login infomation, then don't initialize.2005.9 hahoif self.idEditLine == None:self.idEditLine.SetText("")if self.pwdEditLine == None:self.pwdEditLine.SetText("")self.idEditLine.SetFocus()global SKIP_LOGIN_PHASEif SKIP_LOGIN_PHASE:if not self.loginInfo:self.connectBoard.Hide()def __OnSelectRegionGroup(self):self.__RefreshServerList()def __OnSelectSettlementArea(self):# SEVER_LIST_BUG_FIXregionID = self.__GetRegionID()serverID = self.serverListOnRegionBoard.GetSelectedItem()serverIndex = self.__ServerIDToServerIndex(regionID, serverID)self.serverList.SelectItem(serverIndex)# END_OF_SEVER_LIST_BUG_FIXself.__OnSelectServer()def __RefreshServerList(self):regionID = self.__GetRegionID()if not serverInfo.REGION_DICT.has_key(regionID):returnself.serverList.ClearItem()regionDict = serverInfo.REGION_DICT[regionID]# SEVER_LIST_BUG_FIXvisible_index = 1for 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 += 1else:try:server_id = serverInfo.SERVER_ID_DICT[id]except:server_id = visible_indexself.serverList.InsertItem(id, " %02d. %s" % (int(server_id), name))visible_index += 1# END_OF_SEVER_LIST_BUG_FIXdef __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)returnServerStateChecker.Initialize();for id, channelDataDict in channelDict.items():key=channelDataDict["key"]ip=channelDataDict["ip"]udp_port=channelDataDict["udp_port"]ServerStateChecker.AddChannel(key, ip, udp_port)ServerStateChecker.Request()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)returnfor 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_PVPelse:return localeInfo.CHANNEL_NORMAL % (selChannelID)def NotifyChannelState(self, addrKey, state):try:stateName=serverInfo.STATE_DICT[state]except:stateName=serverInfo.STATE_NONEregionID=int(addrKey/1000)serverID=int(addrKey/10) % 100channelID=addrKey%10try:serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["state"] = stateNameself.__RefreshServerStateList()except:import exceptionexception.Abort(localeInfo.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(localeInfo.CHANNEL_SELECT_REGION)returnif (not serverInfo.REGION_DICT[regionID].has_key(serverID)):self.PopupNotifyMessage(localeInfo.CHANNEL_SELECT_SERVER)returnself.__SaveChannelInfo()self.serverExitButton.SetEvent(ui.__mem_func__(self.__OnClickExitServerButton))self.serverExitButton.SetText(localeInfo.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(localeInfo.CHANNEL_SELECT_REGION)returnif (not serverInfo.REGION_DICT[regionID].has_key(serverID)):self.PopupNotifyMessage(localeInfo.CHANNEL_SELECT_SERVER)returntry:channelDict = serverInfo.REGION_DICT[regionID][serverID]["channel"]except KeyError:returntry:state = channelDict[channelID]["state"]except KeyError:self.PopupNotifyMessage(localeInfo.CHANNEL_SELECT_CHANNEL)return# »óÅ°¡ FULL °ú °°À¸¸é ÁøÀÔ ±ÝÁöif state == serverInfo.STATE_DICT[3]:self.PopupNotifyMessage(localeInfo.CHANNEL_NOTIFY_FULL)returnself.__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.ForceSetlocaleInfo("ymir", "localeInfo/ymir")elif "Äèµµ ¼¹ö" == serverName:app.ForceSetlocaleInfo("we_korea", "localeInfo/we_korea")except:print " ERROR __OnClickSelectServerButton(%d, %d, %d)" % (regionID, serverID, channelID)serverName = localeInfo.CHANNEL_EMPTY_SERVERchannelName = localeInfo.CHANNEL_NORMAL % channelIDself.__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 exceptionexception.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 = 0account_port = 0try:markKey = regionID*1000 + serverID*10markAddrValue=serverInfo.MARKADDR_DICT[markKey]net.SetMarkServer(markAddrValue["ip"], markAddrValue["tcp_port"])app.SetGuildMarkPath(markAddrValue["mark"])# GUILD_SYMBOLapp.SetGuildSymbolPath(markAddrValue["symbol_path"])# END_OF_GUILD_SYMBOLexcept:import exceptionexception.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 __OnClickSelectConnectButton(self):if IsFullBackImage():self.GetChild("bg1").Show()self.GetChild("bg2").Hide()self.__RefreshServerList()self.__OpenServerBoard()def __OnClickLoginButton(self):global Hwid, Snnid = self.idEditLine.GetText()pwd = self.pwdEditLine.GetText()if len(id)==0:self.PopupNotifyMessage(localeInfo.LOGIN_INPUT_ID, self.SetIDEditLineFocus)returnif len(pwd)==0:self.PopupNotifyMessage(localeInfo.LOGIN_INPUT_PASSWORD, self.SetPasswordEditLineFocus)returnself.Connect(id, pwd, Hwid, Snn)networkmodule#################################################################################################### Networkimport appimport chrimport dbgimport netimport sndimport chrimport chrmgrimport backgroundimport playerimport playerSettingModuleimport uiimport uiPhaseCurtainimport localeInfoimport constInfoHwid=constInfo.HwidSnn=constInfo.Snnclass PopupDialog(ui.ScriptWindow):def __init__(self):print "NEW POPUP DIALOG ----------------------------------------------------------------------------"ui.ScriptWindow.__init__(self)self.CloseEvent = 0def __del__(self):print "---------------------------------------------------------------------------- DELETE POPUP DIALOG "ui.ScriptWindow.__del__(self)def LoadDialog(self):PythonScriptLoader = ui.PythonScriptLoader()PythonScriptLoader.LoadScriptFile(self, "UIScript/PopupDialog.py")def Open(self, Message, event = 0, ButtonName = localeInfo.UI_CANCEL):if TRUE == self.IsShow():self.Close()self.Lock()self.SetTop()self.CloseEvent = eventAcceptButton = self.GetChild("accept")AcceptButton.SetText(ButtonName)AcceptButton.SetEvent(ui.__mem_func__(self.Close))self.GetChild("message").SetText(Message)self.Show()def Close(self):if FALSE == self.IsShow():self.CloseEvent = 0returnself.Unlock()self.Hide()if 0 != self.CloseEvent:self.CloseEvent()self.CloseEvent = 0def Destroy(self):self.Close()self.ClearDictionary()def OnPressEscapeKey(self):self.Close()return TRUEdef OnIMEReturn(self):self.Close()return TRUE#### Main Stream##class MainStream(object):isChrData=0def __init__(self):print "NEWMAIN STREAM ----------------------------------------------------------------------------"net.SetHandler(self)net.SetTCPRecvBufferSize(128*1024)net.SetTCPSendBufferSize(4096)net.SetUDPRecvBufferSize(4096)self.id=""self.pwd=""self.Hwid=constInfo.Hwidself.Snn=constInfo.Snnself.addr=""self.port=0self.account_addr=0self.account_port=0self.slot=0self.isAutoSelect=0self.isAutoLogin=0self.curtain = 0self.curPhaseWindow = 0self.newPhaseWindow = 0def __del__(self):print "---------------------------------------------------------------------------- DELETE MAIN STREAM "def Destroy(self):if self.curPhaseWindow:self.curPhaseWindow.Close()self.curPhaseWindow = 0if self.newPhaseWindow:self.newPhaseWindow.Close()self.newPhaseWindow = 0self.popupWindow.Destroy()self.popupWindow = 0self.curtain = 0def Create(self):self.CreatePopupDialog()self.curtain = uiPhaseCurtain.PhaseCurtain()def SetPhaseWindow(self, newPhaseWindow):if self.newPhaseWindow:#print "이미 새로운 윈도우로 바꾼상태에서 또 바꿈", newPhaseWindowself.__ChangePhaseWindow()self.newPhaseWindow=newPhaseWindowif self.curPhaseWindow:#print "페이드 아웃되면 바꿈"self.curtain.FadeOut(self.__ChangePhaseWindow)else:#print "현재 윈도우가 없는 상태라 바로 바꿈"self.__ChangePhaseWindow()def __ChangePhaseWindow(self):oldPhaseWindow=self.curPhaseWindownewPhaseWindow=self.newPhaseWindowself.curPhaseWindow=0self.newPhaseWindow=0if oldPhaseWindow:oldPhaseWindow.Close()if newPhaseWindow:newPhaseWindow.Open()self.curPhaseWindow=newPhaseWindowif self.curPhaseWindow:self.curtain.FadeIn()else:app.Exit()def CreatePopupDialog(self):self.popupWindow = PopupDialog()self.popupWindow.LoadDialog()self.popupWindow.SetCenterPosition()self.popupWindow.Hide()## SelectPhase##########################################################################################def SetLogoPhase(self):net.Disconnect()import introLogoself.SetPhaseWindow(introLogo.LogoWindow(self))def SetLoginPhase(self):net.Disconnect()import introLoginself.SetPhaseWindow(introLogin.LoginWindow(self))def SetSelectEmpirePhase(self):try:import introEmpireself.SetPhaseWindow(introEmpire.SelectEmpireWindow(self))except:import exceptionexception.Abort("networkModule.SetSelectEmpirePhase")def SetReselectEmpirePhase(self):try:import introEmpireself.SetPhaseWindow(introEmpire.ReselectEmpireWindow(self))except:import exceptionexception.Abort("networkModule.SetReselectEmpirePhase")def SetSelectCharacterPhase(self):try:localeInfo.LoadLocaleData()import introSelectself.popupWindow.Close()self.SetPhaseWindow(introSelect.SelectCharacterWindow(self))except:import exceptionexception.Abort("networkModule.SetSelectCharacterPhase")def SetCreateCharacterPhase(self):try:import introCreateself.SetPhaseWindow(introCreate.CreateCharacterWindow(self))except:import exceptionexception.Abort("networkModule.SetCreateCharacterPhase")def SetTestGamePhase(self, x, y):try:import introLoadingloadingPhaseWindow=introLoading.LoadingWindow(self)loadingPhaseWindow.LoadData(x, y)self.SetPhaseWindow(loadingPhaseWindow)except:import exceptionexception.Abort("networkModule.SetLoadingPhase")def SetLoadingPhase(self):try:import introLoadingself.SetPhaseWindow(introLoading.LoadingWindow(self))except:import exceptionexception.Abort("networkModule.SetLoadingPhase")def SetGamePhase(self):try:import gameself.popupWindow.Close()self.SetPhaseWindow(game.GameWindow(self))except:raiseimport exceptionexception.Abort("networkModule.SetGamePhase")################################# Functions used in python## Logindef Connect(self):import constInfoif constInfo.KEEP_ACCOUNT_CONNETION_ENABLE:net.ConnectToAccountServer(self.addr, self.port, self.account_addr, self.account_port)else:net.ConnectTCP(self.addr, self.port)#net.ConnectUDP(IP, Port)def SetConnectInfo(self, addr, port, account_addr=0, account_port=0):self.addr = addrself.port = portself.account_addr = account_addrself.account_port = account_portdef GetConnectAddr(self):return self.addrdef SetLoginInfo(self, id, pwd, Hwid, Snn):self.id = idself.pwd = pwdself.Hwid = constInfo.Hwidself.Snn = constInfo.Snnnet.SetLoginInfo(id, pwd, Hwid, Snn)def CancelEnterGame(self):pass## Selectdef SetCharacterSlot(self, slot):self.slot=slotdef GetCharacterSlot(self):return self.slot## Emptydef EmptyFunction(self):pass1130 02:42:05084 :: Traceback (most recent call last): 1130 02:42:05084 :: File "introLogo.py", line 60, in OnUpdate 1130 02:42:05085 :: File "networkModule.py", line 183, in SetLoginPhase 1130 02:42:05085 :: File "system.py", line 130, in __pack_import 1130 02:42:05085 :: File " 1130 02:42:05085 :: introLogin.py 1130 02:42:05085 :: ", line 1130 02:42:05085 :: 776 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: global Hwid, Snn 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: 1130 02:42:05085 :: ^ 1130 02:42:05085 :: IndentationError 1130 02:42:05085 :: : 1130 02:42:05085 :: unindent does not match any outer indentation level 1130 02:42:05085 ::
-
Not this giving to compile the gamecore.
- 1
- 2
- 1
-
you have modificed locale is source?
Hardware Ban System | HWID | SNN
in Features & Metin2 Systems
Posted · Edited by thiagosaliba