属性、发生时机、发生条件

◆ 设置属性

设置完章节名称、事件名称后,需要设置事件的属性。
属性指的是该事件的发生频率。
属性的设置如下所示。

仅限一次 只发生一次的事件。
发生一次后,不会重复发生。
不限次数 可以多次发生的事件。
发生一次后,仍会重复发生。
仅限一次|低优先度 只发生一次的事件。
但如果存在发生条件相同的其他事件,
将优先触发其他事件。
不限次数|低优先度 可以多次发生的事件。
但如果存在发生条件相同的其他事件,
将优先触发其他事件。

例·属性(仅限一次、低优先度事件)

太阁立志传5事件源码

章节:{
	事件:示例事件2{
		属性:仅限一次|低优先度
		发生时机:据点内画面显示后(主角据点)
		发生条件:{
		}
		脚本:{
			旁白:[[时值<年>年<月>月……]]
			对话:(德川家康,织田信长)[[你好,\n{第二人称名字}]]
			对话:(织田信长,德川家康)[[啊,\n是{第二人称}。]]
		}
	}
}

◎“|”为全角。请注意。

◆ 设置发生时机

设置完属性后,需要设置事件的发生时机。
发生时机指的是触发事件的节点。
主要设置如下所示。

※ 除此以外的发生时机请参阅此处

室内画面显示后(据点,设施) 进入设施时。
据点内画面显示后(据点) 进入据点时。
人物对话时(人物) 主动搭话时。
移动画面选择时(据点) 准备离开据点时。
移动画面显示后(据点) 离开据点时。

◎在( )内输入具体的据点、设施、人物名称,就能识别发生的场所与人物。

例:室内画面显示后(京之町,酒馆) ……在京之町进入酒馆时。
例:移动画面选择时(清洲城) ……准备离开清洲城时。

◎在( )内输入“无效”,将不作识别。

例:移动画面显示后(无效) ……离开任意据点时。

例·发生时机(主角进入根据地时发生的事件)

太阁立志传5事件源码

章节:{
	事件:示例事件2{
		属性:仅限一次|低优先度
		发生时机:据点内画面显示后(主角据点)
		发生条件:{
		}
		脚本:{
			旁白:[[事情发生在<年>年<月>月……]]
			对话:(德川家康,织田信长)[[你好,\n{第二人称名字}。]]
			对话:(织田信长,德川家康)[[啊,\n是{第二人称}。]]
		}
	}
}

◆ 设置发生条件

设置完发生时机后,需要设置事件的发生条件。
发生条件指的是引发事件的必要条件。

◆ 设置条件

条件主要由脚本命令“调查”设置。
在“调查:”后面填写表达式,当表达式成立时,才会触发事件。
可以设置多个条件。

● 表达式的基本编写方法

“调查”使用的表达式如下所示。

发生条件:{
	调查:(○○::△△.□□)==(××)
}

◎ 表达式左右两边使用半角( )括起来。
◎ “==”代表左右“相等”。
◎ 如需将条件设为“不相等”,请使用“!=”。

发生条件:{
	调查:(人物::竹中半兵卫.所属国)!=(国::美浓)
}

◎ 上述内容意味着“人物(竹中半兵卫)的所属国”与“美浓”“不相等”。
  也就是说,条件是“竹中半兵卫并未住在美浓”。
◎ “所属国”可以替换为“所属势力”、“身份”、“名声”等。
◎ 除“人物”外,“大名家”、“城”等也可设为条件。

发生条件:{
	调查:(城::清洲.士兵数)>=(5000)
}

◎ 当右边包含数字,将使用不等号<>对数值进行比对。
◎ “>=”代表“以上”。
◎ 上述内容意味着“城(清洲城)的士兵数”在“5000以上”。

【重要】 信息的“属性”

“调查”等脚本命令中引用的数据内容为

 ○○::△△.□□

这样的表达式。

○○包括“类名”。
类名指的是“人物”、“大名家”、“城”等信息的大致分类。

△△包括“织田信长”、“清洲城”等具体条件。

□□包括“属性”。
属性指的是“性别”、“所属据点”等比类名更加细致的分类。

例如想要查询石田三成的身份时,
需要调查“人物”(类名)的“身份”(属性),

 人物::石田三成.身份

需要这样输入。
用这个表达式调查其身份是否高于侍大将时,

 调查:(人物::石田三成.身份)>=(侍大将)

