Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Kolory oznaczeń npc, mobów itp.


Gość Lajk™

Rekomendowane odpowiedzi

Gość Lajk™
Opublikowano

Siemanko! ;)

Znalazłem całkiem ciekawy efekt który udostępniam wam. :v

 

 

AwiwTVJ.png

 

Zacznijmy od source binki.
Pracujemy w folderze UserInterface
1. Otwieramy InstanceBase.cpp.


Szukamy CInstanceBase::OnSelected i podmieniamy wszystko na:
 

­

void CInstanceBase::OnSelected()
{
#ifdef __MOVIE_MODE__
	if (!__IsExistMainInstance())
		return;
#endif

	if (IsStoneDoor())
		return;

	if (IsDead())
		return;

	if (IsEnemy())
	{
		__AttachSelectEffectMonster();
	}

	if (IsPC() || IsNPC())
	{
		if (m_dwEmpireID == 1) // Shinshoo
		{
			__AttachSelectEffectShinsoo();
		}
		else if (m_dwEmpireID == 2) // chunjo
		{
			__AttachSelectEffectChunjo(); 
		}
		else if (m_dwEmpireID == 3)//Jinnos
		{
			__AttachSelectEffectJinnos();
		}
	}
}

Szukamy CInstanceBase::OnUnselected() i podmieniamy wszystko na:

void CInstanceBase::OnUnselected()
{
	//__DetachSelectEffect();


	if (IsPC() || IsNPC())
	{
		if (m_dwEmpireID == 1) //Shinsoo
		{
			__DetachSelectEffectShinsoo();
		}
		else if (m_dwEmpireID == 2)//Chunjo
		{
			__DetachSelectEffectChunjo();
		}
		else if (m_dwEmpireID == 3)//Jinnnos
		{
			__DetachSelectEffectJinnos();
		}
	}
	if (IsEnemy())
	{
		__DetachSelectEffectMonster();
	}
}

Szukamy CInstanceBase::OnTargeted() i podmieniamy wszystko na:

void CInstanceBase::OnTargeted()
{
#ifdef __MOVIE_MODE__
	if (!__IsExistMainInstance())
		return;
#endif

	if (IsStoneDoor())
		return;

	if (IsDead())
		return;

	if (IsEnemy())
	{
		__AttachTargetEffectMonster();
	}

	if (IsPC() || IsNPC())
	{
		if (m_dwEmpireID == 1) //Shinsoo
		{
			__AttachTargetEffectShinsoo();
		}
		else if (m_dwEmpireID == 2)//Chunjo
		{
			__AttachTargetEffectChunjo();
		}
		else if (m_dwEmpireID == 3)//Jinnnos
		{
			__AttachTargetEffectJinnos();
		}
	}


}

Szukamy CInstanceBase::OnUntargeted() i podmieniamy wszystko na:

void CInstanceBase::OnUntargeted()
{

	if (IsPC() || IsNPC())
	{
		if (m_dwEmpireID == 1) //Shinsoo
		{
			__DetachTargetEffectShinsoo();
		}
		else if (m_dwEmpireID == 2)//Chunjo
		{
			__DetachTargetEffectChunjo();
		}
		else if (m_dwEmpireID == 3)//Jinnnos
		{
			__DetachTargetEffectJinnos();
		}
	}
	if (IsEnemy())
	{
		__DetachTargetEffectMonster();
	}
}

 


2. Otwieramy InstanceBase.h


Szukamy EFFECT_EMOTICON_END = EFFECT_EMOTICON + EMOTICON_NUM i dodajemy pod:

			EFFECT_MONSTER,
			EFFECT_SHINSOO,
			EFFECT_CHUNJO,
			EFFECT_JINNOS,
			EFFECT_TARGET_SHINSOO,
			EFFECT_TARGET_JINNOS,
			EFFECT_TARGET_CHUNJO,
			EFFECT_TARGET_MONSTER,

