Cum bag fum sau un efect pe costume, un tuturial explicid, please?
folosesc sf 40k + sursa
Cum bag fum pe costume
up
Intrăm în UserInterface/InstanceBase.cpp
Căutăm:
Dacă nu găsiți toată funcția cum e mai sus, căutați doar: case CItemData::ITEM_TYPE_ARMOR: sau altă linie !
Adaugam sub case-ul "case CItemData::ITEM_TYPE_ARMOR:" acest Case:
Deschidem InstanceBase.h
Căutăm:
Și adăugăm: Ca de exemplu:
Gata cu partea de Binary, trecem la Python
Intrăm în playersettingmodule.py
Căutăm:
Și adăugăm:
D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse=Locația unde este effectul. Recomand să se bage în Patch2.eix/epk !
Succes !
EDIT: Antenție, numărul de aici:
EFFECT_COSTUME1_SPECIAL =20,
EFFECT_COSTUME2_SPECIAL =31
trbuie să fie același cu cel de aici:
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+31, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse")
dacă aici puneți: EFFECT_COSTUME2_SPECIAL = 50, aici puneți tot 50: chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+50, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse")
Căutăm:
Cod: Selectaţi tot
case CItemData::ITEM_TYPE_ARMOR:
__ClearArmorRefineEffect();
// °©¿Ê Æ¯È ÀÌÆåÆ®
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;
}Dacă nu găsiți toată funcția cum e mai sus, căutați doar: case CItemData::ITEM_TYPE_ARMOR: sau altă linie !
Adaugam sub case-ul "case CItemData::ITEM_TYPE_ARMOR:" acest Case:
Cod: Selectaţi tot
case CItemData::ITEM_TYPE_COSTUME:
if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
__AttachEffect(EFFECT_REFINED+EFFECT_COSTUME1_SPECIAL);
}
break;
Deschidem InstanceBase.h
Căutăm:
Cod: Selectaţi tot
EFFECT_BODYARMOR_SPECIAL,
EFFECT_BODYARMOR_SPECIAL2,Cod: Selectaţi tot
EFFECT_COSTUME1_SPECIAL =20,
EFFECT_COSTUME2_SPECIAL2 =31,Gata cu partea de Binary, trecem la Python
Intrăm în playersettingmodule.py
Căutăm:
Cod: Selectaţi tot
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+20, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse")Cod: Selectaţi tot
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+31, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse")Succes !
EDIT: Antenție, numărul de aici:
EFFECT_COSTUME1_SPECIAL =20,
EFFECT_COSTUME2_SPECIAL =31
trbuie să fie același cu cel de aici:
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+31, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse")
dacă aici puneți: EFFECT_COSTUME2_SPECIAL = 50, aici puneți tot 50: chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+50, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse")
Ultima oară modificat 06 Mar 2017, 11:10 de către dragos001, modificat de 2 ori în total.
În UserInterface\InstanceBase.cpp -> UINT CInstanceBase::__GetRefinedEffect(CItemData* pItem) adăugați după 'case CItemData::ITEM_TYPE_ARMOR:' :
După asta definim efectul :
Deschidem InstanceBase.h:
Căutăm :
Adăugăm ca de ex :
Partea de python se face ca la armuri, la GainSoketPercent item_proto puneți numărul de la EFFECT_NAME -15
case CItemData::ITEM_TYPE_COSTUME: // Aici a fost modificat item_type (e funcția de la fumul armurilor)
if (refine < 7)
return 0;
if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
__ClearArmorRefineEffect();
m_armorRefineEffect = EFFECT_REFINED+EFFECT_BODYARMOR_REFINED7+refine-7;
__AttachEffect(EFFECT_REFINED+EFFECT_NAME); // _NAME îl înlocuiești cu _NUMEALES
}
break;
După asta definim efectul :
Deschidem InstanceBase.h:
Căutăm :
EFFECT_BODYARMOR_SPECIAL, EFFECT_BODYARMOR_SPECIAL2,
Adăugăm ca de ex :
EFFECT_NAME = 21 // EFFECT NAME îl puneți pe cel ce l-ați pus și aici __AttachEffect(EFFECT_REFINED+EFFECT_NAME); EFFECT_NAME = 22 // 21,22 sunt valori ce nu trebuie să se repete puteți pune orice alt nr.
Partea de python se face ca la armuri, la GainSoketPercent item_proto puneți numărul de la EFFECT_NAME -15
Ex: 21-15 = 6
Subiect inactiv arhivat !
Răspunsuri
1 Vizualizări
730
1 Vizualizări
730
Răspunsuri
56 Vizualizări
6536
56 Vizualizări
6536
Răspunsuri
0 Vizualizări
1602
0 Vizualizări
1602
Răspunsuri
0 Vizualizări
1442
0 Vizualizări
1442
-
- Informaţie
-
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Baidu [Spider], Google [Bot] și 98 vizitatori


