网站上有人提问了,场地效果的编写,我们就浅浅的说一下吧。
这篇帖子,我们来说一下如何制作新的场地。
但是,说是这么说,还是有一些事情需要先说明清楚。
首先,目前ESS中已经有了场地系统,所以你并不需要额外制作场地系统,你只需要在原本的场地系统里增加你的新场地就好了。
其次,原本的场地系统是分散在整个战斗系统中的,这样的结构又好有坏,不予评价。
接着,你只需要照着它原本的逻辑增加你的新场地就好了,但是,场地是场地,场地的效果是场地的效果,这是两个东西,不要混为一谈。
最后,这篇帖子只会关注于如何制作新的场地,不会大量讲解如何制作场地的效果。
实际上,如果你只是想要简单的制作几个新的场地的话,其实非常简单,但是,为了完整性,我还是把全部必要的内容都说一下吧。
注意,是全部必要的,不是全部的。
再次注意,虽然场地的AI部分也是必要的,但是这篇帖子并不会涉及。
首先,打开\Pokemon Essentials v21.1 2023-07-30\Data\Scripts\010_Data\001_Hardcoded data文件夹里的016_BattleTerrain.rb文件。
其他的你都不需要去管,拉下来,到最后面,按照它的格式,添加你的新场地。
那么,在这篇帖子中,我将添加一个叫做Sky的场地,也就是天空场地。
然后,场地有3个非常重要的部分,就是场地的开始、持续和结束。
那么,首先是开始。
找到pbStartBattleCore这个方法,接着按照它的格式,添加你的新场地开始的Announcement——
再找到pbStartTerrain这个方法,接着按照它的格式,添加你的新场地开始的Announcement——
那么,接着是持续。
找到pbEOREndTerrain这个方法,接着按照它的格式,添加你的新场地持续的Announcement——
那么,最后是结束。
依然是在这个方法中,按照它的格式,添加你的新场地结束的Announcement——
当然,这些Announcement的内容技术上来说其实并不重要,无非就是一行文本提示,告诉一下玩家发生了什么事情。
到这里,实际上制作新的场地就已经完成了。
但是,我们还是额外再说点其他的吧。
首先,现在是新的场地已经制作完成了,但是你还要在战斗中有能开启这个新场地的途径,那么这个新场地才是有意义的。
开启新场地的方法很多,那么这里我们就制作一个特性来开启新场地吧。
其次,场地在开启时和持续时是有动画的,所以你要为你的新场地制作相应的动画,要不然就只有一行文本的提示。
那我们就动手吧,首先,是PBS——
接着,找到电气制造者的特性代码,照着它的格式,写好天际行者——
这样,我们就可以使用这个特性开出我们新制作的场地了。
到这里,我觉得你应该发现了,如果你要做天空场地的效果的话,你其实只需要检查battle.field.terrain == :Sky就好了。
那么我就举个例子吧,我们修改一下这个天空行者的代码,变成这样——
这样就是,出场时,如果不是天空场地,那么就开出天空场地,如果已经是天空场地了,那么就物攻增加一级。
强调一下,虽然说是这么说,但是以上的检查场地的方式并不绝对,在实际使用中的情况可能会更加复杂,比如说,可能还需要检查精灵是否是飞控单位,等等。
额外补充一点,如果你安装了Enhanced Battle UI,也就是EBUI的话,你还需要在[003] Battler Info UI.rb的这个地方也加上你的新的场地——
如果不加的话,那么在你打开详情页的时候,就会报错。
另外,制作新的天气和制作新的场地的流程几乎是一模一样的,请自行研究吧。
那么,这篇文章就到此为止。
视频预览——
浏览附件2024-06-27 15-49-49.mp4
感谢阅读。
这篇帖子,我们来说一下如何制作新的场地。
但是,说是这么说,还是有一些事情需要先说明清楚。
首先,目前ESS中已经有了场地系统,所以你并不需要额外制作场地系统,你只需要在原本的场地系统里增加你的新场地就好了。
其次,原本的场地系统是分散在整个战斗系统中的,这样的结构又好有坏,不予评价。
接着,你只需要照着它原本的逻辑增加你的新场地就好了,但是,场地是场地,场地的效果是场地的效果,这是两个东西,不要混为一谈。
最后,这篇帖子只会关注于如何制作新的场地,不会大量讲解如何制作场地的效果。
实际上,如果你只是想要简单的制作几个新的场地的话,其实非常简单,但是,为了完整性,我还是把全部必要的内容都说一下吧。
注意,是全部必要的,不是全部的。
再次注意,虽然场地的AI部分也是必要的,但是这篇帖子并不会涉及。
首先,打开\Pokemon Essentials v21.1 2023-07-30\Data\Scripts\010_Data\001_Hardcoded data文件夹里的016_BattleTerrain.rb文件。
其他的你都不需要去管,拉下来,到最后面,按照它的格式,添加你的新场地。
那么,在这篇帖子中,我将添加一个叫做Sky的场地,也就是天空场地。
然后,场地有3个非常重要的部分,就是场地的开始、持续和结束。
那么,首先是开始。
找到pbStartBattleCore这个方法,接着按照它的格式,添加你的新场地开始的Announcement——
再找到pbStartTerrain这个方法,接着按照它的格式,添加你的新场地开始的Announcement——
那么,接着是持续。
找到pbEOREndTerrain这个方法,接着按照它的格式,添加你的新场地持续的Announcement——
那么,最后是结束。
依然是在这个方法中,按照它的格式,添加你的新场地结束的Announcement——
当然,这些Announcement的内容技术上来说其实并不重要,无非就是一行文本提示,告诉一下玩家发生了什么事情。
到这里,实际上制作新的场地就已经完成了。
但是,我们还是额外再说点其他的吧。
首先,现在是新的场地已经制作完成了,但是你还要在战斗中有能开启这个新场地的途径,那么这个新场地才是有意义的。
开启新场地的方法很多,那么这里我们就制作一个特性来开启新场地吧。
其次,场地在开启时和持续时是有动画的,所以你要为你的新场地制作相应的动画,要不然就只有一行文本的提示。
那我们就动手吧,首先,是PBS——
接着,找到电气制造者的特性代码,照着它的格式,写好天际行者——
这样,我们就可以使用这个特性开出我们新制作的场地了。
到这里,我觉得你应该发现了,如果你要做天空场地的效果的话,你其实只需要检查battle.field.terrain == :Sky就好了。
那么我就举个例子吧,我们修改一下这个天空行者的代码,变成这样——
这样就是,出场时,如果不是天空场地,那么就开出天空场地,如果已经是天空场地了,那么就物攻增加一级。
强调一下,虽然说是这么说,但是以上的检查场地的方式并不绝对,在实际使用中的情况可能会更加复杂,比如说,可能还需要检查精灵是否是飞控单位,等等。
额外补充一点,如果你安装了Enhanced Battle UI,也就是EBUI的话,你还需要在[003] Battler Info UI.rb的这个地方也加上你的新的场地——
如果不加的话,那么在你打开详情页的时候,就会报错。
另外,制作新的天气和制作新的场地的流程几乎是一模一样的,请自行研究吧。
那么,这篇文章就到此为止。
视频预览——
浏览附件2024-06-27 15-49-49.mp4
感谢阅读。