- Сообщений: 14
- Спасибо получено: 7
Пропуск хода из-за статуса - редактировать условия
В ходе моих попыток несколько выделить управление протагонистом, мне понадобилось, чтобы статусы типа "паралич" или "сон" всех персонажей исправно парализовывали/усыпляли/нужное_вставить и те пропускали ход - но конкретный персонаж (повторюсь, с тем же статусом) должен оставаться активным и окно выбора команд для него должно открываться как обычно.
Прежде чем создавать статус-дублер и писать охапку КоммонЕвентов, которые в нужный момент меняли бы их с оригиналом местами, рещил поинтересоваться, нельзя ли решить проблему парой строчек в Scene_Battle?
Еще раз: можно ли и если да, то как сделать, чтобы с одним и тем же статусом одни акторы пропускали ход, а другие - нет?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Ну и со статусом-дублёром хорошая идея тоже, можно сделать так что-бы команда была неуязвима к "дублёру", а протагонист к "оригиналу" и всё.
А судя по тому, что ты писал в чате, то тебе нужно сделать следующее:
Отредактировать навыки типо "оглушение", убрать в "ограничение действия" пункт "не может двигаться" и вместо этого сделать следующее: запретить в "особенностях" атаку, защиту и типы навыков которыми пользуются персонажи, но вместе с этим добавить им дополнительный тип навыков, где будут навыки типо "попытаться подняться" и так далее, как ты хочешь.
Так бы я сделал на Эйсе, но раз ты говоришь что у тебя ХР, не уверен есть ли там такие возможности.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Если мне тут решение на тарелочке не поднесут - так и пере-сделаю.Green-Leo пишет: Мб в класс этого персонажа добавить неуязвимость к этим статусам и всё?
Ну и со статусом-дублёром хорошая идея тоже, можно сделать так что-бы команда была неуязвима к "дублёру", а протагонист к "оригиналу" и всё.
Но вот кажется на грани уверенности, что где-то есть тупо строчка про "если на акторе такой-то статус - перейти к следующему актору" и прибавить к ней лишнее IF - дело пары минут. Проблема найти эту строчку.
Увы, нету.Green-Leo пишет: А судя по тому, что ты писал в чате, то тебе нужно сделать следующее:
...
Так бы я сделал на Эйсе, но раз ты говоришь что у тебя ХР, не уверен есть ли там такие возможности.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
В строчке if [1,2].include?(@actor_id) замени 1,2 на список номеров героев в базе данных через запятую, для которых не должны ограничиваться ходы (список может быть из одного номера, [1]).
Если будет выводить ошибку, покажи, пожалуйста, текст этой ошибки — я исправлю.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
С одной стороны, всё хорошо - работает без ошибок (единственный скользкий момент - просто добавление скрипта в низ спеиска не сработало, пришлось совать непосредственно под Game_Actor).Dmy пишет: Если будет выводить ошибку, покажи, пожалуйста, текст этой ошибки — я исправлю.
С другой стороны, праздновать победу рано - таким образом персонаж не блокируется вообще ничем.
Попытка сделать делать "лесенку" вроде
понятную даже мне, но правильного написания я таки не знаю.Script 'Game_Battler' line 296: NoMethodError occured.
undefined method '<' for nil:NilClass
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
xawoca пишет:
С одной стороны, всё хорошо - работает без ошибок (единственный скользкий момент - просто добавление скрипта в низ спеиска не сработало, пришлось совать непосредственно под Game_Actor).Dmy пишет: Если будет выводить ошибку, покажи, пожалуйста, текст этой ошибки — я исправлю.
С другой стороны, праздновать победу рано - таким образом персонаж не блокируется вообще ничем.
Попытка сделать делать "лесенку" вродевыдает ошибкуCode:if [1].include?(@actor_id) then if $game_actors[1].state?(22) return 0понятную даже мне, но правильного написания я таки не знаю.Script 'Game_Battler' line 296: NoMethodError occured.
undefined method '<' for nil:NilClass
Можно сделать так:
Как всегда, ничего не проверялось
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
...Что б ты без меня делал ))Dmy пишет: Как всегда, ничего не проверялось
Всё заработало, очередное спасибо, от души.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
