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 964

Kaiser

Adͥᴍiͣnͫ
Admin
Süper Üye
Geliştirici
Yardımsever Üye
Mesaj
4.650
Çözümler
455
Beğeni
5.827
Puan
5.349
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