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="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)
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
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),
};
Bu şekilde;
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;
}
}
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
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;
}
}
}
Bu şekilde;
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
Moderatör tarafında düzenlendi:
ö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
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
ö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
Ben denemiştim skiller miss giriyor 3 4 skilde bir
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 3
- Görüntüleme
- 343
- Cevaplar
- 1
- Görüntüleme
- 1K
- Cevaplar
- 1
- Görüntüleme
- 591
