WildWild Написал:Добрый вечер
Кто может подтолкнуть на мысль или помочь фиксить эти баги в фениксе?
Заранее спасибо.
1.жуткий разсчёт горючего, не в минутах как должно быть а в секундах (класс легко декомпилиться он не большой, надо всего лишь поменять формулу)
2. овербаф через бафера
3. Дюп по почте
я думаю данная тема будет полезна многим, т.к сборки феникса сейчас актуальны.
l2p.gameserver.model.entity.vehicle.L2AirShip
[src=#java]
public class L2AirShip extends L2Vehicle
{
public static final int MAX_FUEL = 600;
private int _fuel;
private L2Player _driver;
private L2Clan _owner;
private L2StaticObjectInstance _controlKey;
private Location _clanAirshipSpawnLoc;
private ScheduledFuture<?> _airshipMaintenanceTask;
private static final long MAINTENANCE_DELAY = 1 * 60 * 1000L; // 1 min
[/src]
MAINTENANCE_DELAY вот ""размер тика" для отчисления топлива
[src=#java]
private class MaintenanceTask implements Runnable
{
private L2AirShip _airship;
public MaintenanceTask(L2AirShip airship)
{
_airship = airship;
}
public void run()
{
// При свободном движении корабля потребляется 10 топлива в минуту
if(!_airship.isDocked() && _airship.isArrived())
_airship.setFuel(_airship.getFuel() - 10);
if(_airship.isDocked() || _airship.isMoving)
return;
_airship.updatePeopleInTheBoat(_airship.getLoc());
if(getPlayersCountAtBoard() > 0)
return;
// Освобождаем корабль от использования
_airship.setFuel(_airship.getFuel() - 20);
L2VehicleManager.getInstance().getBoats().remove(_airship.getObjectId());
_airship.despawn();
_airship.deleteMe();
}
}
[/src]
_airship.setFuel(_airship.getFuel() - 10); - вот что жрет его