Project1

标题: 请问如何制作一个状态:禁止使用物品,谢谢! [打印本页]

作者: 樱桃丸子aab    时间: 2017-10-12 22:14
标题: 请问如何制作一个状态:禁止使用物品,谢谢!
本帖最后由 樱桃丸子aab 于 2017-10-19 17:36 编辑

请问如何制作一个状态:禁止使用物品,谢谢!

【问题已更新,请看3楼】

作者: SailCat    时间: 2017-10-12 23:35
请插到Main之前
RUBY 代码复制
  1. class Scene_Battle
  2.  
  3.   ST_SEAL_ATTACK = 17   # 不能使用攻击的状态ID
  4.   ST_SEAL_SKILL = 18    # 不能使用特技的状态ID
  5.   ST_SEAL_DEFEND = 19   # 不能使用防御的状态ID
  6.   ST_SEAL_ITEM = 20     # 不能使用道具的状态ID
  7.   ST_SEAL = [ST_SEAL_ATTACK, ST_SEAL_SKILL, ST_SEAL_DEFEND, ST_SEAL_ITEM]
  8.  
  9.   unless method_defined? :sailcat_phase3_setup_command_window
  10.     alias sailcat_phase3_setup_command_window phase3_setup_command_window
  11.     alias sailcat_update_phase3_basic_command update_phase3_basic_command
  12.   end
  13.  
  14.   def phase3_setup_command_window
  15.     sailcat_phase3_setup_command_window
  16.     4.times do |i|
  17.       if @active_battler.state?(ST_SEAL[i])
  18.         @actor_command_window.disable_item(i)
  19.       else
  20.         normal_color = @actor_command_window.normal_color
  21.         @actor_command_window.draw_item(i, normal_color)
  22.       end
  23.     end
  24.   end
  25.  
  26.   def update_phase3_basic_command
  27.     if Input.trigger?(Input::C) and @active_battler.state?(ST_SEAL[@actor_command_window.index])
  28.       $game_system.se_play($data_system.buzzer_se)
  29.       return
  30.     end
  31.     sailcat_update_phase3_basic_command
  32.   end
  33.  
  34. end



作者: 樱桃丸子aab    时间: 2017-10-19 17:20
本帖最后由 樱桃丸子aab 于 2017-10-19 19:57 编辑
SailCat 发表于 2017-10-12 23:35
请插到Main之前class Scene_Battle
  
  ST_SEAL_ATTACK = 17   # 不能使用攻击的状态ID

这个确实可用,但是当禁止使用物品时,按钮没有显示成灰色的disabled,望改进,谢谢!

经过检查是因为我的Scene_Battle1修改过,我用过以下脚本,导致无法disabled,我将范例工程传上来了


整合.rar

191.45 KB, 下载次数: 71






欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1