Sziasztok!
Pát napja egyfolytában megjelennek, ha a találati infó be van kapcsolva. Csatoltam képet.
Playersettingmodule:
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+60, "Bip01", "D:/ymir work/pc/common/effect/armor/kekleszek.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+61, "Bip01", "D:/ymir work/pc/common/effect/armor/mercury.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+62, "Bip01", "D:/ymir work/pc/common/effect/armor/youtuber.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+63, "Bip01", "D:/ymir work/pc/common/pirieffect.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+64, "Bip01", "D:/ymir work/effect/character/blue.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+65, "Bip01", "D:/ymir work/effect/character/green.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+66, "Bip01", "D:/ymir work/effect/character/red.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+67, "Bip01", "D:/ymir work/effect/character/yellow.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+68, "Bip01", "D:/ymir work/effect/character/black.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+69, "Bip01", "D:/ymir work/effect/character/brown.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+70, "Bip01", "D:/ymir work/effect/character/violet.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+71, "Bip01", "D:/ymir work/effect/character/white.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+72, "Bip01", "D:/ymir work/effect/character/orange.mse")
Ezeket ugye item_proto-ból olvassa be. De ugyanezeket beraktam forrásba a koszümökhöz.
Ez így néz ki: case CItemData::ITEM_TYPE_COSTUME:
__ClearArmorRefineEffect();
// °©żĘ ĆŻČ ŔĚĆĺĆ®
if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
DWORD vnum = pItem->GetIndex();
if (21009 <= vnum && vnum <= 21019)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_1);
}
if (21029 <= vnum && vnum <= 21039)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_2);
}
if (24000 <= vnum && vnum <= 24001)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_3);
}
if (24002 <= vnum && vnum <= 24003)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_4);
}
if (24004 <= vnum && vnum <= 24005)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_5);
}
if (24006 <= vnum && vnum <= 24007)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_6);
}
if (24008 <= vnum && vnum <= 24009)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_4);
}
if (24010 <= vnum && vnum <= 24011)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_7);
}
if (24012 <= vnum && vnum <= 24013)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8);
}
if (24014 <= vnum && vnum <= 24015)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_9);
}
if (24020 <= vnum && vnum <= 24021)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8);
}
if (24022 <= vnum && vnum <= 24023)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8);
}
if (24024 <= vnum && vnum <= 24025)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_6);
}
if (24026 <= vnum && vnum <= 24027)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_9);
}
if (24028 <= vnum && vnum <= 24029)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_5);
}
if (24030 <= vnum && vnum <= 24031)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_3);
}
if (41456 <= vnum && vnum <= 41457)
{
__AttachEffect(EFFECT_REFINED + EFFECT_COSTUME_YOUTUBER);
}
}
if (refine < 7) //ÇöŔç Á¦·Ăµµ 7 ŔĚ»ó¸¸ ŔĚĆĺĆ®°ˇ ŔÖ˝Ŕ´Ď´Ů.
return 0;
if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_1 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_2 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_3 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_4 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_5 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_6 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_7 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_9 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_COSTUME_YOUTUBER + refine - 7;
__AttachEffect(m_armorRefineEffect);
}
break;
Az InstanceBase.h: EFFECT_BODYARMOR_LEG2_1 = 60,
EFFECT_BODYARMOR_LEG2_2 = 61,
EFFECT_BODYARMOR_LEG2_3 = 71,
EFFECT_BODYARMOR_LEG2_4 = 72,
EFFECT_BODYARMOR_LEG2_5 = 64,
EFFECT_BODYARMOR_LEG2_6 = 65,
EFFECT_BODYARMOR_LEG2_7 = 70,
EFFECT_BODYARMOR_LEG2_8 = 66,
EFFECT_BODYARMOR_LEG2_9 = 67,
EFFECT_COSTUME_YOUTUBER = 62,
Segítséget előre is megköszönöm!
EFFECT_REFINED_END = EFFECT_REFINED + EFFECT_REFINED_NUM,
A REFINED_NUM-ot megnövelted?
Igen ,meg
Fura mert én is piszkálgattam már arrafelé és semmi bajom nincs vele.
Üzenet összefésülés: 2018-01-29, 17:54:59
Várjunk csak...
if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_1 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_2 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_3 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_4 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_5 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_6 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_7 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_9 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_COSTUME_YOUTUBER + refine - 7;
__AttachEffect(m_armorRefineEffect);
}
break;
Ez mia... akar lenni? :o ??? :o ???
Fogalmam sincs, valójában én se értem ???
Csak mert 2 effectet rendel minden kosztümhöz amit ott megadtál id-k alapján.
Ugyanaz a feltétel
if (pItem->GetSubType() == CItemData::COSTUME_BODY)
Először hozzárendeli a megfelelőt id alapján, majd a 2.ban amit előbb másoltam ki, az hozzárendeli a youtubeos effectet de mégse azt, mivel hozzáadod a refine-t majd még kivonsz 7-et belőle.
Mondjuk egy 9-re végződő vértnél, te a youtubeos effecthez képest 2-vel nagyobbat adsz hozzá ami a 74-es effect.
if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_1 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_2 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_3 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_4 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_5 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_6 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_7 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_9 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_COSTUME_YOUTUBER + refine - 7;
__AttachEffect(m_armorRefineEffect);
}
break;
Ezt a részt kommentezd ki és úgy próbáld meg.
Kitöröljem, vagy írjam át?
Ha csak bizonyos ID-re akarsz effectet és azok mind szerepelnek az első if-ben akkor kommentezheted/törölheted.
Ha viszont a többihez vmi alapot akarsz lásd alap vérteknél 7-8-9en akkor kéne az egész funkció, mert így nemtom h kéne módosítani.
Kikommenteztem, de ugyan az.
case CItemData::ITEM_TYPE_COSTUME:
__ClearArmorRefineEffect();
// °©żĘ ĆŻČ ŔĚĆĺĆ®
if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
DWORD vnum = pItem->GetIndex();
if (21009 <= vnum && vnum <= 21019)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_1);
}
if (21029 <= vnum && vnum <= 21039)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_2);
}
if (24000 <= vnum && vnum <= 24001)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_3);
}
if (24002 <= vnum && vnum <= 24003)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_4);
}
if (24004 <= vnum && vnum <= 24005)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_5);
}
if (24006 <= vnum && vnum <= 24007)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_6);
}
if (24008 <= vnum && vnum <= 24009)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_4);
}
if (24010 <= vnum && vnum <= 24011)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_7);
}
if (24012 <= vnum && vnum <= 24013)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8);
}
if (24014 <= vnum && vnum <= 24015)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_9);
}
if (24020 <= vnum && vnum <= 24021)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8);
}
if (24022 <= vnum && vnum <= 24023)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8);
}
if (24024 <= vnum && vnum <= 24025)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_6);
}
if (24026 <= vnum && vnum <= 24027)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_9);
}
if (24028 <= vnum && vnum <= 24029)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_5);
}
if (24030 <= vnum && vnum <= 24031)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_3);
}
if (41456 <= vnum && vnum <= 41457)
{
__AttachEffect(EFFECT_REFINED + EFFECT_COSTUME_YOUTUBER);
}
}
if (refine < 7) //ÇöŔç Á¦·Ăµµ 7 ŔĚ»ó¸¸ ŔĚĆĺĆ®°ˇ ŔÖ˝Ŕ´Ď´Ů.
return 0;
/*if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_1 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_2 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_3 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_4 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_5 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_6 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_7 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_9 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_COSTUME_YOUTUBER + refine - 7;
__AttachEffect(m_armorRefineEffect);
}*/
Kliens syserem (liteos, semmi érdekes): 0130 19:27:13877 :: Unknown Server Command xmas_snow 1 | xmas_snow
0130 19:27:13877 :: Unknown Server Command xmas_boom 2 | xmas_boom
Most akkor mi lehet a baj?
Arra nem fog sysserezni, nem mindenre sysserezik. A számok 60-75 között nem tudom mennyire előnyösök, sosem próbáltam ekkora számokat. A kezdő effekt nálam 1-től megy 32-ig.
[spoiler]
EFFECT_BODYARMOR_REFINED7,
EFFECT_BODYARMOR_REFINED8,
EFFECT_BODYARMOR_REFINED9,
EFFECT_BODYARMOR_SPECIAL, // °©żĘ 4-2-1
EFFECT_BODYARMOR_SPECIAL2, // °©żĘ 4-2-2
BLUE = 19,
GREEN = 20,
RED = 21,
YELLOW = 22,
WHITE = 23,
BLUE_GREEN = 24,
PURPLE = 25,
NEW_BLUE = 26,
NEW_YELLOW = 27,
NEW_WHITE = 28,
TOP1 = 29,
MOBKING = 30,
//////////////////////////////////
#ifdef ENABLE_SASH_SYSTEM
EFFECT_SASH = 32,
#endif
//////////////////////////////////
[/spoiler]
Én azt mondom, hogy kisebb számokkal próbáld meg, és folytatólagos legyen az effektek sorrendje. Mert ha kihagysz 21 és 59 között egy csomó helyet, akkor ilyen effektek jelentek meg még a kőkorszaki szerverekben, mikor forrásunk nem volt. ;D
Addig volt jó így és nem volt ilyen effekt, ameddig nem raktam be a kosztümhöz ???
Üzenet összefésülés: 2018-01-30, 20:49:22
Ugyan az. Bármilyen ID van. De az kosztüm effektes résszel lesz szerintem baj.
Lényegtelen mekkorára állítja be őket, amíg kellően növeli a REFINED_MAX_NUM-ot.
Rakd fel az egész __GetRefinedEffect fv-ed, könnyebb úgy segíteni mint tippelgetni.
Üzenet összefésülés: 2018-01-30, 21:15:34
Idézetet írta: Pisti95 Dátum 2018-01-30, 20:01:32
Én azt mondom, hogy kisebb számokkal próbáld meg, és folytatólagos legyen az effektek sorrendje. Mert ha kihagysz 21 és 59 között egy csomó helyet, akkor ilyen effektek jelentek meg még a kőkorszaki szerverekben, mikor forrásunk nem volt. ;D
Ez jogos, hisz akkoriban nemigen tudták megnöveli ezt a változót.
UINT CInstanceBase::__GetRefinedEffect(CItemData* pItem)
{
DWORD refine = max(pItem->GetRefine() + pItem->GetSocketCount(),CItemData::ITEM_SOCKET_MAX_NUM) - CItemData::ITEM_SOCKET_MAX_NUM;
switch (pItem->GetType())
{
case CItemData::ITEM_TYPE_WEAPON:
__ClearWeaponRefineEffect();
if (refine < 7) //ÇöŔç Á¦·Ăµµ 7 ŔĚ»ó¸¸ ŔĚĆĺĆ®°ˇ ŔÖ˝Ŕ´Ď´Ů.
return 0;
switch(pItem->GetSubType())
{
case CItemData::WEAPON_DAGGER:
m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_SMALLSWORD_REFINED7+refine-7;
m_swordRefineEffectLeft = EFFECT_REFINED+EFFECT_SMALLSWORD_REFINED7_LEFT+refine-7;
break;
case CItemData::WEAPON_FAN:
m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_FANBELL_REFINED7+refine-7;
break;
case CItemData::WEAPON_ARROW:
case CItemData::WEAPON_BELL:
m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_SMALLSWORD_REFINED7+refine-7;
break;
case CItemData::WEAPON_BOW:
m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_BOW_REFINED7+refine-7;
break;
default:
m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_SWORD_REFINED7+refine-7;
}
if (m_swordRefineEffectRight)
m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
if (m_swordRefineEffectLeft)
m_swordRefineEffectLeft = __AttachEffect(m_swordRefineEffectLeft);
break;
case CItemData::ITEM_TYPE_COSTUME:
__ClearArmorRefineEffect();
// °©żĘ ĆŻČ ŔĚĆĺĆ®
if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
DWORD vnum = pItem->GetIndex();
if (21009 <= vnum && vnum <= 21019)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_1);
}
if (21029 <= vnum && vnum <= 21039)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_2);
}
if (24000 <= vnum && vnum <= 24001)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_3);
}
if (24002 <= vnum && vnum <= 24003)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_4);
}
if (24004 <= vnum && vnum <= 24005)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_5);
}
if (24006 <= vnum && vnum <= 24007)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_6);
}
if (24008 <= vnum && vnum <= 24009)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_4);
}
if (24010 <= vnum && vnum <= 24011)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_7);
}
if (24012 <= vnum && vnum <= 24013)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8);
}
if (24014 <= vnum && vnum <= 24015)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_9);
}
if (24020 <= vnum && vnum <= 24021)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8);
}
if (24022 <= vnum && vnum <= 24023)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8);
}
if (24024 <= vnum && vnum <= 24025)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_6);
}
if (24026 <= vnum && vnum <= 24027)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_9);
}
if (24028 <= vnum && vnum <= 24029)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_5);
}
if (24030 <= vnum && vnum <= 24031)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_3);
}
if (41456 <= vnum && vnum <= 41457)
{
__AttachEffect(EFFECT_REFINED + EFFECT_COSTUME_YOUTUBER);
}
}
if (refine < 7) //ÇöŔç Á¦·Ăµµ 7 ŔĚ»ó¸¸ ŔĚĆĺĆ®°ˇ ŔÖ˝Ŕ´Ď´Ů.
return 0;
if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_1 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_2 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_3 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_4 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_5 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_6 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_7 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_9 + refine - 7;
m_armorRefineEffect = EFFECT_REFINED + EFFECT_COSTUME_YOUTUBER + refine - 7;
__AttachEffect(m_armorRefineEffect);
}
break;
case CItemData::ITEM_TYPE_ARMOR:
__ClearArmorRefineEffect();
// °©żĘ ĆŻČ ŔĚĆĺĆ®l
if (pItem->GetSubType() == CItemData::ARMOR_BODY)
{
DWORD vnum = pItem->GetIndex();
if (12010 <= vnum && vnum <= 12049)
{
__AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL);
__AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL2);
}
}
if (refine < 7) //ÇöŔç Á¦·Ăµµ 7 ŔĚ»ó¸¸ ŔĚĆĺĆ®°ˇ ŔÖ˝Ŕ´Ď´Ů.
return 0;
if (pItem->GetSubType() == CItemData::ARMOR_BODY)
{
m_armorRefineEffect = EFFECT_REFINED+EFFECT_BODYARMOR_REFINED7+refine-7;
__AttachEffect(m_armorRefineEffect);
}
break;
}
return 0;
}
UINT CInstanceBase::__GetRefinedEffect(CItemData* pItem)
{
DWORD refine = max(pItem->GetRefine() + pItem->GetSocketCount(),CItemData::ITEM_SOCKET_MAX_NUM) - CItemData::ITEM_SOCKET_MAX_NUM;
switch (pItem->GetType())
{
case CItemData::ITEM_TYPE_WEAPON:
__ClearWeaponRefineEffect();
if (refine < 7) //ÇöŔç Á¦·Ăµµ 7 ŔĚ»ó¸¸ ŔĚĆĺĆ®°ˇ ŔÖ˝Ŕ´Ď´Ů.
return 0;
switch(pItem->GetSubType())
{
case CItemData::WEAPON_DAGGER:
m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_SMALLSWORD_REFINED7+refine-7;
m_swordRefineEffectLeft = EFFECT_REFINED+EFFECT_SMALLSWORD_REFINED7_LEFT+refine-7;
break;
case CItemData::WEAPON_FAN:
m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_FANBELL_REFINED7+refine-7;
break;
case CItemData::WEAPON_ARROW:
case CItemData::WEAPON_BELL:
m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_SMALLSWORD_REFINED7+refine-7;
break;
case CItemData::WEAPON_BOW:
m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_BOW_REFINED7+refine-7;
break;
default:
m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_SWORD_REFINED7+refine-7;
}
if (m_swordRefineEffectRight)
m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
if (m_swordRefineEffectLeft)
m_swordRefineEffectLeft = __AttachEffect(m_swordRefineEffectLeft);
break;
case CItemData::ITEM_TYPE_COSTUME:
__ClearArmorRefineEffect();
// °©żĘ ĆŻČ ŔĚĆĺĆ®
if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
DWORD vnum = pItem->GetIndex();
if (21009 <= vnum && vnum <= 21019)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_1);
}
if (21029 <= vnum && vnum <= 21039)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_2);
}
if (24000 <= vnum && vnum <= 24001)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_3);
}
if (24002 <= vnum && vnum <= 24003)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_4);
}
if (24004 <= vnum && vnum <= 24005)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_5);
}
if (24006 <= vnum && vnum <= 24007)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_6);
}
if (24008 <= vnum && vnum <= 24009)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_4);
}
if (24010 <= vnum && vnum <= 24011)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_7);
}
if (24012 <= vnum && vnum <= 24013)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8);
}
if (24014 <= vnum && vnum <= 24015)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_9);
}
if (24020 <= vnum && vnum <= 24021)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8);
}
if (24022 <= vnum && vnum <= 24023)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8);
}
if (24024 <= vnum && vnum <= 24025)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_6);
}
if (24026 <= vnum && vnum <= 24027)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_9);
}
if (24028 <= vnum && vnum <= 24029)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_5);
}
if (24030 <= vnum && vnum <= 24031)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_3);
}
if (41456 <= vnum && vnum <= 41457)
{
__AttachEffect(EFFECT_REFINED + EFFECT_COSTUME_YOUTUBER);
}
}
break;
case CItemData::ITEM_TYPE_ARMOR:
__ClearArmorRefineEffect();
// °©żĘ ĆŻČ ŔĚĆĺĆ®l
if (pItem->GetSubType() == CItemData::ARMOR_BODY)
{
DWORD vnum = pItem->GetIndex();
if (12010 <= vnum && vnum <= 12049)
{
__AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL);
__AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL2);
}
}
if (refine < 7) //ÇöŔç Á¦·Ăµµ 7 ŔĚ»ó¸¸ ŔĚĆĺĆ®°ˇ ŔÖ˝Ŕ´Ď´Ů.
return 0;
if (pItem->GetSubType() == CItemData::ARMOR_BODY)
{
m_armorRefineEffect = EFFECT_REFINED+EFFECT_BODYARMOR_REFINED7+refine-7;
__AttachEffect(m_armorRefineEffect);
}
break;
}
return 0;
}
Nem a legszebb de elv működőképesnek kell lennie.
Ugyan az. Nem lehet, hogy az a baja, hogy a vért meg a kosztüm is ugyan azt az effekt IDt használja? Mert akkor is megjelenik egy a "füst felhő" ??? amikor sima kard (19) és sima vértel ütök.
Üzenet összefésülés: 2018-01-31, 18:35:37
Ha az indító forrásába teljesen mást adok meg, akkor tökéletes, csak a kosztümön nem látszik az effekt.
Üzenet összefésülés: 2018-01-31, 18:53:45
Ha valaki tud segíteni, akár fizetek is
Üzenet összefésülés: 2018-01-31, 21:14:15
Megoldva. Sokat próbálkoztam, vagy 20-szor fordítottam ma indító forrást. Ha valakinek hasonló problémája van.
Most így néz ki:
InstanceBase.h:
EFFECT_BODYARMOR_SPECIAL, // °©żĘ 4-2-1
EFFECT_BODYARMOR_SPECIAL2, // °©żĘ 4-2-2
EFFECT_BODYARMOR_LEG2_7,
EFFECT_BODYARMOR_LEG2_1,
EFFECT_BODYARMOR_LEG2_2,
EFFECT_BODYARMOR_LEG2_3,
EFFECT_BODYARMOR_LEG2_4,
EFFECT_BODYARMOR_LEG2_5,
EFFECT_BODYARMOR_LEG2_6,
EFFECT_BODYARMOR_LEG2_8,
EFFECT_BODYARMOR_LEG2_9,
EFFECT_COSTUME_YOUTUBER,
InstanceBase.cpp (köszi 5310pati):
case CItemData::ITEM_TYPE_COSTUME:
__ClearArmorRefineEffect();
// °©żĘ ĆŻČ ŔĚĆĺĆ®
if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
DWORD vnum = pItem->GetIndex();
if (21009 <= vnum && vnum <= 21019)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_1);
}
if (21029 <= vnum && vnum <= 21039)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_2);
}
if (24000 <= vnum && vnum <= 24001)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_3);
}
if (24002 <= vnum && vnum <= 24003)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_4);
}
if (24004 <= vnum && vnum <= 24005)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_5);
}
if (24006 <= vnum && vnum <= 24007)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_6);
}
if (24008 <= vnum && vnum <= 24009)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_4);
}
if (24010 <= vnum && vnum <= 24011)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_7);
}
if (24012 <= vnum && vnum <= 24013)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8);
}
if (24014 <= vnum && vnum <= 24015)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_9);
}
if (24020 <= vnum && vnum <= 24021)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8);
}
if (24022 <= vnum && vnum <= 24023)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_8);
}
if (24024 <= vnum && vnum <= 24025)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_6);
}
if (24026 <= vnum && vnum <= 24027)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_9);
}
if (24028 <= vnum && vnum <= 24029)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_5);
}
if (24030 <= vnum && vnum <= 24031)
{
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_LEG2_3);
}
if (41456 <= vnum && vnum <= 41457)
{
__AttachEffect(EFFECT_REFINED + EFFECT_COSTUME_YOUTUBER);
}
}
break;
Playersettingmodule.py:
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+22, "Bip01", "D:/ymir work/pc/common/effect/armor/bulis.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+23, "Bip01", "D:/ymir work/pc/common/effect/armor/mercury.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+24, "Bip01", "D:/ymir work/effect/character/black.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+25, "Bip01", "D:/ymir work/effect/character/brown.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+26, "Bip01", "D:/ymir work/effect/character/blue.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+27, "Bip01", "D:/ymir work/effect/character/green.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+28, "Bip01", "D:/ymir work/effect/character/red.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+29, "Bip01", "D:/ymir work/effect/character/yellow.mse")
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+30, "Bip01", "D:/ymir work/effect/character/youtuber.mse")
A megoldás az volt, hogy valamiért nem szerette, hogy megadtam az ID-t az InstanceBase.h-ban ??? . Miután ugye folytatólagosan tettem, tehát ugye a SPECIAL2 a psm-ben 20, így 21-el kezdtem és most már nincs az a "felhő" effekt. Köszönöm Pisti95 és 5310pati ment a +