Fethi Polat 1
Fethi Polat
Mt2Hizmet 1
Mt2Hizmet
Sevdamsın 1
Sevdamsın
Nedved35 1
Nedved35
Bvural41 1
Bvural41
Hikaye Ekle
Kaynak ikonu

[c++]Metin taşına level aralığı

  • Konuyu başlatan Konuyu başlatan smartface
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 41
  • Görüntüleme Görüntüleme 5K

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!



Belirlenen level aralığı dışında metinlere damage işlemez. Örneği videodadır. anlatım dosya içindedir. iyi forumlar.




Kod:
    #ifdef ENABLE_METIN_DAMAGE
    #define LEVEL_LIMIT 20
    if (pkVictim->IsStone() == true && IS_BLOCKED_METIN(pkVictim->GetMobTable().dwVnum) == true)
    {
        if (pkChr->GetMapIndex() == 66 && pkVictim->GetMapIndex() == 66)
        {
            return true;
        }

        if ((pkVictim->GetLevel() > pkChr->GetLevel() + LEVEL_LIMIT) || (pkVictim->GetLevel() < pkChr->GetLevel() - LEVEL_LIMIT ))
        {
            #ifdef ENABLE_METIN_DAMAGE_TIME_INFO
            pkChr->IncreaseInfoCounter();
            if (pkChr->GetInfoCounter() >= 5)
            {
                pkChr->ClearInfoCounter();
                pkChr->ChatPacket(CHAT_TYPE_INFO, "Bu metin tasina vurmak icin levelin az veya cok(Saldiri level limiti +- 20 dir).");
            }
            #endif

            return false;
        }
    }
    #endif

bu şekilde düzenleme yaparsanız kulede sistem çalışmaz. tüm metin taşlarına vurabilirsiniz. iyi forumlar.
 
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

Nasıl mesela ? kule gibi alanlar eklenip sistem güncellense daha güzel olur şahsen yapmayı bilmiyorum
Aratılır
Kod:
static bool IS_BLOCKED_METIN(int vnum)
Üstüne eklenir
Kod:
static int dungeonMapIdx[] ={352, 208, 216, 113, 112, 66, 351, 217};
Buraya istediğin kadar map yazabilirsin. Burası damage vurmanın serbest olduğu haritalar.


Aratılır
Kod:
if (pkVictim->IsStone() == true && IS_BLOCKED_METIN(pkVictim->GetMobTable().dwVnum) == true)

Değiştirilir
Kod:
    bool mapEsgec=false;
    for(int i=0;i<sizeof(dungeonMapIdx);i++){
        if(pkChr->GetMapIndex()==dungeonMapIdx[i]){
            mapEsgec=true;
            break;
        }
    }
    if (pkVictim->IsStone() == true && IS_BLOCKED_METIN(pkVictim->GetMobTable().dwVnum) == true || !mapEsgec)

Bu kadar, iyi forumlar.

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst