Çözüldü ENABLE_HIGHLIGHT_NEW_ITEM sorunu

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

NuganoMT

Bir seni düşündüm birde kendimi.
Premium Üye
Geliştirici
MT Üye
Mesaj
483
Çözümler
23
Beğeni
1.105
Puan
654
Ticaret Puanı
0
Selamlar k envanter söktüm bi filesten fakat yeni item efekti sistemi bozuldu sebebini anlamadım araştırdım bakındım gözüme çarpan bişey olmadı gerekli 3 dosyayı bıraktım bakıp dönebilen olursa sevinirim şimdiden teşekkürler
 

Dosya Eklentileri

uispecialstorage.py dosyasından kaynaklı bir çakışma olacağından şüphelendim.
Bu dosyadaki bütün ENABLE_HIGHLIGHT_NEW_ITEM uyarlamalarını kaldırıp tekrar dener misin? Eğer bunu yaptıktan sonra envanterde çalışmaya başlarsa sorun uyarlamadadır. Çünkü envanter ve k envanter uyarlamaları client srcden aynı çağrıyı kullanmıyorlar gibi görünüyor.
 
uispecialstorage.py dosyasından kaynaklı bir çakışma olacağından şüphelendim.
Bu dosyadaki bütün ENABLE_HIGHLIGHT_NEW_ITEM uyarlamalarını kaldırıp tekrar dener misin? Eğer bunu yaptıktan sonra envanterde çalışmaya başlarsa sorun uyarlamadadır. Çünkü envanter ve k envanter uyarlamaları client srcden aynı çağrıyı kullanmıyorlar gibi görünüyor.
yok hocam denedım yıne aynı
 
Sorun python veya client src kaynaklı gibi görünüyor. Tabi bir ihtimal server taraflı da olabilir, buna 3 tane dosya ile karar vermek güç.
Client src içindeki şüpheli yerlerin tamamına TraceError ile log yazdırmanı ve sorunun kaynağı olabilecek alternatifleri daraltmanı öneririm.

__RefreshHighlights her halükarda çağrılıp çalıştığına göre ilk teste ordan başlayabilirsin:
Python:
Genişlet Daralt Kopyala
        def __RefreshHighlights(self):
            for i in xrange(player.INVENTORY_PAGE_SIZE):
                slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(i)
                if slotNumber in self.liHighlightedItems:
                    chat.AppendChat(1,"Basarili")
                    # sistem bu if'in içine kadar geldiyse burdan sonrası client src.. --ActivateSlot
                    self.wndItem.ActivateSlot(i)

uiInventory.py: --> def HighlightSlot(self, slot):
uispecialstorage.py: --> def HighlightSlot(self, slot, inven_type):

İki dosyada bulunan bu HighlightSlot fonksiyonu muhtemelen srcdeki;
PythonNetworkStreamCommand
PythonNetworkStreamPhaseGameItem
PythonNetworkStreamPhaseGame

üçlüsünden birinden geliyordur. Veya game.py üzerinden src aracılığı ile geliyordur.

HighlightSlot fonksiyonuna srcden aktarma yapan kısmı bulup serverdan gelen verileri yazdırarak logla. (itemin kendisi, window type vs.)
Beraberinde pythona gönderilen verilerin de doğruluğunu pythondan yazdırabilirsin chat.AppendChat ile. Böylesi daha iyi olur.

Eğer TraceError mantıklı çıktılar verirse server tarafında büyük ihtimalle sorun yoktur.
Ama örnek veriyorum; Item: Savunma Taşı +0, Window Type: INVENTORY
gibi olmaması gereken şeyler görürsen serverı da incelemen gerekir.
 
sorunu her iki srcyide test ettim game src eski haliyle buildleyip girdiğimde parlamalarda sıkıntı yok yenı gelen ıtem parlıyor sorun game src taraflı dıye umuyorum cunku pack ve clıent src yeni ve game src eski haline aldıgımda yine parlamalar vardı
 
Son düzenleme:
O halde yukarıdaki mesajımda dediğim gibi client srcdeki ilgili fonksiyonlar içerisinden serverdan gelen verileri loglayabilirsin.
Ayrıca def HighlightSlot(self, slot): ve def HighlightSlot(self, slot, inven_type): bu iki fonksiyonun server tarafında karşılık gelen yerlere dikkat et.
Eğer aynı yerden geliyorlarsa ve çakışma yaratacak şekilde bir veri aktarımı varsa kod pythona geldiğinde bu iki fonksiyon birbirini bastırıyor olabilir.
 
burası gözüme çarptı , bi böyle denermisin
2:
Genişlet Daralt Kopyala
#ifdef ENABLE_HIGHLIGHT_NEW_ITEM
            pack.highlight = !bWereMine || (Cell.window_type == DRAGON_SOUL_INVENTORY);
#else
            pack.highlight = (Cell.window_type == DRAGON_SOUL_INVENTORY);
#endif

// Değiştir
#ifdef ENABLE_HIGHLIGHT_NEW_ITEM
            pack.highlight = !bWereMine;
#else
            pack.highlight = (Cell.window_type == DRAGON_SOUL_INVENTORY);
#endif
 
kapatılabilir baştan build aldım oto toplamayla ilgiymiş çözdüm
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst