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

TAAAAAAA

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

不定期更新。

纯净的Pokemon Essentials v21.1是什么意思?
Pokemon Essentials是什么,RPG Maker XP又是什么?
ESS的代码在哪里?
如何打开并且修改代码?
我用RMXP打开不了ESS怎么办?
打开游戏发现无法显示中文怎么办?
插件是怎么回事?
如何让精灵可以出现隐藏特性?
如何让战斗中消耗的物品在战斗后自动恢复?
 

TAAAAAAA

天王
管理成员
2024/06/16
200
3
27
1,210
纯净的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
200
3
27
1,210
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
200
3
27
1,210
ESS的代码在哪里?

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

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

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

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

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

打开这个文件夹,你就能看到ESS的所有的代码了——
1729445750723.png

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

TAAAAAAA

天王
管理成员
2024/06/16
200
3
27
1,210
如何打开并且修改代码?

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

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

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

TAAAAAAA

天王
管理成员
2024/06/16
200
3
27
1,210
我用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
200
3
27
1,210
打开游戏发现无法显示中文怎么办?

你可能会遇到这种情况——
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
200
3
27
1,210
插件是怎么回事?

插件就是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
200
3
27
1,210
如何让精灵可以出现隐藏特性?

Ruby:
class Pokemon
  HIDDEN_ABILITY_CHANCE = 30
  def ability_index
    @ability_index ||= rand(100) >= HIDDEN_ABILITY_CHANCE ? rand(2) : 2
  end
end

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

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

在线成员

现在没有成员在线。

论坛统计

主题
473
消息
2,136
成员
2,909
最新成员
小灵喵~