Jump to content
  • 0

Anti AFK TvT L2jacis or L2jfrozen


Question

7 answers to this question

Recommended Posts

  • 0
Posted (edited)
Index: java/com/l2jserver/gameserver/model/actor/L2Character.java
===================================================================
--- java/com/l2jserver/gameserver/model/actor/L2Character.java	(revision 2)
+++ java/com/l2jserver/gameserver/model/actor/L2Character.java	(working copy)
 /**
  * Mother class of all character objects of the world (PC, NPC...)<br>
  * L2Character:<br>
@@ -4420,6 +4420,11 @@
 		final int curY = super.getY();
 		final int curZ = super.getZ();
 		
+		if (isPlayer())
+		{
+			getActingPlayer().setLastXY(curX, curY);
+		}
+		
 		// Calculate distance (dx,dy) between current position and destination
 		// TODO: improve Z axis move/follow support when dx,dy are small compared to dz
 		double dx = (x - curX);
Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java	(revision 2)
+++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java	(working copy)
@@ -14483,4 +14514,47 @@
 		return _hasCharmOfCourage;
 		
 	}
+	
+	final int[] _lastXY = new int[2];
+	
+	public void setLastXY(int x, int y)
+	{
+		_lastXY[0] = x;
+		_lastXY[1] = y;
+	}
+	
+	public boolean isAfk()
+	{
+		return (getX() == _lastXY[0]) && (getY() == _lastXY[1]);
+	}
+	
+	/** Methods to put inside your event when it start and it stop */
+	
+	Future<?> _task;
+	
+	public void stopAfk()
+	{
+		if (_task != null)
+		{
+			_task.cancel(true);
+			_task = null;
+		}
+	}
+	
+	public void startAfk()
+	{
+		stopAfk();
+
+		_task = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(() ->
+		{
+			L2World.getInstance().getPlayers().stream().filter(p -> p.isAfk()).forEach(p ->
+			{
+				p.sendMessage("You have been detected as afk.");
+				// Tasks here.
+			});
+			
+		}, 60000, 60000);
+	}
 }
\ No newline at end of file

 

I made you a short code that you can use. 

 

*Note: Make sure to put your boolean method or what you have that checks if player is inside event. Ex. p -> p.isAfk() && p.isInEvent()

Edited by Kara`
  • 0
Posted
1 hour ago, Kara` said:

Index: java/com/l2jserver/gameserver/model/actor/L2Character.java
===================================================================
--- java/com/l2jserver/gameserver/model/actor/L2Character.java	(revision 2)
+++ java/com/l2jserver/gameserver/model/actor/L2Character.java	(working copy)
 /**
  * Mother class of all character objects of the world (PC, NPC...)<br>
  * L2Character:<br>
@@ -4420,6 +4420,11 @@
 		final int curY = super.getY();
 		final int curZ = super.getZ();
 		
+		if (isPlayer())
+		{
+			getActingPlayer().setLastXY(curX, curY);
+		}
+		
 		// Calculate distance (dx,dy) between current position and destination
 		// TODO: improve Z axis move/follow support when dx,dy are small compared to dz
 		double dx = (x - curX);
Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java	(revision 2)
+++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java	(working copy)
@@ -14483,4 +14514,47 @@
 		return _hasCharmOfCourage;
 		
 	}
+	
+	final int[] _lastXY = new int[2];
+	
+	public void setLastXY(int x, int y)
+	{
+		_lastXY[0] = x;
+		_lastXY[1] = y;
+	}
+	
+	public boolean isAfk()
+	{
+		return (getX() == _lastXY[0]) && (getY() == _lastXY[1]);
+	}
+	
+	/** Methods to put inside your event when it start and it stop */
+	
+	Future<?> _task;
+	
+	public void stopAfk()
+	{
+		if (_task != null)
+		{
+			_task.cancel(true);
+			_task = null;
+		}
+	}
+	
+	public void startAfk()
+	{
+		stopAfk();
+
+		_task = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(() ->
+		{
+			L2World.getInstance().getPlayers().stream().filter(p -> p.isAfk()).forEach(p ->
+			{
+				p.sendMessage("You have been detected as afk.");
+				// Tasks here.
+			});
+			
+		}, 60000, 60000);
+	}
 }
\ No newline at end of file

 

I made you a short code that you can use. 

 

*Note: Make sure to put your boolean method or what you have that checks if player is inside event. Ex. p -> p.isAfk() && p.isInEvent()

I'm extremely grateful Kara, just get me a single question, I'm using Acis 374, it has no PcInstance.java I believe I have been replaced by Player.java and also does not have ThreadPoolManager.java only ThreadPool.java and also does not have L2Character .java, I believe it has been replaced by Creature.java, if I am wrong could you give me a light? because that slows me down when adding the mod.
I tried putting on the cited files and had errors on the ThreadPool.getInstance ().
Follow the images below;

ThreadPool.java https://imgur.com/r7Kcl9a

Player.java : https://imgur.com/mptTG0A

Creature.java : https://imgur.com/96gP8ao

 

  • 0
Posted

ThreadPool is not using getInstance() anymore - remove it. Simple search over eclipse with ThreadPool would give you an solution. 

  • 0
Posted

if you store somewhere all the players that are in the tvt , instead of World.getInstance().... use the tvt collection about this loop. as main anti-afk this code is good. You can add more conditions and not only checking the location to be more secure 

  • 0
Posted
On 2/28/2022 at 12:31 AM, Kusaty said:

Is work on L2JFROZEN?

Adaption won't be hard for any pack. Also, please consider not to undig old topics. Feel free to create a new one if you struggle.

Guest
This topic is now closed to further replies.


  • Posts

    • Sell ready interlude server files, with all popular features and tested, stable source + fully functional premium geodata for free.   Features include: Events: DM CTF TVT LM Dressme system Custom Buffer GM Shop Custom community board Donation manager  Auto Farm   Album: sell c6 — ImgBB   Test Server online: Patch link: https://drive.google.com/file/d/1mvEbv9XESsvfWwc638xFyyzyESeE2U95/view?usp=drive_link Auto acc create and auto admin   Price: 300$. Discord: l2retro
    • Faltan demasiados archivos,  y lógicas en clases claves como L2pcInstance, entre otras. si bien muchas cosas están y el flujo es valorable.  Gracias por tu esfuerzo es bastante... pero realmente no esta completo el código, falta que subas todas las modificaciones en clases colaterales... podrías intentar subir un diff de todo el mod  completo de tu pack y bueno ahí si que cada uno adapte... pero faltan muchas cosas, dudo que haya gente que lo haya echo funcionar con esto... 
    • I know people who have fully bypassed and reversed AAC. One day, they might even release the full source code, but for now, they’re still making money off it. I won’t name anyone, but it’s clear that there aren’t any truly solid anticheats for Lineage2. As I’ve said before, kernel level anticheats are the only real solution. Anything that runs as Internal and injects gets flagged, and your account ends up getting kicked or banned. That’s just how most games handle it nowadays. To TL;DR the whole thing cheating will always exist because there are people out there smart enough to bypass any protection and run private cheats. Public cheats are always detected eventually, so I don’t see any point in buying AAC, especially when they claim it blocks adr, which simply isn’t true.
    • 🌐 Website: https://l2adonis.com 📅 GRAND OPENING: July 18, 2025 – 20:00 (UTC+2) 💬 Discord: https://discord.com/invite/tZBj8JxAwx 🚫 No auto-farm • No auto-macro • No pay-to-win • No custom   Some Basic Info's (More detalied info's on website)  EXP/SP: x25  Adena: x15  Drop: x15  Spoil: x15  Seal Stones: x15  Raid Boss Drop: x10  Epic Boss Drop: x1  Manor: x10  Safe Enchant: +4  Max Enchant: +16  Normal Scroll Chance: 50%  Blessed Scroll Chance: 66% (If enchant fail item remain +4)  Buff Slots (30+4 extra with Divine Inspiration)  Dances/Songs Slots 14  Auto-learn skills  ⚔️ Real PvP • Real Progression • Retail-like experience JOIN NOW and relive the real L2 experience!
    • Discord         :  utchiha_market Telegram        : https://t.me/utchiha_market Auto Buy Store  : https://utchihamkt.mysellauth.com/ Not sure if we’re legit? Check Our server — real reviews, real buyers https://discord.gg/uthciha-servicess  | https://campsite.bio/utchihaamkt
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock