farkmt2official 1
farkmt2official
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
BlackFullMoon 1
BlackFullMoon
Hikaye Ekle

Cevaplanmadı Hızlı Ekipman Sorunu

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

Merhaba arkadaşlar vector hızlı ekipman sistemini ekledim oyun loading ekranında kalıyor bir türlü çözemedim
https://forum.turkmmo.com/konu/3171108-python-5-sekmeli-hizli-ekipman-ilk-paylasim-vectors/
0118 18:44:15162 :: Traceback (most recent call last):

0118 18:44:15162 :: File "networkModule.py", line 244, in SetGamePhase

0118 18:44:15162 :: File "game.py", line 88, in __init__

0118 18:44:15162 :: File "interfaceModule.py", line 355, in MakeInterface

0118 18:44:15162 :: File "interfaceModule.py", line 163, in __MakeTaskBar

0118 18:44:15162 :: File "uiTaskBar.py", line 440, in LoadWindow

0118 18:44:15162 :: File "ui.py", line 3581, in GetChild

0118 18:44:15162 :: KeyError
0118 18:44:15162 :: :
0118 18:44:15162 :: 'VectorsHzl'
0118 18:44:15162 ::
 
Bu hata tamamen eklediğin hızlı ekipman sisteminin arayüz tarafının eksik ya da yanlış bağlanmasından kaynaklanıyor. Oyun aslında server’a bağlanıyor ama arayüz yüklenirken hata aldığı için game phase’e geçemiyor ve sana “loading ekranında kaldı” hissini veriyor.

Log’da kilit nokta şu:
KeyError: 'VectorsHzl'

Bu, client’in VectorsHzl isimli bir UI nesnesini aradığı ama bulamadığı anlamına geliyor. Yani Python tarafında bu isim çağrılıyor fakat uiscript tarafında bu isimde bir pencere ya da child tanımlı değil.

Genelde yapılan hata şu oluyor:
Forumdan paylaşılan adımlar uygulanıyor, F5 tuşu ekleniyor, game.py içine fonksiyon yazılıyor ama uiTaskBar.py ile uiscript dosyası eksik veya birebir aynı isimde değil.

Öncelikle uiTaskBar.py dosyasını aç ve GetChild("VectorsHzl") benzeri bir satır var mı kontrol et. Eğer varsa, bu ismin uiscript içinde de birebir aynı olması gerekiyor. Büyük–küçük harf farkı bile bu hatayı verir.

Sonra uiscript klasörüne bak. Bu sistemde genelde ya taskbar’a eklenen bir UI bloğu ya da ayrı bir uiVectorsHzl.py / vectors_hzl.py dosyası olur. Bu dosya ya hiç eklenmemiştir ya da adı farklıdır. Python “VectorsHzl” arıyor ama uiscript başka bir isimle tanımlıdır.

Bir diğer sık yapılan hata da UI nesnesini yanlış pencereye bağlamak. Sistem taskbar üzerinden çağrılıyor ama UI aslında başka bir pencereye ait. Bu durumda GetChild yanlış yerden çağrıldığı için yine aynı hata çıkar.

Özetle sorun şurada:
– Python tarafı eklenmiş
– Tuş ataması yapılmış
– Ama UI tarafı eksik ya da isim uyuşmuyor

Bu yüzden oyun açılmıyor.

Çözüm olarak ya:

  • UI script’te gerçekten “VectorsHzl” isimli bir pencere tanımla
  • ya da GetChild("VectorsHzl") çağrısını geçici olarak kaldırıp test et
Bunu düzelttiğinde oyun loading ekranından geçer.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst