Çözüldü anti exp-butonlu hata

  • Konuyu açan Konuyu açan dorje
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 11
  • Gösterim Gösterim 43
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ı.

dorje

Çaylak Üye
Üye
Mesaj
33
Çözümler
2
Beğeni
3
Puan
19
Ticaret Puanı
0
Syserr biraz kurcaladım fakat ne olduğu hakkında fikrim yok dosyaları doğru bir şekilde entegre ettim


Kod:
Genişlet Daralt Kopyala
0109 19:55:19679 :: Traceback (most recent call last):

0109 19:55:19679 ::   File "networkModule.py", line 247, in SetGamePhase

0109 19:55:19680 ::   File "game.py", line 86, in __init__

0109 19:55:19680 ::   File "interfaceModule.py", line 292, in MakeInterface

0109 19:55:19680 ::   File "interfaceModule.py", line 132, in __MakeTaskBar

0109 19:55:19680 :: UnboundLocalError
0109 19:55:19681 :: :
0109 19:55:19681 :: local variable 'app' referenced before assignment
0109 19:55:19681 ::
 
Çözüm
Syserr biraz kurcaladım fakat ne olduğu hakkında fikrim yok dosyaları doğru bir şekilde entegre ettim


Kod:
Genişlet Daralt Kopyala
0109 19:55:19679 :: Traceback (most recent call last):

0109 19:55:19679 ::   File "networkModule.py", line 247, in SetGamePhase

0109 19:55:19680 ::   File "game.py", line 86, in __init__

0109 19:55:19680 ::   File "interfaceModule.py", line 292, in MakeInterface

0109 19:55:19680 ::   File "interfaceModule.py", line 132, in __MakeTaskBar

0109 19:55:19680 :: UnboundLocalError
0109 19:55:19681 :: :
0109 19:55:19681 :: local variable 'app' referenced before assignment
0109 19:55:19681 ::
2 tane import app var heralde dosyada birini sil düzelir
Syserr biraz kurcaladım fakat ne olduğu hakkında fikrim yok dosyaları doğru bir şekilde entegre ettim


Kod:
Genişlet Daralt Kopyala
0109 19:55:19679 :: Traceback (most recent call last):

0109 19:55:19679 ::   File "networkModule.py", line 247, in SetGamePhase

0109 19:55:19680 ::   File "game.py", line 86, in __init__

0109 19:55:19680 ::   File "interfaceModule.py", line 292, in MakeInterface

0109 19:55:19680 ::   File "interfaceModule.py", line 132, in __MakeTaskBar

0109 19:55:19680 :: UnboundLocalError
0109 19:55:19681 :: :
0109 19:55:19681 :: local variable 'app' referenced before assignment
0109 19:55:19681 ::
2 tane import app var heralde dosyada birini sil düzelir
 
Çözüm
interfacemodule.py e bunları ekledim:

Kod:
Genişlet Daralt Kopyala
## Arat

        self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_SYSTEM, ui.__mem_func__(self.ToggleSystemDialog))

## Altına Ekle

        if app.ENABLE_ANTI_EXP:
            self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_ANTI_EXP, ui.__mem_func__(self.ToggleAntiExpDialog))

## Arat

    def OpenSystemDialog(self):
        self.dlgSystem.OpenDialog()
        self.dlgSystem.SetTop()

## Altına Ekle
    if app.ENABLE_ANTI_EXP:
        def ToggleAntiExpDialog(self):
            net.SendChatPacket("/anti_exverr")

uitaskbar.py a bunları:


Kod:
Genişlet Daralt Kopyala
## Arat (class TaskBar(ui.ScriptWindow):) İçerisinde

    BUTTON_EXPAND = 4
    IS_EXPANDED = False

## Altuna Ekle
    if app.ENABLE_ANTI_EXP:
        BUTTON_ANTI_EXP = 5

## Arat

        toggleButtonDict[TaskBar.BUTTON_SYSTEM]=self.GetChild("SystemButton")

## Altuna Ekle

        if app.ENABLE_ANTI_EXP:
            toggleButtonDict[TaskBar.BUTTON_ANTI_EXP]=self.GetChild("AntiexpButton")

fakat anlamadım loading ekranında kalıyor
 
hata veren satırları kod editörüne yükle daha rahat anlarız
 
0109 20:14:18998 :: File "interfaceModule.py", line 292, in MakeInterface:
Kod:
Genişlet Daralt Kopyala
        self.__MakeTaskBar()
0109 20:14:18998 :: File "interfaceModule.py", line 132, in __MakeTaskBar:
Kod:
Genişlet Daralt Kopyala
        if app.ENABLE_ANTI_EXP:
            self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_ANTI_EXP, ui.__mem_func__(self.ToggleAntiExpDialog))
0109 20:14:18998 :: File "game.py", line 86, in __init__
Kod:
Genişlet Daralt Kopyala
        self.interface.MakeInterface()
0109 20:14:18998 :: File "networkModule.py", line 247, in SetGamePhase
Kod:
Genişlet Daralt Kopyala
    self.SetPhaseWindow(game.GameWindow(self))
 
0109 20:14:18998 :: File "interfaceModule.py", line 292, in MakeInterface:
Kod:
Genişlet Daralt Kopyala
        self.__MakeTaskBar()
0109 20:14:18998 :: File "interfaceModule.py", line 132, in __MakeTaskBar:
Kod:
Genişlet Daralt Kopyala
        if app.ENABLE_ANTI_EXP:
            self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_ANTI_EXP, ui.__mem_func__(self.ToggleAntiExpDialog))
0109 20:14:18998 :: File "game.py", line 86, in __init__
Kod:
Genişlet Daralt Kopyala
        self.interface.MakeInterface()
0109 20:14:18998 :: File "networkModule.py", line 247, in SetGamePhase
Kod:
Genişlet Daralt Kopyala
    self.SetPhaseWindow(game.GameWindow(self))
interfacemodule 132nin biraz üstünden itibaren kodu kod editörüne yüklersen daha rahat anlarız
 
Kod:
Genişlet Daralt Kopyala
    def __MakeChatWindow(self):
        
        wndChat = uiChat.ChatWindow()
        
        wndChat.SetSize(wndChat.CHAT_WINDOW_WIDTH, 0)
        wndChat.SetPosition(wndMgr.GetScreenWidth()/2 - wndChat.CHAT_WINDOW_WIDTH/2, wndMgr.GetScreenHeight() - wndChat.EDIT_LINE_HEIGHT - 37)
        wndChat.SetHeight(200)
        wndChat.Refresh()
        wndChat.Show()

        self.wndChat = wndChat
        self.wndChat.BindInterface(self)
        self.wndChat.SetSendWhisperEvent(ui.__mem_func__(self.OpenWhisperDialogWithoutTarget))
        self.wndChat.SetOpenChatLogEvent(ui.__mem_func__(self.ToggleChatLogWindow))

    def __MakeTaskBar(self):
        wndTaskBar = uiTaskBar.TaskBar()
        wndTaskBar.LoadWindow()
        self.wndTaskBar = wndTaskBar
        self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHARACTER, ui.__mem_func__(self.ToggleCharacterWindowStatusPage))
        self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_INVENTORY, ui.__mem_func__(self.ToggleInventoryWindow))
        self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_MESSENGER, ui.__mem_func__(self.ToggleMessenger))
        self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_SYSTEM, ui.__mem_func__(self.ToggleSystemDialog))
        if app.ENABLE_ANTI_EXP:
            self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_ANTI_EXP, ui.__mem_func__(self.ToggleAntiExpDialog))
        if uiTaskBar.TaskBar.IS_EXPANDED:
            self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_EXPAND, ui.__mem_func__(self.ToggleExpandedButton))
            self.wndExpandedTaskBar = uiTaskBar.ExpandedTaskBar()
            self.wndExpandedTaskBar.LoadWindow()
            self.wndExpandedTaskBar.SetToggleButtonEvent(uiTaskBar.ExpandedTaskBar.BUTTON_DRAGON_SOUL, ui.__mem_func__(self.ToggleDragonSoulWindow))

@hasanmacit
 
interfacemodule dosyanı ekler misin ben bi bakayım
 
144. satırda böyle bir kod var import app var burada bunu bir silip dener misin

Kod:
Genişlet Daralt Kopyala
        self.wndEnergyBar = None
        import app
        if app.ENABLE_ENERGY_SYSTEM:
            wndEnergyBar = uiTaskBar.EnergyBar()
            wndEnergyBar.LoadWindow()
            self.wndEnergyBar = wndEnergyBar
 
@hasanmacit Hocam çok teşekkür ederim şu an login oldum sistemi test etmedim fakat en azından login olabildim.
Şunu sormak istiyorum burda hataya sebep olan şeyin mantığı nedir kendim bu kontrolleri nasıl sağlayabilirim. Bunu açarsanız aynı problemi yaşayan herkes için bir fikir olacaktır.
 
local variable 'app' referenced before assignment

hatanın anlamını şöyle özetleyeyim ufaktan aşağıda app tanımlamışsın ama tanımlamadan önce app kullanmışsın diyor. zaten çoğu dosyada import app tanımlı olduğu için o dosyada da olduğunu biliyordum. o yüzden aşağıda import app olduğundan emindim. hata ala ala tecrübe ediniyor insan.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst