Yardım Binek Smokin Gelinlik Giyme Sorunu

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

mya

Üye
Üye
Mesaj
124
Çözümler
5
Beğeni
15
Puan
504
Ticaret Puanı
0
Bineğe binince smokin giyilmiyor ama binekten inince giyiliyor sonra bineğe binince bineğin üstüne çıkıyor bu fixi nasıl yapabilirim
At için sorun yok sadece bineklerde böyle

fix.webp
 
En son bir moderatör tarafından düzenlenmiş:
char_item.cpp arat
C++:
Genişlet Daralt Kopyala
    if (item->GetWearFlag() & WEARABLE_UNIQUE)
    {
        if ((GetWear(WEAR_UNIQUE1) && GetWear(WEAR_UNIQUE1)->IsSameSpecialGroup(item)) ||
            (GetWear(WEAR_UNIQUE2) && GetWear(WEAR_UNIQUE2)->IsSameSpecialGroup(item)))
        {
            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("같은 종류의 유니크 아이템 두 개를 동시에 장착할 수 없습니다."));
            return false;
        }
        if (marriage::CManager::instance().IsMarriageUniqueItem(item->GetVnum()) &&
            !marriage::CManager::instance().IsMarried(GetPlayerID()))
        {
            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("결혼하지 않은 상태에서 예물을 착용할 수 없습니다."));
            return false;
        }
    }
altına ekle
C++:
Genişlet Daralt Kopyala
    if (item->GetType() == ITEM_COSTUME && item->GetSubType() == COSTUME_BODY)
    {
        LPITEM pkItem = GetWear(WEAR_BODY);
        if (pkItem && (pkItem->GetVnum() >= 11901 && pkItem->GetVnum() <= 11914))
            return false;
    }

    if (item->GetVnum() >= 11901 && item->GetVnum() <= 11914)
    {
        LPITEM pkItem = GetWear(WEAR_COSTUME_BODY);
        if (pkItem && (pkItem->GetType() == ITEM_COSTUME && pkItem->GetSubType() == COSTUME_BODY))
            return false;
    }
 
prantez hatası yaptın sanırım şu şekilde ekliyeceksin.
1646833231557.webp
 
Ben zaten sana yanlış kodları vermişim costume_body olanlar costume_mount olarak değişmesi gerekiyor.(COSTUME_MOUNT sistemi yok ise bu kodlar çalışmaz.)

Eğer uyarı verdirtmek istersende return false; öncesine bunu ekle

C++:
Genişlet Daralt Kopyala
            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("UYARI1"));

C++:
Genişlet Daralt Kopyala
    if (item->GetType() == ITEM_COSTUME && item->GetSubType() == COSTUME_MOUNT)
    {
        LPITEM pkItem = GetWear(WEAR_BODY);
        if (pkItem && (pkItem->GetVnum() >= 11901 && pkItem->GetVnum() <= 11914))
            return false;
    }

    if (item->GetVnum() >= 11901 && item->GetVnum() <= 11914)
    {
        LPITEM pkItem = GetWear(WEAR_COSTUME_BODY);
        if (pkItem && (pkItem->GetType() == ITEM_COSTUME && pkItem->GetSubType() == COSTUME_MOUNT))
            return false;
    }
 
Sorunum devam ediyor costum mount Sistemi ekli olmasına rağmen çalışmadı bineğe biniyorken giyilmiyor binekten inince smokini giyince bineğe biniyor ama binek üstünde giyilmiyor
 
Mountun binme komutuna cmd generalden ekleme yapabilirsin.

Game.py'den komutu bulup örnek :
Screenshot_5.jpg


Cmd_generalden komutu aratıp müsait bir yerine :

if (item->GetType() == ITEM_COSTUME && item->GetSubType() == COSTUME_MOUNT)
{
LPITEM pkItem = ch->GetWear(WEAR_BODY);
if (pkItem && (pkItem->GetVnum() >= 11901 && pkItem->GetVnum() <= 11904))
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Uzerinde smokin varken binege binemezsin."));
return;
}
}
 
Son düzenleme:
Geri
Üst