Çözüldü İkarus Offshop Grid Rework & Serach Python Syserr

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

MCB

Premium Üye
Premium Üye
MT Üye
Mesaj
236
Çözümler
19
Beğeni
74
Puan
119
Ticaret Puanı
0
Syserr:
0213 02:18:16899 ::   File "networkModule.py", line 247, in SetGamePhase

0213 02:18:16899 ::   File "game.py", line 101, in __init__

0213 02:18:16899 ::   File "interfaceModule.py", line 291, in MakeInterface

0213 02:18:16899 ::   File "interfaceModule.py", line 200, in __MakeWindows

0213 02:18:16900 ::   File "uiofflineshop_ae.py", line 399, in __init__

0213 02:18:16900 ::   File "uishopsearch.py", line 908, in __init__

0213 02:18:16900 ::   File "uishopsearch.py", line 966, in LoadWindow

0213 02:18:16900 :: AttributeError
0213 02:18:16900 :: :
0213 02:18:16900 :: 'EditLine' object has no attribute 'SetOverlayText'
0213 02:18:16900 ::

0213 02:18:35312 :: Traceback (most recent call last):

0213 02:18:35312 ::   File "game.py", line 806, in RefreshInventory

0213 02:18:35312 ::   File "interfaceModule.py", line 577, in RefreshInventory

0213 02:18:35312 :: AttributeError
0213 02:18:35312 :: :
0213 02:18:35312 :: 'NoneType' object has no attribute 'RefreshQuickSlot'
0213 02:18:35312 ::

0213 02:18:35312 :: Traceback (most recent call last):

0213 02:18:35312 ::   File "game.py", line 806, in RefreshInventory

0213 02:18:35312 ::   File "interfaceModule.py", line 577, in RefreshInventory

0213 02:18:35313 :: AttributeError
0213 02:18:35313 :: :
0213 02:18:35313 :: 'NoneType' object has no attribute 'RefreshQuickSlot'
0213 02:18:35313 ::

Loading ekranı dolduğunda ekran o şekilde kalıyor ve bu syserr veriyor

eklediğim dosyalar ve anlatım dosyasını ekledim kontrol edebilcek biri olursa sevinirim :)

Linkleri görebilmek için giriş yap veya kayıt ol.
 

Dosya Eklentileri

  • 1707780024823.png
    1707780024823.png
    55,6 KB · Gösterim: 32
ui.py
Class EditLine fonksiyonu içerisinde

Ekleyin

Python:
    if app.__ENABLE_NEW_OFFLINESHOP__:
        def SetOverlayText(self, text):
            self.overLay.SetText(text)
            self.__RefreshOverlay()
        
        def GetOverlayText(self):
            return self.overLay.GetText()
        
        def SetUpdateEvent(self, event):
            self.eventUpdate = event
        
        def GetDisplayText(self):
            if len(self.GetText()):
                return self.GetText()
            else:
                return self.overLay.GetText()
        
        def __RefreshOverlay(self):
            if len(self.GetText()):
                self.overLay.Hide()
            else:
                self.overLay.Show()
        
        def IsShowCursor(self):
            return wndMgr.IsShowCursor(self.hWnd)
 
ui.py
Class EditLine fonksiyonu içerisinde

Ekleyin

Python:
    if app.__ENABLE_NEW_OFFLINESHOP__:
        def SetOverlayText(self, text):
            self.overLay.SetText(text)
            self.__RefreshOverlay()
     
        def GetOverlayText(self):
            return self.overLay.GetText()
     
        def SetUpdateEvent(self, event):
            self.eventUpdate = event
     
        def GetDisplayText(self):
            if len(self.GetText()):
                return self.GetText()
            else:
                return self.overLay.GetText()
     
        def __RefreshOverlay(self):
            if len(self.GetText()):
                self.overLay.Hide()
            else:
                self.overLay.Show()
     
        def IsShowCursor(self):
            return wndMgr.IsShowCursor(self.hWnd)
