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

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

beqkral

MT Üye
MT Üye
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:
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:
            # 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:
# 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:
if slotNumber >= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex:
                    slotNumber -= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex
Burayı
Python:
if slotNumber >= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex:
                    slotNumber -= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex:
bununla değiştirip denermisiniz.
 
Python:
if slotNumber >= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex:
                    slotNumber -= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex
Burayı
Python:
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.
 
İ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.
 
Geri