KAG 中、游戏的存储・读取、是通过(*)「栞(标签)」进行的。( 对无法使用此标记的用户,请修改 MainWindow.tjs )。
关于书签的说明,也请参考一下
游戏存档文件相关 的内容。
很遗憾的是、KAG 内建的存储・读取功能还无法做到随时存档。而是需要作者自行在剧本档中加入
允许存储标签、也就是必须要设定存储・读取的「场所」。(译注:KAGeXpress内建了自动存档点,在每次使用[p]指令的时候即自动加入存储标签,因此可以做到一句一存,比较接近随时存档。)
・・・总之,虽然存储・读取本身、可以通过点击窗口菜单的「存储游戏」「读取游戏」随时进行,但存储的时候,实际上是记录了最近的一个“可存档「场所」”位置。
因此、玩家在距离「场所」较远的地方存档的话,读取的时候也只能从「场所」所在的位置开始。
至于要怎么设定这个所谓的「场所」、其实就是设定一个标签。差别只在于,允许存储标签和普通的标签,书写方式是不一样的。
请看以下的例子。
[wait time=20]
*start|开始
[cm]
游戏从这里开始[l][r]
*label2|存储场所2
[cm]
这里是存储场所2(在这里进行存储的话,读取的时候将从*label2开始的意思)[l][r]
*label3|存储场所3
[cm]
这里是存储场所3[l][r]
[jump target=*start]
像这样、在普通的标签后面插入 | ( 竖线符号 ) 的话,竖线之后还可以加入存储场所的名字,类似「
提示语」这样的东西。各个竖线后面的提示语,重复也没有关系。提示语会在「存取游戏」的菜单内显示、可以方便用户查看档案。此外,如果是自由存档模式(存储的时候开WINDOWS窗口,要玩家自己指定档案文件名)的话,提示语会作为默认文件名。
在使用jump 之类的指令,想要跳跃到带 | 的标签、 | 后面的内容(包括竖线本身)都不要写上。像上面的例子[jump target=*start] 这样、 target 属性里指定标签名的情况、 | 后面的部分是绝对不能加的。
提示语是可以像下面这样省略不写的。
*label|
不写的情况下,会继承上一个标签后面带的提示语。
此外、| 后面加入符号“ &”的话,可以将变数的具体内容作为提示语使用。例如、
*label|&f.title
像这样、f.title 変数的具体内容将被作为提示语记录。
标签名 ( | 前面的部分 ) 、在同一剧本档中、是不能有重名的 ( 不同的剧本档中标签名重复则没有问题 )。至于提示语则只是类似注释一样的东西,方便剧本档创作者查看,因此重复也没关系。
此外、使用了像这样的标签之后,请一定要写上 [cm] 。(译注:其实不写根本没关系的……)
Note
不用[cm] 用 [ct] 也可以。这两个指令的差别在于、ct 会将当前操作的文字层改为表 page 的 message0 层,而 cm 则是清除所有的文字层,但是不会改变当前操作对象。(译注:所谓更改当前操作的文字层,使用current指令也可以做到)
为什么一定要这么加上的理由是因为
在指定标签以后如果不在 message 层上输出一些东西的话,是不会保存的的缘故。(译注:不要理这些说明就对了……)
此外、像这种保存标签是不能加在类似 trans 和 wt 这样的指令之间的、也就是说,在「执行某项需要时间的操作」和「等待执行完毕」中间这种“不安定状态”是不能进行保存标签设定的。
此外、不加入| 的话、就只是普通标签,在保存的时候不会派上用场。
・・・总之需要注意的事情就是这些啦
(^^)
像这样、在剧本里不断加入这样的标签,玩家可以进行存储的地点也就多了。标签并不会影响游戏流程,只是加入标签,不进行跳跃之类的操作也没关系。
只是、存储用的标签后请一定写上 [cm] 之类的代表文字的标记,切记(译注:我已经懒得吐槽了,凸)。
Note
内部的机制就是、KAG 在执行到附加有 | ( 可存储的 ) 标签的时候、会把当时的状态保存起来。玩家选择进行存储的时候,就是记录了当时的状态。