Yardım Mob drop info eklerken aldığım hata

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

Ezworth

Üye
Üye
Game kısmını hatasız yapmışken clientte sıkıntı yaşadım.

1651399246626.png
hata budur eklediğim dosyalar da burada
Ui:
## Aratın:
    def __init__(self, layer = "UI"):
        self.clickEvent = None
        self.hWnd = None
        self.parentWindow = 0
        self.onMouseLeftButtonUpEvent = None
        self.RegisterWindow(layer)
        self.Hide()

## Altına Ekleyin:
        if app.ENABLE_SEND_TARGET_INFO:
            self.mouseLeftButtonDownEvent = None
            self.mouseLeftButtonDownArgs = None
            self.mouseLeftButtonUpEvent = None
            self.mouseLeftButtonUpArgs = None
            self.mouseLeftButtonDoubleClickEvent = None
            self.mouseRightButtonDownEvent = None
            self.mouseRightButtonDownArgs = None
            self.moveWindowEvent = None
            self.renderEvent = None
            self.renderArgs = None

            self.overInEvent = None
            self.overInArgs = None

            self.overOutEvent = None
            self.overOutArgs = None

            self.baseX = 0
            self.baseY = 0

            self.SetWindowName("NONAME_Window")

## Aratın:
    def GetWindowName(self):
        return wndMgr.GetName(self.hWnd)

    def SetParent(self, parent):
        wndMgr.SetParent(self.hWnd, parent.hWnd)

## Altına Ekleyin: (Setparent bloğu ile birlikte de değiştirin.)
    if app.ENABLE_SEND_TARGET_INFO:
        def SetParent(self, parent):
            if parent:
                wndMgr.SetParent(self.hWnd, parent.hWnd)
            else:
                wndMgr.SetParent(self.hWnd, 0)
   
        def SetAttachParent(self, parent):
            wndMgr.SetAttachParent(self.hWnd, parent.hWnd)
    else:
        def SetParent(self, parent):
            wndMgr.SetParent(self.hWnd, parent.hWnd)

## Arayın:
    def Hide(self):
        wndMgr.Hide(self.hWnd)

## Altına Ekleyin:
    if app.ENABLE_SEND_TARGET_INFO:
        def SetVisible(self, is_show):
            if is_show:
                self.Show()
            else:
                self.Hide()

## Arayın:
    def GetLocalPosition(self):
        return wndMgr.GetWindowLocalPosition(self.hWnd)

## Altına Ekleyin:
    if app.ENABLE_SEND_TARGET_INFO:
        def GetLeft(self):
            x, y = self.GetLocalPosition()
            return x
   
        def GetGlobalLeft(self):
            x, y = self.GetGlobalPosition()
            return x
   
        def GetTop(self):
            x, y = self.GetLocalPosition()
            return y
   
        def GetGlobalTop(self):
            x, y = self.GetGlobalPosition()
            return y
   
        def GetRight(self):
            return self.GetLeft() + self.GetWidth()
   
        def GetBottom(self):
            return self.GetTop() + self.GetHeight()

## Arayın:
    def GetRect(self):
        return wndMgr.GetWindowRect(self.hWnd)

## Altına Ekleyin:
    if app.ENABLE_SEND_TARGET_INFO:
        def SetLeft(self, x):
            wndMgr.SetWindowPosition(self.hWnd, x, self.GetTop())

## Arayın:
    def SetCenterPosition(self, x = 0, y = 0):
        self.SetPosition((wndMgr.GetScreenWidth() - self.GetWidth()) / 2 + x, (wndMgr.GetScreenHeight() - self.GetHeight()) / 2 + y)

## Altına Ekleyin:
    if app.ENABLE_SEND_TARGET_INFO:
        def SavePosition(self):
            self.baseX = self.GetLeft()
            self.baseY = self.GetTop()
   
        def UpdatePositionByScale(self, scale):
            self.SetPosition(self.baseX * scale, self.baseY * scale)

## Arayın:
    def IsIn(self):
        return wndMgr.IsIn(self.hWnd)

