Sziasztok!
Nem szeretném pontosan leírni, hogy hogyan, de kilehet "buggoltatni" a pc.mount funkciót úgy, hogy átváltozva szállnak fel a mountra.
(Lényeg annyi, hogy login közben nem vagy átváltozva, és utólag változol át, viszont emiatt a "késés" miatt mountra tudsz addig szállni.)
Fél napig próbálkoztam beállítani, hogy átváltozva ne lehessen mountra szállni, azonban nem jött össze.
Valakinek van erre egy konkrét ötlete?
Szóval amikor beloginol hamarabb felszáll a mountra, minthogy átváltozna?
Szerintem hasonló a jelenség mint a harmatok esetében. Vegas írt rá egy gusztustalan fixet, azt némi bővítéssel erre is lehetne alkalmazni (de én inkább teljes kód újraírást javasolnék a fixnek).
Idézetet írta: Distraught Dátum 2018-04-04, 22:22:56
Szóval amikor beloginol hamarabb felszáll a mountra, minthogy átváltozna?
Igen, késleltéssel megtudom oldani, de nem szeretnék ilyen buherált megoldásokat.
Addig már eljutottam, hogy ha átvan változva leszedje az "affect"-et, de viszont ha nincs átváltozva nem engedi felszállni, szóval még nem az igazi.
átváltozás függvényt return-öld az elején, ha mounton van, vagy pedig unmountold
Idézetet írta: Distraught Dátum 2018-04-04, 22:43:20
átváltozás függvényt return-öld az elején, ha mounton van, vagy pedig unmountold
Próbáltam, azonban mivel előbb száll fel a mountra a karakter, mint hogy polyzna, emiatt nem ért lényegében semmit.
Próbálkoztam azzal, hogy a polyitem-hez írok valamit, de elakadtam benne. Az elmélet meglenne, de nem tudtam össze szedni/megírni rendesen a kódot.
próbáld meg, hogy a char_affect.cpp-ben a AddAffect függvény elejére hozzáírod ezt:
if(dwType==AFFECT_POLYMORPH && GetMountVnum()) return false;
Vagy ha ez nem jó, akkor mondjuk az átváltozás unmountoljon is, ezzel tutira jó lesz.
akkor pedig picit hosszabb lesz:
if(dwType==AFFECT_POLYMORPH && GetMountVnum())
{
RemoveAffect(AFFECT_MOUNT);
RemoveAffect(AFFECT_MOUNT_BONUS);
if(IsHorseRiding()) StopRiding();
}
Idézetet írta: Distraught Dátum 2018-04-04, 23:18:30
akkor pedig picit hosszabb lesz:
if(dwType==AFFECT_POLYMORPH && GetMountVnum())
{
RemoveAffect(AFFECT_MOUNT);
RemoveAffect(AFFECT_MOUNT_BONUS);
if(IsHorseRiding()) StopRiding();
}
Hozzáadtam a CHARACTER::AddAffect részhez, azonban semmi hatása nem volt sajnos..
próbáld meg a polymorph.cpp-ben a PolymorphCharacter függvényhez hozzáadni
Idézetet írta: Distraught Dátum 2018-04-04, 23:43:55
próbáld meg a polymorph.cpp-ben a PolymorphCharacter függvényhez hozzáadni
Az a baj, hogy ebben nincs deklarálva a legtöbb "függvény".
Idéz
polymorph.cpp: In member function 'bool CPolymorphUtils::PolymorphCharacter(CHARACTER*, CItem*, const CMob*)':
polymorph.cpp:43: error: 'dwType' was not declared in this scope
polymorph.cpp:43: error: 'GetMountVnum' was not declared in this scope
polymorph.cpp:45: error: 'RemoveAffect' was not declared in this scope
polymorph.cpp:47: error: 'IsHorseRiding' was not declared in this scope
polymorph.cpp:47: error: 'StopRiding' was not declared in this scope
vagy várj, menj vissza az addeffectbe és ezt írd bele:
if(dwType==AFFECT_POLYMORPH && GetMountVnum())
{
quest::CQuestManager::instance().Unmount(GetPlayerID());
MountVnum(0);
}
meg includeold az elején a questmanager-t
Idézetet írta: Distraught Dátum 2018-04-04, 23:51:01
vagy várj, menj vissza az addeffectbe és ezt írd bele:
if(dwType==AFFECT_POLYMORPH && GetMountVnum())
{
quest::CQuestManager::instance().Unmount(GetPlayerID());
MountVnum(0);
}
meg includeold az elején a questmanager-t
Sajnos ez sem jó.
Dobtam egy PM-et arról, hogyan csinálják.
Próbâltad mâr kikapcsolni a terrain systemet? O.o