Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Сесть- встать. задержка действий
#1
Проблема в следующем- если сидячего персонажа поднять и сразу нажать бежать, он за секунду подрывается и бежит. Интересует местонахождение файла отвечающее за задержку данного действия... еще не плохо было бы увеличить задержку подъема итемов с земли.
High Five, Source First-Team.
Ответ
#2
Косяк в триде стандАпа. Нужно убрать установку булена проверки сит\станд в ините трида, ибо тоже самое должно происходить с самом триде, а не до его выполнения.
Ответ
#3
А подробней можно?)
Что такое "трид", "булен", "инит"?
Ответ
#4
Rolfer Написал:А подробней можно?)
В каком месте?
Rolfer Написал:Что такое "трид", "булен", "инит"?
"трид" = поток (thread)
"булен" = boolean (true/false)
"инит" = инициализация
Fortuna - non penis, in manus non recipe.
Ответ
#5
Подробней- где именно лежит этот файл что бы его можно было поправить?...
На сколько я понял он должен называться "SitStand.java" or "StandUp.java"?

вот, нашел что-то похожее в Player.java-

[SPOILER="
Открыть спойлер
Ответ
#6
Rolfer, ищите методы sitDown и standUp в классе Player.
Fortuna - non penis, in manus non recipe.
Ответ
#7
Rolfer;347810 Написал:setSitting(false);
Rolfer;347810 Написал:ThreadPoolManager.getInstance().schedule(new EndStandUpTask(this), 2500);
Сложно просто взять и посмотреть?
Ответ
#8
Rolfer,
Проверяй класс Player.java:
Код:
    @Override
    public void standUp()
    {
        if (!isSitting() || sittingTaskLaunched || isInStoreMode() || isAlikeDead())
        {
            return;
        }

        getEffectList().stopAllSkillEffects(EffectType.Relax);

        getAI().clearNextAction();
        broadcastPacket(new ChangeWaitType(this, ChangeWaitType.WT_STANDING));

        _sittingObject = null;
        sittingTaskLaunched = true;
        ThreadPoolManager.getInstance().schedule(new EndStandUpTask(this), 2500);
    }

Код:
    @Override
    public void sitDown(StaticObjectInstance throne)
    {
        if (isSitting() || sittingTaskLaunched || isAlikeDead())
        {
            return;
        }

        if (isStunned() || isSleeping() || isParalyzed() || isAttackingNow() || isCastingNow() || isMoving)
        {
            getAI().setNextAction(nextAction.REST, null, null, false, false);
            return;
        }

        resetWaitSitTime();
        getAI().setIntention(CtrlIntention.AI_INTENTION_REST, null, null);

        if (throne == null)
        {
            broadcastPacket(new ChangeWaitType(this, ChangeWaitType.WT_SITTING));
        }
        else
        {
            broadcastPacket(new ChairSit(this, throne));
        }

        _sittingObject = throne;
        setSitting(true);
        sittingTaskLaunched = true;
        ThreadPoolManager.getInstance().schedule(new EndSitDownTask(this), 2500);
    }

Класс GameObjectTasks.java
Код:
    /**
     * EndSitDownTask
     */
    public static class EndSitDownTask extends RunnableImpl
    {
        private final HardReference<Player> _playerRef;

        public EndSitDownTask(Player player)
        {
            _playerRef = player.getRef();
        }

        @Override
        public void runImpl()
        {
            Player player = _playerRef.get();
            if(player == null)
            {
                return;
            }
            player.sittingTaskLaunched = false;
            player.getAI().clearNextAction();
        }
    }

    /**
     * EndStandUpTask
     */
    public static class EndStandUpTask extends RunnableImpl
    {
        private final HardReference<Player> _playerRef;

        public EndStandUpTask(Player player)
        {
            _playerRef = player.getRef();
        }

        @Override
        public void runImpl()
        {
            Player player = _playerRef.get();
            if(player == null)
            {
                return;
            }
            player.sittingTaskLaunched = false;
            player.setSitting(false);
            if(!player.getAI().setNextIntention())
            {
                player.getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
            }
        }
    }
Студия L2dev.su. Сборки Lindvior, Epilogue. ICQ 1817070. Skype wowan.sm
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Код для действий чара Бота. Lord_Gothic 2 1,615 12-21-2019, 01:56 PM
Последний пост: Lord_Gothic
  Двойное выполнение действий у НПС Anian 0 1,201 02-01-2018, 05:29 PM
Последний пост: Anian
  Community Board задержка mego4el 6 1,648 12-01-2015, 07:19 PM
Последний пост: Zubastic
  Задержка в КБ slayer48 14 3,249 01-11-2015, 04:45 PM
Последний пост: Donatte
  Задержка крит урона петов\самоннов Influence 14 2,636 10-30-2014, 08:03 AM
Последний пост: Melcor
  ThreadPoolManager и задержка ipx 7 2,532 07-22-2013, 09:39 PM
Последний пост: KID
  простая задержка (java) doDie 31 13,491 08-15-2012, 03:15 PM
Последний пост: doDie
  Как сесть на оффлайн трейд. Ambrozie 3 10,522 04-06-2012, 10:16 PM
Последний пост: Romka
  Задержка Атаки Klinz 4 1,775 04-06-2012, 04:33 PM
Последний пост: NotSpecified
  Оцените план действий. den1son 27 5,839 04-04-2012, 11:58 AM
Последний пост: den1son

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


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