## Altına Ekleyin:
    if app.ENABLE_SEND_TARGET_INFO:
        def IsInPosition(self):
            xMouse, yMouse = wndMgr.GetMousePosition()
            x, y = self.GetGlobalPosition()
            return xMouse >= x and xMouse < x + self.GetWidth() and yMouse >= y and yMouse < y + self.GetHeight()
   
        def SetMouseLeftButtonDownEvent(self, event, *args):
            self.mouseLeftButtonDownEvent = event
            self.mouseLeftButtonDownArgs = args
   
        def OnMouseLeftButtonDown(self):
            if self.mouseLeftButtonDownEvent:
                apply(self.mouseLeftButtonDownEvent, self.mouseLeftButtonDownArgs)

## Arayın:
    def SetOnMouseLeftButtonUpEvent(self, event):
        self.onMouseLeftButtonUpEvent = ev

## Değiştirin:
    if app.ENABLE_SEND_TARGET_INFO:
        def SetMouseLeftButtonUpEvent(self, event, *args):
            self.mouseLeftButtonUpEvent = event
            self.mouseLeftButtonUpArgs = args
    else:
        def SetOnMouseLeftButtonUpEvent(self, event):
            self.onMouseLeftButtonUpEvent = ev

    if app.ENABLE_SEND_TARGET_INFO:
        def SetMouseLeftButtonDoubleClickEvent(self, event):
            self.mouseLeftButtonDoubleClickEvent = event
   
        def OnMouseLeftButtonDoubleClick(self):
            if self.mouseLeftButtonDoubleClickEvent:
                self.mouseLeftButtonDoubleClickEvent()
   
        def SetMouseRightButtonDownEvent(self, event, *args):
            self.mouseRightButtonDownEvent = event
            self.mouseRightButtonDownArgs = args
   
        def OnMouseRightButtonDown(self):
            if self.mouseRightButtonDownEvent:
                apply(self.mouseRightButtonDownEvent, self.mouseRightButtonDownArgs)
   
        def SetMoveWindowEvent(self, event):
            self.moveWindowEvent = event
   
        def OnMoveWindow(self, x, y):
            if self.moveWindowEvent:
                self.moveWindowEvent(x, y)
   
        def SAFE_SetOverInEvent(self, func, *args):
            self.overInEvent = __mem_func__(func)
            self.overInArgs = args
   
        def SetOverInEvent(self, func, *args):
            self.overInEvent = func
            self.overInArgs = args
   
        def SAFE_SetOverOutEvent(self, func, *args):
            self.overOutEvent = __mem_func__(func)
            self.overOutArgs = args
   
        def SetOverOutEvent(self, func, *args):
            self.overOutEvent = func
            self.overOutArgs = args
   
        def OnMouseOverIn(self):
            if self.overInEvent:
                apply(self.overInEvent, self.overInArgs)
   
        def OnMouseOverOut(self):
            if self.overOutEvent:
                apply(self.overOutEvent, self.overOutArgs)
   
        def SAFE_SetRenderEvent(self, event, *args):
            self.renderEvent = __mem_func__(event)
            self.renderArgs = args
   
        def ClearRenderEvent(self):
            self.renderEvent = None
            self.renderArgs = None
   
        def OnRender(self):
            if self.renderEvent:
                apply(self.renderEvent, self.renderArgs)

## Arayın:
class CandidateListBox(ListBoxEx):

