Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
.Farm
#1
Добрый вечерb возникла проблемка с воис командой, тоесть кидаю себе снайп(скилл лукаря) лечю на фарм зону как поевляюсь могу со снайпом бегать, смотрел как устроено тп в классе ескейп, но етого недало ни каких измен.вот собственно:

Код:
SetupGauge sg = new SetupGauge(SetupGauge.BLUE, 15000);
        activeChar.sendPacket(sg);
        sg = null;
        activeChar.setIsImobilised(true);

        ThreadPoolManager.getInstance().scheduleGeneral(new teleportTask(activeChar, placex, placey, placez, message), 15000);

        return true;
    }

    public String[] getVoicedCommandList()
    {
        return VOICED_COMMANDS;
    }

    class teleportTask implements Runnable
    {
        private final L2PcInstance _activeChar;
        private final int _x;
        private final int _y;
        private final int _z;
        private final String _message;

        teleportTask(L2PcInstance activeChar, int x, int y, int z, String message)
        {
            _activeChar = activeChar;
            _x = x;
            _y = y;
            _z = z;
            _message = message;
        }

        public void run()
        {
            if(_activeChar == null)
                return;

            _activeChar.teleToLocation(_x, _y, _z);
            _activeChar.sendMessage(_message);
            _activeChar.setIsImobilised(false);
        }
    }

может я не там копаю? подскажите
Ответ
#2
_activeChar.setIsImobilised(false);

убирает то что неможно бегать в снайпе. Убрать строчку - когда у вас все чары небудут двигатся.

activeChar.setIsImobilised(true); - тогда и эту нужно
consulo.io - Consulo - multi-language IDE
Ответ
#3
чутка недогнал? имобилизед ето же что бы чар в тп не мог двигатся, или вы имели ввиду что после тп имобилисед убирает и обиздвижение от скила снайп?

Добавлено через 6 минут
если так то получается убираем имобилисед, добавляем ефект как сое и дело в шляпе?
Ответ
#4
поставь проверку на наличие баффа
если есть бафф - эффект оставляем
else - нет.
Ответ
#5
hErrosh Написал:поставь проверку на наличие баффа
если есть бафф - эффект оставляем
else - нет.

:redlol: баф то не один же) и длиной может меньше 15 сек
consulo.io - Consulo - multi-language IDE
Ответ
#6
VISTALL, всё зделал, спасибо вам огромноеSmile

тему можно закрыть
Ответ
#7
вот допиленный код, отлично всё работает, ефект сое и можно изменять время.посмотрел в сборках фрозена тоже нету фикса
Код:
activeChar.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
        //SoE Animation section
        activeChar.setTarget(activeChar);
        activeChar.disableAllSkills();
        int teleportTimer = 6000;
        MagicSkillUser msk = new MagicSkillUser(activeChar, 1050, 1, teleportTimer, 0);
        Broadcast.toSelfAndKnownPlayersInRadius(activeChar, msk, 810000/*900*/);
        SetupGauge sg = new SetupGauge(0, teleportTimer);
        activeChar.sendPacket(sg);
        msk = null;
        sg = null;
        EscapeFinalizer ef = new EscapeFinalizer(activeChar, placex, placey, placez, message);

         activeChar.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(ef, teleportTimer));
                activeChar.setSkillCastEndTime(10 + GameTimeController.getGameTicks() + teleportTimer / GameTimeController.MILLIS_IN_TICK);
                ef = null;

        return true;
    }

    public String[] getVoicedCommandList()
    {
        return VOICED_COMMANDS;
    }

    static class EscapeFinalizer implements Runnable
    {

        private final L2PcInstance _activeChar;
        private final int _x;
        private final int _y;
        private final int _z;
        private final String _message;

        EscapeFinalizer(L2PcInstance activeChar, int x, int y, int z, String message)
        {
            _activeChar = activeChar;
            _x = x;
            _y = y;
            _z = z;
            _message = message;
        }
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 4 Гость(ей)