Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
[TABLE="class: cms_table, width: 550"]
[TR]
[TD]Rakibin Saldırı Değerini azaltma > Mevcut[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Rakibin hesef ıskalama şansını artırma > Mevcut değil[/TD]
[/TR]
[/TABLE]
Oyun İçi açıklaması:
Rakibin saldırı değerini azaltır > Mevcut
Rakiplerin hedef ısklamasını arttırır > Mevcut değil
Sadece sana isabet ettiğinde aktifleşir > Mevcut değil[/QUOTE]
Özetle yapması gereken düşmanın saldırı gücünü azaltmak ve beceri isabet şansını düşürmek
Saldırı azaltma kısmı sorunsuz çalışıyor, Ortalama olarak gelen hasar 300se P iken bunu 200e kadar düşürüyor
Ancak nasıl bir mantıkla yaptılarsa yetenek kısmı sıkıntılı bu kısmı düzeltmeyi göstericem
*char_battle.cpp
Aratın ve silin:
Kod:
enum DamageFlag
{
DAMAGE_NORMAL = (1 << 0),
DAMAGE_POISON = (1 << 1),
DAMAGE_DODGE = (1 << 2),
DAMAGE_BLOCK = (1 << 3),
DAMAGE_PENETRATE= (1 << 4),
DAMAGE_CRITICAL = (1 << 5),
};
Aratın:
bool CHARACTER:
amage(LPCHARACTER pAttacker, int dam, EDamageType type)Üstüne ekleyin:
Kod:
enum DamageFlag
{
DAMAGE_NORMAL = (1 << 0),
DAMAGE_POISON = (1 << 1),
DAMAGE_DODGE = (1 << 2),
DAMAGE_BLOCK = (1 << 3),
DAMAGE_PENETRATE= (1 << 4),
DAMAGE_CRITICAL = (1 << 5),
};
Aratın:
Kod:
if (type != DAMAGE_TYPE_NORMAL && type != DAMAGE_TYPE_NORMAL_RANGE)
{
if (IsAffectFlag(AFF_TERROR))
{
int pct = GetSkillPower(SKILL_TERROR) / 400;
if (number(1, 100) <= pct)
return false;
}
}
Değiştirin:
Kod:
if (IsAffectFlag(AFF_TERROR))
{
if (type != DAMAGE_TYPE_NORMAL && type != DAMAGE_TYPE_NORMAL_RANGE)
{
int iTerrorPCT = GetSkillPower(SKILL_TERROR) / 3.3;
if (number(1, 100) <= iTerrorPCT) {
SendDamagePacket(pAttacker, 0, DAMAGE_BLOCK);
return false;
}
}
}
Hata 1: pct değikeni aynı fonksiyonda 3 ayrı hesaplama için kullanılıyor, yanlış hesaplama yapması mümkün
Hata 2: GetSkillPower(SKILL_TERROR)' ün verdiği değerler;
M1: 50
G1: 82
P: 125
şeklinde. orjinal kısımda bu değerleri 400'e bölüyor!? ve en yüksek seviye dehşet için 125 / 400 den 0.3125 gibi komik bir rakam çıkıyor ve sistem yuvarladığında 1 bile etmiyor direk bu kısmı pas geçiyor. düzenlemesi için 3.3 olarak değiştirildi bu şekilde tam olarak skilldesc de yansıttığı oranda uyguluyor
Hata 3: Block paketi eklenmemiş eğer oran tutturulursa pas geçer, şuan block paketi eklendiğinden oran tutturulursa miss olarak gözükür
öyle bir bug yok. skillerin miss vurmasını sağlamıyor hedef ıskalama düz vuruşların miss girmedini sağlıyor ok ile deneyebilirsin ok bloklama sıfırken miss vurduğunu göreceksin yanlış bilgi vermeyin.
http://www.turkmmo.com/c-c-python/3485348-sura-dehset-bugu-fix.html?posted=1#post19233035
Tek konu üzerinden devam edin.
Tek konu üzerinden devam edin.
- Durum
- Üzgünüz bu konu cevaplar için kapatılmıştır...
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 3
- Görüntüleme
- 343
- Cevaplar
- 2
- Görüntüleme
- 341
- Cevaplar
- 1
- Görüntüleme
- 1K
- Cevaplar
- 1
- Görüntüleme
- 591