Jump to content
For maintenance and updates, the community will be offline on 31 December 2022 ×
  • 0

Transmutation system error


Crystal™

Question

  • Premium

 

This is an internal error in the Python C++ code. Something more heinous is going on here, I don't think this is an error in my Python code. 

Does anyone knows where should i look?

Spoiler

===== Load Script File : uiscript/attachstonedialog.py
importing from lib sys
importing from lib sys

importing from sys.modules utils
importing from sys.modules utils

importing from lib chr
importing from lib chr

importing from lib player
importing from lib player

importing from lib app
importing from lib app

importing from lib sys
importing from lib sys

importing from lib copy
importing from lib copy

importing from sys.modules uiScriptLocale
importing from sys.modules uiScriptLocale

importing from sys.modules localeInfo
importing from sys.modules localeInfo

importing from lib sys
importing from lib sys

importing from lib item
importing from lib item

importing from lib app
importing from lib app

importing from lib player
importing from lib player

importing from lib types
importing from lib types

importing from sys.modules uiScriptLocale
importing from sys.modules uiScriptLocale

SYSERR: Traceback (most recent call last):

SYSERR:   File "networkModule.py", line 239, in SetGamePhase

SYSERR:   File "game.py", line 98, in __init__

SYSERR:   File "interfaceModule.py", line 295, in MakeInterface

SYSERR:   File "interfaceModule.py", line 175, in __MakeWindows

SYSERR:   File "uiInventory.py", line 276, in __init__

SYSERR:   File "uiInventory.py", line 420, in __LoadWindow

SYSERR:   File "uiInventory.py", line 491, in SetInventoryPage

SYSERR:   File "uiInventory.py", line 617, in RefreshBagSlotWindow

SYSERR:   File "uiInventory.py", line 239, in RefreshSlot

SYSERR: SystemError
SYSERR: :
SYSERR: ..\Objects\longobject.c:981: bad argument to internal function
SYSERR:

The error is when i call this function: RefreshBagSlotWindow uiinventory.py

Spoiler

    def RefreshBagSlotWindow(self):
        getItemVNum=player.GetItemIndex
        getItemCount=player.GetItemCount
        setItemVNum=self.wndItem.SetItemSlot
        if app.BL_ENABLE_PICKUP_ITEM_EFFECT:
            for i in xrange(self.wndItem.GetSlotCount()):
                self.wndItem.DeactivateSlot(i)

        for i in xrange(player.INVENTORY_PAGE_SIZE):
            slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(i)

            itemCount = getItemCount(slotNumber)
            # itemCount == 0이면 소켓을 비운다.
            if 0 == itemCount:
                self.wndItem.ClearSlot(i)
                continue
            elif 1 == itemCount:
                itemCount = 0

            itemVnum = getItemVNum(slotNumber)
            setItemVNum(i, itemVnum, itemCount)

            ## 자동물약 (HP: #72723 ~ #72726, SP: #72727 ~ #72730) 특수처리 - 아이템인데도 슬롯에 활성화/비활성화 표시를 위한 작업임 - [hyo]
            if constInfo.IS_AUTO_POTION(itemVnum):
                # metinSocket - [0] : 활성화 여부, [1] : 사용한 양, [2] : 최대 용량
                metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]

                isActivated = 0 != metinSocket[0]

                if isActivated:
                    self.wndItem.ActivateSlot(i)
                    potionType = 0;
                    if constInfo.IS_AUTO_POTION_HP(itemVnum):
                        potionType = player.AUTO_POTION_TYPE_HP
                    elif constInfo.IS_AUTO_POTION_SP(itemVnum):
                        potionType = player.AUTO_POTION_TYPE_SP

                    usedAmount = int(metinSocket[1])
                    totalAmount = int(metinSocket[2])
                    player.SetAutoPotionInfo(potionType, isActivated, (totalAmount - usedAmount), totalAmount, self.__InventoryLocalSlotPosToGlobalSlotPos(i))

                else:
                    self.wndItem.DeactivateSlot(i)
            if itemVnum in constInfo.PET_ITEMS:
                metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]    
                isActivated = 0 != metinSocket[1]
                
                if isActivated:
                    self.wndItem.ActivateSlot(i)
                else:
                    self.wndItem.DeactivateSlot(i)
        if app.BL_ENABLE_PICKUP_ITEM_EFFECT:
            self.__HighlightSlot_Refresh()
            if app.BL_TRANSMUTATION_SYSTEM:
                if not player.GetChangeLookVnum(player.INVENTORY, slotNumber) == 0:
                    self.wndItem.SetSlotCoverImage(i,"icon/item/ingame_convert_Mark.tga")
                else:
                    self.wndItem.EnableSlotCoverImage(i,False)
        self.wndItem.RefreshSlot()

        if self.wndBelt:
            self.wndBelt.RefreshSlot()->Line 617
 

Spoiler

    def RefreshSlot(self):
        getItemVNum=player.GetItemIndex

        for i in xrange(item.BELT_INVENTORY_SLOT_COUNT): #line 239
            slotNumber = item.BELT_INVENTORY_SLOT_START + i
            self.wndBeltInventorySlot.SetItemSlot(slotNumber, getItemVNum(slotNumber), player.GetItemCount(slotNumber))
            self.wndBeltInventorySlot.SetAlwaysRenderCoverButton(slotNumber, True)

            avail = "0"

            if player.IsAvailableBeltInventoryCell(slotNumber):
                self.wndBeltInventorySlot.EnableCoverButton(slotNumber)
            else:
                self.wndBeltInventorySlot.DisableCoverButton(slotNumber)

        self.wndBeltInventorySlot.RefreshSlot()
 

 

Edited by Crystal™
Link to comment
Share on other sites

  • Answers 0
  • Created
  • Last Reply

Top Posters For This Question

Popular Days

Top Posters For This Question

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Activity

    1. 1

      Costume shining/costume effect system

    2. 992

      [40250] Reference Serverfile + Client + Src [15 Available Languages]

    3. 3

      Biologist Manager (C++ & LUA)

    4. 3

      Visual studio 2022 compiling issue

    5. 63

      Metin2 | Mount System Renewal

    6. 58

      Metin2 2004 Beta Client

    7. 0

      🔥Paradise2 PVP SERVER GLOBAL!! EN-ES-PT 🕐📢Apertura 11 de diciembre 21 horas de España!

  • 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.