通过使用“容器”,就可以从游戏的大量数据中筛选出自己需要的数据。
这里需要运用五项脚本命令。
容器设定 选定放入容器的数据种类。 容器限定 对容器内的数据进行筛选。 容器除外 从容器中排除特定数据。 容器排列 对容器内的数据进行排序。 容器选择 提取容器内排在开头的数据。
※ 点击上述命令名称,可以查看详细说明。通过以下示例学习可以使用容器完成哪些操作吧。
例如,由信长评定家臣中武力最高的武将。
例:使用容器提取武力排名第一的武将
太阁立志传5事件源码 章节:{ 事件:发布!武力第一名之卷{ 属性:仅限一次 发生时机:评定开始时(织田信长) 发生条件:{ } 脚本:{ 对话:(织田信长,家童)[[评定之前,\n有事情要向各位宣布。]] 赋值大名家A:(大名家::织田信长)//准备 容器设定:(人物,类别,武将) //为排除事件人物和町人,将类别限定为武将 //此时容器内收入了全武将960人+新武将40人,总计1000人 容器除外:(人物,死亡标识,死亡) //排除已死亡的武将 容器限定:(人物,出现标识,已出现) //只保留已出现的武将 容器限定:(人物,所属大名家,大名家A) //只保留织田家的武将 //此时容器内收入了生存、已出现的所有织田家武将 //如果想要知道具体人数…… 赋值a:(容器计数) 对话:(织田信长,家童)[[当前隶属本家的武将共有\n<a>人……]] 调查:(容器计数)>(0) //不可能为0,但还是查询一下 分支:(真){ 容器排列:(人物,武力,降序) //可以用“降序”从高到低排列,或用“升序”从低到高排列 容器选择:(人物A,开头) //从排序完成的容器中,提取开头数据的命令 调查:(人物A)==(织田信长) 分支:(真){ //并未排除信长,也可以是本人 对话:(织田信长,家童)[[武力最高的是……老朽!\n哇哈哈!]] } 分支:(伪){ 对话:(织田信长,家童)[[武力最高的是……\n(人物A)!\n厉害!]] } } 分支:(伪){ //织田家一个人也没有=不可能存在的分支 对话:(织田信长,家童)[[真令人难过……]] } 对话:(织田信长,家童)[[罢了,继续评定吧!]] } } }根据上述示例的步骤,
1.将“所有人物”的数据放入容器;
2.将容器内的数据筛选除“织田家现存武将”;
3.按照“武力从高到低”的顺序对容器内的数据进行排序;
4.将容器内最开头的数据提取出来。
以上。● 将数据放入容器
使用容器时,首先可以通过“容器设定”来设定提取数据的大致范围。
容器设定:(○○,△△,□□)
◎ “○○”填写数据种类(类名)。
◎ “△△”填写属性。
◎ “□□”填写具体数据名(条件)。
容器设定示例
容器设定:(城,所属大名家,织田信长) //↑将织田家的所有城放入容器 容器设定:(城,城主,织田信长) //↑将织田信长的居城和所有直辖城放入容器 容器设定:(忍者众,存在,真) //↑将现存的所有忍者众放入容器 容器设定:(人物,类别,武将) //↑将事件人物和町人以外的所有人物放入容器
◎ 人物类别“武将”指的是拥有特定姓名的人物,而非町人等泛用人物。请注意,这里并非特指“武士”。● 筛选容器内的数据
可以使用“容器限定”、“容器除外”,将没用的数据从通过“容器设定”放入容器的数据中排除出去。
“容器限定”是只保留所设数据的命令。
“容器除外”是只排除所设数据的命令。
容器限定:(○○,△△,□□) 容器除外:(○○,△△,□□)
◎ 格式与“容器设定”一样。● 排列容器内的数据
放入容器的数据可以根据特定条件进行排序。
排列时,需要使用“容器排列”。
容器排列:(○○,△△,□□)
◎ “○○”填写数据种类(类名)。
◎ “△△”填写属性。
◎ “□□”填写“升序”或“降序”。● 取出容器内的数据
取出容器内排在开头或末尾的数据。
取出数据时,需要使用“容器选择”。
容器选择:(○○,△△)
◎ “○○”填写赋值变量(「“人物A”“大名家B”“城C”等)。
◎ “□□”填写“开头”或“末尾”。● 统计容器内的数据
统计放入容器的数据数量。
统计数据数量时,需要使用以下格式。
赋值a:(容器计数)
◎ 容器内的数据数量会被填入上述示范的变量“a”。