Project1

标题: 请教大神,rmxp的一些代码,mz该怎么写出来 [打印本页]

作者: mkl7788    时间: 7 天前
标题: 请教大神,rmxp的一些代码,mz该怎么写出来
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 转向前一个角色的命令输入
  3.   #--------------------------------------------------------------------------
  4.   def phase3_prior_actor
  5.     # 循环
  6.     begin
  7.       # 角色的明灭效果 OFF
  8.       if @active_battler != nil
  9.         @active_battler.blink = false
  10.       end
  11.       # 最初的角色的情况下
  12.       if @actor_index == 0
  13.         # 开始同伴指令回合
  14.         start_phase2
  15.         return
  16.       end
  17.       # 返回角色索引
  18.       @actor_index -= 1
  19.       @active_battler = $game_party.actors[@actor_index]
  20. #----------------------------------------
  21.     if @active_battler != nil and @active_battler.current_action.skill_id != 0
  22.         @active_battler.current_action.skill_id = 0
  23.       end
  24. #----------------------------------------
  25.       @active_battler.blink = true
  26.     # 如果角色是在无法接受指令的状态就再试
  27.     end until @active_battler.inputable?
  28.     # 设置角色的命令窗口
  29.     phase3_setup_command_window
  30.   end



上面这段是rmxp里面的代码 ,如果用mz该怎么写出来呢
@active_battler.current_action.skill_id

作者: fux2    时间: 7 天前
mkl7788 发表于 2024-11-10 10:23
是获取上一个角色行动的技能ID,不是当前技能ID

那你可以直接使用
  1. $gameTemp.lastActionData(0)
复制代码

来获得,但需要提醒的是这和你主楼的代码显然不是一个意图
作者: fux2    时间: 5 天前
如果你是问整段代码的话,没法用mz写出来,架构不一样,直接转js也没啥意义不能运行
如果只是单纯想取得当前行动的技能ID的话可以直接取
  1. BattleManager._action.item().id;
复制代码


需要注意的是这么取的是当前行动使用的道具/技能ID
你可能还要先判断行动是否是个技能
  1. BattleManager._action.isSkill();
复制代码

作者: mkl7788    时间: 5 天前
fux2 发表于 2024-11-10 00:16
如果你是问整段代码的话,没法用mz写出来,架构不一样,直接转js也没啥意义不能运行
如果只是单纯想取得当 ...

是获取上一个角色行动的技能ID,不是当前技能ID




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