Jump to content

[Share]PK-Killers See Silent Move


Recommended Posts

Bassicaly this patch, removes the "silent move" from the player.. so.. every NPC can see him.. for example monsters or guards :)... but... he still thinks that he is invisible to npcs(like pk-killer) because the abnormal effect is still exist.. so... here we are :)

Index: C:/Users/George/Desktop/eclipse-SDK-3.5.2-win32/eclipse/workspace/L2_GameServer/java/com/l2jserver/gameserver/skills/effects/EffectSilentMove.java
===================================================================
--- C:/Users/George/Desktop/eclipse-SDK-3.5.2-win32/eclipse/workspace/L2_GameServer/java/com/l2jserver/gameserver/skills/effects/EffectSilentMove.java	(revision 4420)
+++ C:/Users/George/Desktop/eclipse-SDK-3.5.2-win32/eclipse/workspace/L2_GameServer/java/com/l2jserver/gameserver/skills/effects/EffectSilentMove.java	(working copy)
@@ -46,9 +46,9 @@
	{
		super.onStart();

-		L2Character effected = getEffected();
-		if (effected instanceof L2Playable)
-			((L2Playable) effected).setSilentMoving(true);
+		//L2Character effected = getEffected();
+		//if (effected instanceof L2Playable)
+			//((L2Playable) effected).setSilentMoving(true);
		return true;
	}

 

It is for last rev Freya l2jserver pack but you can easily adapt it to epilogue or something... :)

Link to comment
Share on other sites

Bassicaly this patch, removes the "silent move" from the player.. so.. every NPC can see him.. for example monsters or guards :)... but... he still thinks that he is invisible to npcs(like pk-killer) because the abnormal effect is still exist.. so... here we are :)

Index: C:/Users/George/Desktop/eclipse-SDK-3.5.2-win32/eclipse/workspace/L2_GameServer/java/com/l2jserver/gameserver/skills/effects/EffectSilentMove.java
===================================================================
--- C:/Users/George/Desktop/eclipse-SDK-3.5.2-win32/eclipse/workspace/L2_GameServer/java/com/l2jserver/gameserver/skills/effects/EffectSilentMove.java	(revision 4420)
+++ C:/Users/George/Desktop/eclipse-SDK-3.5.2-win32/eclipse/workspace/L2_GameServer/java/com/l2jserver/gameserver/skills/effects/EffectSilentMove.java	(working copy)
@@ -46,9 +46,9 @@
	{
		super.onStart();

-		L2Character effected = getEffected();
-		if (effected instanceof L2Playable)
-			((L2Playable) effected).setSilentMoving(true);
+		//L2Character effected = getEffected();
+		//if (effected instanceof L2Playable)
+			//((L2Playable) effected).setSilentMoving(true);
		return true;
	}

 

It is for last rev Freya l2jserver pack but you can easily adapt it to epilogue or something... :)

 

You just made the effect useless dude.

Link to comment
Share on other sites

You just made the effect useless dude.

 

yep.. what do u think? it is better to a pvp server to just keep it and all dagger chars kill the other newbies? i think it is better way to make the effect useless...

Link to comment
Share on other sites

yep.. what do u think? it is better to a pvp server to just keep it and all dagger chars kill the other newbies? i think it is better way to make the effect useless...

Or you can expand your java knowledge and find out how to make guards see silent moved players.

 

L2AttackableAI

private boolean autoAttackCondition(L2Character target)
{
	if (target == null || !(_actor instanceof L2Attackable))
		return false;
	L2Attackable me = (L2Attackable) _actor;

	// Check if the target isn't invulnerable
	if (target.isInvul())
	{
		// However EffectInvincible requires to check GMs specially
		if (target instanceof L2PcInstance && ((L2PcInstance) target).isGM())
			return false;
		if (target instanceof L2Summon && ((L2Summon) target).getOwner().isGM())
			return false;
	}

	// Check if the target isn't a Folk or a Door
	if (target instanceof L2FolkInstance || target instanceof L2DoorInstance)
		return false;

	// Check if the target isn't dead, is in the Aggro range and is at the same height
	if (target.isAlikeDead() || !me.isInsideRadius(target, me.getAggroRange(), false, false) || Math.abs(_actor.getZ() - target.getZ()) > 300)
		return false;

	if (_selfAnalysis.cannotMoveOnLand && !target.isInsideZone(L2Character.ZONE_WATER))
		return false;

	// Check if the target is a L2PlayableInstance
	if (target instanceof L2PlayableInstance)
	{
		// Check if the AI isn't a Raid Boss and the target isn't in silent move mode
--			if (!(me instanceof L2RaidBossInstance) && ((L2PlayableInstance) target).isSilentMoving())
+                       if (!(meinstanceof L2RaidBossInstance) && !(me instanceof L2GuardInstance) && ((L2PlayableInstance)target).isSilentMoving())
			return false;
	}

Link to comment
Share on other sites

Or you can expand your java knowledge and find out how to make guards see silent moved players.

 

L2AttackableAI

private boolean autoAttackCondition(L2Character target)
{
	if (target == null || !(_actor instanceof L2Attackable))
		return false;
	L2Attackable me = (L2Attackable) _actor;

	// Check if the target isn't invulnerable
	if (target.isInvul())
	{
		// However EffectInvincible requires to check GMs specially
		if (target instanceof L2PcInstance && ((L2PcInstance) target).isGM())
			return false;
		if (target instanceof L2Summon && ((L2Summon) target).getOwner().isGM())
			return false;
	}

	// Check if the target isn't a Folk or a Door
	if (target instanceof L2FolkInstance || target instanceof L2DoorInstance)
		return false;

	// Check if the target isn't dead, is in the Aggro range and is at the same height
	if (target.isAlikeDead() || !me.isInsideRadius(target, me.getAggroRange(), false, false) || Math.abs(_actor.getZ() - target.getZ()) > 300)
		return false;

	if (_selfAnalysis.cannotMoveOnLand && !target.isInsideZone(L2Character.ZONE_WATER))
		return false;

	// Check if the target is a L2PlayableInstance
	if (target instanceof L2PlayableInstance)
	{
		// Check if the AI isn't a Raid Boss and the target isn't in silent move mode
--			if (!(me instanceof L2RaidBossInstance) && ((L2PlayableInstance) target).isSilentMoving())
+                       if (!(meinstanceof L2RaidBossInstance) && !(me instanceof L2GuardInstance) && ((L2PlayableInstance)target).isSilentMoving())
			return false;
	}

 

Yep, there is an other better way at all.... but both works...

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...