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
Mesaj
192
Çözümler
14
Beğeni
49
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:
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.
 
":" sona ekleyince sytanx verir hocam verdide.
constinfoda oto pot için satırlar olucak oraları kontrol et. kontrolden kastım kod yapılarını karşılaştır sendekiyle ordakini. hatta direk kodları onun altına ekle sorunsuz çalışacaktır
 
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:
# 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:
# 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.
 
Geri
Üst