Jump to content

Party Flag


Recommended Posts

  • 2 weeks later...
On 04.11.2015, 07:36:43, tierrilopes said:

Party flag working perfectly, thank you again.

To the people that want to use it to make the buff for the whole group, but also have they like they normally do (buff people of same kingdom without being at their party):

 

 

SKIP this part of the tutorial

 

Hidden Content

 

At this part, do what is bellow instead

 

Hidden Content

 

Do this instead:

 

Hidden Content

tried you'r way, but now the skill is buffing like the normal one ... but using party_flag

Link to comment
Share on other sites

  • Premium
4 hours ago, Tasho said:

tried you'r way, but now the skill is buffing like the normal one ... but using party_flag

With buffs like normal way if your not ina  party.

When you're in a party it will buff yourself and the party members.

If that doesnt work i suggest doing Dash whole tutorial, and then see my post and remove only those parts. (with Party set on db.skill_proto)

  • Love 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...
  • 2 weeks later...
  • 10 months later...
  • 4 months later...
  • 6 months later...
  • 1 month later...
  • 9 months later...

Hi Guys!


I know this post is very old but I usually see this system in some server and I always find a mistake about it.
Let me explain.
If you implement this system with the fix that tierrilopes show to us still you won't be able to buff someone if you are in a party and he is not. So you should exit your current party, and give buff to him.
If you want to fix this bug too, you should go to char_skill.cpp and search for this line:

GetParty()->ForEachOnMapMember(f, GetMapIndex());

After this line past this condition:
 

//Fix where you should exit your party to buff someone who is not in your party//
		if (!pkVictim->GetParty())
			ComputeSkill(dwVnum, pkVictim);

Finally it should like this:

 

else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && GetParty())
	{
		FPartyPIDCollector f;
		GetParty()->ForEachOnMapMember(f, GetMapIndex());
		//Fix where you should exit your party to buff someone who is not in your party//
		if (!pkVictim->GetParty())
			ComputeSkill(dwVnum, pkVictim);
		for (std::vector <DWORD>::iterator it = f.vecPIDs.begin(); it != f.vecPIDs.end(); it++)
		{
			LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(*it);
			ComputeSkill(dwVnum, ch);
		}
	}

Compile, and you are done!

Result:
For now, you can buff any player and doesn't matter you are in a party or not, but if you are in a party you will buff your teammates with the guy who is not in your team.


It"s not a large modification, but I think it's useful.


Sorry for my bad english!
Best regards!

  • Love 4
Link to comment
Share on other sites

  • 2 months later...
On 9/24/2018 at 4:37 PM, [email protected] said:

Hi Guys!


I know this post is very old but I usually see this system in some server and I always find a mistake about it.
Let me explain.
If you implement this system with the fix that tierrilopes show to us still you won't be able to buff someone if you are in a party and he is not. So you should exit your current party, and give buff to him.
If you want to fix this bug too, you should go to char_skill.cpp and search for this line:


GetParty()->ForEachOnMapMember(f, GetMapIndex());

After this line past this condition:
 


//Fix where you should exit your party to buff someone who is not in your party//
		if (!pkVictim->GetParty())
			ComputeSkill(dwVnum, pkVictim);

Finally it should like this:

 


else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && GetParty())
	{
		FPartyPIDCollector f;
		GetParty()->ForEachOnMapMember(f, GetMapIndex());
		//Fix where you should exit your party to buff someone who is not in your party//
		if (!pkVictim->GetParty())
			ComputeSkill(dwVnum, pkVictim);
		for (std::vector <DWORD>::iterator it = f.vecPIDs.begin(); it != f.vecPIDs.end(); it++)
		{
			LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(*it);
			ComputeSkill(dwVnum, ch);
		}
	}

Compile, and you are done!

Result:
For now, you can buff any player and doesn't matter you are in a party or not, but if you are in a party you will buff your teammates with the guy who is not in your team.


It"s not a large modification, but I think it's useful.


Sorry for my bad english!
Best regards!

it works perfectly, ty 

  • Metin2 Dev 1
Link to comment
Share on other sites

  • 4 weeks later...
  • 1 year later...
  • 6 months later...
  • 1 month later...
  • Premium

Having a problem, that since I added the system with all fixxes here in the thread, heal shamans can't use "cure" anymore. Not on them self and on nobody else. Also if I set the Party flag to Cure the core is going to crash.

Someone have an idea? Won't add a second Party flag since I'd like to make Cure able for the whole group too.

Edited by ‚Point‘
Link to comment
Share on other sites

  • Premium
On 3/1/2021 at 7:55 PM, ‚Point‘ said:

Having a problem, that since I added the system with all fixxes here in the thread, heal shamans can't use "cure" anymore. Not on them self and on nobody else. Also if I set the Party flag to Cure the core is going to crash.

Someone have an idea? Won't add a second Party flag since I'd like to make Cure able for the whole group too.

 

Looking for help

Link to comment
Share on other sites

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.