mogrs 0 Опубликовано 2 мая, 2014 Хочу впаять возможность делать некоторые касты скиллов из спеллбука на ходу (типа даш, УЕ, уд, просвет, мб еще что - как в ВоВ короче). Но запутался с классами. Точно знаю что toggle и итемхендлер скиллы можно кастовать так, как хотелось бы, но вот что-то не могу найти в сборке класс который отвечает за продолжение бега при 2х пиеречисленных/остановку бега при старте каста Подскажите где искать?) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
PaiN 63 Опубликовано 2 мая, 2014 (изменено) toggle по оффу не должны, просто сборка кривая. Попробуйте в xml добавить необходимому скилу <set name="altUse" val="true" /> Изменено 2 мая, 2014 пользователем PaiN 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 2 мая, 2014 сделать то можно, но будет визуально очень некрасиво выглядеть это все - анимация каста будет сразу же прерываться, как только игрок двинется. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
mogrs 0 Опубликовано 3 мая, 2014 (изменено) сделать то можно, но будет визуально очень некрасиво выглядеть это все - анимация каста будет сразу же прерываться, как только игрок двинется. Такое знаю, однако можно прикрутить только эффект какой-нить типа огня или фифачек от рандомкастов без телодвижений перса, тогда будет относительно недурно. Те скиллы и так ускорил почти до моментальных уже. Типа если прикрутить только виз. эффект без анимации перса, то любое лишнее телодвижение не перебьет этот эффект насколько помню (типа как в банках происходит еще). 1й метод не помог, хотя позволил на ходу докастить скилл, но актив скилл - останавливает перса ) Изменено 3 мая, 2014 пользователем mogrs Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
mogrs 0 Опубликовано 3 мая, 2014 (изменено) Вроде и нашел место где лежит вещь отвечающая за остановку каста, но что-то там ничего не вышло - пытался попутно создать переменную типа "isrunning=true" и клонировать с ней if(skill.altUse() || skill.isToggle()) public void Cast(Skill skill, Creature target, boolean forceUse, boolean dontMove) { Playable actor = getActor(); // Если скилл альтернативного типа (например, бутылка на хп), // то он может использоваться во время каста других скиллов, или во время атаки, или на бегу. // Поэтому пропускаем дополнительные проверки. if(skill.altUse() || skill.isToggle()) { if((skill.isToggle() || skill.isHandler()) && (actor.isOutOfControl() || actor.isStunned() || actor.isSleeping() || actor.isParalyzed() || actor.isAlikeDead())) clientActionFailed(); else actor.altUseSkill(skill, target); return; } //_actor.stopMove(null); _forceUse = forceUse; _dontMove = dontMove; clearNextAction(); setIntention(CtrlIntention.AI_INTENTION_CAST, skill, target); } Изменено 3 мая, 2014 пользователем mogrs Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты