Yardım Owsap levelli pet sistemi ekleme hk.

  • Konuyu açan Konuyu açan hernandess
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 4
  • Gösterim Gösterim 200
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

hernandess

Üye
Üye
Mesaj
45
Çözümler
2
Beğeni
15
Puan
449
Ticaret Puanı
0
Merhabalar.
Owsap filesine levelli pet sistemi ekleme konusunda şu syserr için yardımcı olabilecek var mı?


Syserr:
Genişlet Daralt Kopyala
1202 :: Traceback (most recent call last):

1202 ::   File "networkModule.py", line 315, in SetGamePhase

1202 ::   File "game.py", line 118, in __init__

1202 ::   File "interfaceModule.py", line 597, in MakeInterface

1202 ::   File "interfaceModule.py", line 270, in __MakeTaskBar

1202 ::   File "uiTaskBar.py", line 650, in LoadWindow

1202 ::   File "ui.py", line 4128, in GetChild

1202 :: KeyError
1202 :: :
1202 :: 'PetGuiButton'


uitaskbar.py:
Genişlet Daralt Kopyala
class TaskBar(ui.ScriptWindow):
    BUTTON_CHARACTER = 0
    BUTTON_INVENTORY = 1
    BUTTON_MESSENGER = 2
    BUTTON_SYSTEM = 3
    BUTTON_CHAT = 4
    BUTTON_EXPAND = 4
    if app.ENABLE_GEM_SYSTEM:
        BUTTON_EXPAND_MONEY = 5
    if app.ENABLE_ASLAN_GROWTH_PET_SYSTEM:
        BUTTON_PET_GUI = 6
    IS_EXPANDED = True

    MOUSE_BUTTON_LEFT = 0
    MOUSE_BUTTON_RIGHT = 1
    NONE = 255

    EVENT_MOVE = 0
    EVENT_ATTACK = 1
    EVENT_MOVE_AND_ATTACK = 2
    EVENT_CAMERA = 3
    EVENT_SKILL = 4
    EVENT_AUTO = 5

    GAUGE_WIDTH = 95
    GAUGE_HEIGHT = 13

    QUICKPAGE_NUMBER_FILENAME = [
        "d:/ymir work/ui/game/taskbar/1.sub",
        "d:/ymir work/ui/game/taskbar/2.sub",
        "d:/ymir work/ui/game/taskbar/3.sub",
        "d:/ymir work/ui/game/taskbar/4.sub",
    ]

    # Gift icon show and hide
    def ShowGift(self):
        if not localeInfo.IsBRAZIL():
            self.wndGiftBox.Show()

    def HideGift(self):
        self.wndGiftBox.Hide()

    class TextToolTip(ui.Window):
        def __init__(self):
            ui.Window.__init__(self, "TOP_MOST")

            textLine = ui.TextLine()
            textLine.SetParent(self)
            textLine.SetHorizontalAlignCenter()
            textLine.SetOutline()
            textLine.Show()
            self.textLine = textLine

        def __del__(self):
            ui.Window.__del__(self)
            self.textLine = None

        def SetText(self, text):
            self.textLine.SetText(text)

        def OnRender(self):
            (mouseX, mouseY) = wndMgr.GetMousePosition()
            self.textLine.SetPosition(mouseX, mouseY - 15)

    class SkillButton(ui.SlotWindow):
        def __init__(self):
            ui.SlotWindow.__init__(self)

            self.event = None
            self.arg = None

            self.slotIndex = 0
            self.skillIndex = 0

            slotIndex = 0
            wndMgr.SetSlotBaseImage(self.hWnd, "d:/ymir work/ui/public/slot_base.sub", 1.0, 1.0, 1.0, 1.0)
            wndMgr.AppendSlot(self.hWnd, slotIndex, 0, 0, 32, 32)
            self.SetCoverButton(slotIndex, "d:/ymir work/ui/public/slot_cover_button_01.sub",\
                "d:/ymir work/ui/public/slot_cover_button_02.sub",\
                "d:/ymir work/ui/public/slot_cover_button_03.sub",\
                "d:/ymir work/ui/public/slot_cover_button_04.sub", True, False)
            self.SetSize(32, 32)

        def __del__(self):
            ui.SlotWindow.__del__(self)

        def Destroy(self):
            if 0 != self.tooltipSkill:
                self.tooltipSkill.HideToolTip()

        def RefreshSkill(self):
            if 0 != self.slotIndex:
                self.SetSkill(self.slotIndex)

        def SetSkillToolTip(self, tooltip):
            self.tooltipSkill = tooltip

        def SetSkill(self, skillSlotNumber):
            slotNumber = 0
            skillIndex = player.GetSkillIndex(skillSlotNumber)
            skillGrade = player.GetSkillGrade(skillSlotNumber)
            skillLevel = player.GetSkillLevel(skillSlotNumber)
            skillType = skill.GetSkillType(skillIndex)

            self.skillIndex = skillIndex
            if 0 == self.skillIndex:
                self.ClearSlot(slotNumber)
                return

            self.slotIndex = skillSlotNumber

            self.SetSkillSlotNew(slotNumber, skillIndex, skillGrade, skillLevel)
            self.SetSlotCountNew(slotNumber, skillGrade, skillLevel)

            ## NOTE : CoolTime üũ
            if player.IsSkillCoolTime(skillSlotNumber):
                (coolTime, elapsedTime) = player.GetSkillCoolTime(skillSlotNumber)
                self.SetSlotCoolTime(slotNumber, coolTime, elapsedTime)

            ## NOTE : Activate �Ǿ� �ִٸ� �����ܵ� ������Ʈ
            if player.IsSkillActive(skillSlotNumber):
                self.ActivateSlot(slotNumber)

        def SetSkillEvent(self, event, arg = 0):
            self.event = event
            self.arg = arg

        def GetSkillIndex(self):
            return self.skillIndex

        def GetSlotIndex(self):
            return self.slotIndex

        def Activate(self, coolTime):
            self.SetSlotCoolTime(0, coolTime)

            if skill.IsToggleSkill(self.skillIndex):
                self.ActivateSlot(0)

        def Deactivate(self):
            if skill.IsToggleSkill(self.skillIndex):
                self.DeactivateSlot(0)

        def OnOverInItem(self, dummy):
            self.tooltipSkill.SetSkill(self.skillIndex)

        def OnOverOutItem(self):
            self.tooltipSkill.HideToolTip()

        def OnSelectItemSlot(self, dummy):
            if 0 != self.event:
                if 0 != self.arg:
                    self.event(self.arg)
                else:
                    self.event()

    def __init__(self):
        #print "NEW TASKBAR -----------------------------------------------------------------------------"

        ui.ScriptWindow.__init__(self, "TOP_MOST")

        self.quickPageNumImageBox = None
        self.tooltipItem = None
        self.tooltipSkill = None
        self.tooltipEmotion = uiToolTip.ToolTip()
        self.mouseModeButtonList = [ ui.ScriptWindow("TOP_MOST"), ui.ScriptWindow("TOP_MOST") ]

        self.tooltipHP = self.TextToolTip()
        self.tooltipHP.Show()
        self.tooltipSP = self.TextToolTip()
        self.tooltipSP.Show()
        self.tooltipST = self.TextToolTip()
        self.tooltipST.Show()
        self.tooltipEXP = self.TextToolTip()
        self.tooltipEXP.Show()

        self.skillCategoryNameList = [ "ACTIVE_1", "ACTIVE_2", "ACTIVE_3" ]
        self.skillPageStartSlotIndexDict = {
            "ACTIVE_1" : 1,
            "ACTIVE_2" : 21,
            "ACTIVE_3" : 41,
        }

        self.selectSkillButtonList = []

        self.lastUpdateQuickSlot = 0
        self.SetWindowName("TaskBar")

    def __del__(self):
        #print "---------------------------------------------------------------------------- DELETE TASKBAR"
        ui.ScriptWindow.__del__(self)

    def LoadWindow(self):
        try:
            pyScrLoader = ui.PythonScriptLoader()

            if constInfo.IN_GAME_SHOP_ENABLE:
                if app.ENABLE_GEM_SYSTEM:
                    if localeInfo.IsARABIC():
                        pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "newtaskbar.py")
                    else:
                        pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_COMMON_UISCRIPT_PATH + "newtaskbar.py")
                else:
                    if localeInfo.IsARABIC():
                        pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "TaskBar.py")
                    else:
                        pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_COMMON_UISCRIPT_PATH + "TaskBar.py")
            else:
                if app.ENABLE_GEM_SYSTEM:
                    if localeInfo.IsARABIC():
                        pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "newtaskbar.py")
                    else:
                        pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_COMMON_UISCRIPT_PATH + "newtaskbar.py")
                else:
                    if localeInfo.IsARABIC():
                        pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "TaskBar.py")
                    else:
                        pyScrLoader.LoadScriptFile(self, "UIScript/TaskBar.py")

            pyScrLoader.LoadScriptFile(self.mouseModeButtonList[self.MOUSE_BUTTON_LEFT], "UIScript/MouseButtonWindow.py")
            pyScrLoader.LoadScriptFile(self.mouseModeButtonList[self.MOUSE_BUTTON_RIGHT], "UIScript/RightMouseButtonWindow.py")
        except:
            import exception
            exception.Abort("TaskBar.LoadWindow.LoadObject")

        self.quickslot = []
        self.quickslot.append(self.GetChild("quick_slot_1"))
        self.quickslot.append(self.GetChild("quick_slot_2"))
        for slot in self.quickslot:
            slot.SetSlotStyle(wndMgr.SLOT_STYLE_NONE)
            slot.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptyQuickSlot))
            slot.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemQuickSlot))
            slot.SetUnselectItemSlotEvent(ui.__mem_func__(self.UnselectItemQuickSlot))
            slot.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
            slot.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))

        toggleButtonDict = {}
        toggleButtonDict[TaskBar.BUTTON_CHARACTER] = self.GetChild("CharacterButton")
        toggleButtonDict[TaskBar.BUTTON_INVENTORY] = self.GetChild("InventoryButton")
        toggleButtonDict[TaskBar.BUTTON_MESSENGER] = self.GetChild("MessengerButton")
        toggleButtonDict[TaskBar.BUTTON_SYSTEM] = self.GetChild("SystemButton")
        if app.ENABLE_ASLAN_GROWTH_PET_SYSTEM:
            toggleButtonDict[TaskBar.BUTTON_PET_GUI] = self.GetChild("PetGuiButton")



