Psych0SoociaL 1
Psych0SoociaL
onur akbaş 1
onur akbaş
noisiv 1
noisiv
xranzei 1
xranzei
Bvural41 1
Bvural41
D 1
delimuratt
ShadowFon 1
ShadowFon
shrpnl 1
shrpnl
DEVLOPER 1
DEVLOPER
Manwe Work 1
Manwe Work
Agora Metin2 1
Agora Metin2
Karan2offical 1
Karan2offical
Hikaye Ekle

[FIX]Giant Desert Turtle

  • Konuyu başlatan Konuyu başlatan Toki.San
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 24
  • Görüntüleme Görüntüleme 3K

Toki.San

Level 1
Üye
Katılım
4 Eki 2020
Konular
7
Mesajlar
21
Online süresi
4d 1h
Reaksiyon Skoru
50
Altın Konu
0
TM Yaşı
5 Yıl 8 Ay 16 Gün
Başarım Puanı
48
MmoLira
650
DevLira
21
Ticaret - 0%
0   0   0

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!

[Turk: Google Translate]

1603204582576.png

Çöl Kaplumbağası çeşitli Sorunlar sunar:

1) Çöl haritası boyunca her zaman size ışınlanır, ondan kaçmanın hiçbir yolu yoktur.
2) Arada sırada animasyon donuyor.
3) Yalnızca Büyük Kılıç tarafından saldırıya uğrayabilir.


1) Nedeni sunucu kaynaklarında bulunabilir:

[CODE lang="cpp" title="src/server/game/src/char_state.cpp"]//Aramak:

if (GetRaceNum() == 2191 && number(1, 20) == 1 && get_dword_time() - m_pkMobInst->m_dwLastWarpTime > 1000)
{

float fx, fy;
GetDeltaByDegree(victim->GetRotation(), 400, &fx, &fy);
long new_x = victim->GetX() + (long)fx;
long new_y = victim->GetY() + (long)fy;
SetRotation(GetDegreeFromPositionXY(new_x, new_y, victim->GetX(), victim->GetY()));
Show(victim->GetMapIndex(), new_x, new_y, 0, true);
GotoState(m_stateBattle);
m_dwStateDuration = 1;
ResetMobSkillCooltime();
m_pkMobInst->m_dwLastWarpTime = get_dword_time();
return;
}

//Şununla düzenle:

// if (GetRaceNum() == 2191 && number(1, 20) == 1 && get_dword_time() - m_pkMobInst->m_dwLastWarpTime > 1000)
// {
//
// float fx, fy;
// GetDeltaByDegree(victim->GetRotation(), 400, &fx, &fy);
// long new_x = victim->GetX() + (long)fx;
// long new_y = victim->GetY() + (long)fy;
// SetRotation(GetDegreeFromPositionXY(new_x, new_y, victim->GetX(), victim->GetY()));
// Show(victim->GetMapIndex(), new_x, new_y, 0, true);
// GotoState(m_stateBattle);
// m_dwStateDuration = 1;
// ResetMobSkillCooltime();
// m_pkMobInst->m_dwLastWarpTime = get_dword_time();
// return;
// }

//Veya daha basit bir şekilde işleve ekleyin: "//"[/CODE]



2) Sebep motlist.txt'de yatmaktadır. GENERAL (FRONT/BACK) KNOCKDOWN, kaplumbağa durumunda bulunmayan GENERAL STANDUP ile yakından ilgilidir, bu nedenle animasyonun durmasının nedeni:

Fix:


[CODE lang="cpp" title="motlist.txt"]//Buradan:

GENERAL WAIT 00.msa 65
GENERAL WAIT1 00_1.msa 35
GENERAL RUN 03.msa 100
GENERAL NORMAL_ATTACK 20.msa 50
GENERAL NORMAL_ATTACK1 20_1.msa 50
GENERAL FRONT_DAMAGE 30.msa 100
GENERAL FRONT_DEAD 31.msa 100
GENERAL FRONT_KNOCKDOWN 32.msa 100
GENERAL BACK_DAMAGE 34.msa 100
GENERAL BACK_KNOCKDOWN 35.msa 100
GENERAL SPECIAL 24.msa 100
GENERAL SPECIAL1 25.msa 100

//Kaldırmak:

GENERAL BACK_KNOCKDOWN 35.msa 100
GENERAL FRONT_KNOCKDOWN 32.msa 100

//Sonuç

GENERAL WAIT 00.msa 65
GENERAL WAIT1 00_1.msa 35
GENERAL RUN 03.msa 100
GENERAL NORMAL_ATTACK 20.msa 50
GENERAL NORMAL_ATTACK1 20_1.msa 50
GENERAL FRONT_DAMAGE 30.msa 100
GENERAL FRONT_DEAD 31.msa 100
GENERAL BACK_DAMAGE 34.msa 100
GENERAL SPECIAL 24.msa 100
GENERAL SPECIAL1 25.msa 100[/CODE]

3) Bu en basit sorundur: db / mob_proto'ya gidin, vnum 2191'i (Çöl Kaplumbağası) arayın ve 0'a ayarlayın veya aşağıdaki değerleri azaltın:

resist_sword
resist_dagger
resist_bell
resist_fan
resist_bow

Gördüğünüz gibi resist_twohand zaten 0'a ayarlanmış, bu yüzden hasar sadece büyük kılıçlar tarafından yapılabilir.

[English]

1603204629223.png


The Desert Turtle presents several Problems:

1) He always teleports on you throughout the desert map, you have no way of escaping him.
2)Sometimes the animation freezes.
3) Can only be attacked by the Greatsword.


1) Its cause is to be found in the server sources:

[CODE lang="cpp" title="src/server/game/src/char_state.cpp"]
//Search:

if (GetRaceNum() == 2191 && number(1, 20) == 1 && get_dword_time() - m_pkMobInst->m_dwLastWarpTime > 1000)
{

float fx, fy;
GetDeltaByDegree(victim->GetRotation(), 400, &fx, &fy);
long new_x = victim->GetX() + (long)fx;
long new_y = victim->GetY() + (long)fy;
SetRotation(GetDegreeFromPositionXY(new_x, new_y, victim->GetX(), victim->GetY()));
Show(victim->GetMapIndex(), new_x, new_y, 0, true);
GotoState(m_stateBattle);
m_dwStateDuration = 1;
ResetMobSkillCooltime();
m_pkMobInst->m_dwLastWarpTime = get_dword_time();
return;
}

//Replace with:

// if (GetRaceNum() == 2191 && number(1, 20) == 1 && get_dword_time() - m_pkMobInst->m_dwLastWarpTime > 1000)
// {
//
// float fx, fy;
// GetDeltaByDegree(victim->GetRotation(), 400, &fx, &fy);
// long new_x = victim->GetX() + (long)fx;
// long new_y = victim->GetY() + (long)fy;
// SetRotation(GetDegreeFromPositionXY(new_x, new_y, victim->GetX(), victim->GetY()));
// Show(victim->GetMapIndex(), new_x, new_y, 0, true);
// GotoState(m_stateBattle);
// m_dwStateDuration = 1;
// ResetMobSkillCooltime();
// m_pkMobInst->m_dwLastWarpTime = get_dword_time();
// return;
// }

//Or insert in the function: "//"[/CODE]

2) The cause lies in motlist.txt. The GENERAL (BACK / FRONT) KNOCKDOWN is closely linked to the GENERAL STANDUP which in the case of the turtle is not present, hence the reason for which the animation stops:

[CODE lang="cpp" title="motlist.txt"]

//Search:

GENERAL WAIT 00.msa 65
GENERAL WAIT1 00_1.msa 35
GENERAL RUN 03.msa 100
GENERAL NORMAL_ATTACK 20.msa 50
GENERAL NORMAL_ATTACK1 20_1.msa 50
GENERAL FRONT_DAMAGE 30.msa 100
GENERAL FRONT_DEAD 31.msa 100
GENERAL FRONT_KNOCKDOWN 32.msa 100
GENERAL BACK_DAMAGE 34.msa 100
GENERAL BACK_KNOCKDOWN 35.msa 100
GENERAL SPECIAL 24.msa 100
GENERAL SPECIAL1 25.msa 100

//Remove:

GENERAL BACK_KNOCKDOWN 35.msa 100
GENERAL FRONT_KNOCKDOWN 32.msa 100

//Like this:

GENERAL WAIT 00.msa 65
GENERAL WAIT1 00_1.msa 35
GENERAL RUN 03.msa 100
GENERAL NORMAL_ATTACK 20.msa 50
GENERAL NORMAL_ATTACK1 20_1.msa 50
GENERAL FRONT_DAMAGE 30.msa 100
GENERAL FRONT_DEAD 31.msa 100
GENERAL BACK_DAMAGE 34.msa 100
GENERAL SPECIAL 24.msa 100
GENERAL SPECIAL1 25.msa 100[/CODE]

3) This is the simplest problem: just go to db / mob_proto, look for vnum 2191 (Desert Turtle) and set to 0 or reduce the following values:

resist_sword
resist_dagger
resist_bell
resist_fan
resist_bow

As you can see the resist_twohand is already set to 0, which is why the damage could only be done by twohand.
 
Sadece çift el ile kesilebilmesini bug olarak değerlendirmek yanlış olur fakat diğer detaylar için teşekkürler.
 
teşekkürler
 
Thanx for share.
 

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

Geri
Üst