Yardım [GF v17.5] Güncellemesi ile Gelen Pet ikon efekti [C++Py] - Sorun

  • Konuyu açan Konuyu açan beqkral
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 8
  • Gösterim Gösterim 803
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

beqkral

MT Üye
MT Üye
Mesaj
192
Çözümler
14
Beğeni
50
Puan
464
Ticaret Puanı
0
Merhabalar başlıkta da belirttiğim gibi eklediğim sistemden şöyle bir problem var.

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


Gif'de belirttiğim gibi peti çağırınca efek oluşuyor . Ardından mouse ile üzerine gelince efek kayboluyor.

PetSystem.cpp:
Genişlet Daralt Kopyala
void CPetActor::SetSummonItem(LPITEM pItem)
{
    if (NULL == pItem)
    {
        LPITEM pSummonItem = ITEM_MANAGER::instance().FindByVID(m_dwSummonItemVID);
        if (NULL != pSummonItem)
            pSummonItem->SetSocket(1, FALSE);
        
        m_dwSummonItemVID = 0;
        m_dwSummonItemVnum = 0;
        return;
    }

    pItem->SetSocket(1, TRUE);
    m_dwSummonItemVID = pItem->GetVID();
    m_dwSummonItemVnum = pItem->GetVnum();
}

uiinventory:
Genişlet Daralt Kopyala
            # Pet cagirmada pet iconu etrafinda yanma
            if constInfo.IS_PET_EFEK(itemVnum):
                chat.AppendChat(chat.CHAT_TYPE_INFO,"test")
                metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(3)]

                if slotNumber >= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex:
                    slotNumber -= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex

                isActivated = 0 != metinSocket[1]

                if isActivated:
                    self.wndItem.ActivateSlot(slotNumber)
                else:
                    self.wndItem.DeactivateSlot(slotNumber)


consInfo:
Genişlet Daralt Kopyala
# Pet cagirmada pet iconu etrafinda yanma
def IS_PET_EFEK(itemVnum):
    if itemVnum >= 53001 and itemVnum <= 53051:
        return 1

    return 0
# Pet cagirmada pet iconu etrafinda yanma
 
Python:
Genişlet Daralt Kopyala
if slotNumber >= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex:
                    slotNumber -= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex
Burayı
Python:
Genişlet Daralt Kopyala
if slotNumber >= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex:
                    slotNumber -= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex:
bununla değiştirip denermisiniz.
 
Python:
Genişlet Daralt Kopyala
if slotNumber >= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex:
                    slotNumber -= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex
Burayı
Python:
Genişlet Daralt Kopyala
if slotNumber >= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex:
                    slotNumber -= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex:
bununla değiştirip denermisiniz.
":" sona ekleyince sytanx verir hocam verdide.
 
constinfoda oto pot için satırlar olucak oraları kontrol et hatta direk kodları onun altına ekle sorunsuz çalışacaktır
consinfoya ben ekledim eklediğim kodlar ise.
Python:
Genişlet Daralt Kopyala
# Pet cagirmada pet iconu etrafinda yanma
def IS_PET_EFEK(itemVnum):
    if itemVnum >= 53001 and itemVnum <= 53051:
        return 1

    return 0
# Pet cagirmada pet iconu etrafinda yanma
 
consinfoya ben ekledim eklediğim kodlar ise.
Python:
Genişlet Daralt Kopyala
# Pet cagirmada pet iconu etrafinda yanma
def IS_PET_EFEK(itemVnum):
    if itemVnum >= 53001 and itemVnum <= 53051:
        return 1

    return 0
# Pet cagirmada pet iconu etrafinda yanma
ben otopot için olan kodlara bak dedim
 
İlk etapta o şekilde yola çıktım fakat nafile çözüm olmadı. Sanırım ITEM_SOCKET_SLOT_MAX_NUM = 3 bende , 3 üde dolu. metinsocket'e değer verdiğimde karışıyor ITEM_SOCKET_SLOT_MAX_NUM arttırmam gerek bununla ilgili bir makale varmı
eşyalara koyabildiğin taş ile bunun ne alakası var
 
eşyalara koyabildiğin taş ile bunun ne alakası var
metinSlot ile efek çekiyor python ile client arasında ki bağlantıya baktığında ITEM_SOCKET_SLOT_MAX_NUM verilen maks değerin üzerine çıkamıyorsun 3 socket bende efek olarak dolu olduğu için normalde 1 de çalışması gereken efek slotu farklı bir şekilde çalışıyor . metinsocket 3 yaptığım değerdeki sistemi disable yapınca sistem çalışıyor. Garip bir olay ama böyle socket arttırıp boş değer kullanmak gerekiyor burada.
 
Üst