Problema Arme 3D.

Înainte de a posta o problemă, caută în acest forum și poate găsești rezolvare.
Închis
Avatar utilizator
Marius7
Nivel 1

Nivel 1
Mesaje: 109
Membru din: 18 Mai 2019, 12:14
Aprecieri: 336  
Mulţumiri: 2  
Medalii

Problemă: Problema Arme 3D.
Tipologie server(PvM / PvP):PvP
Resursă folosită:arme-armuri/set-apte-arme-animate-t60930.html
ServerFiles utilizat:svf-pentru-resurse/serverfiles-pvp-mistic2-t95074.html
Syserr:
Poză:
Detalii suplimentare: Salut am implementat arme 3D se vad in inventar dar cand le pun pe mine nu se vad. Am cautat si pe net o rezolvare dar nimic nu a mers. Imi puteti spune ce pot face ca sa se vada?
Avatar utilizator
Zeox
Mister Just4Metin

Mister Just4Metin
Mesaje: 11
Membru din: 30 Dec 2017, 08:47
Aprecieri: 2  
Mulţumiri: 3  
Medalii

Problema aceea este ca nu iti citeste efectul , ori a doua varianta este ca codu-l de la arme nu e bun. Armele 3D au nevoie de un cod propiu pentru a functiona , nu functioneaza la fel ca armele normale. Sper ca iti este de folos raspunsu-l , salutarii!
Avatar utilizator
Marius7
Nivel 1

Nivel 1
Mesaje: 109
Membru din: 18 Mai 2019, 12:14
Aprecieri: 336  
Mulţumiri: 2  
Medalii

Zeox scrie: ↑07 Ian 2021, 03:46 Problema aceea este ca nu iti citeste efectul , ori a doua varianta este ca codu-l de la arme nu e bun. Armele 3D au nevoie de un cod propiu pentru a functiona , nu functioneaza la fel ca armele normale. Sper ca iti este de folos raspunsu-l , salutarii!
Daca prin cod te referi la vnum este exact cel din folder nu am modificat. Dar daca nu citeste textura ce pot face?
Avatar utilizator
Zeox
Mister Just4Metin

Mister Just4Metin
Mesaje: 11
Membru din: 30 Dec 2017, 08:47
Aprecieri: 2  
Mulţumiri: 3  
Medalii

Urmareste asta e codu-l care il folosesc eu pentru a testa armele care le fac.

Source Client :
Deschide Locale_inc.cpp
Adauga undeva asta :
#define ENABLE_ARME_EFFECT_FULGER

Dupa deschide instancebase.cpp
Cauta :
UINT CInstanceBase::__GetRefinedEffect(CItemData* pItem)
Dupa ce gasestii functia asta , sus la asta :
		if (m_swordRefineEffectRight)
			m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
		if (m_swordRefineEffectLeft)
			m_swordRefineEffectLeft = __AttachEffect(m_swordRefineEffectLeft);
		break;
Pui aceasta functie :
#ifdef ENABLE_ARME_EFFECT_FULGER
		if (pItem->GetSubType() == CItemData::WEAPON_SWORD) //// SABIE ////
		{
			DWORD vnum = pItem->GetIndex();
			if (vnum >= ID && vnum <= ID) // Schimba  "ID" pe  ID (vnum) al armei tale
			{
				__ClearWeaponRefineEffect(); // Clear the previous effect
////Aici schimbi numele la setu-l  care il pui/////
				m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SWORD_REFINED_NEW1; //  NEW EFFECT ////Aici schimbi numele la setu-l  care il pui/////
			}
		}
		if (pItem->GetSubType() == CItemData::WEAPON_SWORD)
		{
			DWORD vnum = pItem->GetIndex();
			if (vnum >= ID && vnum <= ID) // Schimba  "ID" pe  ID (vnum) al armei tale
			{
				__ClearWeaponRefineEffect(); // Clear the previous effect
////Aici schimbi numele la setu-l  care il pui/////
				m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SWORD_REFINED_NEW2; //  NEW EFFECT ////Aici schimbi numele la setu-l  care il pui/////
			}
		}
		if (pItem->GetSubType() == CItemData::WEAPON_TWO_HANDED) // DOUA MAINI //
		{
			DWORD vnum = pItem->GetIndex();
			if (vnum >= ID && vnum <= ID) // Cambiar "ID" por el ID (vnum) de tu arma
			{
				__ClearWeaponRefineEffect(); // Clear the previous effect
////Aici schimbi numele la setu-l  care il pui/////
				m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SWORD_REFINED_NEW3; //  NEW EFFECT ////Aici schimbi numele la setu-l  care il pui/////
			}
		}
		if (pItem->GetSubType() == CItemData::WEAPON_BOW) // ARC //
		{
			DWORD vnum = pItem->GetIndex();
			if (vnum >= ID && vnum <= ID) // Schimba  "ID" pe  ID (vnum) al armei tale
			{
				__ClearWeaponRefineEffect();
////Aici schimbi numele la setu-l  care il pui/////
				m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SWORD_REFINED_NEW4; //  NEW EFFECT ////Aici schimbi numele la setu-l  care il pui/////
			}
		}
		if (pItem->GetSubType() == CItemData::WEAPON_FAN) // CEPTRU //
		{
			DWORD vnum = pItem->GetIndex();
			if (vnum >= ID && vnum <= ID) // Schimba  "ID" pe  ID (vnum) al armei tale
			{
				__ClearWeaponRefineEffect(); // Clear the previous effect
////Aici schimbi numele la setu-l  care il pui/////
				m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SWORD_REFINED_NEW5; //  NEW EFFECT ////Aici schimbi numele la setu-l  care il pui/////
			}
		}
		if (pItem->GetSubType() == CItemData::WEAPON_BELL) // FAN// 
		{
			DWORD vnum = pItem->GetIndex();
			if (vnum >= ID && vnum <= ID) //  Schimba  "ID" pe  ID (vnum) al armei tale
			{
				__ClearWeaponRefineEffect(); // Clear the previous effect
////Aici schimbi numele la setu-l  care il pui/////
				m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SWORD_REFINED_NEW6; //  NEW EFFECT ////Aici schimbi numele la setu-l  care il pui/////
			}
		}
		if (pItem->GetSubType() == CItemData::WEAPON_DAGGER) // DAGA //
		{
			DWORD vnum = pItem->GetIndex();
			if (vnum >= ID && vnum <= ID) // Schimba  "ID" pe  ID (vnum) al armei tale
			{
				__ClearWeaponRefineEffect(); // Clear the previous effect
				m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SWORD_REFINED_NEW7; //  NEW EFFECT ////Aici schimbi numele la setu-l  care il pui/////
				m_swordRefineEffectLeft = EFFECT_REFINED + EFFECT_SWORD_REFINED_NEW_LEFT7; // NEW EFFECT 
////Aici schimbi numele la setu-l  care il pui/////
			}
		}
#endif

Dupa deschizii InstanceBase.h

Cauti :

EFFECT_REFINED_NUM,
si cand il gasesti deasuprea lui pui asta :
#ifdef ENABLE_ARME_EFFECT_FULGER
			EFFECT_SWORD_REFINED_NEW1,
			EFFECT_SWORD_REFINED_NEW2,
			EFFECT_SWORD_REFINED_NEW3,
			EFFECT_SWORD_REFINED_NEW4,
			EFFECT_SWORD_REFINED_NEW5,
			EFFECT_SWORD_REFINED_NEW6,
			EFFECT_SWORD_REFINED_NEW7,
			EFFECT_SWORD_REFINED_NEW_LEFT7,
#endif
Acum deschidem playersettingmodule.py :

Cautam :
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+20, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse")
Jos de asta , facem codu-l la arma , asta e un exemplu:
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+21, "PART_WEAPON", "D:/ymir work/item/weapon/fms.mse")
Pentru , toate armele inafara de Arc si Pumnal , se foloseste PART_WEAPON , in cazul Arcului se foloseste functia asta
PART_WEAPON_LEFT
Si pentru pumnal se foloseste asta :
	chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+52, "PART_WEAPON", "D:/ymir work/item/weapon/ela.mse")
	chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+53, "PART_WEAPON_LEFT", "D:/ymir work/item/weapon/ela.mse")
Ai grija cu taburile , sper sa iti fie de folos.
Avatar utilizator
Marius7
Nivel 1

Nivel 1
Mesaje: 109
Membru din: 18 Mai 2019, 12:14
Aprecieri: 336  
Mulţumiri: 2  
Medalii

Problema rezolvata. Rezolvare: 1) Am pus armele 3D ca si skin pe arma si deasta nu se vedeau. 2) Nu am facut ceva bine in sursa in InstanceBase.cpp si am refecut, acum merge. Se poate da TC.
Închis
Răspunsuri
1
Vizualizări
460
Răspunsuri
4
Vizualizări
531
Răspunsuri
11
Vizualizări
1049

Înapoi la “Probleme rezolvate”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 31 vizitatori