Project1

标题: 物品的使用限制,战斗增加待机选项和菜单的修改 [打印本页]

作者: piprince    时间: 2014-4-17 17:50
标题: 物品的使用限制,战斗增加待机选项和菜单的修改
本帖最后由 piprince 于 2014-4-19 14:02 编辑

我想设定
例如A,B,C三人,A使用药品回血,只能选择用在B身上,C的选择是灰掉的。

然后是有没有办法在战斗选项里,除了攻击防御魔法物品外,新增一个待机,选择待机的话这个角色是不会做任何事情(PS:我不用横版战斗的)

最后是,能把菜单里的"队伍更换"撤走吗?或是从游戏开始到游戏的最后都无法点选都可以。

感谢~^^
作者: piprince    时间: 2014-4-18 13:23
第一和第三个问题已解决~
问题只剩下待机了
我有想过在脚本里加个wait或者什么的,可是修过完之后不是没变化就是有问题
作者: sh0016    时间: 2014-4-19 07:04
其实这种追加指令的脚本很多,一搜一大步的,但结果还是自己试写了一段→ →
6行是指令名称,默认用”待机“;32行是指定技能ID,这里默认用了3号。
待机用的技能留空白也是没问题的。缺少了什么欢迎补充。
  1. #==============================================================================
  2. # ■ Vocab
  3. #==============================================================================

  4. module Vocab
  5.   Standby = "待机"
  6. end

  7. #==============================================================================
  8. # ■ Game_Action
  9. #==============================================================================

  10. class Game_Action
  11.   #--------------------------------------------------------------------------
  12.   # ● 设置待机
  13.   #--------------------------------------------------------------------------
  14.   def set_standby
  15.     set_skill(subject.standby_skill_id)
  16.     self
  17.   end
  18. end

  19. #==============================================================================
  20. # ■ Game_BattlerBase
  21. #==============================================================================

  22. class Game_BattlerBase
  23.   #--------------------------------------------------------------------------
  24.   # ● 获取普通攻击的技能 ID
  25.   #--------------------------------------------------------------------------
  26.   def standby_skill_id
  27.     return 3
  28.   end
  29. end

  30. #==============================================================================
  31. # ■ Window_ActorCommand
  32. #==============================================================================

  33. class Window_ActorCommand < Window_Command
  34.   #--------------------------------------------------------------------------
  35.   # ● 生成指令列表
  36.   #--------------------------------------------------------------------------
  37.   alias default_make_command_list make_command_list
  38.   def make_command_list
  39.     default_make_command_list
  40.     add_standby_command
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 添加待机指令
  44.   #--------------------------------------------------------------------------
  45.   def add_standby_command
  46.     add_command(Vocab::Standby, :standby)
  47.   end
  48. end

  49. #==============================================================================
  50. # ■ Scene_Battle
  51. #==============================================================================

  52. class Scene_Battle < Scene_Base
  53.   #--------------------------------------------------------------------------
  54.   # ● 生成角色指令窗口
  55.   #--------------------------------------------------------------------------
  56.   alias default_create_actor_command_window create_actor_command_window
  57.   def create_actor_command_window
  58.     default_create_actor_command_window
  59.     @actor_command_window.set_handler(:standby,  method(:command_standby))
  60.   end
  61.   #--------------------------------------------------------------------------
  62.   # ● 指令“待机”
  63.   #--------------------------------------------------------------------------
  64.   def command_standby
  65.     BattleManager.actor.input.set_standby
  66.     next_command
  67.   end
  68. end
复制代码
还有另一种解决办法是用YF的战斗系统,可以不给成员选择任何行动直接跳过,基本上相当于待机。
作者: piprince    时间: 2014-4-19 14:02
sh0016 发表于 2014-4-19 07:04
其实这种追加指令的脚本很多,一搜一大步的,但结果还是自己试写了一段→ →
6行是指令名称,默认用”待机 ...

成功了~~真的很謝謝你~




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