taskbar.py:
Genişlet Daralt Kopyala
        ## Button
      
        {
            "name" : "PetGuiButton", "type" : "button",
          
            "x" : SCREEN_WIDTH - 178,
            "y" : 3 + Y_ADD_POSITION,

            "tooltip_text" : "Pet-Gui",

            "default_image" : "d:/ymir work/ui/pet/taskbar_pet_button_01.tga",
            "over_image" : "d:/ymir work/ui/pet/taskbar_pet_button_02.tga",
            "down_image" : "d:/ymir work/ui/pet/taskbar_pet_button_03.tga",
        }, 
        {
            "name" : "CharacterButton",
            "type" : "button",

            "x" : SCREEN_WIDTH - 144,
            "y" : 3 + Y_ADD_POSITION,

            "tooltip_text" : uiScriptLocale.TASKBAR_CHARACTER,

            "default_image" : ROOT + "TaskBar/Character_Button_01.sub",
            "over_image" : ROOT + "TaskBar/Character_Button_02.sub",
            "down_image" : ROOT + "TaskBar/Character_Button_03.sub",
        },
 
En son bir moderatör tarafından düzenlenmiş:
Sanırım expandedtaskbara ekleyeceğinize normal taskbara ekleme yapmışsınız uiscript tarafında
 
İlgili tanımların olduğu 3 dosya ekte expanded olarak da denedim ama neyi gözden kaçırıyorum bulamadım bir gözatma şansınız var mı?


syserr:
Genişlet Daralt Kopyala
1202 ::   File "networkModule.py", line 315, in SetGamePhase

1202 ::   File "game.py", line 118, in __init__

1202 ::   File "interfaceModule.py", line 596, in MakeInterface

1202 ::   File "interfaceModule.py", line 269, in __MakeTaskBar

1202 ::   File "uiTaskBar.py", line 652, in LoadWindow

1202 ::   File "ui.py", line 4148, in GetChild

1202 :: KeyError
1202 :: :
1202 :: 'PetGuiButton'
 

Dosya Eklentileri

Taskbar sorununu hallettim root dizinindeki "expandedtaskbar.py" değil locale dizinindekini kullandığı için tanımıyormuş.
Ama Gelişme butonu neden bu şekilde geliyor onu anlamadım :)

Şuan sadece Client SRC, Pack, SQL ve item_proto kısımlarını güncelledim.

petgui.webp
 
Geri
Üst