## Ekleyin (Üstüne):
if app.ENABLE_SEND_TARGET_INFO:
    class ListBoxExNew(Window):
        class Item(Window):
            def __init__(self):
                Window.__init__(self)

                self.realWidth = 0
                self.realHeight = 0

                self.removeTop = 0
                self.removeBottom = 0

                self.SetWindowName("NONAME_ListBoxExNew_Item")

            def __del__(self):
                Window.__del__(self)

            def SetParent(self, parent):
                Window.SetParent(self, parent)
                self.parent=proxy(parent)

            def SetSize(self, width, height):
                self.realWidth = width
                self.realHeight = height
                Window.SetSize(self, width, height)

            def SetRemoveTop(self, height):
                self.removeTop = height
                self.RefreshHeight()

            def SetRemoveBottom(self, height):
                self.removeBottom = height
                self.RefreshHeight()

            def SetCurrentHeight(self, height):
                Window.SetSize(self, self.GetWidth(), height)

            def GetCurrentHeight(self):
                return Window.GetHeight(self)

            def ResetCurrentHeight(self):
                self.removeTop = 0
                self.removeBottom = 0
                self.RefreshHeight()

            def RefreshHeight(self):
                self.SetCurrentHeight(self.GetHeight() - self.removeTop - self.removeBottom)

            def GetHeight(self):
                return self.realHeight

        def __init__(self, stepSize, viewSteps):
            Window.__init__(self)

            self.viewItemCount=10
            self.basePos=0
            self.baseIndex=0
            self.maxSteps=0
            self.viewSteps = viewSteps
            self.stepSize = stepSize
            self.itemList=[]

            self.scrollBar=None

            self.SetWindowName("NONAME_ListBoxEx")

        def __del__(self):
            Window.__del__(self)

        def IsEmpty(self):
            if len(self.itemList)==0:
                return 1
            return 0

        def __CheckBasePos(self, pos):
            self.viewItemCount = 0

            start_pos = pos

            height = 0
            while height < self.GetHeight():
                if pos >= len(self.itemList):
                    return start_pos == 0
                height += self.itemList[pos].GetHeight()
                pos += 1
                self.viewItemCount += 1
            return height == self.GetHeight()

        def SetBasePos(self, basePos, forceRefresh = TRUE):
            if forceRefresh == FALSE and self.basePos == basePos:
                return

            for oldItem in self.itemList[self.baseIndex:self.baseIndex+self.viewItemCount]:
                oldItem.ResetCurrentHeight()
                oldItem.Hide()

            self.basePos=basePos

            baseIndex = 0
            while basePos > 0:
                basePos -= self.itemList[baseIndex].GetHeight() / self.stepSize
                if basePos < 0:
                    self.itemList[baseIndex].SetRemoveTop(self.stepSize * abs(basePos))
                    break
                baseIndex += 1
            self.baseIndex = baseIndex

            stepCount = 0
            self.viewItemCount = 0
            while baseIndex < len(self.itemList):
                stepCount += self.itemList[baseIndex].GetCurrentHeight() / self.stepSize
                self.viewItemCount += 1
                if stepCount > self.viewSteps:
                    self.itemList[baseIndex].SetRemoveBottom(self.stepSize * (stepCount - self.viewSteps))
                    break
                elif stepCount == self.viewSteps:
                    break
                baseIndex += 1

            y = 0
            for newItem in self.itemList[self.baseIndex:self.baseIndex+self.viewItemCount]:
                newItem.SetPosition(0, y)
                newItem.Show()
                y += newItem.GetCurrentHeight()

        def GetItemIndex(self, argItem):
            return self.itemList.index(argItem)

        def GetSelectedItem(self):
            return self.selItem

        def GetSelectedItemIndex(self):
            return self.selItemIdx

        def RemoveAllItems(self):
            self.itemList=[]
            self.maxSteps=0

            if self.scrollBar:
                self.scrollBar.SetPos(0)

        def RemoveItem(self, delItem):
            self.maxSteps -= delItem.GetHeight() / self.stepSize
            self.itemList.remove(delItem)

        def AppendItem(self, newItem):
            if newItem.GetHeight() % self.stepSize != 0:
                import dbg
                dbg.TraceError("Invalid AppendItem height %d stepSize %d" % (newItem.GetHeight(), self.stepSize))
                return

            self.maxSteps += newItem.GetHeight() / self.stepSize
            newItem.SetParent(self)
            self.itemList.append(newItem)

        def SetScrollBar(self, scrollBar):
            scrollBar.SetScrollEvent(__mem_func__(self.__OnScroll))
            self.scrollBar=scrollBar

        def __OnScroll(self):
            self.SetBasePos(int(self.scrollBar.GetPos()*self.__GetScrollLen()), FALSE)

        def __GetScrollLen(self):
            scrollLen=self.maxSteps-self.viewSteps
            if scrollLen<0:
                return 0

            return scrollLen

        def __GetViewItemCount(self):
            return self.viewItemCount

        def __GetItemCount(self):
            return len(self.itemList)

        def GetViewItemCount(self):
            return self.viewItemCount

        def GetItemCount(self):
            return len(self.itemList)