Szukamy void __DetachTargetEffect(); i dodajemy pod:

		void __AttachTargetEffectMonster();
		void __DetachTargetEffectMonster();
		void __AttachSelectEffectMonster();
		void __DetachSelectEffectMonster();

		void __AttachTargetEffectShinsoo();
		void __DetachTargetEffectShinsoo();
		void __AttachSelectEffectShinsoo();
		void __DetachSelectEffectShinsoo();

		void __AttachTargetEffectJinnos();
		void __DetachTargetEffectJinnos();
		void __AttachSelectEffectJinnos();
		void __DetachSelectEffectJinnos();

		void __AttachTargetEffectChunjo();
		void __DetachTargetEffectChunjo();
		void __AttachSelectEffectChunjo();
		void __DetachSelectEffectChunjo();

 


3. Otwieramy InstanceBaseEffect.cpp


Szukamy CInstanceBase::__StoneSmoke_Inialize i dodajemy pod:

///////////////////////////////////////////////////////////////////////

void CInstanceBase::__AttachSelectEffectMonster()
{
	__EffectContainer_AttachEffect(EFFECT_MONSTER);
}
void CInstanceBase::__DetachSelectEffectMonster()
{
	__EffectContainer_DetachEffect(EFFECT_MONSTER);
}
void CInstanceBase::__AttachTargetEffectMonster()
{
	__EffectContainer_AttachEffect(EFFECT_TARGET_MONSTER);
}
void CInstanceBase::__DetachTargetEffectMonster()
{
	__EffectContainer_DetachEffect(EFFECT_TARGET_MONSTER);
}

/////////////////////////////////////////////////////////////

void CInstanceBase::__AttachSelectEffectShinsoo()
{
	__EffectContainer_AttachEffect(EFFECT_SHINSOO);
}
void CInstanceBase::__DetachSelectEffectShinsoo()
{
	__EffectContainer_DetachEffect(EFFECT_SHINSOO);
}
void CInstanceBase::__AttachTargetEffectShinsoo()
{
	__EffectContainer_AttachEffect(EFFECT_TARGET_SHINSOO);
}
void CInstanceBase::__DetachTargetEffectShinsoo()
{
	__EffectContainer_DetachEffect(EFFECT_TARGET_SHINSOO);
}

/////////////////////////////////////////////////////////////

void CInstanceBase::__AttachSelectEffectChunjo()
{
	__EffectContainer_AttachEffect(EFFECT_CHUNJO);
}
void CInstanceBase::__DetachSelectEffectChunjo()
{
	__EffectContainer_DetachEffect(EFFECT_CHUNJO);
}
void CInstanceBase::__AttachTargetEffectChunjo()
{
	__EffectContainer_AttachEffect(EFFECT_TARGET_CHUNJO);
}
void CInstanceBase::__DetachTargetEffectChunjo()
{
	__EffectContainer_DetachEffect(EFFECT_TARGET_CHUNJO);
}

/////////////////////////////////////////////////////////////

void CInstanceBase::__AttachSelectEffectJinnos()
{
	__EffectContainer_AttachEffect(EFFECT_JINNOS);
}
void CInstanceBase::__DetachSelectEffectJinnos()
{
	__EffectContainer_DetachEffect(EFFECT_JINNOS);
}
void CInstanceBase::__AttachTargetEffectJinnos()
{
	__EffectContainer_AttachEffect(EFFECT_TARGET_JINNOS);
}
void CInstanceBase::__DetachTargetEffectJinnos()
{
	__EffectContainer_DetachEffect(EFFECT_TARGET_JINNOS);
}

/////////////////////////////////////////////////////////////

 


4. Otwieramy PythonCharacterManagerModule.cpp


Szukamy EFFECT_CRITICAL i dodajemy pod:

	PyModule_AddIntConstant(poModule, "EFFECT_MONSTER",			CInstanceBase::EFFECT_MONSTER);
	PyModule_AddIntConstant(poModule, "EFFECT_TARGET_MONSTER",	CInstanceBase::EFFECT_TARGET_MONSTER);
	PyModule_AddIntConstant(poModule, "EFFECT_SHINSOO",			CInstanceBase::EFFECT_SHINSOO);
	PyModule_AddIntConstant(poModule, "EFFECT_TARGET_SHINSOO",	CInstanceBase::EFFECT_TARGET_SHINSOO);
	PyModule_AddIntConstant(poModule, "EFFECT_CHUNJO",			CInstanceBase::EFFECT_CHUNJO);
	PyModule_AddIntConstant(poModule, "EFFECT_TARGET_CHUNJO",	CInstanceBase::EFFECT_TARGET_CHUNJO);
	PyModule_AddIntConstant(poModule, "EFFECT_JINNOS",			CInstanceBase::EFFECT_JINNOS);
	PyModule_AddIntConstant(poModule, "EFFECT_TARGET_JINNOS",	CInstanceBase::EFFECT_TARGET_JINNOS);

 

 

Pora na Clienta.
Otwieramy playersettingmodule.py

 

Szukamy chrmgr.EFFECT_STUN
i dodajemy pod:

	chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SHINSOO, "", "d:/ymir work/effect/shinsoo_select.mse")
	chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_SHINSOO, "", "d:/ymir work/effect/shinsoo_glow_select.mse")
	chrmgr.RegisterCacheEffect(chrmgr.EFFECT_CHUNJO, "", "d:/ymir work/effect/chunjo_select.mse")
	chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_CHUNJO, "", "d:/ymir work/effect/chunjo_glow_select.mse")
	chrmgr.RegisterCacheEffect(chrmgr.EFFECT_JINNOS, "", "d:/ymir work/effect/jinnos_select.mse")
	chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_JINNOS, "", "d:/ymir work/effect/jinnos_glow_select.mse")
	chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MONSTER, "", "d:/ymir work/effect/mob_select.mse")
	chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_MONSTER, "", "d:/ymir work/effect/mob_glow_select.mse")

 

 

I tutaj jeszcze pliczek który wrzucamy gdzieś do pack (np. Etc)

http://www22.zippyshare.com/v/ziIMcDdI/file.html

https://mega.nz/#!yJlhGDhJ!vWg2ll7ThsACxwejSL9vhCopprBN_nk4IvT7ClCDyZQ

Skan:

http://screenshot.sh/m7PNxJJQmIQRp
Gość Lajk™
Opublikowano

Jejciu, myślę sobie, że wreszcie coś swojego, a tu patrzę na SS i cała nadzieja poszła się j****. xDDDD

Dobra, następnym razem będę udawał C++ majstra i zrobie swojego SS'a :D

A tak serio to dopiero zaczynam przygodę z c++.. zanim coś swojego wrzuce to troszkę czasu minie ;)

­

Opublikowano

Fajnie że myślisz o forum i coś wstawiasz :D  i mam nadzieję że będziesz to dalej robić. 

ten patent jest dość stary ale no.. :D

Lajk :D

46302966905014201006.png

Gość Lajk™
Opublikowano

I zostawiasz 2 takie same funkcje ? :p

Gość Lajk™
Opublikowano

No u mnie było.. przecież to jest standardowa funkcja odznaczenia "czegoś" :v­

Opublikowano
void __AttachTargetEffectMonster();
		void __DetachTargetEffectMonster();
		void __AttachSelectEffectMonster();
		void __DetachSelectEffectMonster();

		void __AttachTargetEffectShinsoo();
		void __DetachTargetEffectShinsoo();
		void __AttachSelectEffectShinsoo();
		void __DetachSelectEffectShinsoo();

		void __AttachTargetEffectJinnos();
		void __DetachTargetEffectJinnos();
		void __AttachSelectEffectJinnos();
		void __DetachSelectEffectJinnos();

		void __AttachTargetEffectChunjo();
		void __DetachTargetEffectChunjo();
		void __AttachSelectEffectChunjo();
		void __DetachSelectEffectChunjo();

A po gówno tak jak można krócej ?

Opublikowano
void __AttachTargetEffectMonster();
		void __DetachTargetEffectMonster();
		void __AttachSelectEffectMonster();
		void __DetachSelectEffectMonster();

		void __AttachTargetEffectShinsoo();
		void __DetachTargetEffectShinsoo();
		void __AttachSelectEffectShinsoo();
		void __DetachSelectEffectShinsoo();

		void __AttachTargetEffectJinnos();
		void __DetachTargetEffectJinnos();
		void __AttachSelectEffectJinnos();
		void __DetachSelectEffectJinnos();

		void __AttachTargetEffectChunjo();
		void __DetachTargetEffectChunjo();
		void __AttachSelectEffectChunjo();
		void __DetachSelectEffectChunjo();

A po gówno tak jak można krócej ?

 

Jeśli można to napisz, pokaż. Może się czegoś nauczę :D

­

Opublikowano

bardzo ciekawa modyfikacja można można to fajnie wykorzystać nie tylko tak jak jest opisane + za pomysł

Opublikowano

bardzo ciekawa modyfikacja można można to fajnie wykorzystać nie tylko tak jak jest opisane + za pomysł

można można. Jest tam kilka małych błędów z zaznaczaniem ale to już każdy powinien sobie poradzić ;)

­

Opublikowano

można można. Jest tam kilka małych błędów z zaznaczaniem ale to już każdy powinien sobie poradzić ;)

­

 

 

Tzn? Bo szczerze mówiąc dodałem to i nie zauważyłem żadnych błędów.

  • 1 miesiąc temu...
Opublikowano

­w InstantBase.cpp pod IsEnemy trzeba też dopisać funkcje do IsStone, inaczej przy metinach nie będziemy mieli tej obramówki :P

  • 1 miesiąc temu...
Opublikowano

Niestety po dodaniu są errory, głównie dotyczące Targeted. Niestety nie wyszukuje mi nawet takiej linijki w kodzie;p

 

Chodzi o to:

void CInstanceBase::OnTargeted()
{
#ifdef __MOVIE_MODE__
	if (!__IsExistMainInstance())
		return;
#endif

	if (IsStoneDoor())
		return;

	if (IsDead())
		return;

	if (IsEnemy())
	{
		__AttachTargetEffectMonster();
	}

	if (IsPC() || IsNPC())
	{
		if (m_dwEmpireID == 1) //Shinsoo
		{
			__AttachTargetEffectShinsoo();
		}
		else if (m_dwEmpireID == 2)//Chunjo
		{
			__AttachTargetEffectChunjo();
		}
		else if (m_dwEmpireID == 3)//Jinnnos
		{
			__AttachTargetEffectJinnos();
		}
	}


}

Reszta jest, tego wgl. w kodzie nie ma jak napisane, gdzie to wkleić? ;-;

image.png

  • 1 miesiąc temu...
Opublikowano

Wywala clienta przy logowaniu po dodaniu

 

 

 

 

 

    chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SHINSOO, "", "d:/ymir work/effect/shinsoo_select.mse")
    chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_SHINSOO, "", "d:/ymir work/effect/shinsoo_glow_select.mse")
    chrmgr.RegisterCacheEffect(chrmgr.EFFECT_CHUNJO, "", "d:/ymir work/effect/chunjo_select.mse")
    chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_CHUNJO, "", "d:/ymir work/effect/chunjo_glow_select.mse")
    chrmgr.RegisterCacheEffect(chrmgr.EFFECT_JINNOS, "", "d:/ymir work/effect/jinnos_select.mse")
    chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_JINNOS, "", "d:/ymir work/effect/jinnos_glow_select.mse")
    chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MONSTER, "", "d:/ymir work/effect/mob_select.mse")
    chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_MONSTER, "", "d:/ymir work/effect/mob_glow_select.mse")

 

 

 

 

 

  • 1 miesiąc temu...
  • 8 miesięcy temu...
  • 3 miesiące temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...