Exception in thread "AISTPool-5" java.lang.StackOverflowError
at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.startWaterTask(L2PcInstance.java:9109)
at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.checkWaterState(L2PcInstance.java:9122)
at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.revalidateZone(L2PcInstance.java:1540)
at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:626)
at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:373)
at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:296)
at net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3586)
at net.sf.l2j.gameserver.model.actor.L2Character$AIAccessor.moveTo(L2Character.java:2819)
at net.sf.l2j.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:538)
at net.sf.l2j.gameserver.ai.AbstractAI.moveToPawn(AbstractAI.java:494)
at net.sf.l2j.gameserver.ai.L2CharacterAI.maybeMoveToPawn(L2CharacterAI.java:877)
at net.sf.l2j.gameserver.ai.L2PlayerAI.thinkCast(L2PlayerAI.java:235)
at net.sf.l2j.gameserver.ai.L2PlayerAI.onEvtThink(L2PlayerAI.java:312)
at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:641)
at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:373)
at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:296)
at net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3586)
at net.sf.l2j.gameserver.model.actor.L2Character$AIAccessor.moveTo(L2Character.java:2819)
at net.sf.l2j.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:538)
at net.sf.l2j.gameserver.ai.AbstractAI.moveToPawn(AbstractAI.java:494)
at net.sf.l2j.gameserver.ai.L2CharacterAI.maybeMoveToPawn(L2CharacterAI.java:877)
at net.sf.l2j.gameserver.ai.L2PlayerAI.thinkCast(L2PlayerAI.java:235)
at net.sf.l2j.gameserver.ai.L2PlayerAI.onEvtThink(L2PlayerAI.java:312)
at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:641)
at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:373)
at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:296)
and 100 same error like last block
L2Character.java:3586 i marked it with plus "+"
....
if (offset > 0 || distance < 1)
{
// approximation for moving closer when z coordinates are different
// TODO: handle Z axis movement better
offset -= Math.abs(dz);
if (offset < 5)
offset = 5;
// If no distance to go through, the movement is canceled
if (distance < 1 || distance - offset <= 0)
{
if (Config.DEBUG)
_log.fine("already in range, no movement needed.");
// Notify the AI that the L2Character is arrived at destination
+ getAI().notifyEvent(CtrlEvent.EVT_ARRIVED);
return;
}
....
L2Character.java:2819
public void moveTo(int x, int y, int z, int offset)
{
+ moveToLocation(x, y, z, offset);
}
AbstractAI.java:538
protected void moveTo(int x, int y, int z, int offset)
{
// Check if actor can move
if (_actor.isMovementDisabled())
{
_actor.sendPacket(ActionFailed.STATIC_PACKET);
return;
}
// Set AI movement data
_clientMoving = true;
if (_accessor == null)
return;
// Calculate movement data for a move to location action and add the actor to
+ _accessor.moveTo(x, y, z, offset);
if (!_actor.isMoving())
{
_actor.sendPacket(ActionFailed.STATIC_PACKET);
return;
}
// Send a Server->Client packet CharMoveToLocation to the actor and all L2PcInstance in
_actor.broadcastPacket(new MoveToLocation(_actor));
}
protected boolean maybeMoveToPawn(L2Object target, int offset)
{
if (target == null || offset < 0) // skill radius -1
return false;
offset += _actor.getTemplate().getCollisionRadius();
if (target instanceof L2Character)
offset += ((L2Character) target).getTemplate().getCollisionRadius();
if (!_actor.isInsideRadius(target, offset, false, false))
{
if (getFollowTarget() != null)
{
int foffset = offset + (((L2Character) target).isMoving() ? 100 : 0);
// allow larger hit range when the target is moving (check is run only once per second)
if (!_actor.isInsideRadius(target, foffset, false, false))
{
if (!_actor.isAttackingNow() || _actor instanceof L2Summon)
+ moveToPawn(target, offset);
return true;
}
stopFollow();
return false;
}
if (_actor.isMovementDisabled() && !(_actor instanceof L2Attackable))
{
if (getIntention() == CtrlIntention.ATTACK)
setIntention(CtrlIntention.IDLE);
return true;
}
// If not running, set the L2Character movement type to run and send Server->Client packet ChangeMoveType to all others L2PcInstance
if (!(this instanceof L2PlayerAI) && !(this instanceof L2SummonAI))
_actor.setRunning();
if ((target instanceof L2Character) && !(target instanceof L2DoorInstance))
startFollow((L2Character) target, offset);
else
{
// Move the actor to Pawn server side AND client side by sending Server->Client packet MoveToPawn (broadcast)
moveToPawn(target, offset);
}
return true;
}
stopFollow();
return false;
}
L2PlayerAI.java:235
private void thinkCast()
{
L2Character target = (L2Character) getTarget();
if (Config.DEBUG)
_log.warning("L2PlayerAI: thinkCast -> Start");
if (_skill.getTargetType() == SkillTargetType.TARGET_GROUND && _actor instanceof L2PcInstance)
{
if (maybeMoveToPosition(((L2PcInstance) _actor).getCurrentSkillWorldPosition(), _skill.getCastRange()))
{
_actor.setIsCastingNow(false);
return;
}
}
else
{
if (checkTargetLost(target))
{
// Notify the target
if (_skill.isOffensive() && getTarget() != null)
setTarget(null);
_actor.setIsCastingNow(false);
return;
}
+ if (target != null && maybeMoveToPawn(target, _skill.getCastRange()))
{
_actor.setIsCastingNow(false);
return;
}
}
L2PlayerAI.java:312
protected void onEvtThink()
{
// Check if the actor can't use skills and if a thinking action isn't already in progress
if (_thinking && getIntention() != CtrlIntention.CAST) // casting must always continue
return;
// Start thinking action
_thinking = true;
try
{
// Manage AI thoughts
switch (getIntention())
{
case ATTACK:
thinkAttack();
break;
case CAST:
+ thinkCast();
break;
case PICK_UP:
thinkPickUp();
break;
case INTERACT:
thinkInteract();
break;
}
}
finally
{
// Stop thinking action
_thinking = false;
}
}
L2CharacterAI.java:641
protected void onEvtArrived()
{
_accessor.getActor().revalidateZone(true);
if (_accessor.getActor().moveToNextRoutePoint())
return;
if (_accessor.getActor() instanceof L2Attackable)
((L2Attackable) _accessor.getActor()).setIsReturningToSpawnPoint(false);
clientStoppedMoving();
// If the Intention was MOVE_TO, set the Intention to ACTIVE
if (getIntention() == CtrlIntention.MOVE_TO)
setIntention(CtrlIntention.ACTIVE);
// Launch actions corresponding to the Event Think
+ onEvtThink();
}
AbstractAI.java:373
...
case EVT_ARRIVED:
if (!_actor.isCastingNow() && !_actor.isCastingSimultaneouslyNow())
+ onEvtArrived();
break;
...
AbstractAI.java:296
public final void notifyEvent(CtrlEvent evt)
{
+ notifyEvent(evt, null, null);
}
i get this error not only with startWaterTask i get and with others, and same error 14000 lines... one time per day.
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
I've been using this for 2 years now with no issues from Discord. I don't use ogg.dll either. This one works with any l2.exe too; I don’t see any difference between them.
hmm.. ok i just see that, is different code first of all. My sources is totally different based in other way, with else libraries.
I have access to modify everything even to make the clock to stop show how many time users play in server.
1) so maybe keep some personal info more hide.
2) i dont use ogg.dll
3) i create it and give it ready + support to install it.
Plus what is mine can working with what ever .exe you want not just l2 with same simple method.
And i am sure if you try this source to compile it, after 3 hours discord will like shadowban your API too
thats my source
Video how to adapt it:
Download for TEST Overlay: https://mega.nz/file/g60nQJIY#i98dP3ma-t3Qh39cFItDBuORLp9lH-jfEXxxXyU4nPE
( if not working try to rename from system/l2 to l2.exe ) <-- Its possible to skip this step with custom made launcher
Download CFF Explorer: https://ntcore.com/explorer-suite/
( required to link .dll with l2.exe to test it )
Price : 50 euro for Discord Overlay
Price : 20 euro for Window Name
Discord : ojsaras
You purchase compiled files with the name and your details one time !
Question
wongerlt
L2J aCis.
Error:
L2Character.java:3586 i marked it with plus "+"
L2Character.java:2819
AbstractAI.java:538
AbstractAI.java:494
L2CharacterAI.java:877
L2PlayerAI.java:235
L2PlayerAI.java:312
L2CharacterAI.java:641
AbstractAI.java:373
AbstractAI.java:296
i get this error not only with startWaterTask i get and with others, and same error 14000 lines... one time per day.
Maybe anyone know how to solve this problem?
23 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.