Jump to content

introselect.py problem


Recommended Posts

Hi, I tryed to adapt that caracter select from yayaprod to 40k but out of luck

I tryed like 5 times but the same errors :

 

0302 15:56:11396 ::
introSelect.py(line:287) __LoadBoardDialog
ui.py(line:2715) GetChild

SelectCharacterWindow.LoadBoardDialog.BindObject - <type 'exceptions.KeyError'>:'LoginExitButton'

0302 15:56:11396 :: ============================================================================================================
0302 15:56:11396 :: Abort!!!!


0302 15:56:11396 :: filename=exception.py, name=Abort
0302 15:56:11396 :: filename=introSelect.py, name=__LoadBoardDialog
0302 15:56:11396 :: filename=introSelect.py, name=Open
0302 15:56:11396 :: filename=networkModule.py, name=__ChangePhaseWindow
0302 15:56:11396 :: filename=uiPhaseCurtain.py, name=OnUpdate
0302 15:56:11396 :: filename=prototype.py, name=RunApp
0302 15:56:11396 :: filename=prototype.py, name=<module>
0302 15:56:11396 :: filename=system.py, name=Run
0302 15:56:11396 :: filename=system.py, name=execfile
0302 15:56:11396 :: filename=system.py, name=RunMainScript
0302 15:56:11396 :: filename=system.py, name=<module>
0302 15:56:11396 :: filename=<string>, name=<module>

And now I ask for your help, what I should do?

 

 

Link to comment
Share on other sites

  • Bronze

Hi, I tryed to adapt that caracter select from yayaprod to 40k but out of luck

I tryed like 5 times but the same errors :

 

0302 15:56:11396 ::

introSelect.py(line:287) __LoadBoardDialog

ui.py(line:2715) GetChild

SelectCharacterWindow.LoadBoardDialog.BindObject - <type 'exceptions.KeyError'>:'LoginExitButton'

0302 15:56:11396 :: ============================================================================================================
0302 15:56:11396 :: Abort!!!!


0302 15:56:11396 :: filename=exception.py, name=Abort
0302 15:56:11396 :: filename=introSelect.py, name=__LoadBoardDialog
0302 15:56:11396 :: filename=introSelect.py, name=Open
0302 15:56:11396 :: filename=networkModule.py, name=__ChangePhaseWindow
0302 15:56:11396 :: filename=uiPhaseCurtain.py, name=OnUpdate
0302 15:56:11396 :: filename=prototype.py, name=RunApp
0302 15:56:11396 :: filename=prototype.py, name=<module>
0302 15:56:11396 :: filename=system.py, name=Run
0302 15:56:11396 :: filename=system.py, name=execfile
0302 15:56:11396 :: filename=system.py, name=RunMainScript
0302 15:56:11396 :: filename=system.py, name=<module>
0302 15:56:11396 :: filename=<string>, name=<module>

And now I ask for your help, what I should do?

 

search locale/xx/it/ui/ selectcharacterwindow.py

 

'LoginExitButton'

Link to comment
Share on other sites

0302 17:21:10241 ::
introSelect.py(line:283) __LoadBoardDialog
ui.py(line:2715) GetChild

SelectCharacterWindow.LoadBoardDialog.BindObject - <type 'exceptions.KeyError'>:'start_button'

0302 17:21:10241 :: ============================================================================================================
0302 17:21:10242 :: Abort!!!!


0302 17:21:10242 :: filename=exception.py, name=Abort
0302 17:21:10242 :: filename=introSelect.py, name=__LoadBoardDialog
0302 17:21:10242 :: filename=introSelect.py, name=Open
0302 17:21:10242 :: filename=networkModule.py, name=__ChangePhaseWindow
0302 17:21:10242 :: filename=uiPhaseCurtain.py, name=OnUpdate
0302 17:21:10242 :: filename=prototype.py, name=RunApp
0302 17:21:10242 :: filename=prototype.py, name=<module>
0302 17:21:10242 :: filename=system.py, name=Run
0302 17:21:10242 :: filename=system.py, name=execfile
0302 17:21:10242 :: filename=system.py, name=RunMainScript
0302 17:21:10242 :: filename=system.py, name=<module>
0302 17:21:10242 :: filename=<string>, name=<module>
 

now this error ...

 

 

I have it in my locale but I don;t know whi it still gives me error

 

## Empire Flag
                {
                    "name" : "start_button",
                    "type" : "button",

                    "x" : (SCREEN_WIDTH - 550) / 2,
                    "y" : (SCREEN_HEIGHT - 40),

                    "text" : uiScriptLocale.SELECT_SELECT,
                    "text_height" : 6,

                    "default_image" : "d:/ymir work/ui/public/btnsimple1.sub",
                    "over_image" : "d:/ymir work/ui/public/btnsimple2.sub",
                    "down_image" : "d:/ymir work/ui/public/btnsimple3.sub",
                },

Link to comment
Share on other sites

same error :(

 

0302 19:01:26415 ::
introSelect.py(line:282) __LoadBoardDialog
ui.py(line:2715) GetChild

SelectCharacterWindow.LoadBoardDialog.BindObject - <type 'exceptions.KeyError'>:'start_button'

0302 19:01:26415 :: ============================================================================================================
0302 19:01:26415 :: Abort!!!!


0302 19:01:26415 :: filename=exception.py, name=Abort
0302 19:01:26415 :: filename=introSelect.py, name=__LoadBoardDialog
0302 19:01:26415 :: filename=introSelect.py, name=Open
0302 19:01:26415 :: filename=networkModule.py, name=__ChangePhaseWindow
0302 19:01:26415 :: filename=uiPhaseCurtain.py, name=OnUpdate
0302 19:01:26415 :: filename=prototype.py, name=RunApp
0302 19:01:26416 :: filename=prototype.py, name=<module>
0302 19:01:26416 :: filename=system.py, name=Run
0302 19:01:26416 :: filename=system.py, name=execfile
0302 19:01:26416 :: filename=system.py, name=RunMainScript
0302 19:01:26416 :: filename=system.py, name=<module>
0302 19:01:26416 :: filename=<string>, name=<module>

 

selectcharacterwindow.py

 

## Empire Flag
                {
                    "name" : "start_button",
                    "type" : "button",

                    "x" : (SCREEN_WIDTH - 550) / 2,
                    "y" : (SCREEN_HEIGHT - 40),

                    "text" : uiScriptLocale.SELECT_SELECT,
                    "text_height" : 6,

                    "default_image" : "d:/ymir work/ui/public/btnsimple1.sub",
                    "over_image" : "d:/ymir work/ui/public/btnsimple2.sub",
                    "down_image" : "d:/ymir work/ui/public/btnsimple3.sub",
                },

Link to comment
Share on other sites

i`ve use this : http://metin2dev.org/board/topic/244-release-binary-r28249-fixed/?p=2019

 

and now :

0302 20:58:11789 ::
introSelect.py(line:283) __LoadBoardDialog
ui.py(line:2715) GetChild

SelectCharacterWindow.LoadBoardDialog.BindObject - exceptions.KeyError:start_button

0302 20:58:11791 :: ============================================================================================================
0302 20:58:11791 :: Abort!!!!

 

Link to comment
Share on other sites

if I change it then the new character select will not work ... that is the main thing I whnat the most ... anything else I don't care ...

 

import chr
import grp
import app
import math
import wndMgr
import snd
import net
import systemSetting
import localeInfo
import chr

import ui
import uiScriptLocale
import networkModule
import musicInfo
import playerSettingModule

####################################
# ºü¸¥ ½ÇÇàÀ» À§ÇÑ ¸ðµâ ·Îµù ºÐ´ã
####################################
import uiCommon                    
import uiMapNameShower             
import uiAffectShower
import uiCharacter                 
import uiTarget                    
import consoleModule               
import interfaceModule             
import uiTaskBar                   
import uiInventory
import constInfo
import os
import linecache
import introLogin
import localeInfo

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

LEAVE_BUTTON_FOR_POTAL = FALSE
NOT_NEED_DELETE_CODE = FALSE
ENABLE_ENGNUM_DELETE_CODE = FALSE

if localeInfo.IsJAPAN():
    NOT_NEED_DELETE_CODE = TRUE
elif localeInfo.IsHONGKONG():
    ENABLE_ENGNUM_DELETE_CODE = TRUE
elif localeInfo.IsNEWCIBN() or localeInfo.IsCIBN10():
    ENABLE_ENGNUM_DELETE_CODE = TRUE
elif localeInfo.IsEUROPE():
    ENABLE_ENGNUM_DELETE_CODE = TRUE


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

class SelectCharacterWindow(ui.Window):

    # SLOT4
    #SLOT_ROTATION = ( 140.0, 260.0, 20.0 )    
    #SLOT_COUNT = 3
    SLOT_ROTATION = [135.0, 225.0, 315.0, 45.0]
    SLOT_COUNT = 4
    CHARACTER_TYPE_COUNT = 4

    class CharacterRenderer(ui.Window):
        def OnRender(self):
            grp.ClearDepthBuffer()

            grp.SetGameRenderState()
            grp.PushState()
            grp.SetOmniLight()

            screenWidth = wndMgr.GetScreenWidth()
            screenHeight = wndMgr.GetScreenHeight()
            newScreenWidth = float(screenWidth - 100)
            newScreenHeight = float(screenHeight)

            grp.SetViewport(270.0/screenWidth, 0.0, newScreenWidth/screenWidth, newScreenHeight/screenHeight)

            app.SetCenterPosition(0.0, 0.0, 0.0)
            app.SetCamera(2300.0, 15.0, 180.0, 200.0)
            grp.SetPerspective(10.0, newScreenWidth/newScreenHeight, 1000.0, 4000.0)

            (x, y) = app.GetCursorPosition()
            grp.SetCursorPosition(x, y)

            chr.Deform()
            chr.Render()

            grp.RestoreViewport()
            grp.PopState()
            grp.SetInterfaceRenderState()

    def __init__(self, stream):
        ui.Window.__init__(self)
        net.SetPhaseWindow(net.PHASE_WINDOW_SELECT, self)

        self.stream=stream
        self.slot = self.stream.GetCharacterSlot()

        self.openLoadingFlag = FALSE
        self.startIndex = -1
        self.startReservingTime = 0

        self.flagDict = {}
        self.curRotation = []
        self.destRotation = []
        for rot in self.SLOT_ROTATION:
            self.curRotation.append(rot)
            self.destRotation.append(rot)

        self.curNameAlpha = []
        self.destNameAlpha = []
        for i in xrange(self.CHARACTER_TYPE_COUNT):
            self.curNameAlpha.append(0.0)
            self.destNameAlpha.append(0.0)

        self.dlgBoard = 0
        self.changeNameFlag = FALSE
        self.nameInputBoard = None
        self.sendedChangeNamePacket = FALSE

        self.startIndex = -1
        self.isLoad = 0

    def __del__(self):
        ui.Window.__del__(self)
        net.SetPhaseWindow(net.PHASE_WINDOW_SELECT, 0)

    def Open(self):
        import constInfo
        if not self.__LoadBoardDialog(uiScriptLocale.LOCALE_UISCRIPT_PATH + "selectcharacterwindow.py"):
            dbg.TraceError("SelectCharacterWindow.Open - __LoadScript Error")
            return

        if not self.__LoadQuestionDialog("uiscript/questiondialog.py"):
            return

        playerSettingModule.LoadGameData("INIT")

        self.InitCharacterBoard()

        self.btnStart.Enable()
        self.btnCreate.Enable()
        self.btnDelete.Enable()
        self.btnExit.Enable()
        self.btnLeft.Enable()
        self.btnRight.Enable()

        self.dlgBoard.Show()
        self.SetWindowName("SelectCharacterWindow")
        self.Show()

        if self.slot>=0:
            self.SelectSlot(0)

        if musicInfo.selectMusic != "":
            snd.SetMusicVolume(systemSetting.GetMusicVolume())
            snd.FadeInMusic("BGM/"+musicInfo.selectMusic)

        app.SetCenterPosition(0.0, 0.0, 0.0)
        #app.SetCamera(1550.0, 15.0, 180.0, 95.0)

        self.isLoad=1
        self.Refresh()

        if os.path.exists("data/standard.cfg"):
            s = linecache.getline("data/standard.cfg", 1)
        else:
            s = 0
        
        if self.stream.isAutoSelect:
            #chrSlot=self.stream.GetCharacterSlot()
            chrSlot=s
            self.SelectSlot(chrSlot)
            self.StartGame()

        self.HideAllFlag()

        app.ShowCursor()
        
        self.SelectSlot(int(s))

    def Close(self):
        if musicInfo.selectMusic != "":
            snd.FadeOutMusic("BGM/"+musicInfo.selectMusic)

        self.stream.popupWindow.Close()

        if self.dlgBoard:
            self.dlgBoard.ClearDictionary()

        self.flagDict = {}
        self.dlgBoard = None
        self.btnStart = None
        self.btnCreate = None
        self.btnDelete = None
        self.btnExit = None
        self.btnLeft = None
        self.btnRight = None
        self.backGround = None
        self.backGround2 = None

        self.dlgQuestion.ClearDictionary()
        self.dlgQuestion = None
        self.dlgQuestionText = None
        self.dlgQuestionAcceptButton = None
        self.dlgQuestionCancelButton = None
        self.privateInputBoard = None
        self.nameInputBoard = None

        chr.DeleteInstance(0)
        chr.DeleteInstance(1)
        chr.DeleteInstance(2)
        chr.DeleteInstance(3)

        self.Hide()
        self.KillFocus()

        app.HideCursor()
        
    def HideAllFlag(self):
        for flag in self.flagDict.values():
            flag.Hide()

    def Refresh(self):
        if not self.isLoad:
            return

        # SLOT4
        indexArray = (3, 2, 1, 0)
        for index in indexArray:
            id=net.GetAccountCharacterSlotDataInteger(index, net.ACCOUNT_CHARACTER_SLOT_ID)
            race=net.GetAccountCharacterSlotDataInteger(index, net.ACCOUNT_CHARACTER_SLOT_RACE)
            form=net.GetAccountCharacterSlotDataInteger(index, net.ACCOUNT_CHARACTER_SLOT_FORM)
            name=net.GetAccountCharacterSlotDataString(index, net.ACCOUNT_CHARACTER_SLOT_NAME)
            hair=net.GetAccountCharacterSlotDataInteger(index, net.ACCOUNT_CHARACTER_SLOT_HAIR)

            if id:
                self.MakeCharacter(index, id, name, race, form, hair)
                self.SelectSlot(index)

        self.SelectSlot(self.slot)

    def GetCharacterSlotID(self, slotIndex):
        return net.GetAccountCharacterSlotDataInteger(slotIndex, net.ACCOUNT_CHARACTER_SLOT_ID)

    def __LoadQuestionDialog(self, fileName):
        self.dlgQuestion = ui.ScriptWindow()

        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self.dlgQuestion, fileName)
        except:
            import exception
            exception.Abort("SelectCharacterWindow.LoadQuestionDialog.LoadScript")

        try:
            GetObject=self.dlgQuestion.GetChild
            self.dlgQuestionText=GetObject("message")
            self.dlgQuestionAcceptButton=GetObject("accept")
            self.dlgQuestionCancelButton=GetObject("cancel")
        except:
            import exception
            exception.Abort("SelectCharacterWindow.LoadQuestionDialog.BindObject")

        self.dlgQuestionText.SetText(localeInfo.SELECT_DO_YOU_DELETE_REALLY)
        self.dlgQuestionAcceptButton.SetEvent(ui.__mem_func__(self.RequestDeleteCharacter))
        self.dlgQuestionCancelButton.SetEvent(ui.__mem_func__(self.dlgQuestion.Hide))
        return 1

    def __LoadBoardDialog(self, fileName):
        self.dlgBoard = ui.ScriptWindow()

        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self.dlgBoard, fileName)
        except:
            import exception
            exception.Abort("SelectCharacterWindow.LoadBoardDialog.LoadScript")

        try:
            GetObject=self.dlgBoard.GetChild

            self.btnStart        = GetObject("start_button")
            self.btnCreate        = GetObject("create_button")
            self.btnDelete        = GetObject("delete_button")
            self.btnExit        = GetObject("exit_button")
            self.loginExitButton        = GetObject("LoginExitButton")

            self.CharacterName    = GetObject("character_name_value")
            self.CharacterButton    = GetObject("character_button")
            self.CharacterLevel = GetObject("character_level_value")
            self.PlayTime        = GetObject("character_play_time_value")
            self.GuildName        = GetObject("GuildName")

            self.btnLeft = GetObject("left_button")
            self.btnRight = GetObject("right_button")

            ##Character2##
            self.CharacterName1    = GetObject("character1_name_value")
            self.CharacterButton1    = GetObject("character1_button")
            self.CharacterLevel1 = GetObject("character1_level_value")
            self.PlayTime1        = GetObject("character1_play_time_value")
            self.GuildName1        = GetObject("GuildName1")
            ##Character3##
            self.CharacterName2    = GetObject("character2_name_value")
            self.CharacterButton2    = GetObject("character2_button")
            self.CharacterLevel2 = GetObject("character2_level_value")
            self.PlayTime2        = GetObject("character2_play_time_value")
            self.GuildName2        = GetObject("GuildName2")
            ##Character4##
            self.CharacterName3    = GetObject("character3_name_value")
            self.CharacterButton3    = GetObject("character3_button")
            self.CharacterLevel3 = GetObject("character3_level_value")
            self.PlayTime3        = GetObject("character3_play_time_value")
            self.GuildName3        = GetObject("GuildName3")

            self.backGround = GetObject("BackGround")
            self.backGround2 = GetObject("BackGround2")

        except:
            import exception
            exception.Abort("SelectCharacterWindow.LoadBoardDialog.BindObject")

        self.btnStart.SetEvent(ui.__mem_func__(self.StartGame))
        self.btnCreate.SetEvent(ui.__mem_func__(self.CreateCharacter))
        self.btnExit.SetEvent(ui.__mem_func__(self.ExitSelect))
        self.CharacterButton.SetEvent(ui.__mem_func__(self.OnClickCharacter))
        self.CharacterButton1.SetEvent(ui.__mem_func__(self.OnClickCharacter1))
        self.CharacterButton2.SetEvent(ui.__mem_func__(self.OnClickCharacter2))
        self.CharacterButton3.SetEvent(ui.__mem_func__(self.OnClickCharacter3))
        self.loginExitButton.SetEvent(ui.__mem_func__(self.__OnClickExitButton))

        

        if NOT_NEED_DELETE_CODE:
            self.btnDelete.SetEvent(ui.__mem_func__(self.PopupDeleteQuestion))
        else:
            self.btnDelete.SetEvent(ui.__mem_func__(self.InputPrivateCode))

        self.btnLeft.SetEvent(ui.__mem_func__(self.DecreaseSlotIndex))
        self.btnRight.SetEvent(ui.__mem_func__(self.IncreaseSlotIndex))
        self.btnLeft.Hide()
        self.btnRight.Hide()

        self.chrRenderer = self.CharacterRenderer()
        self.chrRenderer.SetParent(self.backGround)
        self.chrRenderer.SetParent(self.backGround2)
        self.chrRenderer.Show()

        return 1

    def MakeCharacter(self, index, id, name, race, form, hair):
        if 0 == id:
            return
            
        chr.CreateInstance(index)
        chr.SelectInstance(index)
        chr.SetVirtualID(index)
        chr.SetNameString(name)

        chr.SetRace(race)
        chr.SetArmor(form)
        chr.SetHair(hair)

        chr.Refresh()
        chr.SetMotionMode(chr.MOTION_MODE_GENERAL)
        chr.SetLoopMotion(chr.MOTION_INTRO_WAIT)

        chr.SetRotation(0.0)

    ## Manage Character
    def StartGame(self):

        if self.sendedChangeNamePacket:
            return

        if self.changeNameFlag:
            self.OpenChangeNameDialog()
            return

        if -1 != self.startIndex:
            return

        if musicInfo.selectMusic != "":
            snd.FadeLimitOutMusic("BGM/"+musicInfo.selectMusic, systemSetting.GetMusicVolume()*0.05)

        self.btnStart.SetUp()
        self.btnCreate.SetUp()
        self.btnDelete.SetUp()
        self.btnExit.SetUp()
        self.btnLeft.SetUp()
        self.btnRight.SetUp()

        self.btnStart.Disable()
        self.btnCreate.Disable()
        self.btnDelete.Disable()
        self.btnExit.Disable()
        self.btnLeft.Disable()
        self.btnRight.Disable()
        self.dlgQuestion.Hide()

        self.stream.SetCharacterSlot(self.slot)

        self.startIndex = self.slot
        self.startReservingTime = app.GetTime()

        for i in xrange(self.SLOT_COUNT):

            if FALSE == chr.HasInstance(i):
                continue

            chr.SelectInstance(i)

            if i == self.slot:
                self.slot=self.slot
                chr.PushOnceMotion(chr.MOTION_INTRO_SELECTED, 0.1)
                continue

            chr.PushOnceMotion(chr.MOTION_INTRO_NOT_SELECTED, 0.1)

    def OpenChangeNameDialog(self):
        import uiCommon
        nameInputBoard = uiCommon.InputDialogWithDescription()
        nameInputBoard.SetTitle(localeInfo.SELECT_CHANGE_NAME_TITLE)
        nameInputBoard.SetAcceptEvent(ui.__mem_func__(self.AcceptInputName))
        nameInputBoard.SetCancelEvent(ui.__mem_func__(self.CancelInputName))
        nameInputBoard.SetMaxLength(chr.PLAYER_NAME_MAX_LEN)
        nameInputBoard.SetBoardWidth(200)
        nameInputBoard.SetDescription(localeInfo.SELECT_INPUT_CHANGING_NAME)
        nameInputBoard.Open()
        nameInputBoard.slot = self.slot
        self.nameInputBoard = nameInputBoard

    def OnChangeName(self, id, name):
        self.SelectSlot(id)
        self.sendedChangeNamePacket = FALSE
        self.PopupMessage(localeInfo.SELECT_CHANGED_NAME)

    def AcceptInputName(self):
        changeName = self.nameInputBoard.GetText()
        if not changeName:
            return

        self.sendedChangeNamePacket = TRUE
        net.SendChangeNamePacket(self.nameInputBoard.slot, changeName)
        return self.CancelInputName()

    def CancelInputName(self):
        self.nameInputBoard.Close()
        self.nameInputBoard = None
        return TRUE

    def OnCreateFailure(self, type):
        self.sendedChangeNamePacket = FALSE
        if 0 == type:
            self.PopupMessage(localeInfo.SELECT_CHANGE_FAILURE_STRANGE_NAME)
        elif 1 == type:
            self.PopupMessage(localeInfo.SELECT_CHANGE_FAILURE_ALREADY_EXIST_NAME)
        elif 100 == type:
            self.PopupMessage(localeInfo.SELECT_CHANGE_FAILURE_STRANGE_INDEX)

    def CreateCharacter(self):
        id = self.GetCharacterSlotID(self.slot)
        if 0==id:
            self.stream.SetCharacterSlot(self.slot)

            EMPIRE_MODE = 1

            if EMPIRE_MODE:
                if self.__AreAllSlotEmpty():
                    self.stream.SetReselectEmpirePhase()
                else:
                    self.stream.SetCreateCharacterPhase()

            else:
                self.stream.SetCreateCharacterPhase()

    def __AreAllSlotEmpty(self):
        for iSlot in xrange(self.SLOT_COUNT):
            if 0!=net.GetAccountCharacterSlotDataInteger(iSlot, net.ACCOUNT_CHARACTER_SLOT_ID):
                return 0
        return 1

    def PopupDeleteQuestion(self):
        id = self.GetCharacterSlotID(self.slot)
        if 0 == id:
            return

        self.dlgQuestion.Show()
        self.dlgQuestion.SetTop()

    def RequestDeleteCharacter(self):
        self.dlgQuestion.Hide()

        id = self.GetCharacterSlotID(self.slot)
        if 0 == id:
            self.PopupMessage(localeInfo.SELECT_EMPTY_SLOT)
            return

        net.SendDestroyCharacterPacket(self.slot, "1234567")
        self.PopupMessage(localeInfo.SELECT_DELEING)

    def InputPrivateCode(self):
        
        import uiCommon
        privateInputBoard = uiCommon.InputDialogWithDescription()
        privateInputBoard.SetTitle(localeInfo.INPUT_PRIVATE_CODE_DIALOG_TITLE)
        privateInputBoard.SetAcceptEvent(ui.__mem_func__(self.AcceptInputPrivateCode))
        privateInputBoard.SetCancelEvent(ui.__mem_func__(self.CancelInputPrivateCode))

        if ENABLE_ENGNUM_DELETE_CODE:
            pass
        else:
            privateInputBoard.SetNumberMode()

        privateInputBoard.SetSecretMode()
        privateInputBoard.SetMaxLength(7)
            
        privateInputBoard.SetBoardWidth(250)
        privateInputBoard.SetDescription(localeInfo.INPUT_PRIVATE_CODE_DIALOG_DESCRIPTION)
        privateInputBoard.Open()
        self.privateInputBoard = privateInputBoard

    def AcceptInputPrivateCode(self):
        privateCode = self.privateInputBoard.GetText()
        if not privateCode:
            return

        id = self.GetCharacterSlotID(self.slot)
        if 0 == id:
            self.PopupMessage(localeInfo.SELECT_EMPTY_SLOT)
            return

        net.SendDestroyCharacterPacket(self.slot, privateCode)
        self.PopupMessage(localeInfo.SELECT_DELEING)

        self.CancelInputPrivateCode()
        return TRUE

    def CancelInputPrivateCode(self):
        self.privateInputBoard = None
        return TRUE

    def OnDeleteSuccess(self, slot):
        self.PopupMessage(localeInfo.SELECT_DELETED)
        self.DeleteCharacter(slot)

    def OnDeleteFailure(self):
        self.PopupMessage(localeInfo.SELECT_CAN_NOT_DELETE)

    def DeleteCharacter(self, index):
        chr.DeleteInstance(index)
        self.SelectSlot(self.slot)

    def ExitSelect(self):
        self.dlgQuestion.Hide()
    
        if LEAVE_BUTTON_FOR_POTAL:
            if app.loggined:
                self.stream.SetPhaseWindow(0)
            else:
                self.stream.setloginphase()
        else:
            self.stream.SetLoginPhase()

        self.Hide()
        
    def PopupNotifyMessage(self, msg, func=0):
        if not func:
            func=self.EmptyFunc

        self.stream.popupWindow.Close()
        self.stream.popupWindow.Open(msg, func, localeInfo.UI_OK)
        return    
        
    def SetStandard(self):
        slot = str(self.GetSlotIndex())
        f = open("data/standard.cfg","w")
        f.write(slot)
        f.close()
        r = open("data/standard.cfg","r")
        re = r.read()
        if re.find(slot)!=-1:
            self.PopupNotifyMessage("Charackter " + slot + " wurde erfolgreich als Standard gesetzt")
        else:
            self.PopupNotifyMessage("Es ist ein Fehler aufgetretetn. Bitte versuche es nochmals.")
        
    def CharacterButtonRestore(self):
        self.CharacterButton.SetUpVisual("locale/de/ui/selectplayer/selectpalyer.tga")
        self.CharacterButton.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        self.CharacterButton.SetDownVisual("locale/de/ui/selectplayer/selectpalyer.tga")
        self.CharacterButton1.SetUpVisual("locale/de/ui/selectplayer/selectpalyer.tga")
        self.CharacterButton1.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        self.CharacterButton1.SetDownVisual("locale/de/ui/selectplayer/selectpalyer.tga")
        self.CharacterButton2.SetUpVisual("locale/de/ui/selectplayer/selectpalyer.tga")
        self.CharacterButton2.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        self.CharacterButton2.SetDownVisual("locale/de/ui/selectplayer/selectpalyer.tga")
        self.CharacterButton3.SetUpVisual("locale/de/ui/selectplayer/selectpalyer.tga")
        self.CharacterButton3.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        self.CharacterButton3.SetDownVisual("locale/de/ui/selectplayer/selectpalyer.tga")
    
    def OnClickCharacter(self):
        import constInfo
        self.CharacterButtonRestore()
        self.CharacterButton.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        self.CharacterButton.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        self.CharacterButton.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        introLogin.SLOT = 0
        self.SelectSlot(0)
        
    def OnClickCharacter1(self):
        import constInfo
        self.CharacterButtonRestore()
        self.CharacterButton1.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        self.CharacterButton1.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        self.CharacterButton1.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        introLogin.SLOT = 1
        self.SelectSlot(1)
        
    def OnClickCharacter2(self):
        import constInfo
        self.CharacterButtonRestore()
        self.CharacterButton2.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        self.CharacterButton2.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        self.CharacterButton2.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        introLogin.SLOT = 2
        self.SelectSlot(2)
        
    def OnClickCharacter3(self):
        import constInfo
        self.CharacterButtonRestore()
        self.CharacterButton3.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        self.CharacterButton3.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        self.CharacterButton3.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        introLogin.SLOT = 3
        self.SelectSlot(3)

    def GetSlotIndex(self):
        return self.slot

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

    def DecreaseSlotIndex(self):
        #slotIndex = (self.GetSlotIndex() - 1 + self.SLOT_COUNT) % self.SLOT_COUNT
        #self.SelectSlot(slotIndex)
        app.MovieRotateCamera(app.CAMERA_TO_NEGATIVE)

    def IncreaseSlotIndex(self):
        #slotIndex = (self.GetSlotIndex() + 1) % self.SLOT_COUNT
        #self.SelectSlot(slotIndex)
        app.MovieRotateCamera(app.CAMERA_TO_POSITIVE)

    def SelectSlot(self, index):
        import constInfo
        if index < 0:
            return
        if index >= self.SLOT_COUNT:
            return

        self.slot = index
        id1 = introLogin.SLOT
        
        chr.SelectInstance(self.slot)

        for i in xrange(self.CHARACTER_TYPE_COUNT):
            self.destNameAlpha = 0.0

        for i in xrange(self.SLOT_COUNT):
            self.destRotation[(i+self.slot)%self.SLOT_COUNT] = self.SLOT_ROTATION

        id=net.GetAccountCharacterSlotDataInteger(id1, net.ACCOUNT_CHARACTER_SLOT_ID)
        if 0 != id:

            self.btnStart.Show()
            self.btnDelete.Show()
            self.btnCreate.Hide()
            ##Char1##
            playTime=net.GetAccountCharacterSlotDataInteger(0, net.ACCOUNT_CHARACTER_SLOT_PLAYTIME)
            level=net.GetAccountCharacterSlotDataInteger(0, net.ACCOUNT_CHARACTER_SLOT_LEVEL)
            race=net.GetAccountCharacterSlotDataInteger(0, net.ACCOUNT_CHARACTER_SLOT_RACE)
            name=net.GetAccountCharacterSlotDataString(0, net.ACCOUNT_CHARACTER_SLOT_NAME)
            GuildName=net.GetAccountCharacterSlotDataString(0, net.ACCOUNT_CHARACTER_SLOT_GUILD_NAME)
            ##Char2##
            playTime1=net.GetAccountCharacterSlotDataInteger(1, net.ACCOUNT_CHARACTER_SLOT_PLAYTIME)
            level1=net.GetAccountCharacterSlotDataInteger(1, net.ACCOUNT_CHARACTER_SLOT_LEVEL)
            race1=net.GetAccountCharacterSlotDataInteger(1, net.ACCOUNT_CHARACTER_SLOT_RACE)
            name1=net.GetAccountCharacterSlotDataString(1, net.ACCOUNT_CHARACTER_SLOT_NAME)
            GuildName1=net.GetAccountCharacterSlotDataString(1, net.ACCOUNT_CHARACTER_SLOT_GUILD_NAME)
            ##Char3##
            playTime2=net.GetAccountCharacterSlotDataInteger(2, net.ACCOUNT_CHARACTER_SLOT_PLAYTIME)
            level2=net.GetAccountCharacterSlotDataInteger(2, net.ACCOUNT_CHARACTER_SLOT_LEVEL)
            race2=net.GetAccountCharacterSlotDataInteger(2, net.ACCOUNT_CHARACTER_SLOT_RACE)
            name2=net.GetAccountCharacterSlotDataString(2, net.ACCOUNT_CHARACTER_SLOT_NAME)
            GuildName2=net.GetAccountCharacterSlotDataString(2, net.ACCOUNT_CHARACTER_SLOT_GUILD_NAME)
            ##Char4##
            playTime3=net.GetAccountCharacterSlotDataInteger(3, net.ACCOUNT_CHARACTER_SLOT_PLAYTIME)
            level3=net.GetAccountCharacterSlotDataInteger(3, net.ACCOUNT_CHARACTER_SLOT_LEVEL)
            race3=net.GetAccountCharacterSlotDataInteger(3, net.ACCOUNT_CHARACTER_SLOT_RACE)
            name3=net.GetAccountCharacterSlotDataString(3, net.ACCOUNT_CHARACTER_SLOT_NAME)
            GuildName3=net.GetAccountCharacterSlotDataString(3, net.ACCOUNT_CHARACTER_SLOT_GUILD_NAME)

            job = chr.RaceToJob(race)
            if job >= 0 and job < self.CHARACTER_TYPE_COUNT:
                self.destNameAlpha[job] = 1.0
                
            job1 = chr.RaceToJob(race1)
            if job1 >= 0 and job1 < self.CHARACTER_TYPE_COUNT:
                self.destNameAlpha[job1] = 1.0
                
            job2 = chr.RaceToJob(race2)
            if job2 >= 0 and job2 < self.CHARACTER_TYPE_COUNT:
                self.destNameAlpha[job2] = 1.0
                
            job3 = chr.RaceToJob(race3)
            if job3 >= 0 and job3 < self.CHARACTER_TYPE_COUNT:
                self.destNameAlpha[job3] = 1.0

            ##Character1##
            self.CharacterName.SetText(name)
            self.CharacterLevel.SetText(str(level))
            self.PlayTime.SetText(str(playTime))
            self.GuildName.SetText(GuildName)
            ##Character2##
            self.CharacterName1.SetText(name1)
            self.CharacterLevel1.SetText(str(level1))
            self.PlayTime1.SetText(str(playTime1))
            self.GuildName1.SetText(GuildName1)
            ##Character3##
            self.CharacterName2.SetText(name2)
            self.CharacterLevel2.SetText(str(level2))
            self.PlayTime2.SetText(str(playTime2))
            self.GuildName2.SetText(GuildName2)
            ##Character4##
            self.CharacterName3.SetText(name3)
            self.CharacterLevel3.SetText(str(level3))
            self.PlayTime3.SetText(str(playTime3))
            self.GuildName3.SetText(GuildName3)

            if GuildName:
                self.GuildName.SetText(GuildName)
            else:
                self.GuildName.SetText(localeInfo.SELECT_NOT_JOIN_GUILD)

            if GuildName1:
                self.GuildName1.SetText(GuildName1)
            else:
                self.GuildName1.SetText(localeInfo.SELECT_NOT_JOIN_GUILD)

            if GuildName2:
                self.GuildName2.SetText(GuildName2)
            else:
                self.GuildName2.SetText(localeInfo.SELECT_NOT_JOIN_GUILD)

            if GuildName3:
                self.GuildName3.SetText(GuildName3)
            else:
                self.GuildName3.SetText(localeInfo.SELECT_NOT_JOIN_GUILD)

        else:
            self.InitCharacterBoard()

    def InitCharacterBoard(self):

        self.btnStart.Hide()
        self.btnDelete.Hide()
        self.btnCreate.Show()

    ## Event
    def OnKeyDown(self, key):
        import constInfo

        if 1 == key:
            self.ExitSelect()
        if 2 == key:
            self.SelectSlot(0)
        if 3 == key:
            self.SelectSlot(1)
        if 4 == key:
            self.SelectSlot(2)

        if 28 == key:

            id = net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_ID)
            if 0 == id:
                self.CreateCharacter()

            else:
                self.StartGame()

        if 203 == key:
            self.slot = (self.GetSlotIndex() - 1 + self.SLOT_COUNT) % self.SLOT_COUNT
            self.SelectSlot(self.slot)
            introLogin.SLOT = self.slot
        if 205 == key:
            self.slot = (self.GetSlotIndex() + 1) % self.SLOT_COUNT
            self.SelectSlot(self.slot)
            introLogin.SLOT = self.slot

        return TRUE

    def OnUpdate(self):
        import constInfo
        chr.Update()

        for i in xrange(self.SLOT_COUNT):

            if FALSE == chr.HasInstance(i):
                continue

            chr.SelectInstance(i)

            distance = 50.0
            rotRadian = self.curRotation * (math.pi*2) / 360.0
            x = distance*math.sin(rotRadian) + distance*math.cos(rotRadian)
            y = distance*math.cos(rotRadian) - distance*math.sin(rotRadian)
            chr.SetPixelPosition(int(x), int(y), 30)

            #####

            dir = app.GetRotatingDirection(self.destRotation, self.curRotation)
            rot = app.GetDegreeDifference(self.destRotation, self.curRotation)

            if app.DEGREE_DIRECTION_RIGHT == dir:
                self.curRotation += rot / 10.0
            elif app.DEGREE_DIRECTION_LEFT == dir:
                self.curRotation -= rot / 10.0

            self.curRotation = (self.curRotation + 360.0) % 360.0

        #######################################################
        if -1 != self.startIndex:

            ## Temporary
            ## BackGroundLoadingÀÌ Áö¿ø µÉ¶§±îÁö Àӽ÷Î..
            if app.GetTime() - self.startReservingTime > 3.0:
                if FALSE == self.openLoadingFlag:
                    chrSlot=self.stream.GetCharacterSlot()
                    net.DirectEnter(chrSlot)
                    self.openLoadingFlag = TRUE

                    playTime=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_PLAYTIME)

                    import player
                    player.SetPlayTime(playTime)
                    import chat
                    chat.Clear() ## µé¾î°¥¶§ Chat À» ÃʱâÈ­. Àӽà Pos.
            ## Temporary
        #######################################################
        
        slot = introLogin.SLOT
        if slot == 0:
            self.CharacterButtonRestore()
            self.CharacterButton.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
            self.CharacterButton.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
            self.CharacterButton.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        elif slot == 1:
            self.CharacterButtonRestore()
            self.CharacterButton1.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
            self.CharacterButton1.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
            self.CharacterButton1.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        elif slot == 2:
            self.CharacterButtonRestore()
            self.CharacterButton2.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
            self.CharacterButton2.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
            self.CharacterButton2.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
        elif slot == 3:
            self.CharacterButtonRestore()
            self.CharacterButton3.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
            self.CharacterButton3.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
            self.CharacterButton3.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")

        self.SelectSlot(slot)

    def EmptyFunc(self):
        pass

    def PopupMessage(self, msg, func=0):
        if not func:
            func=self.EmptyFunc

        self.stream.popupWindow.Close()
        self.stream.popupWindow.Open(msg, func, localeInfo.UI_OK)

    def OnPressExitKey(self):
        self.ExitSelect()
        return TRUE

 

I did everything ... I don't know why dose it give me that error..

Link to comment
Share on other sites

import uiScriptLocale

ROOT_PATH = "d:/ymir work/ui/public/"
LOCALE_PATH = uiScriptLocale.SELECT_PATH

BOARD_X = SCREEN_WIDTH * (65) / 800
BOARD_Y = SCREEN_HEIGHT * (220) / 1100

BOARD_ITEM_ADD_POSITION = -40

window = {
    "name" : "SelectCharacterWindow",

    "x" : 0,
    "y" : 0,

    "width" : SCREEN_WIDTH,
    "height" : SCREEN_HEIGHT,

    "children" :
    (
        ## Board
        {
            "name" : "BackGround", "type" : "expanded_image", "x" : 0, "y" : 0, "type" : "ani_image",
            "x_scale" : float(SCREEN_WIDTH), "y_scale" : float(SCREEN_HEIGHT), "delay" : 6,
            "images" :
            (
            
            "locale/de/ui/selectch/1.jpg",
            
            )
        },
        {
            "name" : "BackGround2",
            "type" : "image",

            "x" : (SCREEN_WIDTH - 1084) / 2,
            "y" : (SCREEN_HEIGHT - 240),

            "image" : "locale/de/ui/selectch/sol.tga",
        },

        ## Character Board
        {
            "name" : "character_board",
            "type" : "crank™",
            "sytle" : ("movable",),

            "x" : 0,
            "y" : 0,

            "width" : SCREEN_WIDTH,
            "height" : SCREEN_HEIGHT,

            "children" :
            (
                {
                    "name" : "character_button",
                    "type" : "button",

                    "x" : 15,
                    "y" : 10,

                    "default_image" : "locale/de/ui/selectplayer/selectpalyer.tga",
                    "over_image" : "locale/de/ui/selectplayer/selectpalyer2.tga",
                    "down_image" : "locale/de/ui/selectplayer/selectpalyer2.tga",
                },
                {
                    "name" : "character1_button",
                    "type" : "button",

                    "x" : 15,
                    "y" : 250,

                    
                    "over_image" : "locale/de/ui/button_over.tga",
                    "down_image" : "locale/de/ui/button_pressed.tga",
                },
                {
                    "name" : "character2_button",
                    "type" : "button",

                    "x" : (SCREEN_WIDTH - 210),
                    "y" : 10,

                    
                    "over_image" : "locale/de/ui/button_over.tga",
                    "down_image" : "locale/de/ui/button_pressed.tga",
                },
                {
                    "name" : "character3_button",
                    "type" : "button",

                    "x" : (SCREEN_WIDTH - 210),
                    "y" : 250,

                    
                    "over_image" : "locale/de/ui/button_over.tga",
                    "down_image" : "locale/de/ui/button_pressed.tga",
                },
                ##Character1##
                {
                    "name" : "character_name_text",
                    "type" : "text",

                    "x" : 30,
                    "y" : 30,
                },    
                {
                    "name" : "character_name_value",
                    "type" : "text",

                    "x" : 90,
                    "y" : 71,
                    "text" : "",
                },
                {
                    "name" : "character_level_text",
                    "type" : "text",

                    "x" : 30,
                    "y" : 50,
                },
                {
                    "name" : "character_level_value",
                    "type" : "text",

                    "x" : 67,
                    "y" : 92,
                    "text" : "",
                },
                {
                    "name" : "character_play_time_text",
                    "type" : "text",

                    "x" : 30,
                    "y" : 70,
                },
                {
                    "name" : "character_play_time_value",
                    "type" : "text",

                    "x" : 118,
                    "y" : 136,
                    "text" : "",
                },
                {
                    "name" : "GuildName",
                    "type" : "text",

                    "x" : 90,
                    "y" : 117,
                    "text" : uiScriptLocale.SELECT_NO_GUILD,
                },
                ## Empire Flag
                ##Character2##
                {
                    "name" : "character1_name_text",
                    "type" : "text",

                    "x" : 30,
                    "y" : 120,
                },    
                {
                    "name" : "character1_name_value",
                    "type" : "text",

                    "x" : 90,
                    "y" : 312,
                    "text" : "",
                },
                {
                    "name" : "character1_level_text",
                    "type" : "text",

                    "x" : 31,
                    "y" : 140,
                },
                {
                    "name" : "character1_level_value",
                    "type" : "text",

                    "x" : 67,
                    "y" : 332,
                    "text" : "",
                },
                {
                    "name" : "character1_play_time_text",
                    "type" : "text",

                    "x" : 30,
                    "y" : 160,
                },
                {
                    "name" : "character1_play_time_value",
                    "type" : "text",

                    "x" : 116,
                    "y" : 377,
                    "text" : "",
                },
                {
                    "name" : "GuildName1",
                    "type" : "text",

                    "x" : 90,
                    "y" : 356,
                    "text" : uiScriptLocale.SELECT_NO_GUILD,
                },
                ## Empire Flag
                ##Character3##
                {
                    "name" : "character2_name_text",
                    "type" : "text",

                    "x" : 30,
                    "y" : 210,
                },    
                {
                    "name" : "character2_name_value",
                    "type" : "text",

                    "x" : (SCREEN_WIDTH - 132),
                    "y" : 71,
                    "text" : "",
                },
                {
                    "name" : "character2_level_text",
                    "type" : "text",

                    "x" : 30,
                    "y" : 227,
                },
                {
                    "name" : "character2_level_value",
                    "type" : "text",

                    "x" : (SCREEN_WIDTH - 157),
                    "y" : 92,
                    "text" : "",
                },
                {
                    "name" : "character2_play_time_text",
                    "type" : "text",

                    "x" : 30,
                    "y" : 250,
                },
                {
                    "name" : "character2_play_time_value",
                    "type" : "text",

                    "x" : (SCREEN_WIDTH - 108),
                    "y" : 137,
                    "text" : "",
                },
                {
                    "name" : "GuildName2",
                    "type" : "text",

                    "x" : (SCREEN_WIDTH - 136),
                    "y" : 117,
                    "text" : uiScriptLocale.SELECT_NO_GUILD,
                },
                ## Empire Flag
                ##Character4##
                {
                    "name" : "character3_name_text",
                    "type" : "text",

                    "x" : 30,
                    "y" : 300,
                },    
                {
                    "name" : "character3_name_value",
                    "type" : "text",

                    "x" : (SCREEN_WIDTH - 132),
                    "y" : 312,
                    "text" : "",
                },
                {
                    "name" : "character3_level_text",
                    "type" : "text",

                    "x" : 30,
                    "y" : 320,
                },
                {
                    "name" : "character3_level_value",
                    "type" : "text",

                    "x" : (SCREEN_WIDTH - 157),
                    "y" : 332,
                    "text" : "",
                },
                {
                    "name" : "character3_play_time_text",
                    "type" : "text",

                    "x" : 30,
                    "y" : 340,
                },
                {
                    "name" : "character3_play_time_value",
                    "type" : "text",

                    "x" : (SCREEN_WIDTH - 108),
                    "y" : 377,
                    "text" : "",
                },
                {
                    "name" : "GuildName3",
                    "type" : "text",

                    "x" : (SCREEN_WIDTH - 136),
                    "y" : 358,
                    "text" : uiScriptLocale.SELECT_NO_GUILD,
                },
                ## Empire Flag
                {
                    "name" : "start_button",
                    "type" : "button",

                    "x" : (SCREEN_WIDTH - 550) / 2,
                    "y" : (SCREEN_HEIGHT - 40),

                    "text" : uiScriptLocale.SELECT_SELECT,
                    "text_height" : 6,

                    "default_image" : "d:/ymir work/ui/public/btnsimple1.sub",
                    "over_image" : "d:/ymir work/ui/public/btnsimple2.sub",
                    "down_image" : "d:/ymir work/ui/public/btnsimple3.sub",
                },
                {
                    "name" : "create_button",
                    "type" : "button",

                    "x" : (SCREEN_WIDTH - 80) / 2,
                    "y" : (SCREEN_HEIGHT - 40),

                    "text" : uiScriptLocale.SELECT_CREATE,
                    "text_height" : 6,

                    "default_image" : "d:/ymir work/ui/public/btnsimple1.sub",
                    "over_image" : "d:/ymir work/ui/public/btnsimple2.sub",
                    "down_image" : "d:/ymir work/ui/public/btnsimple3.sub",
                },
                {
                    "name" : "exit_button",
                    "type" : "button",

                    "x" : 7,
                    "y" : SCREEN_HEIGHT -50,

                    "text" : "Retour",

                    "default_image" : "d:/ymir work/ui/public/btnmenu1.sub",
                    "over_image" : "d:/ymir work/ui/public/btnmenu2.sub",
                    "down_image" : "d:/ymir work/ui/public/btnmenu3.sub",
                },
                {
                "name" : "LoginExitButton",
                "type" : "button",

                "x" : (SCREEN_WIDTH - 110),
                "y" : (SCREEN_HEIGHT - 50),

                "default_image" : "d:/ymir work/ui/public/btnmenu1.sub",
                "over_image" : "d:/ymir work/ui/public/btnmenu2.sub",
                "down_image" : "d:/ymir work/ui/public/btnmenu3.sub",

                "text" : uiScriptLocale.LOGIN_SELECT_EXIT,
                },
                {
                    "name" : "delete_button",
                    "type" : "button",

                    "x" : (SCREEN_WIDTH + 350) / 2,
                    "y" : (SCREEN_HEIGHT - 40),

                    "text" : uiScriptLocale.SELECT_DELETE,

                    "default_image" : "d:/ymir work/ui/public/btnsimple1.sub",
                    "over_image" : "d:/ymir work/ui/public/btnsimple2.sub",
                    "down_image" : "d:/ymir work/ui/public/btnsimple3.sub",
                },
                ##Gauge's##
            ),
        },

        ## Buttons
        {
            "name" : "left_button",
            "type" : "button",

            "x" : SCREEN_WIDTH * (450 - 22*3) / 800,
            "y" : SCREEN_HEIGHT * (505) / 600,

            "default_image" : "d:/ymir work/ui/intro/select/dragon_left_button_01.sub",
            "over_image" : "d:/ymir work/ui/intro/select/dragon_left_button_02.sub",
            "down_image" : "d:/ymir work/ui/intro/select/dragon_left_button_03.sub",
        },
        {
            "name" : "right_button",
            "type" : "button",

            "x" : SCREEN_WIDTH * (580 - 22) / 800,
            "y" : SCREEN_HEIGHT * (505) / 600,

            "default_image" : "d:/ymir work/ui/intro/select/dragon_right_button_01.sub",
            "over_image" : "d:/ymir work/ui/intro/select/dragon_right_button_02.sub",
            "down_image" : "d:/ymir work/ui/intro/select/dragon_right_button_03.sub",
        },

    ),
}

 

ies it is, this is why it surpise me

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



  • Similar Content

  • Activity

    1. 3

      [Discussion] Rain - The First Person that leaked the M2 Files

    2. 0

      [Client] All tabs opening after quest/npc talk or even shop // PORTS

    3. 0

      Arrow does not hide at warp

    4. 0

      Problem with sidebar by vegas

    5. 58

      Discord Rich Presence

    6. 145

      Full Costume Mount System

  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.