Binek Üstünde Düğün İtemi(Buket) Takma Engeli

  • Konuyu açan Konuyu açan Kaiser
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 3
  • Gösterim Gösterim 851

Kaiser

Admin
Admin
Geliştirici
Yardımsever Üye
Mesaj
4.372
Çözümler
439
Beğeni
4.896
Puan
1.849
Ticaret Puanı
0
Binek üstünde buket takıldığı zaman karakter sabit kalıp buga giriyor. Bunun için aşağıdaki engellemeyi yapabilirsiniz.

char_item.cpp arat:

C++:
Genişlet Daralt Kopyala
int iWearCell = item->FindEquipCell(this, iCandidateCell);

    if (iWearCell < 0)
        return false;

    // ¹«¾ğ°¡¸¦ ź »óÅ¿¡¼ Åνõµ ÀԱ⠱İÁö
    if (iWearCell == WEAR_BODY && IsRiding() && (item->GetVnum() >= 11901 && item->GetVnum() <= 11904))
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»À» ź »óÅ¿¡¼ ¿¹º¹À» ÀÔÀ» ¼ö ¾ø½À´Ï´Ù."));
        return false;
    }

Altına ekle:
C++:
Genişlet Daralt Kopyala
if (iWearCell == WEAR_WEAPON && IsRiding() && (item->GetVnum() >= 50201 && item->GetVnum() <= 50202))
    {
        ChatPacket(CHAT_TYPE_INFO,"Binek uzerinde bu esyayi takamazsin.");
        return false;
    }
 
Buketi takıp ata binmeye çalışırsan binebilirsin bunun içinde yapılması gereken;

char_horse.cpp:
Genişlet Daralt Kopyala
    LPITEM armor = GetWear(WEAR_BODY);

    if (armor && (armor->GetVnum() >= 11901 && armor->GetVnum() <= 11904))
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¿¹º¹À» ÀÔÀº »óÅ¿¡¼ ¸»À» Å» ¼ö ¾ø½À´Ï´Ù."));
        return false;
    }

    LPITEM weapon = GetWear(WEAR_WEAPON);

    if (weapon && (weapon->GetVnum() >= 50201 && weapon->GetVnum() <= 50202))
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("BUKET_KULLANIRKEN_ATA_BINEMEZSIN"));
        return false;
    }
 
binek üzerinde buket takılmıyor ama buketle biniliyor
 
binek üzerinde buket takılmıyor ama buketle biniliyor
Buketi takıp ata binmeye çalışırsan binebilirsin bunun içinde yapılması gereken;

char_horse.cpp:
Genişlet Daralt Kopyala
    LPITEM armor = GetWear(WEAR_BODY);

    if (armor && (armor->GetVnum() >= 11901 && armor->GetVnum() <= 11904))
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¿¹º¹À» ÀÔÀº »óÅ¿¡¼ ¸»À» Å» ¼ö ¾ø½À´Ï´Ù."));
        return false;
    }

    LPITEM weapon = GetWear(WEAR_WEAPON);

    if (weapon && (weapon->GetVnum() >= 50201 && weapon->GetVnum() <= 50202))
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("BUKET_KULLANIRKEN_ATA_BINEMEZSIN"));
        return false;
    }
 
Uyarı: Bu konu açıldığından bu yana baya zaman geçmiş.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.
Geri
Üst