需要这样输入。

>> 可以引用的类名和属性参见 此处
>> 可以用作特定条件的数据列表参见 此处


【重要】 “调查”中用到的“比较运算符”

对比左右内容时使用的“==”等符号被称作比较运算符
请注意,它的使用方法与计算所用的运算符略有不同。

A==B (A与B相同
A!=B (A与B不同
A>B (A比B
A<B (A比B
A>=B (A在B以上
A<=B (A在B以下

※ ==和!=可用于内容是文字和数字的A和B。
※ ==和!=以外只能用于内容是数字的A和B。

※ “调查”的详细讲解还可参阅此处

以下为发生条件的设置范例。

● 以主角是谁为条件

以主角是否是特定人物为条件。

例:条件为“主角是宫本武藏”

发生条件:{
	调查:(人物::主角)==(人物::宫本武藏)
}

◎ 只识别人物时,不需要输入属性。

例:条件为“主角是宫本武藏以外”

发生条件:{
	调查:(人物::主角)!=(人物::宫本武藏)
}

◎ “!=”为“不等于”,也就是并非右侧的人物。
◎ 调查主角时,还可以使用以下的省略表达式。

调查:(主角)==(宫本武蔵)

◎ 省略的表达式功能相同。

● 以人物所属势力为条件

以人物是否隶属于特定势力为条件。

例:条件为“本多忠胜是德川家康势力的所属武士”

发生条件:{
	调查:(人物::本多忠胜.所属势力类型)==(大名家)
	调查:(人物::本多忠胜.所属大名家)==(大名家::德川家康)
}

◎ 以主角所属势力为条件时,将人物名写作“主角”。

● 以人物根据地所处地点为条件

以人物自宅位于哪个据点为条件。

例:条件为“主角自宅位于京之町”

发生条件:{
	调查:(人物::主角.所属据点)==(町::京)
}

◎ 以主角以外为条件时,将“主角”替换为人物名。

● 以当前年月为条件

以游戏内的年月为条件。

例:条件为“1560年以后”

发生条件:{
	调查:(状况::年)>=(1560)
}

例:条件为“1560年8月以后”

发生条件:{
	OR调查:{
		调查:(状况::年)>=(1561)
		AND调查:{
			调查:(状况::年)==(1560)
			调查:(状况::月)>=(8)
		}//AND调查的右括号
	}//OR调查的右括号
}

◎“OR调查”指的是多个条件中,只需满足任一条件即可。
◎“AND调查”指的是多个条件需要全部满足。
◎ 上述内容意味着达到“1561年以后”或“1560年且8月以后”。

● 以剧本为条件

以开始游戏时所选剧本为条件。

例:条件为“以1568年升龙之章开始游戏”

发生条件:{
	调查:(状况::剧本)==(2)
}

◎ 右边输入剧本编号。对应剧本如下所示。


	调查:(状况::剧本)==(0)// 1554年 乱麻之章
	调查:(状况::剧本)==(1)// 1560年 日轮之章
	调查:(状况::剧本)==(2)// 1568年 升龙之章
	调查:(状况::剧本)==(3)// 1575年 霸道之章
	调查:(状况::剧本)==(4)// 1582年 转变之章
	调查:(状况::剧本)==(5)// 1598年 太平之章
	调查:(状况::剧本)==(6)// 1549年 流亡之章
	调查:(状况::剧本)==(7)// 1560年 梦幻之章
	调查:(状况::剧本)==(8)// 1584年 浪华之章


● 以是否存在特定势力为条件

以是否存在特定势力为条件。

例:条件为“武田家(信玄)灭亡、上杉家(谦信)存在”

发生条件:{
	调查:(大名家::武田信玄.存在)==(伪)
	调查:(大名家::上杉谦信.存在)==(真)
}

◎ 使用“真”、“伪”作为判定正确与否的表达式。
◎ 如为“==(真)”,可以像下面这样省略。

调查:(大名家::上杉谦信.存在)

● 以人物是否可以参加事件为条件

以特定人物是否可以参加事件为条件。
具体来说,就是要满足“在游戏内登场”、“生存”、“未出征”
这三个条件。

例:条件为“岛津义弘可以参加事件”

发生条件:{
	调查:(人物::岛津义弘.可参加事件)
}

◎ 上述内容是省略了“==(真)”的输入方式。


返回封面编写脚本(1)执行编译