- Хроники
- Interlude
- Исходники
- Присутствуют
- Сборка
- ruAcis 3.8
Здравствуйте сборка aCis 3.8 наблюдается проблема с движением агатиона сколько то летит потом встает на 1 сек
В
Если делаю так _followTask = ThreadPool.scheduleAtFixedRate(new Follow(this), 10, 10); то все становиться нормально но как это повлияет на нагрузку
В
public void followToOwner()
{
if (owner == null)
return;
setTarget(owner);
if (_followTask == null)
_followTask = ThreadPool.scheduleAtFixedRate(new Follow(this), 100, 100);
getPosition().setHeading(owner.getHeading());
int rnd = Rnd.get(-15, +15);
Location toMoveLoc = new Location(owner.getX(), owner.getY(), owner.getZ());
if (!isIn2DRadius(owner, 2000))
{
teleportTo(owner.getPosition().clone(), rnd);
return;
}
if (!isIn2DRadius(owner, 50) && !isMoving())
{
getMove().maybeMoveToLocation(toMoveLoc, rnd, true, false);
return;
}
if (isIn2DRadius(owner, 30))
{
getMove().stop();
getAI().thinkIdle();
return;
}
getMove().maybeMoveToLocation(toMoveLoc, rnd, true, false);
}
{
if (owner == null)
return;
setTarget(owner);
if (_followTask == null)
_followTask = ThreadPool.scheduleAtFixedRate(new Follow(this), 100, 100);
getPosition().setHeading(owner.getHeading());
int rnd = Rnd.get(-15, +15);
Location toMoveLoc = new Location(owner.getX(), owner.getY(), owner.getZ());
if (!isIn2DRadius(owner, 2000))
{
teleportTo(owner.getPosition().clone(), rnd);
return;
}
if (!isIn2DRadius(owner, 50) && !isMoving())
{
getMove().maybeMoveToLocation(toMoveLoc, rnd, true, false);
return;
}
if (isIn2DRadius(owner, 30))
{
getMove().stop();
getAI().thinkIdle();
return;
}
getMove().maybeMoveToLocation(toMoveLoc, rnd, true, false);
}