Fethi Polat 1
Fethi Polat
Bvural41 1
Bvural41
OnurBoyla 1
OnurBoyla
mavzermete 1
mavzermete
xranzei 1
xranzei
Manwe Work 1
Manwe Work
noisiv 1
noisiv
Hikaye Ekle

[PvM] Efsun Nesnesi 6. 7. Efsun

  • Konuyu başlatan Konuyu başlatan EJDER
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 13
  • Görüntüleme Görüntüleme 2K

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!




6.Efsun

Char_item.cpp
Arat:
[CODE lang="cpp" title="EjderWorks"] item2->ChangeAttribute(aiChangeProb);
}
else if (item->GetVnum() == 76014)
{
int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
{
0, 10, 50, 39, 1
};

item2->ChangeAttribute(aiChangeProb);
}[/CODE]

Ekle:
[CODE lang="cpp" title="EjderWorks"] else if (item->GetVnum() == 71266) // Efsun Atmak İstediğin İtemin Kodu (Örn. Efsun Nesnesinin Kodunu Buraya Yazarsanız Onu Attığınızda Burdaki Vnumdaki Efsunu Vericektir)
{
bool hasAttribute99 = false;
int32_t value1;
int randomNumber = number(1, 100); // Rastgele bir sayı üret

if (randomNumber <= 10) //Yukardaki 1.100 Sayısı Buradaki 10 Sayıyla Yüzdeliği Hesaplıyor Burdaki 20 veya yukardaki 100 ü değiştiriseniz oran değişecektir Matamatiksel İşliyor
{
value1 = (number(10, 20)); // %20 şans 10 İla 20 Arası
}
else
{
value1 = (number(1, 10)); // %80 1 İla 10 Arası
}
if (item2->GetAttributeCount() < 5)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ESYANIZDA_ENAZ_5EFSUN_OLMALI"));
return false;
}
else if (!hasAttribute99)
{
item2->SetForceAttribute(item2->GetAttributeCount(), 125, value1); //Buradaki 125 Rakamı Sizde Olmayabilir Burdaki Efsunu Hangi Kod İle Eklendiyese Gelmesini İstediğiniz Efsunun Vnumunu Değiştirmelisiniz.(Örn: Canavar Efsunu Bütün Yapılarda 63 Olarak Eklenmiştir.)
}
for (int i = 0; i < item2->GetAttributeCount(); i++)
{
if (item2->GetAttributeType(i) == 125) //Burasıda Aynı Şekilde Vnum İle Değişecek
{
item2->SetForceAttribute(i, 125, value1); //Burasıda Aynı Şekilde Vnum İle Değişecek
hasAttribute99 = true;
break;
}
}
}[/CODE]

[CODE lang="python" title="item_names.txt"]71266 PvM Booster (1)[/CODE]
[CODE lang="python" title="item_proto.txt"]71266 ejderwork ITEM_USE USE_CHANGE_ATTRIBUTE 1 NONE ITEM_STACKABLE | LOG NONE NONE 1000000 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0[/CODE]

7.Efsun
Char_item.cpp
Arat:
[CODE lang="cpp" title="EjderWorks"] item2->SetForceAttribute(i, 125, value1);

hasAttribute99 = true;

break;

}

}

} //Arattıktan Sonra Altaki Kod Bloğunu } Bitimin Altına Ekle[/CODE]

Ekle:
[CODE lang="cpp" title="EjderWorks"] else if (item->GetVnum() == 71271) // Efsun Atmak İstediğin İtemin Kodu (Örn. Efsun Nesnesinin Kodunu Buraya Yazarsanız Onu Attığınızda Burdaki Vnumdaki Efsunu Vericektir)
{
bool hasAttribute99 = false;
int32_t value1;
int randomNumber = number(1, 100); // Rastgele bir sayı üret

if (randomNumber <= 10) //Yukardaki 1.100 Sayısı Buradaki 10 Sayıyla Yüzdeliği Hesaplıyor Burdaki 20 veya yukardaki 100 ü değiştiriseniz oran değişecektir Matamatiksel İşliyor
{
value1 = (number(10, 20)); // %20 şans
}
else
{
value1 = (number(1, 10)); // %80
}
if (item2->GetAttributeCount() < 6)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ESYANIZDA_ENAZ_6EFSUN_OLMALI"));
return false;
}
else if (!hasAttribute99)
{
item2->SetForceAttribute(item2->GetAttributeCount(), 128, value1); //Buradaki 125 Rakamı Sizde Olmayabilir Burdaki Efsunu Hangi Kod İle Eklendiyese Gelmesini İstediğiniz Efsunun Vnumunu Değiştirmelisiniz. (Örn: Canavar Efsunu Bütün Yapılarda 63 Olarak Eklenmiştir.)
}
for (int i = 0; i < item2->GetAttributeCount(); i++)
{
if (item2->GetAttributeType(i) == 128) //Burasıda Aynı Şekilde Vnum İle Değişecek
{
item2->SetForceAttribute(i, 128, value1); //Burasıda Aynı Şekilde Vnum İle Değişecek
hasAttribute99 = true;
break;
}
}
}[/CODE]

[CODE lang="python" title="item_names.txt"]71271 PVM Power (1)[/CODE]
[CODE lang="python" title="item_proto.txt"]71271 ejderwork ITEM_USE USE_CHANGE_ATTRIBUTE 1 NONE ITEM_STACKABLE | LOG NONE NONE 1000000 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0[/CODE]
 
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

DİPNOT: Bazı Altyapılarda Gereksiz Efsunlar Olabiliryor Örn: POINT_ATTBONUS_RAZADOR (Razoya Karşı Güçlü) Değiştirebilirsiniz.
battle.cpp den gereksiz efsuna gelip if (pkVictim->IsStone()) verirseniz sadece metinlere karşı etki eder bu efsun. Bilmeyenler için yazıyorum
bunu

Kodu Eklenecek Yeri Anlamayan İçin Altta Bırakıyorum

[CODE lang="cpp" title="C++"]if (pkVictim->IsStone())
iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_RAZADOR)) / 100;[/CODE]
DİPNOT: Bazı Altyapılarda Gereksiz Efsunlar Olabiliryor Örn: POINT_ATTBONUS_RAZADOR (Razoya Karşı Güçlü) Değiştirebilirsiniz.
battle.cpp den gereksiz efsuna gelip if (pkVictim->IsStone()) verirseniz sadece metinlere karşı etki eder bu efsun. Bilmeyenler için yazıyorum
bunu

Kodu Eklenecek Yeri Anlamayan İçin Altta Bırakıyorum

[CODE lang="cpp" title="C++"]if (pkVictim->IsStone())
iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_RAZADOR)) / 100;[/CODE]
 
Son düzenleme:

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

Geri
Üst