## Arayın:
    def __del__(self):
        Window.__del__(self)

## Altına Ekleyin:
    if app.ENABLE_SEND_TARGET_INFO:
        def ShowCorner(self, corner):
            self.Corners[corner].Show()
            self.SetSize(self.GetWidth(), self.GetHeight())

        def HideCorners(self, corner):
            self.Corners[corner].Hide()
            self.SetSize(self.GetWidth(), self.GetHeight())

        def ShowLine(self, line):
            self.Lines[line].Show()
            self.SetSize(self.GetWidth(), self.GetHeight())

        def HideLine(self, line):
            self.Lines[line].Hide()
            self.SetSize(self.GetWidth(), self.GetHeight())


constinfo:
#İmportlara ekle
import app

# Ekleyin altına bi yere
if app.ENABLE_SEND_TARGET_INFO:
    MONSTER_INFO_DATA = {}
Daha fazla ekleme yaptım ama syserr sanki bunlardan hata vermiş gibi gördüğüm için bunları ekledim acemiyim kusuruma bakmayın.
 
Locale_inc.h

C++:
#define ENABLE_SEND_TARGET_INFO

ve PythonApplicationModule.cpp içine bu şekilde eklleme yaptın mı ?

C++:
#ifdef ENABLE_SEND_TARGET_INFO
    PyModule_AddIntConstant(poModule, "ENABLE_SEND_TARGET_INFO", 1);
#else
    PyModule_AddIntConstant(poModule, "ENABLE_SEND_TARGET_INFO", 0);
#endif
 
Maalesef onları unutmuşum ekledim ancak böyle bir syserr aldım.


Syserr:
0501 19:05:04664 ::
networkModule.py(line:208) SetSelectCharacterPhase
system.py(line:130) __pack_import
system.py(line:110) _process_result
introSelect.py(line:26) <module>
system.py(line:130) __pack_import
system.py(line:110) _process_result
uiTarget.py(line:18) <module>
uiTarget.py(line:521) TargetBoard

networkModule.SetSelectCharacterPhase - <type 'exceptions.NameError'>:name 'self' is not defined

0501 19:05:04664 :: ============================================================================================================
0501 19:05:04664 :: Abort!!!!
 
Maalesef onları unutmuşum ekledim ancak böyle bir syserr aldım.


Syserr:
0501 19:05:04664 ::
networkModule.py(line:208) SetSelectCharacterPhase
system.py(line:130) __pack_import
system.py(line:110) _process_result
introSelect.py(line:26) <module>
system.py(line:130) __pack_import
system.py(line:110) _process_result
uiTarget.py(line:18) <module>
uiTarget.py(line:521) TargetBoard

networkModule.SetSelectCharacterPhase - <type 'exceptions.NameError'>:name 'self' is not defined

0501 19:05:04664 :: ============================================================================================================
0501 19:05:04664 :: Abort!!!!
Sistemli, Fixli SRC ve PACKLer
bunu indir rootunu komple karşılaştır.
 
Karşılaştırırken bayağa bir işlem yaptım ama sanırım bir yerde yine hata yaptım.
Syserr:
0501 22:12:12913 ::   File "networkModule.py", line 247, in SetGamePhase

0501 22:12:12913 ::   File "game.py", line 105, in __init__

0501 22:12:12913 ::   File "uiTarget.py", line 432, in __init__

0501 22:12:12913 :: AttributeError
0501 22:12:12913 :: :
0501 22:12:12913 :: 'TargetBoard' object has no attribute 'OnPressedInfoButton'
0501 22:12:12913 ::
 
networkModule.SetSelectCharacterPhase - <type 'exceptions.NameError'>:name 'self' is not defined

bu hata şuna işarettir. self def ile paralel kaldıysa bu hatayı verir. yani def'in tam altında değil 1 tab ilersinde olacak.

TargetBoard def'inde veya class'ında OnPressedInfoButton bunu tanımlayamıyor. Bunu kontrol edin.
 
Geri