Syserr:
0213 17:11:17770 ::   File "networkModule.py", line 247, in SetGamePhase

0213 17:11:17770 ::   File "game.py", line 105, in __init__

0213 17:11:17770 ::   File "interfaceModule.py", line 292, in MakeInterface

0213 17:11:17771 ::   File "interfaceModule.py", line 206, in __MakeWindows

0213 17:11:17771 ::   File "uiofflineshop_ae.py", line 399, in __init__

0213 17:11:17771 ::   File "uishopsearch.py", line 899, in __init__

0213 17:11:17771 ::   File "uishopsearch.py", line 957, in LoadWindow

0213 17:11:17771 ::   File "ui.py", line 612, in SetOverlayText

0213 17:11:17771 :: AttributeError
0213 17:11:17771 :: :
0213 17:11:17771 :: 'EditLine' object has no attribute 'overLay'
0213 17:11:17771 ::

0213 17:11:53278 :: Traceback (most recent call last):

0213 17:11:53278 ::   File "game.py", line 814, in RefreshInventory

0213 17:11:53279 ::   File "interfaceModule.py", line 577, in RefreshInventory

0213 17:11:53280 :: AttributeError
0213 17:11:53280 :: :
0213 17:11:53280 :: 'NoneType' object has no attribute 'RefreshQuickSlot'

Dediğini yaptım şuan sysser bu şekilde 'NoneType' object has no attribute 'RefreshQuickSlot' bu sysseri bu sistemi ekledikten sonra veriyor
Nerde hata yaptım diye üstünden kaç defa geçtim ama yaptıysamda hata göremedim doğrusu
 
Syserr:
0213 17:11:17770 ::   File "networkModule.py", line 247, in SetGamePhase

0213 17:11:17770 ::   File "game.py", line 105, in __init__

0213 17:11:17770 ::   File "interfaceModule.py", line 292, in MakeInterface

0213 17:11:17771 ::   File "interfaceModule.py", line 206, in __MakeWindows

0213 17:11:17771 ::   File "uiofflineshop_ae.py", line 399, in __init__

0213 17:11:17771 ::   File "uishopsearch.py", line 899, in __init__

0213 17:11:17771 ::   File "uishopsearch.py", line 957, in LoadWindow

0213 17:11:17771 ::   File "ui.py", line 612, in SetOverlayText

0213 17:11:17771 :: AttributeError
0213 17:11:17771 :: :
0213 17:11:17771 :: 'EditLine' object has no attribute 'overLay'
0213 17:11:17771 ::

0213 17:11:53278 :: Traceback (most recent call last):

0213 17:11:53278 ::   File "game.py", line 814, in RefreshInventory

0213 17:11:53279 ::   File "interfaceModule.py", line 577, in RefreshInventory

0213 17:11:53280 :: AttributeError
0213 17:11:53280 :: :
0213 17:11:53280 :: 'NoneType' object has no attribute 'RefreshQuickSlot'

Dediğini yaptım şuan sysser bu şekilde 'NoneType' object has no attribute 'RefreshQuickSlot' bu sysseri bu sistemi ekledikten sonra veriyor
Nerde hata yaptım diye üstünden kaç defa geçtim ama yaptıysamda hata göremedim doğrusu
class EditLine(TextLine): içerisine
Python:
        if app.__ENABLE_NEW_OFFLINESHOP__:
            self.eventUpdate = None
            
            self.overLay = TextLine()
            self.overLay.SetParent(self)
            self.overLay.SetPosition(0, 0)
            self.overLay.SetPackedFontColor(WHITE_COLOR)
            self.overLay.Hide()

Ekle
RefreshQuickSlot
uitaskbar.py tanımı olması lazım
 
class EditLine(TextLine): içerisine
Python:
        if app.__ENABLE_NEW_OFFLINESHOP__:
            self.eventUpdate = None
           
            self.overLay = TextLine()
            self.overLay.SetParent(self)
            self.overLay.SetPosition(0, 0)
            self.overLay.SetPackedFontColor(WHITE_COLOR)
            self.overLay.Hide()

Ekle
RefreshQuickSlot
uitaskbar.py tanımı olması lazım
Kod:
0213 17:30:11659 ::   File "networkModule.py", line 247, in SetGamePhase

0213 17:30:11659 ::   File "game.py", line 105, in __init__

0213 17:30:11659 ::   File "interfaceModule.py", line 292, in MakeInterface

0213 17:30:11659 ::   File "interfaceModule.py", line 206, in __MakeWindows

0213 17:30:11660 ::   File "uiofflineshop_ae.py", line 399, in __init__

0213 17:30:11660 ::   File "uishopsearch.py", line 899, in __init__

0213 17:30:11660 ::   File "uishopsearch.py", line 985, in LoadWindow

0213 17:30:11660 ::   File "ui.py", line 2170, in __init__

0213 17:30:11660 ::   File "ui.py", line 2208, in CreateScrollBar

0213 17:30:11660 ::   File "ui.py", line 2157, in SetSize

0213 17:30:11661 :: AttributeError
0213 17:30:11661 :: :
0213 17:30:11661 :: 'ExpandedImageBox' object has no attribute 'GetBottom'
0213 17:30:11661 ::

Şuan böyle bi sysser verdi bu sorun bi tek bendemi var :s
 
Kod:
0213 17:30:11659 ::   File "networkModule.py", line 247, in SetGamePhase

0213 17:30:11659 ::   File "game.py", line 105, in __init__

0213 17:30:11659 ::   File "interfaceModule.py", line 292, in MakeInterface

0213 17:30:11659 ::   File "interfaceModule.py", line 206, in __MakeWindows

0213 17:30:11660 ::   File "uiofflineshop_ae.py", line 399, in __init__

0213 17:30:11660 ::   File "uishopsearch.py", line 899, in __init__

0213 17:30:11660 ::   File "uishopsearch.py", line 985, in LoadWindow

0213 17:30:11660 ::   File "ui.py", line 2170, in __init__

0213 17:30:11660 ::   File "ui.py", line 2208, in CreateScrollBar

0213 17:30:11660 ::   File "ui.py", line 2157, in SetSize

0213 17:30:11661 :: AttributeError
0213 17:30:11661 :: :
0213 17:30:11661 :: 'ExpandedImageBox' object has no attribute 'GetBottom'
0213 17:30:11661 ::

Şuan böyle bi sysser verdi bu sorun bi tek bendemi var :s
Siz grid ikarus ekliyorsunuzda öncesinde ikarusu ekleyip sonra grid güncellemesi yapmanız lazım . grid ikarus full ikarus değil sadece bir güncelleme dolayısı ile sizde bir dünya eksik fonksiyon var
 
Siz grid ikarus ekliyorsunuzda öncesinde ikarusu ekleyip sonra grid güncellemesi yapmanız lazım . grid ikarus full ikarus değil sadece bir güncelleme dolayısı ile sizde bir dünya eksik fonksiyon var
İkarus ekli hocam ikarusun üzerine grid kurmaya çalışıyorum
 
Siz grid ikarus ekliyorsunuzda öncesinde ikarusu ekleyip sonra grid güncellemesi yapmanız lazım . grid ikarus full ikarus değil sadece bir güncelleme dolayısı ile sizde bir dünya eksik fonksiyon var
syserr:
0214 13:39:18128 ::   File "networkModule.py", line 236, in SetGamePhase

0214 13:39:18128 ::   File "game.py", line 95, in __init__

0214 13:39:18128 ::   File "interfaceModule.py", line 345, in MakeInterface

0214 13:39:18128 ::   File "interfaceModule.py", line 217, in __MakeWindows

0214 13:39:18129 ::   File "uiofflineshop_ae.py", line 399, in __init__

0214 13:39:18129 ::   File "uishopsearch.py", line 907, in __init__

0214 13:39:18129 ::   File "uishopsearch.py", line 1051, in LoadWindow

0214 13:39:18129 ::   File "uishopsearch.py", line 1074, in CreateFilterRadioButton

0214 13:39:18129 :: TypeError
0214 13:39:18129 :: :
0214 13:39:18129 :: SetToggleUpEvent() takes exactly 2 arguments (3 given)
0214 13:39:18129 ::

bu tarz bir syserr alıyorum pythonda SetToggleUpEvent() sadece 2 yerde var

ui.py:
class ToggleButton(Button):
    def __init__(self):
        Button.__init__(self)

        self.eventUp = None
        self.eventDown = None

    def __del__(self):
        Button.__del__(self)

        self.eventUp = None
        self.eventDown = None

    def SetToggleUpEvent(self, event):
        self.eventUp = event

    def SetToggleDownEvent(self, event):
        self.eventDown = event

    def RegisterWindow(self, layer):
        self.hWnd = wndMgr.RegisterToggleButton(self, layer)

    def OnToggleUp(self):
        if self.eventUp:
            self.eventUp()

    def OnToggleDown(self):
        if self.eventDown:
            self.eventDown()

uishopsearch.py:
    def CreateFilterRadioButton(self, text, x, y, up, over, down):
        button = ui.ToggleButton()
        button.SetParent(self)
        button.SetPosition(x, y)
        button.SetUpVisual(PATH + "filter/" + up)
        button.SetOverVisual(PATH + "filter/" + over)
        button.SetDownVisual(PATH + "filter/" + down)
        button.SetToolTipText(text)
        button.SetToggleUpEvent(ui.__mem_func__(self.OnFilterButtonDown), button)
        button.SetToggleDownEvent(ui.__mem_func__(self.OnFilterButtonSetUp), button)
        button.Show()
        
        button.Down()
        
        return button
    
    def OnFilterButtonDown(self, wnd):
        wnd.SetUp()
        
    def OnFilterButtonSetUp(self, wnd):
        wnd.Down()
 
syserr:
0214 13:39:18128 ::   File "networkModule.py", line 236, in SetGamePhase

0214 13:39:18128 ::   File "game.py", line 95, in __init__

0214 13:39:18128 ::   File "interfaceModule.py", line 345, in MakeInterface

0214 13:39:18128 ::   File "interfaceModule.py", line 217, in __MakeWindows

0214 13:39:18129 ::   File "uiofflineshop_ae.py", line 399, in __init__

0214 13:39:18129 ::   File "uishopsearch.py", line 907, in __init__

0214 13:39:18129 ::   File "uishopsearch.py", line 1051, in LoadWindow

0214 13:39:18129 ::   File "uishopsearch.py", line 1074, in CreateFilterRadioButton

0214 13:39:18129 :: TypeError
0214 13:39:18129 :: :
0214 13:39:18129 :: SetToggleUpEvent() takes exactly 2 arguments (3 given)
0214 13:39:18129 ::

bu tarz bir syserr alıyorum pythonda SetToggleUpEvent() sadece 2 yerde var

ui.py:
class ToggleButton(Button):
    def __init__(self):
        Button.__init__(self)

        self.eventUp = None
        self.eventDown = None

    def __del__(self):
        Button.__del__(self)

        self.eventUp = None
        self.eventDown = None

    def SetToggleUpEvent(self, event):
        self.eventUp = event

    def SetToggleDownEvent(self, event):
        self.eventDown = event

    def RegisterWindow(self, layer):
        self.hWnd = wndMgr.RegisterToggleButton(self, layer)

    def OnToggleUp(self):
        if self.eventUp:
            self.eventUp()

    def OnToggleDown(self):
        if self.eventDown:
            self.eventDown()

uishopsearch.py:
    def CreateFilterRadioButton(self, text, x, y, up, over, down):
        button = ui.ToggleButton()
        button.SetParent(self)
        button.SetPosition(x, y)
        button.SetUpVisual(PATH + "filter/" + up)
        button.SetOverVisual(PATH + "filter/" + over)
        button.SetDownVisual(PATH + "filter/" + down)
        button.SetToolTipText(text)
        button.SetToggleUpEvent(ui.__mem_func__(self.OnFilterButtonDown), button)
        button.SetToggleDownEvent(ui.__mem_func__(self.OnFilterButtonSetUp), button)
        button.Show()
    
        button.Down()
    
        return button
 
    def OnFilterButtonDown(self, wnd):
        wnd.SetUp()
    
    def OnFilterButtonSetUp(self, wnd):
        wnd.Down()
SetToggleUpEvent fonksiyonu 2 parametereye sahip, biri self (sınıf metodu anlamına geliyor, değer veremezsin) diğeri de event parametresi. Sen kullanırken ilk argümanı vermişsin güzel ama virgül koyup buton değişkenini de vermişsin. Doğal olarak diyor ki, bu verdiğin buton argümanını ben hangi parametreye atayacağım? Böyle durumlarda, fonksiyona ekstra bir parametre ekleyip varsayılan bir değer verebilir ya da isimsiz argümanlar anlamına gelen *args anahtar kelimesini kullanabilirsin. Bu anahtar kelime, bir liste olarak fonksiyon içerisinde kullanılabilir. Tamamen ne yapmak istediğine bağlı.
 
Son düzenleme:
SetToggleUpEvent fonksiyonu 2 parametereye sahip, biri self (sınıf metodu anlamına geliyor, değer veremezsin) diğeri de event parametresi. Sen kullanırken ilk argümanı vermişsin güzel ama virgül koyup buton değişkenini de vermişsin. Doğal olarak diyor ki, bu verdiğin buton değişkenini ben hangi parametreye atayacağım? Böyle durumlarda, fonksiyona ekstra bir parametre ekleyip varsayılan bir değer verebilir ya da isimsiz argümanlar anlamına gelen *args anahtar kelimesini kullanabilirsin. Bu anahtar kelime, bir liste olarak fonksiyon içerisinde kullanılabilir. Tamamen ne yapmak istediğine bağlı.
ufak bir ekleme yapayım. söktüğün filesin ui.pysinde bu class düzenlidir. classı komple kopyalayıp kendi filesine yapıştırarakta çözebilirsin. sistem sökmede ui.py uyuşması çok önemli. diğer syserrleri bir şekilde çözüyorsun da bu ui.py için bazen pythonwindow.cpp taraflı değişikliklerede ihtiyaç oluyor. dikkat etmek lazım. hatanın peşine düştüğün sürece çözümü bulabilirsin. vazgeçersen bulamazsın.
 
ufak bir ekleme yapayım. söktüğün filesin ui.pysinde bu class düzenlidir. classı komple kopyalayıp kendi filesine yapıştırarakta çözebilirsin. sistem sökmede ui.py uyuşması çok önemli. diğer syserrleri bir şekilde çözüyorsun da bu ui.py için bazen pythonwindow.cpp taraflı değişikliklerede ihtiyaç oluyor. dikkat etmek lazım. hatanın peşine düştüğün sürece çözümü bulabilirsin. vazgeçersen bulamazsın.
Sistemin ekli olduğu files elimde olmadığı için ve bulamadığım için hatalar ile karşılaşıyorum erişebilsem bi şekilde çözerim.
@ggns7 ile bi önceki sysserin çözümüne ulaştım..

bu fonksiyonu:
button.SetToggleUpEvent(ui.__mem_func__(self.OnFilterButtonDown), button)

bu şekilde değiştirim:
button.SetToggleUpEvent(ui.__mem_func__(self.OnFilterButtonDown))

1707911906020.png



Oyuna giriş sağladım fakat şuanda gelen sysser şu yönde


syserr:
0214 14:50:14886 :: AttributeError
0214 14:50:14886 :: :
0214 14:50:14886 :: 'module' object has no attribute 'GenerateColor'
0214 14:50:14886 ::

0214 14:50:14888 :: Traceback (most recent call last):

0214 14:50:14888 ::   File "game.py", line 659, in RefreshStatus

0214 14:50:14888 ::   File "interfaceModule.py", line 675, in RefreshStatus

0214 14:50:14888 ::   File "uiCharacter.py", line 725, in RefreshStatus

0214 14:50:14888 ::   File "uiCharacter.py", line 773, in RefreshAlignment

0214 14:51:16217 :: AttributeError
0214 14:51:16217 :: :
0214 14:51:16217 :: 'module' object has no attribute 'GetHyperlink'
0214 14:51:16217 ::

0214 14:51:16299 :: Traceback (most recent call last):

0214 14:51:16299 ::   File "game.py", line 1325, in OnMouseLeftButtonUp

0214 14:51:16299 :: AttributeError
0214 14:51:16299 :: :
0214 14:51:16299 :: 'module' object has no attribute 'GetHyperlink'
0214 14:51:16299 ::

0214 14:51:32436 :: skillGetAffect - Strange Formula [Kamuflaj]
0214 14:51:32784 :: skillGetAffect - Strange Formula [Kamuflaj]
0214 14:55:22611 :: skillGetAffect - Strange Formula [Kamuflaj]
 
SetToggleUpEvent fonksiyonu 2 parametereye sahip, biri self (sınıf metodu anlamına geliyor, değer veremezsin) diğeri de event parametresi. Sen kullanırken ilk argümanı vermişsin güzel ama virgül koyup buton değişkenini de vermişsin. Doğal olarak diyor ki, bu verdiğin buton argümanını ben hangi parametreye atayacağım? Böyle durumlarda, fonksiyona ekstra bir parametre ekleyip varsayılan bir değer verebilir ya da isimsiz argümanlar anlamına gelen *args anahtar kelimesini kullanabilirsin. Bu anahtar kelime, bir liste olarak fonksiyon içerisinde kullanılabilir. Tamamen ne yapmak istediğine bağlı.
Evet haklısınız o nedenle ui.py

def SetToggleUpEvent

def SetToggleDownEvent

Bu 2 kod satırı aşağıdaki gibi değiştirirsen arguman hatasını vermez

def SetToggleUpEvent(self, event, *args):
self.eventUp = event
self.eventUpArgs = args

def SetToggleDownEvent(self, event, *args):
self.eventDown = event
self.eventDownArgs = args

GetHyperlink tanımı yok

ui.py açılır
class ExtendedTextLine(Window):

içerisine eklenir

def GetHyperlink():
return wndMgr.GetHyperlink()
 
Evet haklısınız o nedenle ui.py

def SetToggleUpEvent

def SetToggleDownEvent

Bu 2 kod satırı aşağıdaki gibi değiştirirsen arguman hatasını vermez

def SetToggleUpEvent(self, event, *args):
self.eventUp = event
self.eventUpArgs = args

def SetToggleDownEvent(self, event, *args):
self.eventDown = event
self.eventDownArgs = args

GetHyperlink tanımı yok

ui.py açılır
class ExtendedTextLine(Window):

içerisine eklenir

def GetHyperlink():
return wndMgr.GetHyperlink()
wndmgr tarafı yoksa yine çalışmaz gethyperlink
 
Evet haklısınız o nedenle ui.py

def SetToggleUpEvent

def SetToggleDownEvent

Bu 2 kod satırı aşağıdaki gibi değiştirirsen arguman hatasını vermez

def SetToggleUpEvent(self, event, *args):
self.eventUp = event
self.eventUpArgs = args

def SetToggleDownEvent(self, event, *args):
self.eventDown = event
self.eventDownArgs = args

GetHyperlink tanımı yok

ui.py açılır
class ExtendedTextLine(Window):

içerisine eklenir

def GetHyperlink():
return wndMgr.GetHyperlink()

class ExtendedTextLine(Window):

isminde bir alan yok

ExtendedTextLine

sadece bu şekildede arattım fakat sonuç gözükmüyor

1707912646617.png


gönderdiğiniz fonksiyon burada var
 
Sorun @damador`un bana verdiği ekli dosyalar ile çözülmüştür
Yardımcı olan ve olmaya çalışan herkese teşekkür ederim.
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst