Kérdések :D

Indította D3xt3r, 2017-05-31, 10:22:58

Sziasztok!
Több kérdéssel fordulnék hozzátok!
Először is egy bolttal kapcsolatos kérdés:
Volt régebben egy olyan, hogy a boltban, ahogy beírtunk egy árat, az megjegyezte, és a következő tárgy berakásánál ki volt töltve ugyanazzal az értékkel. Na én ezt úgy szeretném megcsinálni (lehet már létezik ilyen variáció), hogy az adott tárgynál töltse csak ki az értékeket. Tehát ha én berakok egy Mennyei könnyet boltba 700k yang-ért, akkor csak a Mennyei-nél töltse ki 700k-ra az értéket. Viszont én ezt úgy képzeltem el, hogy vagy a következő itemnél törölje az előző megadott árat (pl. Ébenfánál) és ezután ezen az itemen fut tovább a mentés, de hiába rakok be Mennyei-t, annál megint üres lesz az ár. Vagy egy olyan opció lenne még, hogy (és ehhez már Python tudás is kellene) el lehessen menteni az árakat egy külön ablakban és a boltnál mindig kitölti az értéket, amit megadtunk. Persze ezt lehetne módosítani.

Következő kérdésem a lóval kapcsolatos:
Hogy lehet azt megoldani, hogy a ló színét ne a céh állapota határozza meg, hanem a színét lehessen mondjuk a lóra kattintva egy új menüpontként kezelni? Ahol meg lehet etetni a lovat, meg ilyenek. Ezt abban a quest-ben meg lehetne-e oldani?

Egyenlőre ennyi lenne, de lesz még pár kérdésem. :D
Előre is köszönöm :)
Üdv, Dexter

2017-05-31, 12:23:22 #1 Utolsó szerkesztés: 2017-05-31, 12:38:26 Szerző: Distraught
a lovason gondolkodtam és gyorsan összedobtam vmit, nem tudom működik-e, szerintem igen:
game forrásban nyisd meg a char_horse.cpp-t
keress rá erre:

CHARACTER::GetMyHorseVnum()


módosítsd a funkciót erre:

DWORD CHARACTER::GetMyHorseVnum() const
{
int delta = 0;


if (GetQuestFlag("loszin") == 1)
++delta;

if (GetQuestFlag("loszin") == 2)
delta = delta + 2;

return c_aHorseStat[GetHorseLevel()].iNPCRace + delta;
}


ezután questben egyszerűen ha a "loszint" questflag 0, akkor fehér; ha 1 akkor barna; ha 2, akkor pedig olyan sötétbarna :)

pl.:
pc.setqf("loszin", 1)

C++ programmer at Gameloft

Köszönöm!
Inkább Lovászinashoz fogom csatolni a quest-et szerintem, ha így működik, mert akkor "Új ló vásárlásával" tudnának egy adott összegért váltani. Érdekes lenne másképp megoldani :D
Egyébként a színeknél ugye különbözik a páncélzat is. Sötétbarnánál például ugye más a páncélzat 21-es ló esetében.
Az megoldható lenne, hogy Minden ló színénél egyforma legyen?


Az már modellezési munka. Ugye mind a 3 szinű ló más ID-n van, és a rendszer csak eldönti, hogy melyik ID-t hívja meg.
Fogod egyszerűen pl a fehéret és átszínezed azt a másik 3 színné, majd kicseréled a modelleket és a textúrákat is arra a másik 2-nél.

horse_summon.quest-hez írd hozzá vhova:

when 20349.chat."Ló szín változtatás" with horse.get_level() >= 1 begin
local loszinv = select("Fehér","Barna","Vörösesbarna","Mégse")
if loszinv == 4 then
return
end
if loszinv == 1 then
pc.setqf("loszin", 0)
elseif loszinv == 2 then
pc.setqf("loszin", 1)
elseif loszinv == 3 then
pc.setqf("loszin", 2)
end
end

C++ programmer at Gameloft

A quest az ment volna, de köszönöm! :D
Reménykedtem benne, hogy a felszerelés külön modellként van ráhelyezve a lóra, így tudom majd változtatni egyszerűen. :D Viszont az átszínezéshez nem értek.. :D

Nem, ezek mind külön lómodellek. Szóval a 3 szinű ló kb. 3 külön mount 3 külön ID-n, a game fileban csak az van, hogy melyik ID-t hívja meg milyen esetben.

C++ programmer at Gameloft

Átszínezés annyi, hogy photoshop vagy talán paint.net (azt hiszem ezzel is lehet)

ps-hez kell dds plugin, ha telepíted utána bebúzod a dds-t és úgy színezed ahogy akarod, aztán elmented új néven

majd következő, texture changerrel hozzárendeled az új dds-t, és berakod mint új modell