Jump to content

[C++]Críticos em tempo real


F-Caneiras
 Share

Recommended Posts

Boas maltinha

Trago aqui algo que pode ser util

Sistema de críticos ou dds  em tempo real 

Imagem

image.png

A pasta contem todos os tutoriais de como implementar nas surce e fix

 

Fonte Vegas

  • Like 1
Link to comment
Share on other sites

Editei a fonte para o autor @Caneiras

Tenho esse sistema implementado, apenas deixo aqui uma modificação para simplificar:

No tutorial, onde diz:

#ifdef ENABLE_NEW_AFFECT_POTION
bool CHARACTER::SetAffectPotion(LPITEM item)
{
	int blend_get_affect[] = {AFFECT_POTION_1, AFFECT_POTION_2, AFFECT_POTION_3, AFFECT_POTION_4, AFFECT_POTION_5, AFFECT_POTION_6};
	
	int blend_null[] = {APPLY_NONE, AFF_NONE, 0, false};
	
	int blend_list[] = {50821, 50822, 50823, 50824, 50825, 50826};
	
	const char* blend_succes = {"<Affect Potion> Set icon ingame for item: |cFFc9ff00|H|h[%s]"};
	
	int	blend_time	= item->GetSocket(2);
	
	switch (item->GetVnum())
	{
		case 50821:
			AddAffect(blend_get_affect[0], blend_null[0], blend_null[2], blend_null[1], blend_time, blend_null[2], blend_null[3], blend_null[3]);	
			break;
		case 50822:
			AddAffect(blend_get_affect[1], blend_null[0], blend_null[2], blend_null[1], blend_time, blend_null[2], blend_null[3], blend_null[3]);
			break;
		case 50823:
			AddAffect(blend_get_affect[2], blend_null[0], blend_null[2], blend_null[1], blend_time, blend_null[2], blend_null[3], blend_null[3]);	
			break;
		case 50824:
			AddAffect(blend_get_affect[3], blend_null[0], blend_null[2], blend_null[1], blend_time, blend_null[2], blend_null[3], blend_null[3]);	
			break;	
		case 50825:
			AddAffect(blend_get_affect[4], blend_null[0], blend_null[2], blend_null[1], blend_time, blend_null[2], blend_null[3], blend_null[3]);	
			break;	
		case 50826:
			AddAffect(blend_get_affect[5], blend_null[0], blend_null[2], blend_null[1], blend_time, blend_null[2], blend_null[3], blend_null[3]);	
			break;	
	}	
		ChatPacket(CHAT_TYPE_INFO, blend_succes, item->GetName());	
}
#endif

Colocar antes o seguinte:

#ifdef ENABLE_NEW_AFFECT_POTION
void CHARACTER::SetAffectPotion(LPITEM item){
	switch (item->GetVnum()){
		case 50821:
			AddAffect(AFFECT_POTION_1, APPLY_NONE, 0, AFF_NONE, item->GetSocket(2), 0, false, false);
			break;
		case 50822:
			AddAffect(AFFECT_POTION_2, APPLY_NONE, 0, AFF_NONE, item->GetSocket(2), 0, false, false);
			break;
		case 50823:
			AddAffect(AFFECT_POTION_3, APPLY_NONE, 0, AFF_NONE, item->GetSocket(2), 0, false, false);
			break;
		case 50824:
			AddAffect(AFFECT_POTION_4, APPLY_NONE, 0, AFF_NONE, item->GetSocket(2), 0, false, false);
			break;
		case 50825:
			AddAffect(AFFECT_POTION_5, APPLY_NONE, 0, AFF_NONE, item->GetSocket(2), 0, false, false);
			break;
		case 50826:
			AddAffect(AFFECT_POTION_6, APPLY_NONE, 0, AFF_NONE, item->GetSocket(2), 0, false, false);
			break;}}
#endif

No fix, onde diz:

#ifdef ENABLE_NEW_AFFECT_POTION			
			int pkAff_blend[] = {AFFECT_POTION_1, AFFECT_POTION_2, AFFECT_POTION_3, AFFECT_POTION_4, AFFECT_POTION_5, AFFECT_POTION_6};
			
			if ((pkAff->dwType == pkAff_blend[0]) || (pkAff->dwType == pkAff_blend[1]) || (pkAff->dwType == pkAff_blend[2]) ||
				(pkAff->dwType == pkAff_blend[3]) || (pkAff->dwType == pkAff_blend[4]) || (pkAff->dwType == pkAff_blend[5]))
			{
				++it;
				continue;
			}
#endif

Substituir por:

#ifdef ENABLE_NEW_AFFECT_POTION
			switch (pkAff->dwType){
				case AFFECT_POTION_1:
				case AFFECT_POTION_2:
				case AFFECT_POTION_3:
				case AFFECT_POTION_4:
				case AFFECT_POTION_5:
				case AFFECT_POTION_6:
				{
					++it;
					continue;
				}}
#endif

Como na imagem:

notepad_2017-10-19_21-52-27.png

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...