Kulccsal nyitható láda, vagy tárgyra tárgy húzással működő quest.

Indította xTryx, 2018-02-18, 12:24:30

Régebben láttam valahol 1 ilyesmi questet, de nem találom. Valakinek esetleg van hasonló?

2018-02-18, 12:32:05 #1 Utolsó szerkesztés: 2018-02-18, 12:33:56 Szerző: mikee0121
Parancsolj hoppá elhamarkodottan szóltam hozzá hirtelen azt hittem ez kell a ládanyitogatós rendszer. Nem olvastam végig még is mit szeretnél :P De már itt hagyom hátha ez is elkelti az érdeklődésedet.


Én itt a rubin ládára gondoltam pl. Ha ráhúzod a kulcsot ugye nyitja a ládát elvesz 1-et +-ad valamit és én erre lennék kíváncsi mi az a quest fukció ami azt csinálja hogy akkor aktivál ha a tárgyat ráhúzod a másikra.

Nem quest.. Tanulmányozd kicsit az arany és ezüst ládákat.
"Tisztelet a kivételnek! Mindig tisztelet a kivételnek!"
"KezdÅ' vagyok, ne nézz le... (:"

Ezt questtel nem tudod kivitelezni. Kivéve ha megírod hozzá a python és c++ részeket. Vagy visszamész 2012be és megírod pylua-ban ::)

Akkor hogyan tudom?

Azt látom hogy:

ITEM_TREASURE_BOX
ITEM_TREASURE_KEY

a type a protoban, de hogy kapcsolódik össze a 2 hogy a kulcs a kijelölt ládát nyissa.


Nyitott a forrás, megvannak a kulcsszavak mi kell még? A két tárgy összehasonlításával ki lehet sakkozni, mi az összefüggés. A value0 értékeknek egyezniük kell.
Van egy láda melynek a value0 értéke 32, az a láda csak azzal a kulccsal nyitható, amelynek a value0 értéke szintén 32. A láda tartalma pedig: special_item_group.txt

Viszont! Ez nem halmozható tárgyakra lett megírva, ígyhát ha neked a láda és/vagy a kulcs (is) halmozható az egész packot elveszi mind a két tárgyból, ancient ymir logic  :o :-X

Hát... sztem fél perc átírni ezt a 2 sort:
ITEM_MANAGER::instance().RemoveItem(item);
ITEM_MANAGER::instance().RemoveItem(item2);

Idézetet írta: 5310pati Dátum 2018-02-18, 17:10:50
Hát... sztem fél perc átírni ezt a 2 sort:
ITEM_MANAGER::instance().RemoveItem(item);
ITEM_MANAGER::instance().RemoveItem(item2);


Mire kellene áttírni ezeket?


Idézetet írta: [VIP]P3NG3R Dátum 2018-02-18, 17:16:46


Azért mert amit írtam fentebb ott fent tudod.
Szövegértés: Nem miért, hanem mire.... :) Olvasd el 1x. :O

Szorri, ittasan 1-2 szó kiesik olvasás közben ;D

if (IS_SET(item->GetFlag(), ITEM_FLAG_STACKABLE) && !IS_SET(item->GetAntiFlag(), ITEM_ANTIFLAG_STACK) && item->GetCount() > 1)
item->SetCount(item->GetCount() - 1);
else
ITEM_MANAGER::instance().RemoveItem(item);
if (IS_SET(item2->GetFlag(), ITEM_FLAG_STACKABLE) && !IS_SET(item2->GetAntiFlag(), ITEM_ANTIFLAG_STACK) && item2->GetCount() > 1)
item2->SetCount(item2->GetCount() - 1);
else
ITEM_MANAGER::instance().RemoveItem(item2);

Ez lesz az a funkció right?


if (GiveItemFromSpecialItemGroup(dwBoxVnum, dwVnums, dwCounts, item_gets, count))
{
ITEM_MANAGER::instance().RemoveItem(item);
ITEM_MANAGER::instance().RemoveItem(item2);


Ha ez
case ITEM_TREASURE_KEY:

alatt van pár sorral, akkor igen.