Ultima modifica da un moderatore:
La Tartaruga del Deserto presenta diverse Problematiche:
1) Si Teletrasporta sempre su di te per tutta la mappa deserto, non hai modo di sfuggirgli.
2) Ogni tanto l'animazione si blocca.
3) Può essere attaccata solo dallo Spadone.
1) La sua causa è da ricercare nei sorgenti server:
2) La causa sta nel motlist.txt. Il GENERAL (BACK/FRONT) KNOCKDOWN è strettamente legato al GENERAL STANDUP che nel caso della tartaruga non è presente, da qui il motivo per il quale l'animazione si interrompe:
Fix:
Questo è il motlist.txt di giant_desert_turtle, bisogna rimuovere:
GENERAL BACK_KNOCKDOWN 35.msa 100
GENERAL FRONT_KNOCKDOWN 32.msa 100
3)Questo è il problema più semplice: basta andare sul db/mob_proto, cercare il vnum 2191(Tartaruga del Deserto) e impostare a 0 o ridurre i seguenti valori:
resist_sword
resist_dagger
resist_bell
resist_fan
resist_bow
Come potete notare il resist_twohand è settato già a 0, motivo per il quale il danno poteva essere fatto solo dagli spadoni.
E' tutto, alla prossima.
1) Si Teletrasporta sempre su di te per tutta la mappa deserto, non hai modo di sfuggirgli.
2) Ogni tanto l'animazione si blocca.
3) Può essere attaccata solo dallo Spadone.
1) La sua causa è da ricercare nei sorgenti server:
Cerca:
Modifica con:
O più semplicemente commenta la funzione.
C++:
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;
}
C++:
// 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;
// }
2) La causa sta nel motlist.txt. Il GENERAL (BACK/FRONT) KNOCKDOWN è strettamente legato al GENERAL STANDUP che nel caso della tartaruga non è presente, da qui il motivo per il quale l'animazione si interrompe:
Fix:
Codice:
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
GENERAL BACK_KNOCKDOWN 35.msa 100
GENERAL FRONT_KNOCKDOWN 32.msa 100
Codice:
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
3)Questo è il problema più semplice: basta andare sul db/mob_proto, cercare il vnum 2191(Tartaruga del Deserto) e impostare a 0 o ridurre i seguenti valori:
resist_sword
resist_dagger
resist_bell
resist_fan
resist_bow
Come potete notare il resist_twohand è settato già a 0, motivo per il quale il danno poteva essere fatto solo dagli spadoni.
E' tutto, alla prossima.