Kosztüm fegyver probléma (Íj teleport után "ököl")

Indította xTryx, 2018-09-16, 12:09:39

Sziasztok!

A probléma adott.
Teleport/Halál után az Íj "ököllé" változik.

Mi lehet az oka?

Előre is köszönöm a válaszokat!

Legelőször is melyik rendszert használod? Vagy 3 félét tettek ki.

Konkrétan sehol egy név, hogy ki csinálta.


Costume weapon
type: 28
subtype:
SWORD = 9
DAGGER = 10
BOW = 11
TWO_HANDED = 12
BELL = 13
FAN = 14
CLAW = 15


A karom volt benne, meg egy végtlen nyílveszző félig-meddig, de azokat kiszedtem.

Üzenet összefésülés: 2018-09-16, 13:26:17

+ az érdekes része az, hogy nem is ezeket a type-okat használja..

Idézetet írta: xTryx Dátum 2018-09-16, 13:25:31
Konkrétan sehol egy név, hogy ki csinálta.


Costume weapon
type: 28
subtype:
SWORD = 9
DAGGER = 10
BOW = 11
TWO_HANDED = 12
BELL = 13
FAN = 14
CLAW = 15


A karom volt benne, meg egy végtlen nyílveszző félig-meddig, de azokat kiszedtem.

Üzenet összefésülés: 2018-09-16, 13:26:17

+ az érdekes része az, hogy nem is ezeket a type-okat használja..

Küldtem privit

http://metin2hungary.net/index.php/topic,194077.msg1022760.html#msg1022760

Akkor ez az. Viszont ebben tuti nincs olyan hiba, nálam is ez van bent.
Ezt te k*rtad el ;D Kliens forrásban InstanceBase.cpp-n fusd át megint, 99% hogy ott hagytál ki valamit, vagy tettél rossz helyre.

Amúgy azokat a subtype-okat használja:

Idéz#ifdef ENABLE_COSTUME_WEAPON
         COSTUME_WEAPON_SWORD = 9,
         COSTUME_WEAPON_DAGGER,
         COSTUME_WEAPON_BOW,
         COSTUME_WEAPON_TWO_HANDED,
         COSTUME_WEAPON_BELL,
         COSTUME_WEAPON_FAN,
         COSTUME_WEAPON_CLAW,
         #endif

Mivel a Sword-ot áttette 9-re, így onnan folytatódik a sort. Tehát dagger 10, bow 11 stb.


ITEM번호 ITEM_NAME(K)                      ITEM_TYPE           SUB_TYPE

32206 devil1_weapon1        "ITEM_COSTUME" "COSTUME_WEAPON" 2
32207 devil1_weapon2        "ITEM_COSTUME" "COSTUME_WEAPON" 3
32208 devil1_weapon3        "ITEM_COSTUME" "COSTUME_WEAPON" 1
32209 devil1_weapon4        "ITEM_COSTUME" "COSTUME_WEAPON" 2


Aha érdekes akkor, mert azok a value3 értékek. A subtype akkor miért 1-2-3?

A subtype az a COSTUME_WEAPON :-X :-X
Használj excelt ha megzavar h elcsúszik a tabok miatt :'( :-\

Jó, akkor már csak az maradt, hogy lehet a makro-tol szar az egész.
Mert azt is észrevettem, hogy a lovon se Íjként használja, de a makro-t engedélyezve látja a vs.



Idézetet írta: xTryx Dátum 2018-09-16, 14:24:44

ITEM번호 ITEM_NAME(K)                      ITEM_TYPE           SUB_TYPE

32206 devil1_weapon1        "ITEM_COSTUME" "COSTUME_WEAPON" 2
32207 devil1_weapon2        "ITEM_COSTUME" "COSTUME_WEAPON" 3
32208 devil1_weapon3        "ITEM_COSTUME" "COSTUME_WEAPON" 1
32209 devil1_weapon4        "ITEM_COSTUME" "COSTUME_WEAPON" 2


Aha érdekes akkor, mert azok a value3 értékek. A subtype akkor miért 1-2-3?

Ez most az item_proto-d lenne? Csakmert COSTUME_WEAPON az wtf :D

Ezeket használd:
Idéz#ifdef ENABLE_COSTUME_WEAPON
         COSTUME_WEAPON_SWORD = 9,
         COSTUME_WEAPON_DAGGER,
         COSTUME_WEAPON_BOW,
         COSTUME_WEAPON_TWO_HANDED,
         COSTUME_WEAPON_BELL,
         COSTUME_WEAPON_FAN,
         COSTUME_WEAPON_CLAW,
         #endif

Rendszertől függ.
Legelső amit használtam aszem v ez v hasonló volt, h simán cost_wep, és a v3 állította h mégis milyen altípus: kard/tőr/stb.
Aztán találtam 1 "ofisöl" szerűt, és ott már rendesen volt, cost_sword/cost_dagger/etc.

2018-09-16, 14:55:11 #12 Utolsó szerkesztés: 2018-09-16, 18:23:38 Szerző: xTryx
Valszeg ezzel lehet a baj:



void CInstanceBase::RefreshState(DWORD dwMotIndex, bool isLoop)
{
DWORD dwPartItemID = m_GraphicThingInstance.GetPartItemID(CRaceData::PART_WEAPON);

BYTE byItemType = 0xff;
BYTE bySubType = 0xff;

CItemManager & rkItemMgr = CItemManager::Instance();
CItemData * pItemData;

if (rkItemMgr.GetItemDataPointer(dwPartItemID, &pItemData))
{
byItemType = pItemData->GetType();
bySubType = pItemData->GetWeaponType();
}

if (IsPoly())
{
SetMotionMode(CRaceMotionData::MODE_GENERAL);
}
else if (IsWearingDress())
{
SetMotionMode(CRaceMotionData::MODE_WEDDING_DRESS);
}
else if (IsHoldingPickAxe())
{
if (m_kHorse.IsMounting())
{
SetMotionMode(CRaceMotionData::MODE_HORSE);
}
else
{
SetMotionMode(CRaceMotionData::MODE_GENERAL);
}
}
else if (CItemData::ITEM_TYPE_ROD == byItemType)
{
if (m_kHorse.IsMounting())
{
SetMotionMode(CRaceMotionData::MODE_HORSE);
}
else
{
SetMotionMode(CRaceMotionData::MODE_FISHING);
}
}
else if (byItemType == CItemData::ITEM_TYPE_COSTUME)
{
switch (pItemData->GetValue(3))
{
case CItemData::WEAPON_SWORD:
if (m_kHorse.IsMounting())
SetMotionMode(CRaceMotionData::MODE_HORSE_ONEHAND_SWORD);
else
SetMotionMode(CRaceMotionData::MODE_ONEHAND_SWORD);
break;
case CItemData::WEAPON_DAGGER:
if (m_kHorse.IsMounting())
SetMotionMode(CRaceMotionData::MODE_HORSE_DUALHAND_SWORD);
else
SetMotionMode(CRaceMotionData::MODE_DUALHAND_SWORD);
break;
case CItemData::WEAPON_BOW:
if (m_kHorse.IsMounting())
SetMotionMode(CRaceMotionData::MODE_HORSE_BOW);
else
break;
case CItemData::WEAPON_TWO_HANDED:
if (m_kHorse.IsMounting())
SetMotionMode(CRaceMotionData::MODE_HORSE_TWOHAND_SWORD);
else
SetMotionMode(CRaceMotionData::MODE_TWOHAND_SWORD);
break;
case CItemData::WEAPON_BELL:
if (m_kHorse.IsMounting())
SetMotionMode(CRaceMotionData::MODE_HORSE_BELL);
else
SetMotionMode(CRaceMotionData::MODE_BELL);
break;
case CItemData::WEAPON_FAN:
if (m_kHorse.IsMounting())
SetMotionMode(CRaceMotionData::MODE_HORSE_FAN);
else
SetMotionMode(CRaceMotionData::MODE_FAN);
break;
default:
if (m_kHorse.IsMounting())
SetMotionMode(CRaceMotionData::MODE_HORSE);
else
SetMotionMode(CRaceMotionData::MODE_GENERAL);
break;
}
}
else if (m_kHorse.IsMounting())
{
switch (bySubType)
{
case CItemData::WEAPON_SWORD:
SetMotionMode(CRaceMotionData::MODE_HORSE_ONEHAND_SWORD);
break;

case CItemData::WEAPON_TWO_HANDED:
SetMotionMode(CRaceMotionData::MODE_HORSE_TWOHAND_SWORD); // Only Warrior
break;

case CItemData::WEAPON_DAGGER:
SetMotionMode(CRaceMotionData::MODE_HORSE_DUALHAND_SWORD); // Only Assassin
break;

case CItemData::WEAPON_FAN:
SetMotionMode(CRaceMotionData::MODE_HORSE_FAN); // Only Shaman
break;

case CItemData::WEAPON_BELL:
SetMotionMode(CRaceMotionData::MODE_HORSE_BELL); // Only Shaman
break;

case CItemData::WEAPON_BOW:
SetMotionMode(CRaceMotionData::MODE_HORSE_BOW); // Only Shaman
break;

default:
SetMotionMode(CRaceMotionData::MODE_HORSE);
break;
}
}
else
{
switch (bySubType)
{
case CItemData::WEAPON_SWORD:
SetMotionMode(CRaceMotionData::MODE_ONEHAND_SWORD);
break;

case CItemData::WEAPON_TWO_HANDED:
SetMotionMode(CRaceMotionData::MODE_TWOHAND_SWORD); // Only Warrior
break;

case CItemData::WEAPON_DAGGER:
SetMotionMode(CRaceMotionData::MODE_DUALHAND_SWORD); // Only Assassin
break;

case CItemData::WEAPON_BOW:
SetMotionMode(CRaceMotionData::MODE_BOW); // Only Assassin
break;

case CItemData::WEAPON_FAN:
SetMotionMode(CRaceMotionData::MODE_FAN); // Only Shaman
break;

case CItemData::WEAPON_BELL:
SetMotionMode(CRaceMotionData::MODE_BELL); // Only Shaman
break;

case CItemData::WEAPON_ARROW:
default:
SetMotionMode(CRaceMotionData::MODE_GENERAL);
break;
}
}

if (isLoop)
m_GraphicThingInstance.InterceptLoopMotion(dwMotIndex);
else
m_GraphicThingInstance.InterceptOnceMotion(dwMotIndex);

RefreshActorInstance();
}


Nekem v3-ból olvas.

Üzenet összefésülés: 2018-09-16, 18:23:38

Jó a hibát sikerült javítanom. Még 1 dolog lenne viszont. Van shiningtable bent és a kosztüm fegyverre valahogy megoldható az mde fegyver? Mert sima fegyverként működik, kosztümként nem látszik