ESS多版本 【TA】新手常见问题解答

TAAAAAAA

天王
管理成员
2024/06/16
273
4
38
1,270
这个帖子会收录一些都够一下子讲清楚的,同时又是很多人提问的,或者是一些概念上比较混乱模糊的问题。

不定期更新。

已解答:
1.纯净的Pokemon Essentials v21.1是什么意思?
2.Pokemon Essentials是什么,RPG Maker XP又是什么?
3.ESS的代码在哪里?
4.如何打开并且修改代码?
5.我用RMXP打开不了ESS怎么办?
6.打开游戏发现无法显示中文怎么办?
7.插件是怎么回事?
8.编译是什么意思?
9.如何在代码中快速找到想要的内容?
10.如何修改游戏的名字?
11.如何让精灵可以出现隐藏特性?

正在路上:
如何让战斗中消耗的物品在战斗后自动恢复?
如何修改精灵出现闪光的概率?
如何修改电脑的盒子总数?
如何让一个精灵6V?
 

TAAAAAAA

天王
管理成员
2024/06/16
273
4
38
1,270
纯净的Pokemon Essentials v21.1是什么意思?

纯净的指的是没有经过任何代码层面修改的Pokemon Essentials v21.1。
21.1指的是Pokemon Essentials的21.1版本,也是目前的最新版本。(10.21.2024)
Pokemon Essentials v21.1简称为ESS21.1,Pokemon Essentials简称为ESS。
如果你把ESS下载下来之后,没有做过任何的修改,那么你正在使用的就是纯净的ESS21.1。

技术上来说,如果ESS被翻译了(这里特指中文汉化,汉化即汉字化),那么经过汉化之后的汉化版并不算是纯净的ESS,因为翻译其实已经是对代码层面进行修改了,只不过修改的是文本部分而已。
在没有特别说明的情况下,我们默认翻译只有也只应该有仅对文本部分进行修改,所以在这边,我们认为汉化版也是纯净版。

从一个纯净版开始制作你的游戏在某些层面上是有好处的。
 

TAAAAAAA

天王
管理成员
2024/06/16
273
4
38
1,270
Pokemon Essentials是什么,RPG Maker XP又是什么?

RPG Maker XP是一个软件,可以简称为RMXP,你可以用这个软件来制作游戏。
Pokemon Essentials是一个RPG Maker XP的工程,或者说项目,可以简称为ESS。

也就是说,你需要先有RPG Maker XP这个软件,接着在RPG Maker XP中打开Pokemon Essentials这个工程。

Pokemon Essentials是一个初始套件,也就是Starter Kit,也就是说,你可以从ESS开始,以ESS为基底来制作你自己的独一无二的游戏。
ESS提供了制作口袋妖怪游戏的基础,所以从这个角度来说,ESS也是一个蓝本,或者有些人也把它叫做引擎。

说到这里如果你还是有点模糊的话,我们可以来类比GBA的改版,当我说我要做一个绿宝石的改版时,其实就是说以绿宝石为基础,在绿宝石的基础上进行修改,进行制作游戏。
其实就是从“哪里”开始,绿宝石改版就是从绿宝石开始,那么此时的这个绿宝石就是基底了。

当然,以ESS为基底的我们一般不会说ESS改版,因为虽然我们以ESS为基础开始制作游戏,但是ESS本身并不是一个游戏,它真的只是一个基础而已,我们所做的绝大部分工作也不是对ESS进行“修改”,而是以ESS为地基,来搭建我们的房子。

最后,以ESS为基础制作的游戏是不允许进行任何盈利的。

因为ESS是基于RMXP的,所以也会把最后完成的游戏称作RMXP游戏,而RMXP是一个电脑软件,最后完成的游戏可以直接在电脑上运行,不需要模拟器,所以最后完成的游戏也可以被称作PC游戏(区别于GBA的模拟器游戏)。

这也就是说,如果可以模拟一个电脑的环境的话,用手机也是可以游玩RMXP游戏的。
本质上来讲,无非就是环境,GBA游戏使用模拟器进行游玩,其实也是用模拟器模拟了一个掌机的环境而已。
 

TAAAAAAA

天王
管理成员
2024/06/16
273
4
38
1,270
ESS的代码在哪里?

通常情况下,代码可能在两个地方——
要么在脚本编辑器里;
要么在\Pokemon Essentials v21.1 2023-07-30\Data\Scripts里;
取决于你到底是从哪里下载到ESS的。
如果你是纯净的ESS21.1,那么应该在脚本编辑器。

脚本编辑器在这里——
1729445462637.png

打开你的脚本编辑器,如果你发现只有一页“Main”,那么就说明代码不在脚本编辑器里——
1729445523441.png

也就是说,ESS中的代码已经被提取出来了。

被提取出来的代码在这里——
1729445684358.png

打开这个文件夹,你就能看到ESS的所有的代码了——
1729445750723.png
这些代码是ESS本来的代码、原始的代码,所以我们也会把这部分代码称作ESS的原生代码。

到这里的话,其实你会发现,我说的是“代码”,可是代码却是在“脚本编辑器”,所以其实至少在这里,代码和脚本是一个意思。
 

TAAAAAAA

天王
管理成员
2024/06/16
273
4
38
1,270
如何打开并且修改代码?

你可以用任何一个文本编辑器打开保存代码的文件,并且修改它。

我们可以发现,这些保存代码的文件,都是以.rb结尾的——
1729446069887.png

这是因为,ESS的代码,都是用Ruby写的,而Ruby的后缀就是.rb。
Ruby是一种编程语言,如果你想要“玩转”ESS的话,那么你就或多或少都必须学习一些Ruby的知识了。
 

TAAAAAAA

天王
管理成员
2024/06/16
273
4
38
1,270
我用RMXP打开不了ESS怎么办?

当你双击ESS的Game.rxproj尝试打开工程时,可能会遇到以下的问题——
1729446400485.png
1729446309484.png


一个快速的解决方法是使用文本编辑器打开这个文件,修改里面的内容——
1729446569077.png

这里写的其实是RMXP的版本,你可以1.01、1.02、1.03、1.04、1.05这样去试,直到试到能够打开工程为止。

但是,这个方法并不是万能的,在某些情况下还是会无法打开,最好的方法是,你新建一个RMXP工程,保存之后,把新建工程里的Game.rxproj复制粘贴到ESS里。

步骤如下——
1729446795380.png
1729446841999.png
1729446871647.png
1729446920002.png
1729447113849.png
 

TAAAAAAA

天王
管理成员
2024/06/16
273
4
38
1,270
打开游戏发现无法显示中文怎么办?

你可能会遇到这种情况——
1729447375865.png

想要在游戏中显示中文——
首先,你需要有中文字体,字体文件保存在ESS主目录下的Fonts文件夹里——
1729447512295.png

其次,你要让游戏使用中文字体,搜索FONT_NAME,然后进行修改——
1729447551620.png

你需要修改FONT_NAME、SMALL_FONT_NAME和NARROW_FONT_NAME,将这3个改为你使用的中文的字体的名字即可。

如果你发现你改了之后还是无法显示的话,原因有多种——
第一,你可能没有正确填写字体名,关于什么是“正确的字体名”,请看这里——https://bbs.pokefans.xyz/threads/ess.168/post-562。

第二,因为你的插件覆盖了你上面修改的代码。
比较典型的就是中文文本处理这个插件,这个插件会覆盖FONT_NAME、SMALL_FONT_NAME和NARROW_FONT_NAME,所以你需要打开这个插件,然后再次进行修改——
1729448154345.png

在引号内填写你的字体的名字。

第三,其他的电脑问题(ES的游戏使用了缝合像素字体/Fusion Pixel Font,我的笔记本不知道什么原因无法显示这种字体,至今不知道如何解决),无法解决。
 

TAAAAAAA

天王
管理成员
2024/06/16
273
4
38
1,270
插件是怎么回事?

插件就是Plugin,它仅仅只是一类“东西”的名字而已,讨论这类东西为什么叫“插件”没有多少意义。
简单的说就是,可以以插件的形式额外为ESS增加功能。

插件本质上也是一系列代码而已,只不过这些代码是以插件的形式进行加载的。
我们并没有直接把这些代码加到ESS的原生代码库中(Scripts),而是在外部通过一个叫做Plugins的文件夹进行加载——
1729615395780.png

所有的插件都必须放置在这个文件夹里才可能被正确加载——
1729615490951.png

在游戏运行时,程序会优先加载Scripts中的代码,然后加载Plugins中的代码。
所以,Scripts中的代码可能会被Plugins中的代码所覆盖,被覆盖的原代码就会失效。
当你发现修改Scripts中的代码不生效时,那么就是你当前修改的这部分代码已经在Plugins中被覆盖了,所以你需要在Plugins中找到相应的代码,然后再次进行修改。

在通常情况下,不管是Scripts中的代码,还是Plugins中的代码,都是从上往下进行加载的,所以我们可以通过手动修改文件名,来让程序先加载某一部分的代码。
但是如果你的插件有某些特殊“标记”的话,就会改变插件的加载顺序。
需要始终牢记,后面加载的代码可能会覆盖前面加载的代码。

实际上,加载外部插件是需要基于一个叫做插件管理器(Plugin Manager)的东西的,在之前的还没有插件管理器的ESS版本中,当某某某发布了新的插件之后,经常会说“把这段代码复制到Main的上方进行安装使用”,这实际上就是因为顺序的问题——
1729615976886.png


可以看到Main是999,而其他的原生代码文件夹只到了021,实际上就相当于Plugins文件夹的位置就是在这里——
1729616109590.png

因为我们现在有了插件管理器,所以可以直接加载外部Plugins中的代码,但是原本的手动加插件的方式现在也是依然有效的。
 

TAAAAAAA

天王
管理成员
2024/06/16
273
4
38
1,270
编译是什么意思?

我们不去说太复杂的,就按最简单的来理解,编译就是更新数据。
也就是说,如果你对PBS文件夹里的文件或者插件文件夹(Plugins)里的插件进行了修改的话,那么你就要更新数据,即重新编译游戏,目的是为了让程序,或者说游戏知道你做了的那些修改,并且应用你做的修改。

通常情况下,程序会自动检测是否有发生修改,当检测到有修改时,会自动执行编译的工作。
但是,就目前的ESS版本来说,自动编译并不能覆盖所有的需要更新数据的情况,所以,为了确保一定不会出错,我强烈建议你在每次测试游戏时,都强制执行编译。
强制的意思就是,不管需不需要编译,我都让游戏执行编译,这样至少肯定不会出错。

你可以在点击测试游戏,出现游戏的黑屏窗口后,按住键盘的Ctrl键(左下角那个键),让程序强制执行编译。
1731170958212.png
 

TAAAAAAA

天王
管理成员
2024/06/16
273
4
38
1,270
如何在代码中快速找到想要的内容?

使用全局搜索功能。
通常来说,只要你使用的文本编辑器不是太辣鸡,就都会有全局搜索功能,使用全局搜索功能就可以快速找到你需要的内容。
全局搜索的快捷键是Ctrl+Shift+F,就算你没有把代码提取出来,RMXP的脚本编辑器也是支持这个快捷键的。
如果你发现快捷键按了没反应的话,那么请查看一下你的输入法是否是英文输入法,在中文输入法的状态下这个快捷键是会失效的。
 

TAAAAAAA

天王
管理成员
2024/06/16
273
4
38
1,270
如何修改游戏的名字?

修改游戏的名字需要两步——
1.在RMXP里修改:1731249574990.png

2.在mkxp里修改:
1731249661180.png
1731249702317.png

这样就好了。
 

TAAAAAAA

天王
管理成员
2024/06/16
273
4
38
1,270
如何让精灵可以出现隐藏特性?


让我们以一种Old-fashion的方式使用这段代码,请把这段代码复制到Main的上方进行安装使用。

你可以通过修改HIDDEN_ABILITY_CHANCE来设置隐藏特性出现的概率,目前是30%。
其他两个普通特性出现的概率是相等的。
对于没有隐藏特性的精灵,则会重新判定生成普通特性。
 

TAAAAAAA

天王
管理成员
2024/06/16
273
4
38
1,270
如何让战斗中消耗的物品在战斗后自动恢复?
 

在线成员

现在没有成员在线。

最新帖子

论坛统计

主题
540
消息
2,458
成员
3,089
最新成员
未白镇——诺亚