Welcome to MaxCheaters.com

Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads

No Heal and Buffs at Monsters and Raids


Recommended Posts

This simple code will stop players from healing or buffing monsters and raids

Go at network/clientpackets/RequestMagicSkillUse

	// Check the validity of the skill
	if (skill != null)
	{
		+if (activeChar.getTarget() instanceof L2MonsterInstance)
		+{
		+	switch (skill.getSkillType())
		+	{
		+		case HEAL:
		+		case HEAL_PERCENT:
		+		case BUFF:
		+		{
		+			if (skill.getTargetType()==L2TargetType.TARGET_ONE)
		+			{
		+				return;
		+			}
		+		}
		+	}
		+}
		if ((activeChar.isTransformed() || activeChar.isInStance()) && !activeChar.containsAllowedTransformSkill(skill.getId()))

 

Credits me, thanks for your reports guys, all fixed!

for those with the previus version I recomend change asap

Share this post


Link to post
Share on other sites
  • Replies 36
  • Created
  • Last Reply

Top Posters In This Topic

small note.

 

You don't do this:

		+		case HEAL:
		+			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		+			return;
		+		case HEAL_PERCENT:
		+			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		+			return;
		+		case CHAIN_HEAL:
		+			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		+			return;
		+		case BUFF:
		+			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		+			return;

 

You do

		+		case HEAL:
		+		case HEAL_PERCENT:
		+		case CHAIN_HEAL:
		+		case BUFF:
		+			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		+			return;

Cases collapse and run till u tell them to break;

Also it would of been best/safer, if you did it in the Heal skill handler.

Share this post


Link to post
Share on other sites

small note.

 

You don't do this:

		+		case HEAL:
		+			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		+			return;
		+		case HEAL_PERCENT:
		+			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		+			return;
		+		case CHAIN_HEAL:
		+			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		+			return;
		+		case BUFF:
		+			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		+			return;

 

You do

		+		case HEAL:
		+		case HEAL_PERCENT:
		+		case CHAIN_HEAL:
		+		case BUFF:
		+			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		+			return;

Cases collapse and run till u tell them to break;

Also it would of been best/safer, if you did it in the Heal skill handler.

thanks for the info, updated

Share this post


Link to post
Share on other sites

small note.

 

You don't do this:

		+		case HEAL:
		+			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		+			return;
		+		case HEAL_PERCENT:
		+			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		+			return;
		+		case CHAIN_HEAL:
		+			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		+			return;
		+		case BUFF:
		+			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		+			return;

 

You do

		+		case HEAL:
		+		case HEAL_PERCENT:
		+		case CHAIN_HEAL:
		+		case BUFF:
		+			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		+			return;

Cases collapse and run till u tell them to break;

Also it would of been best/safer, if you did it in the Heal skill handler.

as you had told me to add these exceptions in skillhandlers didn't work...so it's pointless to add that to skillhandlers :)

Share this post


Link to post
Share on other sites

also

from this:

if (activeChar.getTarget() instanceof L2RaidBossInstance || activeChar.getTarget() instanceof L2GrandBossInstance || activeChar.getTarget() instanceof L2MonsterInstance)

you can do this:

if (activeChar.getTarget() instanceof L2MonsterInstance)

because as far as i know, L2RaidBossInstance and L2GrandBossInstance are extending L2MonsterInstance

Share this post


Link to post
Share on other sites

also

from this:

if (activeChar.getTarget() instanceof L2RaidBossInstance || activeChar.getTarget() instanceof L2GrandBossInstance || activeChar.getTarget() instanceof L2MonsterInstance)

you can do this:

if (activeChar.getTarget() instanceof L2MonsterInstance)

because as far as i know, L2RaidBossInstance and L2GrandBossInstance are extending L2MonsterInstance

 

I thougth it too, but never tested it, because L2MonsterInstance Extends L2Npc I think, its a little complicated, I will test

Share this post


Link to post
Share on other sites

I thougth it too, but never tested it, because L2MonsterInstance Extends L2Npc I think, its a little complicated, I will test

After alot of tests today(becouse i like your idea)

When u get target raidboss/grandraid/monster:

u cant use group heal/chain heal/prayer/servitor heal/AI and alot of buffs which are self...

if you drop chain heal/Buff and MonsterInstance this system will be perfect for raids/epics,big deal that someone will buff him with might or shield,and only group heal and few other skills on target will not work normal.(this is my opinion ofc)

Share this post


Link to post
Share on other sites

After alot of tests today(becouse i like your idea)

When u get target raidboss/grandraid/monster:

u cant use group heal/chain heal/prayer/servitor heal/AI and alot of buffs which are self...

if you drop chain heal/Buff and MonsterInstance this system will be perfect for raids/epics,big deal that someone will buff him with might or shield,and only group heal and few other skills on target will not work normal.(this is my opinion ofc)

 

Your report is usefull for me and now I will go fix it, im pretty sure I will solve this bug too, the servitor heal yes its a bug on witch im gonna work on now, but the healer(who is there to use heal and mass heals) is not the one who is supposed to target the monster, but still yes this makes the code faulty and buggy so Im gonna spend more time on this

 

PS I will only fix: SelfBuffs, SelfHeals and any other skill that casts without target

Share this post


Link to post
Share on other sites

After alot of tests today(becouse i like your idea)

When u get target raidboss/grandraid/monster:

u cant use group heal/chain heal/prayer/servitor heal/AI and alot of buffs which are self...

if you drop chain heal/Buff and MonsterInstance this system will be perfect for raids/epics,big deal that someone will buff him with might or shield,and only group heal and few other skills on target will not work normal.(this is my opinion ofc)

 

Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestMagicSkillUse.java
===================================================================
--- java/net/sf/l2j/gameserver/network/clientpackets/RequestMagicSkillUse.java	(revision 2)
+++ java/net/sf/l2j/gameserver/network/clientpackets/RequestMagicSkillUse.java	(working copy)
@@ -17,7 +17,10 @@
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.model.L2Skill;
+import net.sf.l2j.gameserver.model.actor.instance.L2MonsterInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
@@ -69,6 +72,19 @@
			if (skill.isToggle() && activeChar.isMounted())
				return;

+			if (activeChar.getTarget() instanceof L2MonsterInstance)
+			{
+				switch (skill.getSkillType())
+				{
+					case BUFF:
+						return;
+					case HEAL:
+						return;
+					case HEAL_PERCENT:
+						return;
+				}
+			}
+			
			activeChar.useMagic(skill, _ctrlPressed, _shiftPressed);
		}
		else

Share this post


Link to post
Share on other sites

Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestMagicSkillUse.java
===================================================================
--- java/net/sf/l2j/gameserver/network/clientpackets/RequestMagicSkillUse.java	(revision 2)
+++ java/net/sf/l2j/gameserver/network/clientpackets/RequestMagicSkillUse.java	(working copy)
@@ -17,7 +17,10 @@
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.model.L2Skill;
+import net.sf.l2j.gameserver.model.actor.instance.L2MonsterInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
@@ -69,6 +72,19 @@
			if (skill.isToggle() && activeChar.is-beep-ted())
				return;

+			if (activeChar.getTarget() instanceof L2MonsterInstance)
+			{
+				switch (skill.getSkillType())
+				{
+					case BUFF:
+						return;
+					case HEAL:
+						return;
+					case HEAL_PERCENT:
+						return;
+				}
+			}
+			
			activeChar.useMagic(skill, _ctrlPressed, _shiftPressed);
		}
		else

I cant see any diffrence tho

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.