Project1

标题: 【RMXP】我修改的这段脚本差一个变量的定义,请大家看一下 [打印本页]

作者: z121310    时间: 2017-12-29 17:49
标题: 【RMXP】我修改的这段脚本差一个变量的定义,请大家看一下
本帖最后由 z121310 于 2017-12-29 17:51 编辑
  1.   def update_status
  2.     # 按下 B 键的情况下
  3.     if Input.trigger?(Input::B)
  4.       # 演奏取消 SE
  5.       $game_system.se_play($data_system.cancel_se)
  6.       # 激活命令窗口
  7.       @command_window.active = true
  8.       @status_window.active = false
  9.       @status_window.index = -1
  10.       return
  11.     end
  12.     # 按下 C 键的情况下
  13.     if Input.trigger?(Input::C)
  14.       # 命令窗口的光标位置分支
  15.       case @command_window.index
  16.       when 1  # 特技
  17.         # 本角色的行动限制在 2 以上的情况下
  18.         if $game_party.actors[@status_window.index].restriction >= 2
  19.           # 演奏冻结 SE
  20.           $game_system.se_play($data_system.buzzer_se)
  21.           return
  22.         end
  23.         # 演奏确定 SE
  24.         $game_system.se_play($data_system.decision_se)
  25.         # 切换到特技画面
  26.         $scene = Scene_Skill.new(@status_window.index)
  27.       when 2  # 装备
  28.         # 演奏确定 SE
  29.         $game_system.se_play($data_system.decision_se)
  30.         # 切换的装备画面
  31.         $scene = Scene_Equip.new(@status_window.index)
  32.       when 3  # 对话
  33.         # 演奏确定 SE
  34.         $game_system.se_play($data_system.decision_se)
  35.         # 切换的对话画面
  36.         $window_status.actor = @actor_id
  37.         case $window_status.actor
  38.         when 1 #自言自语
  39.           $game_temp.common_event_id = 1
  40.           $scene = Scene_Map.new
  41.         when 2 #时宗
  42.           $game_temp.common_event_id = 2
  43.           $scene = Scene_Map.new
  44.         when 3 #政子
  45.           $game_temp.common_event_id = 3
  46.           $scene = Scene_Map.new
  47.         end
  48.       when 4  # 状态
  49.         # 演奏确定 SE
  50.         $game_system.se_play($data_system.decision_se)
  51.         # 切换到状态画面
  52.         $scene = Scene_Status.new(@status_window.index)
  53.       end
  54.       return
  55.     end
  56.   end
  57. end
复制代码


我在Scene_menu里加了个“对话”的选项,也就是菜单里可以选择和不同的队友对话。这段脚本预期实现的效果是,假定有A(主角)BC三人,id分别是1,2,3,当选择到的人物id = 1时,执行1号公共事件,以此类推。现在我找不到定义角色id的量,请问各位怎么看。或者有其他可以选择人物对话的定义没。
作者: 袁娥韵    时间: 2017-12-30 14:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: guoxiaomi    时间: 2017-12-31 11:55
获取队伍里第index个角色的ID
  1. id = $game_party.actors[index].id
复制代码



作者: 芯☆淡茹水    时间: 2018-1-2 15:33
本帖最后由 芯☆淡茹水 于 2018-1-2 15:35 编辑

when 3  # 对话
   actor = $game_party.actors[@status_window.index]
   return if !actor || !$data_common_events[actor.id]
   $game_system.se_play($data_system.decision_se)
   $game_temp.common_event_id = actor.id
   $scene = Scene_Map.new
end




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