设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 4732|回复: 23

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

[复制链接]

Lv2.观梦者

秀才

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

贵宾

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

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

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

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

我的基本思路是,在菜单界面多出一个对话选项,可以选择和队友对话,当判定选择某个队友时,出现一个对话的公共事件,可以选择交谈\交手\解雇三个选项,请问这个过程如何操作?

Lv5.捕梦者

梦石
0
星屑
33043
在线时间
10470 小时
注册时间
2009-3-15
帖子
4756
发表于 2017-12-28 18:34:44 | 显示全部楼层
交谈/咬/抱过去/解掉衣帶..
回复 支持 反对

使用道具 举报

Lv2.观梦者

秀才

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

贵宾

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

这……………………
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
25275
在线时间
1535 小时
注册时间
2006-1-10
帖子
2063

开拓者第一届地图绘制大赛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^/
我的游戏
回复 支持 反对

使用道具 举报

Lv2.观梦者

秀才

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

贵宾

 楼主| 发表于 2017-12-29 17:01:10 | 显示全部楼层
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号公共事件。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33043
在线时间
10470 小时
注册时间
2009-3-15
帖子
4756
发表于 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
回复 支持 反对

使用道具 举报

Lv2.观梦者

秀才

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

贵宾

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

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

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

使用道具 举报

Lv5.捕梦者

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

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

点评

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

使用道具 举报

Lv2.观梦者

秀才

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

贵宾

 楼主| 发表于 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
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33043
在线时间
10470 小时
注册时间
2009-3-15
帖子
4756
发表于 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

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-3-29 17:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表