Am testat câteva mount-uri ca să le fac permanente, dar am descoperit că nu funcționează cum ar trebui.
Deși setasem Socket0 pe 0 (adică fără timp limitat), sistemul nu trata mount-ul ca fiind permanent.
MountSystem.cpp
Caută in funcția: bool CMountActor::Mount(LPITEM mountItem)
Code:
int TungaFixTime;
for (int i = 0; i < ITEM_LIMIT_MAX_NUM; i++)
{
if ((LIMIT_REAL_TIME == mountItem->GetLimitType(i)) || (LIMIT_REAL_TIME_START_FIRST_USE == mountItem->GetLimitType(i)))
TungaFixTime = (DWORD)mountItem->GetSocket(0); // Show me a mount code in item proto
else
TungaFixTime = INFINITE_AFFECT_DURATION;
}
m_pkOwner->AddAffect(AFFECT_MOUNT, POINT_MOUNT, m_dwVnum, AFF_NONE, (DWORD)mountItem->GetSocket(0) - time(0), 0, true);
Modifica
Exemplu cod item_proto.txt
Code:
71124 METGUIDE ITEM_COSTUME COSTUME_MOUNT 1 NONE LOG WEAR_SHIELD NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_ATTBONUS_MONSTER 20 APPLY_NORMAL_HIT_DAMAGE_BONUS 10 APPLY_NONE 0 0 20114 0 0 0 0 0 0 0