Sziasztok, valaki tudna segíteni abban, mert sajnos nem tudom úgy kibővíteni, hogy ha valakinek a petje, akkoris lefusson a függvény, ne pedig csak akkor, ha saját.
mch-t próbáltam átírni true-ra, de sajnos nem.
int pet_is_mine(lua_State* L)
{
CQuestManager& q = CQuestManager::instance();
LPCHARACTER mch = q.GetCurrentCharacterPtr();
LPCHARACTER tch = q.GetCurrentNPCCharacterPtr();
CPetSystem* petSystem = mch->GetPetSystem();
CPetActor* petActor = petSystem->GetByVID(tch->GetVID());
lua_pushboolean(L, tch && tch->IsPet() && petActor && petActor->GetOwner() == mch);
return 1;
}
Először tisztázni kellene pontosan mit is szeretnél.
Pl a csoportodban, céhben, barátlistán, vagy egyéb más dolog által megkülönböztetett embernek is lefusson, de csak neki(k), tehát egy idegennek ne. Vagy idegeneknek is?
utóbbi esetben nem kell hozzányúlni a forráshoz, szimplán így kell:
when petid1 or petid2 or petid3 or petid4 [...] petidn.click begin
if pet.is_mine() then
syschat("Ez a te peted")
else
syschat("Ez nem a te peted")
end
end
Pet klónok miatt, illetve az etetés miatt. Ha van egy tárgy, ami csinál valamit a pettel, akkor azt ne lehessen olyan petre ráhúzni, ami valakié, csak olyanra, ami a pályán regenből jön, ezt próbáltam megoldani, de sikertelenül.
Üzenet összefésülés: 2018-09-11, 16:44:01
Megoldás lenne azis, hogy más ID-k ről lemásolom a petek modeljeit, de egyszerübbnek gondolom csak ezt kibővíteni, és máris nem kell 50 új sort beírnom mindenhova..
Tehát te egy pet_is_not_mine-t akarsz?
Lehet tagadni questben amúgy, nem csak az else-el mint feljebb írtam, hanem így is:
when petid.click or petid2.click [...] with pet.is_mine() == false begin
vagy
if pet.is_mine() == false then
if not pet.is_mine() then
(utolsóban nem vagyok biztos ;D )
De nem érted még mindig, tudom hogy lehet tagadni, de ez csak az én petemet nézi. Ugy tökéletes is, de tegyük fel ott állsz te, eg karakterrel, melletted én. Tagadással csináltam, de akkoris ha én ráhuzom a pet kaját vagy a klónozót, a petedre, akkor nem ellenorzi, a sajatomnal pedig igen, illetve mondtam hogy a leidézett peteknél szeretném a klonozót hasznalni szoval arra pedig ellenoriznem kell. Valami olyan megoldás kellene nekem, hogy ha a petnek van owner, akkor false, else true.
Ez a rész senkinek nem tűnik fel?
Idéz... && petActor->GetOwner() == mch)
Ezt próbáltam átírni True-ra, mármint lehet én gondolomhülyén, de "Ha van tulaja" "GetOwner() == True" vagy nem?
Látom te se nagyon érted mi micsoda forráson belül.
int pet_is_pet(lua_State* L)
{
LPCHARACTER tch = CQuestManager::instance().GetCurrentNPCCharacterPtr();
lua_pushboolean(L, tch && tch->IsPet());
return 1;
}
Idézetet írta: TheSLESH Dátum 2018-09-12, 07:54:12
Ezt próbáltam átírni True-ra, mármint lehet én gondolomhülyén, de "Ha van tulaja" "GetOwner() == True" vagy nem?
LPCHARACTER-t akarsz hasonlítani 1 boollal? :o ???
Am arra gondoltam amit végül p3ng3r leírt, h töröld ezt a részt, hisz ha petet akarod nézni mit számít ki a tulaja...? és ha azt kitörlöd azt kapod mint p3ng3rnél, csak ő még kicsit kipucolta a felesleges dolgokat