○ ESS20仅限 【ESS入门】第六章:PBS文件(中)

本教程禁止转载。

第5节:新增一只宝可梦

要想完整的添加一只宝可梦,绝不是一件简单的事情。

1、修改pokemon.txt

1685871853841.png
空的模板长这样
代码:
[]
Name =
Types =
BaseStats =
GenderRatio =
GrowthRate =
BaseExp =
EVs =
CatchRate =
Happiness =
Abilities =
HiddenAbilities =
Moves =
TutorMoves =
EggMoves =
EggGroups =
HatchSteps =
Height =
Weight =
Color =
Shape =
Habitat =
Category =
Pokedex =
Generation =
WildItemCommon =
WildItemUncommon =
WildItemRare =
Evolutions =
接下来逐步进行解释:
  1. []中写的是宝可梦的内部名称,全部英文字母大写,用于代码中的识别。
  2. Name = 外显名称,也就是玩家看到的名称。
  3. Type = 属性的英文内部名,如果有两个属性之间就用英文逗号隔开。
  4. BaseStats = 种族值,顺序为HP,攻击,防御,速度,特攻,特防,之间用英文逗号隔开(后续不再赘述)。
  5. GenderRatio = 性别雄雌比,FemaleOneEighth(7:1),Female50Percent(1:1),AlwaysFemale(全雌),AlwaysMale(全雄),Female75Percent(1:3),Female25Percent(3:1),Genderless(无性别)。
  6. GrowthRate = 成长速度,也就是所需经验值,以100级举例,Erratic最快(600000),Fast快的(800000),Medium中等(1000000),Parabolic较慢的(1059860),Slow慢的(1250000),Fluctuating最慢(1640000)。
  7. BaseExp = 基础经验值,1级的时候的经验值,看着给吧,找一个和你想新增的类似的抄一下。
  8. EVs = 打败此宝可梦时获取的基础点数(努力值),前者是项(HP、ATTACK、DEFENSE、SPEED、SPECIAL_ATTACK、SPECIAL_DEFENSE),后者是值。两两成对出现,可以写多对。
  9. CatchRate = 基础捕获度,1~255,整10整5的看着给,御三家和一级神一般都是45。
  10. Happiness = 基础亲密度,0~255,看着给。
  11. Abilities = 普通特性,可以写一个或者两个。
  12. HiddenAbilities = 隐藏特性,如果有隐藏特性就可以写一个,目前没有多个隐藏特性的宝可梦,如果没有那这一行都可以不写。
  13. Moves = 升级学习的招式,两两成对出现,前者是等级,后者是招式内部名。特别的,如果等级写成0,则是进化时会立即提示学习。
  14. TutorMoves = 可以从定点教学处学习的招式。
  15. EggMoves = 蛋招式,应该就是遗传招式吧。
  16. EggGroups = 蛋群,可以写一个或者两个。参考神百
  17. HatchSteps = 孵化步数,参考其他已有宝可梦。
  18. Height = 高度。
  19. Weight = 体重。
  20. Color = 颜色,图鉴里根据颜色时会用到,并不是什么颜色都可以,有几种可选,参考其他已有宝可梦。
  21. Shape = 体形(嗯不是型),就是说这只宝可梦大概长成什么样子,参考神百
  22. Habitat = 栖息地,我不是很理解,总之不理解的全部照抄原有宝可梦。
  23. Category = 分类,比如妙蛙种子是种子宝可梦,小火龙是蜥蜴宝可梦。
  24. Pokedex = 图鉴描述,注意字多需要用空格或者\n换行。
  25. Generation = 世代,新加的原创精灵是第几代?应该无所谓吧。
  26. WildItemCommon = 野生宝可梦有大概率(50%)携带的道具,如果不会携带就不写这一行。
  27. WildItemUncommon = 野生宝可梦有小概率(5%)携带的道具,同上。
  28. WildItemRare = 野生宝可梦有很小概率(1%)携带的道具,同上。
  29. Evolutions = 进化方式,一种精灵可能不止一种进化方式,比如等级、道具、特殊条件,也可能不能进化,具体怎么写不好描述,参考其他已有宝可梦。注意,Mega进化不是在这里写。
例如我添加一只獒教父(WATCHDOG为新增特性,不要抄我的)
1685874171277.png
 
最后编辑:
  • 支持
反馈: 叶昕苍.

ES泽洛

世末鸽者
管理员
元老
2022-08-04
229
14
288
2,116
23
安徽
www.esplus.club

2.修改pokemonforms.txt

如果你想要添加某个宝可梦的其他形态,而不是添加一个全新的宝可梦(也就是说它们共用图鉴编号),则是需要在pokemonforms.txt中进行修改。
最简单的形态差异,就只是样子差异,例如未知图腾,只需要写出它的宝可梦内部名称,以及形态编号,再加一个形态名就行了,其他的会继承pokemon.txt中这只宝可梦的数据。

1685872438777.png
而其他一些差异比较大,从种族值、属性、招式到进化线、图鉴描述都不同的形态差异,就需要多写几条了,但总体上配置和在pokemon.txt写的都差不多。
Mega进化的形态、超极巨化(原生ESS不自带)的形态都是在pokemonforms.txt中配置
mega再加一个MegaStone配置进化石。

1685872775356.png
地区形态差异中的Flags = InheritFormWithEverStone应该是指携带不变之石生蛋保留形态。
1685873033229.png
 
最后编辑:

ES泽洛

世末鸽者
管理员
元老
2022-08-04
229
14
288
2,116
23
安徽
www.esplus.club

3.其他相关的一些东西

添加完精灵还得能让玩家获取吧,要么参考前一篇贴子添加野生分布,要么使用事件脚本赠送
添加完精灵会自动添加到全国图鉴中,如果想要加到地区图鉴,还需要修改regional_dexes.txt文件,
我就简单的加到第一个图鉴里了。

1685874260281.png
1685874414057.png
1685874332082.png
像是精灵图片啊什么的自己准备,当然还有一些例如战斗中的图片偏移啊之类的细节,以后再说。
 

ES泽洛

世末鸽者
管理员
元老
2022-08-04
229
14
288
2,116
23
安徽
www.esplus.club

第6节:新增训练家或训练家类型

训练家在PBS文件夹的trainers.txt中,训练家类型在trainer_types.txt中。
1687071229984.png

新增训练家

我们先打开trainers.txt看一下,以开头的露营少年和馆主小刚举例,一个最简单的训练家,只需要像利亚姆这样写就行了。
第一行[]内的是训练家类型和训练家名称,训练家类型可以在trainer_types.txt中找,训练家名称可以写中文。
训练家的图片在Graphics\Trainers文件夹中,文件名和训练家类型相同,会识别训练家类型自动匹配。
第二行是这个训练家输了(不是玩家输)后会说的话,可以写中文。
之后两行就是队伍中的宝可梦了,内部名称和等级。
对于一个路边NPC来说这么设置已经足够了,但是特殊的可能需要多设置一些内容。
对于馆主来说,每一个馆主的图片都是不同的,所以是不同的训练家类型,当然天王也同理。
小刚的训练师类型就是LEADER_Brock,训练家名称是Brock。
第二行是设置训练家在战斗中会使用的道具,多个道具之间用英文逗号隔开,为了玩家考虑,最好不要写太多个。
队伍的宝可梦可以设置很多东西,缩进不是必须的,只是为了方便看。
比如Name(昵称),Gender(性别),Shiny(是否异色),Moves(招式),Nature(性格),AbilityIndex(特性),IV(个体值),EV(努力值),Item(携带道具),Ball(球种)等,不是所有都要设置,不设置的会有默认值。

1687071342357.png
例如:
1687072871497.png
 
最后编辑:

ES泽洛

世末鸽者
管理员
元老
2022-08-04
229
14
288
2,116
23
安徽
www.esplus.club

和训练家对战

添加完训练家肯定不会就放那放着,得在游戏里和他对战。
一个基本的训练家,应该会包括以下两页内容。
首先一个条件,用于限制对战一次,开关也好变量也也罢,都行。
首次触发时执行第一页,
第一行是训练家战前载入动画,括号里填训练家类型内部名,别漏了英文冒号:
第二行是这个NPC注意到主角,头上冒感叹号。
重点是条件分歧那地方,填写的就是训练家对战的脚本,这个脚本执行完会有一个结果,用于判断输赢。

1687073490203.png
脚本如下,括号中第一个就是训练家类型,第二个就是训练家名称,全都对上才能找到这个训练家,否则调试模式下会提示添加训练家,正常模式会直接报错。
Ruby:
TrainerBattle.start(:COOLTRAINER_M, "泽洛")
战胜后把开关打开,表示这个训练家已经打过了,不能再打了。
最后别忘了加上这一行脚本,照抄就行了。

1687073362794.png
第二页,根据前面的条件开关,写的是以后再触发时的内容。
1687073711297.png
不过这种训练家,只有在主角主动上去对话才会触发,我们见到更多的可能是一对上视线就过来对战的,则需要这么设置。
事件开始条件设置为与事件接触,名称中的Trainer(i)意思是它的视野有i格,注意大小写和括号是英文,然后执行内容里设置事件移动路线加i-1行靠近主角,一行靠近一格,以防万一再设为忽略不能移动的场合。

1687074041047.png
注:此处是调试模式下按Ctrl键跳过了战斗。
6_6_2_3.gif
 
最后编辑:

金风玉露

宝可梦训练家
成员
2023-06-15
1
0
20
20

和训练师对战

添加完训练师肯定不会就放那放着,得在游戏里和他对战。
一个基本的训练师,应该会包括以下两页内容。
首先一个条件,用于限制对战一次,开关也好变量也也罢,都行。
首次触发时执行第一页,
第一行是训练师战前载入动画,括号里填训练师类型内部名,别漏了英文冒号:

第二行是这个NPC注意到主角,头上冒感叹号。
重点是条件分歧那地方,填写的就是训练师对战的脚本,这个脚本执行完会有一个结果,用于判断输赢。
浏览附件1036
脚本如下,括号中第一个就是训练师类型,第二个就是训练师名称,全都对上才能找到这个训练师,否则调试模式下会提示添加训练师,正常模式会直接报错。
Ruby:
TrainerBattle.start(:COOLTRAINER_M, "泽洛")
战胜后把开关打开,表示这个训练家已经打过了,不能再打了。
最后别忘了加上这一行脚本,照抄就行了。

浏览附件1035
第二页,根据前面的条件开关,写的是以后再触发时的内容。
浏览附件1037
不过这种训练师,只有在主角主动上去对话才会触发,我们见到更多的可能是一对上视线就过来对战的,则需要这么设置。
事件开始条件设置为与事件接触,名称中的Trainer(i)意思是它的视野有i格,然后执行内容里设置事件移动路线加i-1行靠近主角,以防万一再设为忽略不能移动的场合。

浏览附件1039
注:此处是调试模式下按Ctrl键跳过了战斗。
浏览附件1040
为什么设置两个"靠近主角",而且我这样设计后npc没有主动靠近主角。
 

附件

  • 屏幕截图 2023-06-20 145958.png
    屏幕截图 2023-06-20 145958.png
    201.5 KB · 查看: 15

ES泽洛

世末鸽者
管理员
元老
2022-08-04
229
14
288
2,116
23
安徽
www.esplus.club

新增训练家类型

其实可能应该先讲这部分的,不过也没差。
以精英训练家_男和冠军举例,可以看到不同的训练家类型其实也不一定要完全一致。
第一行中括号里的是英文内部名,全大写字母,可以用下划线,如果你要给它设置图片,就参考第五章第2节的最末端,此处不再赘述。
第二行Name就是训练家类型的外显名了,注意不是具体的某一个训练家的名字。
第三行Gender就是性别,男的就写Male,女的就写Female,男女混合双打就写Unknown。
第四行BaseMoney是指基础金钱,不是设置多少就赢多少,还会根据其他因素进行计算,所以不要觉得100块太少了,上来就写个10000。
BattleBGM是对战时的BGM,不设置就是默认的训练家对战BGM,VictoryBGM是战胜时的BGM,同上。

1687690277913.png1687690291030.png
 

xingyuan

宝可梦训练家
成员
2023-01-27
16
4
235
23
大佬,我的意思是能不能出个教程怎么换主角人物,如有打扰抱歉了
主角人物在graphics文件夹里的characters里面找trainer_pokemontrainer_ red,(这个是行走图)然后把他删除,然后把你的图片更改成原来的图的名字,这个应该是ess内部程序设定的,你只能删图片然后把图片名字成默认的
 
  • 支持
反馈: LQWU

在线成员

现在没有会员在线。

论坛统计

主题
344
消息
1,582
会员
2,329
最新会员
伊斯坦布尔高坚果

关于我们

  • 宝可梦以及其他相关名称是任天堂的商标,版权归宝可梦公司所有。宝可饭堂是一个同人游戏中文社区,不隶属于宝可梦公司。在宝可饭堂上的粉丝游戏亦未获得其授权,请支持正版游戏。
© 2022- pokefans.cn
点此延长宝可饭堂生命