Project1

标题: 请问如何制作一个菜单对话脚本 [打印本页]

作者: z121310    时间: 2017-12-28 18:13
标题: 请问如何制作一个菜单对话脚本
本帖最后由 z121310 于 2017-12-30 00:39 编辑

我的基本思路是,在菜单界面多出一个对话选项,可以选择和队友对话,当判定选择某个队友时,出现一个对话的公共事件,可以选择交谈\交手\解雇三个选项,请问这个过程如何操作?
作者: soulsaga    时间: 2017-12-28 18:34
交谈/咬/抱过去/解掉衣帶..
作者: z121310    时间: 2017-12-28 20:19
soulsaga 发表于 2017-12-28 18:34
交谈/咬/抱过去/解掉衣帶..

这……………………
作者: king    时间: 2017-12-29 10:18
本帖最后由 king 于 2017-12-29 13:39 编辑

菜单界面 默认菜单  增加选项 涉及脚本——
Window_MenuCommand    (增加选项)   
Scene_Menu     (使用选项)

可以选择和队友对话:这个理解为何选择右边角色那一栏,那可能的脚本是 Scene_Status  队伍角色判断……不懂

如果我制作,我应该是全部用公共事件来制作
建议看看这个,有教如何制作的系统菜单,按照自己的意思设计一个
https://rpg.blue/thread-379188-1-1.html


作者: z121310    时间: 2017-12-29 17:01
king 发表于 2017-12-29 10:18
菜单界面 默认菜单  增加选项 涉及脚本——
Window_MenuCommand    (增加选项)   
Scene_Menu     (使 ...

我是想脚本和公共事件结合起来,做到不同的人说不同的话。

RUBY 代码复制
  1. # 按下 C 键的情况下
  2.     if Input.trigger?(Input::C)
  3.       # 命令窗口的光标位置分支
  4.       case @command_window.index
  5.       when 1  # 特技
  6.         # 本角色的行动限制在 2 以上的情况下
  7.         if $game_party.actors[@status_window.index].restriction >= 2
  8.           # 演奏冻结 SE
  9.           $game_system.se_play($data_system.buzzer_se)
  10.           return
  11.         end
  12.         # 演奏确定 SE
  13.         $game_system.se_play($data_system.decision_se)
  14.         # 切换到特技画面
  15.         $scene = Scene_Skill.new(@status_window.index)
  16.       when 2  # 装备
  17.         # 演奏确定 SE
  18.         $game_system.se_play($data_system.decision_se)
  19.         # 切换的装备画面
  20.         $scene = Scene_Equip.new(@status_window.index)
  21.       when 3  # 对话
  22.         # 演奏确定 SE
  23.         $game_system.se_play($data_system.decision_se)
  24.         # 切换的对话画面
  25.         $window_status.actor = @actor_id
  26.         case $window_status.actor
  27.         when 1 #自言自语
  28.           $game_temp.common_event_id = 1
  29.           $scene = Scene_Map.new
  30.         when 2 #时宗
  31.           $game_temp.common_event_id = 2
  32.           $scene = Scene_Map.new
  33.         when 3 #政子
  34.           $game_temp.common_event_id = 3
  35.           $scene = Scene_Map.new
  36.         end
  37.       when 4  # 状态
  38.         # 演奏确定 SE
  39.         $game_system.se_play($data_system.decision_se)
  40.         # 切换到状态画面
  41.         $scene = Scene_Status.new(@status_window.index)
  42.       end
  43.       return
  44.     end
  45.   end
  46. end


这是我在Scene_Menu里改的一段,对话这个菜单选项被放到了装备和状态之间,我的思路是,假设有ABC三人,A是主角,id为1,以此类推,现在在脚本里做一个条件分歧,当菜单中选择到的角色id = 2(即B)时,触发2号公共事件,= 3时,触发与C对话的3号公共事件。
作者: soulsaga    时间: 2017-12-29 17:12
LZ你需要脚本扏行公共事件的语句..快去搜吧..
作者: z121310    时间: 2017-12-29 17:20
soulsaga 发表于 2017-12-29 17:12
LZ你需要脚本扏行公共事件的语句..快去搜吧..

我有啊,下面就是脚本里执行一号事件的语句。

  1.         when 1 #自言自语
  2.           $game_temp.common_event_id = 1
复制代码

作者: soulsaga    时间: 2017-12-29 20:09
本帖最后由 soulsaga 于 2017-12-29 20:30 编辑

RUBY 代码复制
  1. $game_party.actors[@status_window.index].id

作者: z121310    时间: 2017-12-29 21:09
soulsaga 发表于 2017-12-29 20:09
$game_party.actors[@status_window.index].id[/pre]

请您看看

菜单对话.rar

188.4 KB, 下载次数: 69


作者: soulsaga    时间: 2017-12-29 22:12
Scripts.zip (119.75 KB, 下载次数: 78)
你自己研究..

作者: guoxiaomi    时间: 2017-12-31 11:56
调用公共事件可以设置自动执行的事件然后打开开关就好了~




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