3-1 地图事件设置剧情篇:显示文章、选择项、增减物品金钱、开关变量操作、条件分歧、移动路线等
在我们学习事件设置之前,先来认识一下RM里面的“事件”具体为何物。它可以用来在第四层画元件,可以是个游戏中看不到的透明的“叙述者”来操纵剧情的运行,可以放置在地图边缘作为切换场景的移动点,也可以作为NPC、BOSS、角色等看得见的人物或者物品存在。在RM里事件被分为地图事件和公共事件两类,而地图事件的设置被统一在地图的“事件层”(见红圈),也就是第四层的设置中。切换到事件层之后,该地图处于事件编辑画面,右边的那些图块就不能再被用来绘制地图了。你可以看到地图上被划分为一个个32×32的小格子,这就是地图上的每一个事件单位,你也可以理解为“人均面积”——标准RTP中,每个角色或者人物都站立在一个格子里面。在一个事件格上单击右键,就可以看到这样的选单——选择新建事件,就会在当前的事件格上新建立一个事件。当你做好一个事件之后,它可以被剪切、复制和粘贴。最后一个选项是“角色初期位置”,也就是当你选择“新游戏”之后,角色会最开始出现在什么地方。设定好了“角色初期位置”的格子会被一个写着S字母的标志占住,这个事件格将不能再被用来新建别的事件(见表示蓝圈)。
选择新建事件,就可以进入事件编辑页(重点来了重点来了……)。一个事件可以包含很多页,通过不同的条件操作,让它执行不同的内容。首先,事件名称——这个你可以自己设定,因为之后一些指令操作可以调用地图上所有的事件,如果事件过多的话,可能会混乱,在这里起好一个名字比较方便查找(比如写“主角的妈妈”或“特殊NPC”之类的)。
接下来是右边那一排关于事件页的操作。这也是事件操作复杂的地方,一个事件可以包含很多个页,而这些页的出现条件、执行内容、图形等都可以完全不一样。事件页也可以复制、粘贴或者删除,多用于一些在条件不同的时候,事件内容会发生微妙变化或者人物图形变得不一样的情况等。左边的“事件出现条件”和最下面右边的“事件开始条件”要严密区分开,“出现条件”指代这个事件存在于地图上与否,而“开始条件”指代当事件存在之后,什么条件能够执行你在右边的“执行内容”里编辑的东西。“事件出现条件”由开关和变量进行控制,你可以同时使用两个全局开关、一个变量和一个独立开关控制这个事件页的出现与否,比如当某开关打开,某变量为2以上的时候,该事件页会出现。这里要再次强调以后提到的事件都不是指代包含了所有事件页的整个事件,而是单独的某个事件页。关于开关、变量和独立开关的操作及事件和它的配合,我会在后面详细讲到。
接下来是右边那一排关于事件页的操作。这也是事件操作复杂的地方,一个事件可以包含很多个页,而这些页的出现条件、执行内容、图形等都可以完全不一样。事件页也可以复制、粘贴或者删除,多用于一些在条件不同的时候,事件内容会发生微妙变化或者人物图形变得不一样的情况等。左边的“事件出现条件”和最下面右边的“事件开始条件”要严密区分开,“出现条件”指代这个事件存在于地图上与否,而“开始条件”指代当事件存在之后,什么条件能够执行你在右边的“执行内容”里编辑的东西。“事件出现条件”由开关和变量进行控制,你可以同时使用两个全局开关、一个变量和一个独立开关控制这个事件页的出现与否,比如当某开关打开,某变量为2以上的时候,该事件页会出现。这里要再次强调以后提到的事件都不是指代包含了所有事件页的整个事件,而是单独的某个事件页。关于开关、变量和独立开关的操作及事件和它的配合,我会在后面详细讲到。
“角色图片”指代这个事件页在地图上的表现形式,它的图形将从行走图文件夹characters里面调用。双击即可打开,和数据库选择角色图形很类似,只不过这里可以更详细地选择出一个图形的面向状态等。移动规则里面有固定、随机、靠近和自定义四种,固定就是指这个事件会原地不动,随机则是会在能够移动的区域之内随便走,靠近则是这个事件会一直追着角色行走(用于制作追踪的敌人或者跟屁虫NPC之类的= =),自定义是可以自己来定制这个事件的移动状态,它和设置移动路线的事件操作很近似,所以也放到后面说。速度和频率可以自己设置,标注得很清楚,速度快的话事件每迈一步的速度会很快,频率高的话事件就不会停下来一直在走。
左边有个“选项”来定制一些事件的特质。“移动时动画”一般都是被勾选上的,也就是说该事件如果有行走图的话,在移动中的时候就会顺次播放那个方向的四个动作(踏步),让它有在走路的感觉。如果去掉了,就会以你当前在“角色图片”选择的那个动作移动不会变化,看上去像飘= =|||。“静止时动画”类似,勾选后当这个事件不动的时候,原地踏步。“固定朝向”表示当角色触发这个事件(多用于按回车或者与其接触来触发场合)的时候,它不会自动转向那个面向角色的方向,而是会保持恒定的方向。(比如制作一个正在买菜的大婶,和她对话她不理你,自顾自讨价还价之类的……)“允许穿透”表示角色可以穿过这个事件,这个事件也能穿过别的事件——当事件有行走图的时候,默认是无法穿透的。“在最前面显示”则是将整个事件的优先级提到最高,比地图上所有元件的优先级都高(这么设置之后,图块里面你设置的地图优先级对这个事件无效了)。
“事件开始条件”代表当这个事件出现的时候,你要怎么去触发右边你定制的详细内容。“决定键”很简单,对着该事件按下C键或者空格键,就会触发这个事件。“与主角接触”表示当你的主角碰到这个事件上的时候会执行,一般用在场所移动的事件上。然后是“与事件接触”——代表当事件和主角碰触的时候就会执行,无论是主角先碰上事件还是事件自己先碰上主角(这种时候事件一般会设置一个随机或追随的移动规则)。多用于追杀主角那样的敌人事件。“自动执行”表示当这个事件出现的瞬间,立刻执行。并且如果没有中断的话,会反复执行。在该事件执行过程中,主角不能移动,其他的事件也都不会再触发。“并行处理”也是和自动事件类似,会一出现就开始执行并反复执行。不过它不会妨碍主角的移动和其他事件的处理。一张地图上过多的并行处理事件会严重拖慢游戏的速度,使用的时候需要注意。
设置完一个事件之后,在地图上就会显示出对应的图像来标志。不过,地图上只显示序号最小的事件页的图形。在下图便是这样——虽然你设置了三页事件,在地图层的这个界面中你只能看见第一页的图形。 然而进入游戏之后,则正好相反——你会看到此时显示出来的是第三页的事件的人物。这就是事件页的优先级问题,当出现条件相同的时候,先出现的是序号最大的那个事件页,执行的也是那个事件页的内容。所以,如果要停止一个自动事件或并行事件,可以在其执行终了的时候打开一个开关,然后新建一个『空白的,出现条件为该开关ON』的事件页,这样根据这条规则,新出现的事件会替代先前的那个自动事件页,那么自动事件就停下来了。
左边有个“选项”来定制一些事件的特质。“移动时动画”一般都是被勾选上的,也就是说该事件如果有行走图的话,在移动中的时候就会顺次播放那个方向的四个动作(踏步),让它有在走路的感觉。如果去掉了,就会以你当前在“角色图片”选择的那个动作移动不会变化,看上去像飘= =|||。“静止时动画”类似,勾选后当这个事件不动的时候,原地踏步。“固定朝向”表示当角色触发这个事件(多用于按回车或者与其接触来触发场合)的时候,它不会自动转向那个面向角色的方向,而是会保持恒定的方向。(比如制作一个正在买菜的大婶,和她对话她不理你,自顾自讨价还价之类的……)“允许穿透”表示角色可以穿过这个事件,这个事件也能穿过别的事件——当事件有行走图的时候,默认是无法穿透的。“在最前面显示”则是将整个事件的优先级提到最高,比地图上所有元件的优先级都高(这么设置之后,图块里面你设置的地图优先级对这个事件无效了)。
“事件开始条件”代表当这个事件出现的时候,你要怎么去触发右边你定制的详细内容。“决定键”很简单,对着该事件按下C键或者空格键,就会触发这个事件。“与主角接触”表示当你的主角碰到这个事件上的时候会执行,一般用在场所移动的事件上。然后是“与事件接触”——代表当事件和主角碰触的时候就会执行,无论是主角先碰上事件还是事件自己先碰上主角(这种时候事件一般会设置一个随机或追随的移动规则)。多用于追杀主角那样的敌人事件。“自动执行”表示当这个事件出现的瞬间,立刻执行。并且如果没有中断的话,会反复执行。在该事件执行过程中,主角不能移动,其他的事件也都不会再触发。“并行处理”也是和自动事件类似,会一出现就开始执行并反复执行。不过它不会妨碍主角的移动和其他事件的处理。一张地图上过多的并行处理事件会严重拖慢游戏的速度,使用的时候需要注意。
设置完一个事件之后,在地图上就会显示出对应的图像来标志。不过,地图上只显示序号最小的事件页的图形。在下图便是这样——虽然你设置了三页事件,在地图层的这个界面中你只能看见第一页的图形。 然而进入游戏之后,则正好相反——你会看到此时显示出来的是第三页的事件的人物。这就是事件页的优先级问题,当出现条件相同的时候,先出现的是序号最大的那个事件页,执行的也是那个事件页的内容。所以,如果要停止一个自动事件或并行事件,可以在其执行终了的时候打开一个开关,然后新建一个『空白的,出现条件为该开关ON』的事件页,这样根据这条规则,新出现的事件会替代先前的那个自动事件页,那么自动事件就停下来了。
事件的基本编辑界面介绍完毕了,在执行内容的空白处右键单击一下那个菱形,就可以看到事件编辑的那个菜单。“统一输入文章”的指令和显示文章会一起讲到,当你选择“插入”之后,就会出现下面的各类事件指令了。接下来我们将要通过各个实例来详细解释关于这些事件指令里的各种功能。
本段教程制作实例:游戏开始,主角会自言自语介绍故事背景(……)随后主角的师父走过来让主角选择接一个任务去取5个某物品,取够之后完成任务。
首先,游戏中设置好角色的初期位置(游戏刚开始的时候角色默认脸向下),然后新建一个新事件,图形设置好,将事件开始条件设置为自动执行,表示一开始进入游戏,主角就会立刻开始说话。然后选择事件指令的“显示文章”,编辑主角将要说的话。在这个显示文章的框里写字的时候要注意,不要把整个文字框写满,每一行要在还剩下两个字的时候就换行,因为RM的对话框在显示对话的时候,最后两个字是显示不完整的。写完一段话之后,可以按F2预览你当前的这段话。当然,显示文章里面还有很多特殊的代码用途,按一下F1可以看到,比如给文字加上特殊的颜色,直接显示数据库里1-N号角色的姓名或者开启金钱窗口之类的。这些在后面我们都慢慢应用。每一条事件指令都可以自由编辑,写错了的话选中按空格就能再次编辑了。
首先,游戏中设置好角色的初期位置(游戏刚开始的时候角色默认脸向下),然后新建一个新事件,图形设置好,将事件开始条件设置为自动执行,表示一开始进入游戏,主角就会立刻开始说话。然后选择事件指令的“显示文章”,编辑主角将要说的话。在这个显示文章的框里写字的时候要注意,不要把整个文字框写满,每一行要在还剩下两个字的时候就换行,因为RM的对话框在显示对话的时候,最后两个字是显示不完整的。写完一段话之后,可以按F2预览你当前的这段话。当然,显示文章里面还有很多特殊的代码用途,按一下F1可以看到,比如给文字加上特殊的颜色,直接显示数据库里1-N号角色的姓名或者开启金钱窗口之类的。这些在后面我们都慢慢应用。每一条事件指令都可以自由编辑,写错了的话选中按空格就能再次编辑了。
主角简介之后,加一个旁白——这时主角的师傅走过来。这一段为了显示出一个旁白的效果,可以把文字从屏幕下面放到中间来并且把文字换一个颜色,同时窗口透明。使用“更改文章选项”,将位置改为“中”,然后窗口改为“不显示”,那么在游戏里就只会显示字并且位置在中间了。但是,要记得旁白完毕之后改回来,否则后面的文章都会这么显示了。
旁白的字最好和正常对话的字不一个颜色,那么就在显示文章中使用“\c[n]”的代码,n可以等于1-8八个不同的数字,指代八种不同的颜色。按F2就能预览出来效果了。在这个实例里我同样用了“\n[n]”的代码来直接读取数据库的角色名字,用\n[1]的时候,RM会自动显示数据库1号角色的名字。
接下来,就要控制角色的师傅,也就是你目前设置的这个事件向角色走过来了。事件处理第二页,“设置移动路线”指令就是这样使用的。选择它以后,先在最左上角确定好要移动的对象——“角色”“本事件”或者是在下拉列表里选择其他事件。也就是说一个事件其实可以操纵另一个事件的移动。虽然这张地图上我们目前只有一个事件,但是以后会增加更多的话,也要记得别弄错了对象。然后就是具体的移动设置,右边有很多按钮操作,都很直观。每点选一次出现一个“向右移动”,就表示该对象向右移动一步。所以我们这里要他走三步,就要有三个向右移动。然后因为移动完它的脸是冲右的,为了让他和主角说话,加一个“面向主角”的指令就可以了。在移动路线里面也可以控制开关的开合,并且临时更改一个事件的移动速度、频率、以及“选项”(移动动画、静止动画等)。“更改角色图片”的设置会在后面一起讲到,更改不透明度和合成方式也很简单,如果想要让一个人突然变得透明,将不透明度改小一点就行了。“脚本”不属于此教程研究范畴,所以不再多说。左下角有个“重复移动”和“忽略不能移动的场合”,也很容易明白,当“重复动作”勾上之后,事件会一直这么走下去。“忽略不能移动的场合”可以表示为当前方有不能通行处的时候,会自动跳过剩下的那些移动指令。如果因为移动到了不能走的地方造成游戏卡死,也可以检查这里并且勾选上避免致命的bug。
设置完移动路线之后,可以在事件指令第二页找到一个“等待移动结束”的命令,加上之后事件就会等移动路线里的对象走完再继续执行下面的部分——而如果事件在重复行走或者走到不能动的地方卡住了,游戏整个就会卡死。所以使用起来要稍微小心一点。
然后是交代任务。主角的师傅让主角打开房间里锁住的柜子然后拿五个回复剂。主角可以选择做还是不做——做的话则接到该任务,不做的话则自动事件中断,主角的师傅在屋子里溜达,然后和他对话可以再次接任务。这里就有一个选择项的使用——它也是条件分歧类判断的一种。在第一页找到“显示选择项”,就可以看到RM里最多有四个选择项可以供设置。而事实上,分歧可以最多创造五个——右边有一个“取消的场合”,表示当你按下ESC的时候,会跳转到哪个分歧。在这个实例里如果你按下了ESC,默认为第二个选择,即和选择“呃,等我一会儿好吗?”的场合相同。而如果你想在四个选择之外多出第五个选择,就选择那个“分歧”即可。同理,如果不需要按ESC,选择“无效”,那么在出现选择项时,你按ESC就不会有任何反应了。
然后是交代任务。主角的师傅让主角打开房间里锁住的柜子然后拿五个回复剂。主角可以选择做还是不做——做的话则接到该任务,不做的话则自动事件中断,主角的师傅在屋子里溜达,然后和他对话可以再次接任务。这里就有一个选择项的使用——它也是条件分歧类判断的一种。在第一页找到“显示选择项”,就可以看到RM里最多有四个选择项可以供设置。而事实上,分歧可以最多创造五个——右边有一个“取消的场合”,表示当你按下ESC的时候,会跳转到哪个分歧。在这个实例里如果你按下了ESC,默认为第二个选择,即和选择“呃,等我一会儿好吗?”的场合相同。而如果你想在四个选择之外多出第五个选择,就选择那个“分歧”即可。同理,如果不需要按ESC,选择“无效”,那么在出现选择项时,你按ESC就不会有任何反应了。
然后根据不同的选择,师傅可能会说不同的话。接下来,就是重点,(全局)开关和独立开关操作。首先用不同的两个独立开关将自动运行的事件页终止,否则此段剧情会自动反复执行。没接任务的时候师傅会继续要求你接任务,那么打开独立开关A,新建一个事件页,设置出现条件为『独立开关A为ON』,图形等都还是原来的,开始条件为“决定键”。内容可以再次复制这个选择项的内容过去,只不过那时候就不用再打开独立开关A了。接下任务的时候师傅会等你完成任务,那么打开独立开关B,新建第三个事件页,设置出现条件为『独立开关B为ON』,图形等都还是原来的,开始条件为“决定键”。在第二个事件页的选择项里,不要忘记页添加上在接受任务的时候打开独立开关B。这样无论是你一开始就接下来,还是后来再去找师傅对话接下来,都可以自动跳转到接完任务之后的这个事件页。独立开关的数量只有四个,并且只是在单个事件里面控制页面,不能全局调用。
接下来是开关的使用方法。它是整个游戏的全局操控引擎,无论在哪张地图里都可以根据判断这个开关是否为ON来执行事件内容。本实例里面的情景是,如果不接任务,虽然主角也可以溜达,但走到柜子那里是拿不到东西的。这里就需要使用开关来操作了。选择“开关操作”,可以看到单个开关的打开和关闭或者是一个范围之内所有的开关的打开和关闭。按右边的小三角,即可列出游戏里所有的开关。你可以通过更改最大值设定可用开关的数量,然后给你的开关起个名字方便管理。只要主角接了任务,这个开关就打开。
接下来是开关的使用方法。它是整个游戏的全局操控引擎,无论在哪张地图里都可以根据判断这个开关是否为ON来执行事件内容。本实例里面的情景是,如果不接任务,虽然主角也可以溜达,但走到柜子那里是拿不到东西的。这里就需要使用开关来操作了。选择“开关操作”,可以看到单个开关的打开和关闭或者是一个范围之内所有的开关的打开和关闭。按右边的小三角,即可列出游戏里所有的开关。你可以通过更改最大值设定可用开关的数量,然后给你的开关起个名字方便管理。只要主角接了任务,这个开关就打开。
接下来,设置那个“拿药”的事件。选择在柜子上的那个方格,单击打开,由于它是在接到了任务才能拿药的,所以出现条件设置为“接到拿药任务”的开关为ON。本实例要实现的效果是:主角调查柜子可以拿药,一次一个并且能看到自己有了几个。当药的数量够了5个的时候,提示拿完,不能再拿。这个步骤看似简单,实际上包含了很多个操作:“显示文章”、“增减物品”、“变量操作”和“条件分歧”等。首先,使用“变量操作”,把角色手头的回复剂数量代入一个变量,然后条件分歧,判断此变量是否大于等于5,如果是,则显示已经拿完了。如果否,则增加一个回复剂,同时显示文章提示『你得到一个回复剂,目前你的回复剂数量为X。』
详细来说,首先是变量操作。它也是整个RPG游戏制作过程中的重头之一,可以用来代替开关控制你的游戏流程,用得好了能大幅节省开关数量。操作变量的时候首先也像开关一样,选择好你需要的变量并且命个名,然后对这个变量进行操作——所有能够用数字代替的数值,常理来说都可以代入变量。变量与变量之间也可以互相代入,并且也可以做加减乘除这样的运算。最后一个“剩余”意思是让目前的变量除以某个数字之后取其余数。例如你这个变量为10,让它“剩余”3之后,得到的数值就是1。
变量操作的那些数值非常直观,常量就是一个固定的数字,变量是在你变量列表里的任意一个变量,随机数是在一个数值范围内任意取其中一个,物品XX的所持就是代入该物品现在持有的数量了。在这里我们选择代入回复剂的数量。角色XX的某参数也可以直接看得出来, 不过这里有两行关于角色的数值代入,第一个里代入的是角色自身的内容,等级啊MAXHP啊现有HP啊力量啊魔力啊什么的。第二个角色相关的则是地图信息,地图上的X坐标啊Y坐标啊屏幕坐标啊还有地形标记等。这些代入之后,在后面需要用到场所移动和条件分歧的时候也是很有用处的。因为你需要判断的不少内容在条件分歧里并没有直接给出,所以需要依赖变量进行间接判定。
详细来说,首先是变量操作。它也是整个RPG游戏制作过程中的重头之一,可以用来代替开关控制你的游戏流程,用得好了能大幅节省开关数量。操作变量的时候首先也像开关一样,选择好你需要的变量并且命个名,然后对这个变量进行操作——所有能够用数字代替的数值,常理来说都可以代入变量。变量与变量之间也可以互相代入,并且也可以做加减乘除这样的运算。最后一个“剩余”意思是让目前的变量除以某个数字之后取其余数。例如你这个变量为10,让它“剩余”3之后,得到的数值就是1。
变量操作的那些数值非常直观,常量就是一个固定的数字,变量是在你变量列表里的任意一个变量,随机数是在一个数值范围内任意取其中一个,物品XX的所持就是代入该物品现在持有的数量了。在这里我们选择代入回复剂的数量。角色XX的某参数也可以直接看得出来, 不过这里有两行关于角色的数值代入,第一个里代入的是角色自身的内容,等级啊MAXHP啊现有HP啊力量啊魔力啊什么的。第二个角色相关的则是地图信息,地图上的X坐标啊Y坐标啊屏幕坐标啊还有地形标记等。这些代入之后,在后面需要用到场所移动和条件分歧的时候也是很有用处的。因为你需要判断的不少内容在条件分歧里并没有直接给出,所以需要依赖变量进行间接判定。
这之后就是条件分歧,它代表某个条件满足的时候如何如何,同时你也可以设置不满足的时候如何。条件分歧列表里有很多个不同的条件,在每一页都不一样,但是每次设置分歧判定的时候只能选择一个条件进行判定,多个条件判定的时候可以进行嵌套(比如在条件分歧里再装一个条件分歧)
第一页主要是判断开关和变量,比如某开关/独立开关是打开还是关闭;变量的数值是——等于,以上(其实这里是大于和等于的情况),超过(大于,不含等于),以下(小于,包含等于),未满(小于,不含等于),不等于——某个数值;最后还有计时器。计时器也是一种特殊的变量数值,这个在补充部分会提到。
第二页是关于角色的一些判定,可以选择你需要判定的那个角色,然后判断他是否在同伴中;名字是否和某名字相同(在事件操作中可以更改角色姓名,所以角色姓名未必从头到尾都一样。这个条件分歧算是一个呼应吧);某特技是否已经学会;某装备或武器是否在装备中;是否中了某状态等。
第三页有那么点特殊,第一个判断『敌人』的条件分歧多是在战斗事件中用到的,在地图上不能用。它对应的敌人是你在数据库“队伍”里设置的敌人队伍,1号表示第一个敌人,2号表示第二个依此类推。可以通过条件分歧判断该敌人是否出现——这里的意思是敌人是否在战场上(在数据库的“队伍”里你能够设置敌人半途才参战出现在战场。这个内容在后面也会提到),或者判断敌人是否中了某状态。第二个判断『角色面向』则是在地图上使用的,用来判断角色脸的朝向位置。
第四页就是一些全局性参数的判定了,比如判断金钱数量是否超过或不足某数值,物品武器防具是否携带(这个判定是只要这些东西不在物品栏就算没有携带,哪怕你主角装备着也不行),还有关于按键的判定。比如你可以设置当按键不同的时候会有不同说话内容的NPC(读心术?)这里的按键对应在第四章会讲到。
条件分歧的每页条件解释完之后,我们来进行回复剂数量判断。在条件分歧里不能直接判断某物品的数量,所以之前我们用到了变量操作,将回复剂数量和变量挂钩,这样在条件分歧里就能进行判断了。如图所示,我们将要判断当代入了回复剂数量的那个1号变量是否大于5(这里的“以上”实际上是大于等于,如果要设置大于应该选择“超过”)。然后也要勾选一个“当条件不符合的场合”表示“否则”如何如何。
第一页主要是判断开关和变量,比如某开关/独立开关是打开还是关闭;变量的数值是——等于,以上(其实这里是大于和等于的情况),超过(大于,不含等于),以下(小于,包含等于),未满(小于,不含等于),不等于——某个数值;最后还有计时器。计时器也是一种特殊的变量数值,这个在补充部分会提到。
第二页是关于角色的一些判定,可以选择你需要判定的那个角色,然后判断他是否在同伴中;名字是否和某名字相同(在事件操作中可以更改角色姓名,所以角色姓名未必从头到尾都一样。这个条件分歧算是一个呼应吧);某特技是否已经学会;某装备或武器是否在装备中;是否中了某状态等。
第三页有那么点特殊,第一个判断『敌人』的条件分歧多是在战斗事件中用到的,在地图上不能用。它对应的敌人是你在数据库“队伍”里设置的敌人队伍,1号表示第一个敌人,2号表示第二个依此类推。可以通过条件分歧判断该敌人是否出现——这里的意思是敌人是否在战场上(在数据库的“队伍”里你能够设置敌人半途才参战出现在战场。这个内容在后面也会提到),或者判断敌人是否中了某状态。第二个判断『角色面向』则是在地图上使用的,用来判断角色脸的朝向位置。
第四页就是一些全局性参数的判定了,比如判断金钱数量是否超过或不足某数值,物品武器防具是否携带(这个判定是只要这些东西不在物品栏就算没有携带,哪怕你主角装备着也不行),还有关于按键的判定。比如你可以设置当按键不同的时候会有不同说话内容的NPC(读心术?)这里的按键对应在第四章会讲到。
条件分歧的每页条件解释完之后,我们来进行回复剂数量判断。在条件分歧里不能直接判断某物品的数量,所以之前我们用到了变量操作,将回复剂数量和变量挂钩,这样在条件分歧里就能进行判断了。如图所示,我们将要判断当代入了回复剂数量的那个1号变量是否大于5(这里的“以上”实际上是大于等于,如果要设置大于应该选择“超过”)。然后也要勾选一个“当条件不符合的场合”表示“否则”如何如何。
没拿够的场合里面,可以继续拿,那么就要使用“增减物品”的指令了,也在事件第一页。增减物品的数量可以自己设定好,也可以代入某个变量数。这里注意,由于变量可以为负数,所以得到负数个物品的时候,等于减少了该物品。
然后使用显示文章的时候,因为你的物品数量变化了,所以要再次代入变量,同时在显示文章的框内用\v[n]代码——显示n号变量。由于1号变量表示你的回复剂数目,所以用\v[1]就可以了。
整个具体的事件制作过程就差不多是这样了。当回复剂拿满五个的时候,可以回去找师傅——判断主角是否拿够了。同样是条件分歧的操作。
整个具体的事件制作过程就差不多是这样了。当回复剂拿满五个的时候,可以回去找师傅——判断主角是否拿够了。同样是条件分歧的操作。
到这里为止第一章的内容就差不多了。本章内容较为繁复,和下一章内容一起合并做了一个范例工程,可以在教程首页下载下来配合理解。(本章内容一直到师傅说“你做得很好”为止)
===本章结束===
Q&A:为什么我的事件一直重复执行?
你当前的事件页的开始条件被设置为“自动执行”,然后又没有任何可以让这个事件页中断的内容,所以会循环执行下去。解决办法是打开一个开关or独立开关,新建一个出现条件为该开关打开,开始条件为“决定键”or“与主角接触”or“与事件接触”的事件页。这样由于事件会优先执行序号大的事件页,而第二个事件页的出现条件已经满足(开关在第一页打开了),就会跳转到第二个事件页,而那时候你不按确定键或者与此事件接触,它就不会再执行,整个事件就停下来了。
===本章结束===
Q&A:为什么我的事件一直重复执行?
你当前的事件页的开始条件被设置为“自动执行”,然后又没有任何可以让这个事件页中断的内容,所以会循环执行下去。解决办法是打开一个开关or独立开关,新建一个出现条件为该开关打开,开始条件为“决定键”or“与主角接触”or“与事件接触”的事件页。这样由于事件会优先执行序号大的事件页,而第二个事件页的出现条件已经满足(开关在第一页打开了),就会跳转到第二个事件页,而那时候你不按确定键或者与此事件接触,它就不会再执行,整个事件就停下来了。