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

Project1

 找回密码
 注册会员
搜索
查看: 870|回复: 4

[推荐问答] 如何根据触发条件决定后期选项

[复制链接]

Lv1.梦旅人

梦石
0
星屑
134
在线时间
812 小时
注册时间
2012-4-2
帖子
1871

开拓者

发表于 2015-12-9 23:17:40 | 显示全部楼层 |阅读模式

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

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

x
假设前期有四个对话需要触发,根据剧情发展到后期会有一次对话中出现四个选项分支,和之前需要触发的四个对话是一对一的关系。
如果之前有没触发的对话,那么后期选项中对应的选项就不会显示。
即前期ABCD四个对话,后期ABCD四个选项。 如果前期B对话没有触发,那么后期发生这次对话选择时就没有B选项。
请问以上描述应如何实现?

评分

参与人数 1星屑 +135 收起 理由
myownroc + 135 手动认可+推荐回答

查看全部评分


人总是在进步的!

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

发表于 2015-12-10 10:19:48 | 显示全部楼层
前面的选项里加个变量,有触发就变量+1
后期选项条件分歧判断变量,决定是否选项出现
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
441
在线时间
227 小时
注册时间
2015-2-23
帖子
241
发表于 2015-12-10 13:26:39 | 显示全部楼层
ABCD四个开关,对话A打开开关A,对话B打开开关B,,,,
后面选项根据四个开关来条件就行了。
制作XP特效,找我。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
7768
在线时间
2674 小时
注册时间
2008-9-5
帖子
3523

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

发表于 2015-12-10 15:34:47 | 显示全部楼层
本帖最后由 cinderelmini 于 2015-12-10 18:27 编辑

不管怎么想,后期都是要用命去弄分歧的样子……
不过稍微偷懒点的办法是这样吧:
前面每个对话都放个开关(姑且用1~4号),
后期选项分歧的时候:
条件分歧:脚本:$game_switches[1] && $game_switches[2] && $game_switches[3] &&$game_switches[4]
# 4个选项都触发的场合
其他的情况
条件分歧:脚本:$game_switches[1] && $game_switches[2] && $game_switches[3]
# 3个选项触发的场合1
其他的情况
条件分歧:脚本:$game_switches[1] && $game_switches[2] && $game_switches[4]
# 3个选项触发的场合2
其他的情况
条件分歧:脚本:$game_switches[2] && $game_switches[3] && $game_switches[4]
# 3个选项触发的场合3
其他的情况
条件分歧:脚本:$game_switches[1] && $game_switches[2]
# 2个选项触发的场合1
其他的情况
条件分歧:脚本:$game_switches[1] && $game_switches[3]
# 2个选项触发的场合2
其他的情况
条件分歧:脚本:$game_switches[1] && $game_switches[4]
# 2个选项触发的场合3
其他的情况
条件分歧:脚本:$game_switches[2] && $game_switches[3]
# 2个选项触发的场合4
其他的情况
条件分歧:脚本:$game_switches[2] && $game_switches[4]
# 2个选项触发的场合5
其他的情况
条件分歧:脚本:$game_switches[3] && $game_switches[4]
# 2个选项触发的场合6
其他的情况
条件分歧:脚本:$game_switches[1]
# 1个选项触发的场合1
其他的情况
条件分歧:脚本:$game_switches[2]
# 1个选项触发的场合2
其他的情况
条件分歧:脚本:$game_switches[3]
# 1个选项触发的场合3
其他的情况
条件分歧:脚本:$game_switches[4]
# 1个选项触发的场合4
其他的情况
结束
结束
结束
结束
结束
结束
结束
结束
结束
结束
结束
结束
结束
结束
。。。就这样吧。。。
看着眼晕………………

点评

哎?这样一想好像真可以…………  发表于 2015-12-11 22:20
用变量每一段数值代表一段剧情。比如1-10,11-20,21-30  发表于 2015-12-11 21:04
用变量还是得考虑所有结果嘛,不然后面判断咋办呢?对话A变量+1,对话C变量+1,后面判断变量>=2显示A和B选项不就出错了?  发表于 2015-12-11 20:37
我觉得用变量就好了,不用开那么多开关,判断变量来判断是什么结果。  发表于 2015-12-11 20:11
是哇…………但是……看了一眼XP的设置选择项的代码……窝默默滚出来想想肿么弄事件了……  发表于 2015-12-10 19:38

评分

参与人数 1星屑 +66 收起 理由
myownroc + 66 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
710 小时
注册时间
2013-7-26
帖子
52
发表于 2015-12-11 18:43:17 | 显示全部楼层
本帖最后由 sky40 于 2015-12-11 18:55 编辑

  1.   #--------------------------------------------------------------------------
  2.   # ● 设置选择项
  3.   #--------------------------------------------------------------------------
  4.   def setup_choices(parameters)
  5.   
  6.     # choice_max 为设置选择项的项目数
  7.     $game_temp.choice_max = parameters[0].size

  8.     # message_text 为设置选择项
  9.     a = 0
  10.     t = [0,0,0,0]
  11.     for text in parameters[0]
  12.       k = text.split(/@/)[1]
  13.       if k == nil or $game_switches[k.to_i]
  14.          $game_temp.message_text += text.split(/@/)[0] + "\n"
  15.        else
  16.          t[a] = 1
  17.          $game_temp.choice_max -= 1
  18.        end
  19.        a += 1
  20.     end

  21.     s = []
  22.     d = 0
  23.     for i in 0...4
  24.        if t[i] == 0
  25.           s += [d]
  26.        else
  27.           d += 1
  28.        end
  29.     end

  30.     for i in 0...5-s.size  
  31.        s += [0]
  32.     end
  33.   
  34.     # 设置取消的情况的处理
  35.     $game_temp.choice_cancel_type = parameters[1]
  36.     # 返回调用设置
  37.     current_indent = @list[@index].indent   
  38.     $game_temp.choice_proc = Proc.new { |n| @branch[current_indent] = n + s[n]  }
  39.   end
复制代码
脚本替换:
Interpreter 1 里的 设置选择项 这段
事件设置:
选项[email protected]
选项b
选项[email protected]
选项d
1号开关打开时 显示 选项a
21号开关打开时 显示 选项c
选项b 选项d 后面没有@ 则一直显示

条件选项.rar

189.11 KB, 下载次数: 33

评分

参与人数 3星屑 +40 梦石 +1 收起 理由
myownroc + 1 认可答案
DyingCat + 20 认可答案
渺缈孤舟客 + 20 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2021-10-18 09:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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