Quick Evasion L2J IO

art

Путник
Пользователь
Сообщения
26
Розыгрыши
0
Репутация
0
Реакции
0
Баллы
0
Подскажите пож, почему скилл 10774 работает некорректно? С геодатой и без нее без разницы, сразу после запуска сервера, если не тыкать никуда мышкой, то эффект есть, телепорт и шлейф, все как положено. Как только даешь движение персу, так пропадает анимация и телепорт вроде работает назад, но чуть в сторону и перс исчезает и появляется в другом месте, вместо скольжения, и разворачивается лицом к камере, хотя стоял спиной.
Код:
<skill id="10774" levels="4" name="Quick Evasion" enchantGroup1="10">
        <table name="#mpConsume">27 32 33 33</table>
        <table name="#castRange">300 350 400 450</table>
        <table name="#magicLvl">85 90 95 99</table>
        <table name="#flyRadius">-300 -350 -400 -450</table>
        <table name="#ench1flyRadius">460 470 480 490 500 510 520 530 540 550</table>
        <set name="flyCourse" val="180" />
        <set name="mpConsume" val="#mpConsume" />
        <set name="flyType" val="WARP_BACK" />
        <set name="flyRadius" val="#flyRadius" />
        <set name="magicLvl" val="#magicLvl" />
        <set name="abnormalTime" val="1" />
        <set name="castRange" val="#castRange" />
        <set name="operateType" val="ACTIVE_CONTINUOUS" />
        <set name="targetType" val="SELF" />
        <set name="reuseDelay" val="15000" />
        <set name="hitTime" val="100" />
        <enchant1 name="flyRadius" val="#ench1flyRadius" />
 
ну дык смотри в ядре как обрабатывается тип полета WARP_BACK
 
Код:
public final class FlyToLocation extends L2GameServerPacket
{
    private final int _destX, _destY, _destZ;
    private final int _chaObjId;
    private final Location _loc;
    private final FlyType _type;
    private int _flySpeed;
    private int _flyDelay;
    private int _animationSpeed;
 
    public enum FlyType
    {
        THROW_UP,
        THROW_HORIZONTAL,
        DUMMY,
        CHARGE,
        PUSH_HORIZONTAL,
        JUMP_EFFECTED,
        NOT_USED,
        PUSH_DOWN_HORIZONTAL,
        WARP_BACK,
        WARP_FORWARD;
    }
 
    public FlyToLocation(L2Character cha, int destX, int destY, int destZ, FlyType type)
    {
        _chaObjId = cha.getObjectId();
        _loc = cha.getLocation();
        _destX = destX;
        _destY = destY;
        _destZ = destZ;
        _type = type;
    }
 
    public FlyToLocation(L2Character cha, int destX, int destY, int destZ, FlyType type, int flySpeed, int flyDelay, int animationSpeed)
    {
        _chaObjId = cha.getObjectId();
        _loc = cha.getLocation();
        _destX = destX;
        _destY = destY;
        _destZ = destZ;
        _type = type;
        _flySpeed = flySpeed;
        _flyDelay = flyDelay;
        _animationSpeed = animationSpeed;
    }
 
    public FlyToLocation(L2Character cha, ILocational dest, FlyType type)
    {
        this(cha, dest.getX(), dest.getY(), dest.getZ(), type);
    }
 
    public FlyToLocation(L2Character cha, ILocational dest, FlyType type, int flySpeed, int flyDelay, int animationSpeed)
    {
        this(cha, dest.getX(), dest.getY(), dest.getZ(), type, flySpeed, flyDelay, animationSpeed);
    }
 
    @Override
    protected void writeImpl()
    {
        writeC(0xD4);
        writeD(_chaObjId);
        writeD(_destX);
        writeD(_destY);
        writeD(_destZ);
        writeD(_loc.getX());
        writeD(_loc.getY());
        writeD(_loc.getZ());
        writeD(_type.ordinal());
        writeD(_flySpeed);
        writeD(_flyDelay);
        writeD(_animationSpeed);
    }
}
ну дык смотри в ядре как обрабатывается тип полета WARP_BACK
посмотрел. на мой нубский взгляд, тут все просто. три координаты локи, ид перса, 4 характеристики к анимации. Может надо координаты перса еще, кроме ид его? после отскока фигурку разворачивает
 
Я не про пакет, отображающий перемещение, говорю, а про сами расчеты этого полета.
что-то типа getFlyLocation и т.п. к примеру в Creature
 
Назад
Сверху Снизу