Project1

标题: 如何在公共事件中把指定目标指定为使用者自身? [打印本页]

作者: alianlord    时间: 2023-8-28 23:49
标题: 如何在公共事件中把指定目标指定为使用者自身?
我想设计一个战斗中角色的 功能动作  【回血】 放在  Window_ActorCommand 当一个指令使用。
因为每个队友都能使用,且【回血】这个效果就是作用在使用者本人(不用选择目标)
打算用 skill 中连接 CommonEvent(公共事件) 中的脚本框 写句脚本来实现。但是这个【把目标指向使用者】卡住俺了。
求指教。 谢谢。
作者: alexncf125    时间: 2023-8-29 04:37
啊这...这不完全是直接抄一遍自带的防御就能做到了...
  1. class Game_Action
  2.   #------------------------------------------------- -------------------------
  3.   # ● 设置回血
  4.   #------------------------------------------------- -------------------------
  5.   def set_recovery
  6.     set_skill(subject.recovery_skill_id)
  7.     self
  8.   end
  9. end

  10. class Game_BattlerBase
  11.   #------------------------------------------------- -------------------------
  12.   # ● 获取回血的技能 ID
  13.   #------------------------------------------------- -------------------------
  14.   def recovery_skill_id
  15.     return 24
  16.   end
  17.   #------------------------------------------------- -------------------------
  18.   # ● 判定是否能进行回血
  19.   #------------------------------------------------- -------------------------
  20.   def recovery_usable?
  21.     usable?($data_skills[recovery_skill_id])
  22.   end
  23. end

  24. class Window_ActorCommand < Window_Command
  25.   #------------------------------------------------- -------------------------
  26.   # ● 生成指令列表
  27.   #------------------------------------------------- -------------------------
  28.   alias :make_command_list_recovery :make_command_list
  29.   def make_command_list
  30.     make_command_list_recovery
  31.     add_recovery_command if @actor
  32.   end
  33.   #------------------------------------------------- -------------------------
  34.   # ● 添加回血指令
  35.   #------------------------------------------------- -------------------------
  36.   def add_recovery_command
  37.     add_command("回血", :recovery, @actor.recovery_usable?)
  38.   end
  39. end

  40. class Scene_Battle < Scene_Base
  41.   #------------------------------------------------- -------------------------
  42.   # ● 生成角色指令窗口
  43.   #------------------------------------------------- -------------------------
  44.   alias :create_actor_command_window_recovery :create_actor_command_window
  45.   def create_actor_command_window
  46.     create_actor_command_window_recovery
  47.     @actor_command_window.set_handler(:recovery, method(:command_recovery))
  48.   end
  49.   #------------------------------------------------- -------------------------
  50.   # ● 指令“回血”
  51.   #------------------------------------------------- -------------------------
  52.   def command_recovery
  53.     BattleManager.actor.input.set_recovery
  54.     next_command
  55.   end
  56. end
复制代码

作者: alianlord    时间: 2023-8-29 09:19
alexncf125 发表于 2023-8-29 04:37
啊这...这不完全是直接抄一遍自带的防御就能做到了...

这才是正确的思路。确实能完美解决我的需求。我一直往【写一行目标能直接指向使用者】的方向去想。看来是我路走歪了。

但是还是忍不住多问一句。真的有能使目标指向使用者的一行脚本吗?





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