Mount mozgás gyorsítása

Indította KOCZKAHUN, 2017-06-20, 19:41:08

Sziasztok!

Olyan problémám van, hogy egy adott mounton iszonyú lassú a mozgás. Nem tudom, hogy mi okozza, adhatok neki 300 mozgásit is az item proto-ban, akkor sem gyorsul (az ottani mozgási az a karakter sebessége). Lehet valahol módosítani magának a mountnak a sebességét?

Köszönöm előre is a segítséget!

Animáción tudsz gyorsítani, mondjuk ilyet nem próbáltam még.

Mount mappáján belül:

run.msa

Sor:
MotionDuration           0.666666

2017-06-20, 20:42:50 #2 Utolsó szerkesztés: 2017-06-20, 20:50:00 Szerző: KOCZKAHUN
Köszi megpróbálom! :)

Üzenet összefésülés: 2017-06-20, 20:50:00

Nem jártam szerencsével. Nem lett gyorsabb tőle a mount.

hm?

MotionDuration           3.666666

Alapból 13.33333333 volt megadva. Azt átírtam a 0.666666666-ra de sajnos ugyanolyan a sebessége.

Lehet mob_proto-ba kellene neki adni mozgási sebességet?

Sajnos ez sem vezetett eredményre :(

tudtommal csak a ride.quest-ben adsz neki mozgási sebességet

2017-06-22, 08:30:44 #8 Utolsó szerkesztés: 2017-06-26, 19:48:01 Szerző: Distraught
ha questben adsz bónuszt, akkor az a baj, hogy másikat már nem tudsz adni neki egyszerre :/
érdemesebb gamefájlban:
questlua_pc.cpp:
keress rá: int pc_mount(lua_State* L)
ebben a függvényben a vége fele hozzáírod:

case MOUNTID:
ch->AddAffect(AFFECT_MOUNT, POINT_MOV_SPEED, 50, AFF_NONE, length, 0, true, true);
break;

a MOUNTID helyére az npc id-jét (ne a hívót!)
ezután alapból ez a mount kapni fog (jelen esetben +50 mozgásit, és questben is fogsz tudni még bónuszt adni rá

C++ programmer at Gameloft

hát vagy megváltoztatód a pc.mount funkcióját.
példa:
pc.mount(ID,IDŐ,SEBESSÉG)

nem nehéz, lehet programozni :D
Hamarosan...

vagy igen, fl4t1k felvetése is jó, igazából azzal a legegyszerűbb, mert utána nem kell minden mountnál belenyúlnod a game fileba :)
tessék, megírtam neked rá egy funkciót, csak írd felül (questlua_pc.cpp):

int pc_mount(lua_State* L)
{
if (!lua_isnumber(L, 1))
return 0;

int length = 60;

if (lua_isnumber(L, 2))
length = (int)lua_tonumber(L, 2);

DWORD mount_vnum = (DWORD)lua_tonumber(L, 1);

if (length < 0)
length = 60;

LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

ch->RemoveAffect(AFFECT_MOUNT);
ch->RemoveAffect(AFFECT_MOUNT_BONUS);

// ¸»ŔĚ ĽŇČŻµÇľî µű¶ó´Ů´Ď´Â »óŶó¸é ¸»şÎĹÍ ľřľÚ
if (ch->GetHorse())
ch->HorseSummon(false);

int ertek = 0;

if (lua_isnumber(L, 3))
ertek = (int)lua_tonumber(L, 3);

if (ertek <= 0)
ertek = 0;

ch->AddAffect(AFFECT_MOUNT, POINT_MOV_SPEED, ertek, AFF_NONE, length, 0, true, true);


return 0;
}

C++ programmer at Gameloft

Kipróbálom, köszi!
Témát zárom.