标签的定义

 那么,在学习使用选择支之前,首先必须要对标签进行说明。
 如果要让玩家进行选择,就必须控制选择之后,跳跃到对应的剧本继续执行。这时候,控制这种跳转的标记,就是标签。

 标签是行头标记有 * 符号的一行。到现在为止的范例中已经出现一些标签了。比如说・・・

[wait time=200]
*start|开始
[cm]
你好。

 像这样。这种情况下,这里就定义了这样一个标签 *start 。而 | (竖线) 以后的 "|开始" 代表什么意思,这点会在教程的其他部分 ( → 存储・读取 ) 进行说明。| 后面不写东西也没有关系。

 标签的名字可以随意指定,当然使用半角英文是绝对保险的。此外,标签名的话,请不要使用半角空格。(译注:使用中文也没有关系,我喜欢这点XDD)

 标签的功能,除了标记剧本跳转的位置以外,也代表着存储・读取的位置。这里 | (竖线) 的功能也一起在其他部分里解释。

选择支的使用

 KAG 中,选择支的感觉接近“超级链接”。
 要定义一个选项,需要用到 linkendlink 这样的指令。这两个指令中间夹着的文字,可以用鼠标或者键盘进行选择。单击鼠标、或者按下键盘的 Enter 键,将会跳转到对应选项 link 指令 target 属性指向的标签,继续执行。
 还有,等待玩家选择,剧本段的末尾停止执行的时候,需要使用 [s] 指令。点下窗口菜单上的「前进到下一选择支」后,将会快进到下一个 [s] 为止。
 使用这些指令,就可以像下面的例子那样制作选择支了。target= 的后面 * (星号) 是必要的。还有,对应的标签的| (竖线) 以后的文字,在指定 target 属性时没有必要写上。


[wait time=200]
*start|开始
[cm]
[link target=*select1]选择支1[endlink][r]
[link target=*select2]选择支2[endlink][r]
[link target=*select3]选择支3[endlink][r]
[s]


*select1
你选择了选择支1。[l]
[s]

*select2
你选择了选择支2。[l]
[s]

*select3
你选择了选择支3。[l]
[s]

 像上面这样实行的话,即使进行选择以后,选项也不会消失。
 想要让选项在选择后消失的话,通常在跳转到的标签之后,使用 [cm] 指令。

[wait time=200]
*start|スタート
[cm]
[link target=*select1]选择支1[endlink][r]
[link target=*select2]选择支2[endlink][r]
[link target=*select3]选择支3[endlink][r]
[s]


*select1
[cm]
你选择了选择支1。。[l]
[s]

*select2
[cm]
你选择了选择支2。。[l]
[s]

*select3
[cm]
你选择了选择支3。。[l]
[s]



../j/contents/Diverge.png
选择支范例


Note
     选择支一旦被选择后,在新的选择支被定义前,或者使用unlocklink 指令前,将无法再次选择。
     还有,要想使当前画面上的可用选择支无效化的话,使用 locklink 指令。
     一般的情况下不用在意这些啦。

有2个以上剧本档的情况

 为管理方便,我想大家或许会使用到两个以上的剧本档,选择之后,想要跳转到其他剧本档执行的话,要怎么办呢?
 答案很简单,利用 link 指令的 storage 属性。比如说,准备了一个名为 scn2.ks 的剧本档、里面有 *scn2start 这样一个标签・・・。

[link storage="scn2.ks" target=*scn2start]scn2.ks 的 scn2start[endlink]


这么写的话。在点下这个选择支之后,就会读入 scn2.ks 剧本档,跳跃到 *scn2start 这一标签。

其他非选择情况下进行剧本跳转相关

 不使用选择,单纯跳跃到其他剧本档/标签继续执行的话,使用 jump 指令。
 还有, link 指令也拥有点击后执行 TJS ( 不通过KAG,吉里吉里能直接理解的脚本 ) 式的功能。(译注:使用 exp 属性,点击后先执行对应 exp ,再进行标签跳跃等)  此外,button 指令则是为不使用文字选项,改为点选图片的情况准备的。
 具体请参照 Reference