查看: 6041|回复: 23

[已经解决] 请问如何制作一个菜单对话脚本

[复制链接]

秀才

梦石
0
星屑
587
在线时间
156 小时
注册时间
2008-7-23
回帖
233

贵宾

发表于 2017-12-28 18:13:27 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 z121310 于 2017-12-30 00:39 编辑

我的基本思路是,在菜单界面多出一个对话选项,可以选择和队友对话,当判定选择某个队友时,出现一个对话的公共事件,可以选择交谈\交手\解雇三个选项,请问这个过程如何操作?
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2017-12-28 18:34:44 | 显示全部楼层
交谈/咬/抱过去/解掉衣帶..
回复

使用道具 举报

秀才

梦石
0
星屑
587
在线时间
156 小时
注册时间
2008-7-23
回帖
233

贵宾

 楼主| 发表于 2017-12-28 20:19:02 | 显示全部楼层
soulsaga 发表于 2017-12-28 18:34
交谈/咬/抱过去/解掉衣帶..

这……………………
回复

使用道具 举报

梦石
0
星屑
29220
在线时间
1535 小时
注册时间
2006-1-10
回帖
1898

开拓者第一届地图绘制大赛RTP组第四名

发表于 2017-12-29 10:18:22 | 显示全部楼层
本帖最后由 king 于 2017-12-29 13:39 编辑

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

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

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

评分

参与人数 1赞 +1 收起 理由
z121310 + 1 也很感谢你

查看全部评分

MV帮助 http://miaowm5.github.io/RMMV-F1/日复一日,年复一年人还是保留一点自我兴趣的好啊~~~忘记过去 ,这样我就可以  放弃未来了……哭~~终于找回以前的头像了,哎~~原来我是那么的想念阿……
画地图没灵感?很烦?很无聊 【 戳 我 】一 大 波 地 图 在 等 你  \^0^/
我的游戏
回复

使用道具 举报

秀才

梦石
0
星屑
587
在线时间
156 小时
注册时间
2008-7-23
回帖
233

贵宾

 楼主| 发表于 2017-12-29 17:01:10 | 显示全部楼层
king 发表于 2017-12-29 10:18
菜单界面 默认菜单  增加选项 涉及脚本——
Window_MenuCommand    (增加选项)   
Scene_Menu     (使 ...

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

[pre lang="ruby"]# 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 命令窗口的光标位置分支
      case @command_window.index
      when 1  # 特技
        # 本角色的行动限制在 2 以上的情况下
        if $game_party.actors[@status_window.index].restriction >= 2
          # 演奏冻结 SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到特技画面
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # 装备
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换的装备画面
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # 对话
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换的对话画面
        $window_status.actor = @actor_id
        case $window_status.actor
        when 1 #自言自语
          $game_temp.common_event_id = 1
          $scene = Scene_Map.new
        when 2 #时宗
          $game_temp.common_event_id = 2
          $scene = Scene_Map.new
        when 3 #政子
          $game_temp.common_event_id = 3
          $scene = Scene_Map.new
        end
      when 4  # 状态
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到状态画面
        $scene = Scene_Status.new(@status_window.index)
      end
      return
    end
  end
end
[/pre]

这是我在Scene_Menu里改的一段,对话这个菜单选项被放到了装备和状态之间,我的思路是,假设有ABC三人,A是主角,id为1,以此类推,现在在脚本里做一个条件分歧,当菜单中选择到的角色id = 2(即B)时,触发2号公共事件,= 3时,触发与C对话的3号公共事件。
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2017-12-29 17:12:14 | 显示全部楼层
LZ你需要脚本扏行公共事件的语句..快去搜吧..

点评

选项选择角色,如果还要判定该人物在不在队伍里来变化选项就太麻烦了。还不如找到脚本里的人物id  发表于 2017-12-29 17:33
选项选择角色..  发表于 2017-12-29 17:30
不对啊..直接选中命令调用公共事件..弹出选项你再判断嘛..  发表于 2017-12-29 17:28
也就是菜单里选中某个角色后,判定该角色id为x,执行x号公共事件  发表于 2017-12-29 17:21
我缺的是判定角色id的语句  发表于 2017-12-29 17:20
回复

使用道具 举报

秀才

梦石
0
星屑
587
在线时间
156 小时
注册时间
2008-7-23
回帖
233

贵宾

 楼主| 发表于 2017-12-29 17:20:01 | 显示全部楼层
soulsaga 发表于 2017-12-29 17:12
LZ你需要脚本扏行公共事件的语句..快去搜吧..

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

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

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2017-12-29 20:09:21 | 显示全部楼层
本帖最后由 soulsaga 于 2017-12-29 20:30 编辑

[pre lang="ruby"]$game_party.actors[@status_window.index].id[/pre]

点评

这样吧,我发个范例,您看看  发表于 2017-12-29 21:05
忘了加ID..  发表于 2017-12-29 20:31
脚本里指向的人物ID脚本..要在哪里用呢.  发表于 2017-12-29 20:29
这是  发表于 2017-12-29 20:23
回复

使用道具 举报

秀才

梦石
0
星屑
587
在线时间
156 小时
注册时间
2008-7-23
回帖
233

贵宾

 楼主| 发表于 2017-12-29 21:09:13 | 显示全部楼层
soulsaga 发表于 2017-12-29 20:09
$game_party.actors[@status_window.index].id[/pre]

请您看看

菜单对话.rar

188.4 KB, 下载次数: 69

点评

获得id的方法是什么  发表于 2017-12-29 22:01
我改了下..可以获得ID..但是不能执 行公共事件..怎么回事?  发表于 2017-12-29 21:55
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2017-12-29 22:12:12 | 显示全部楼层
Scripts.zip (119.75 KB, 下载次数: 78)
你自己研究..

点评

非常感谢你  发表于 2017-12-29 22:36
试验成功,要调用公共事件必须添加回到地图的$scene = Scene_Map.new指令  发表于 2017-12-29 22:24

评分

参与人数 2星屑 +50 赞 +1 收起 理由
RyanBern + 50 认可答案
z121310 + 1 塞糖

查看全部评分

回复 1 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部