Войти на сайт

Авторизация, ждите ...
×

ТЕМА: Запрет действий в боевом меню.

Запрет действий в боевом меню. 7 года 2 мес. назад #99449

  • xawoca
  • xawoca аватар
  • Вне сайта
  • Познающий
  • Сообщений: 14
  • Спасибо получено: 7
Здравствуйте, товарищи.

Взгляните, пожалуйста, сюда:
def update_phase3_basic_command
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Go to command input for previous actor
      phase3_prior_actor
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # Branch by actor command window cursor position
      case @actor_command_window.index
      when 0  # attack
#!!!		   if @active_battler.restriction == 1        #!!!!!
          return false
        end
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Set action
        @active_battler.current_action.kind = 0
        @active_battler.current_action.basic = 0
        # Start enemy selection
        start_enemy_select
      when 1  # skill
        # Play decision SE
	...
Этот кусок кода из "Scene_Battle 3" блокирует персонажу кнопку "Атака", при условии, что на нем лежит статус, запрещающий колдовать - и это _почти_ то, что мне нужно.
В идеале условием должен быть один конкретный статус, или, на худой конец, какое-нибудь другое ограничение, например "can't ger EXP" вместо "can't use magic".

Никто не подскажет?
Последнее редактирование: 7 года 2 мес. назад от xawoca.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Запрет действий в боевом меню. 7 года 2 мес. назад #99450

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2478
  • Проект месяца 3 местоВетеранПоддержка ФондаРазработчикПрограммист RubyУчитель2 место ПаладинДаритель СтимкеяОратор
У меня под рукой нет XP, но попробуй заменить свою строку на вот такую:
if @active_battler.state?(X)

где X — это ID статуса.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: xawoca

Запрет действий в боевом меню. 7 года 2 мес. назад #99453

  • Doctor_Bug
  • Doctor_Bug аватар
  • Вне сайта
  • Светлый дракон
  • Из горизонта события! ▪_■
  • Сообщений: 573
  • Спасибо получено: 896
  • ВетеранПроект месяца 1 местоПрограммист Ruby3 место в КодировкеПроект месяца 3 место3 место
Вопрос поставить за скобками или через точку id
Баг изучает Godot Engine. А слушает эту музыку ~~> Мое сердце
Администратор запретил публиковать записи гостям.

Запрет действий в боевом меню. 7 года 2 мес. назад #99454

  • xawoca
  • xawoca аватар
  • Вне сайта
  • Познающий
  • Сообщений: 14
  • Спасибо получено: 7
Dmy пишет:
У меня под рукой нет XP, но попробуй заменить свою строку на вот такую:
if @active_battler.state?(X)
где X — это ID статуса.
Вах, спасибо, дорогой товарищ!
Всё заработало ))
Последнее редактирование: 7 года 2 мес. назад от xawoca. Причина: описка
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy
Модераторы: NeKotZima
Время создания страницы: 0.288 секунд