farkmt2official 1
farkmt2official
Mt2Hizmet 1
Mt2Hizmet
Bvural41 1
Bvural41
berzahx 1
berzahx
mavzermete 1
mavzermete
Hikaye Ekle

Sura Dehşet Bugu Fix

  • Konuyu başlatan Konuyu başlatan devw
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 3
  • Görüntüleme Görüntüleme 2K
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!



[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::Damage(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.
 
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)

Geri
Üst