○ ESS20仅限 【ESS入门】第四章:事件(三)

本教程禁止转载。


从此篇文章开始,就要求你使用一些简单的脚本了。

第8节:创建一个会赠送宝可梦或道具的NPC

赠送宝可梦

赠送宝可梦会用到pbAddPokemon()这个函数,括号里面填写英文冒号加上宝可梦的内部名称,可以在PBS/pokemon.txt中搜索外显名称找到(如果你使用了汉化,就直接搜中文名)。
1678608612400.png1678608748154.png
默认情况下,它会赠送你一只1级的,各项能力在合理范围内随机的宝可梦。
1678608819361.png1678608828531.png1678608844986.png
如果需要指定等级,则可以在括号内填写两个参数,用英文逗号隔开,例如
Ruby:
pbAddPokemon(:PIKACHU,50)
1678609038485.png
当然,如果需要更多的自定义,可以先创建一个宝可梦对象,再添加这个对象,例如:
Ruby:
#注意:#号开头的一行都是注释,不需要写进RMXP里。
pkmn=Pokemon.new(:PIKACHU,50)        #创建一个pkmn对象
pkm.makeShiny                #设置异色
pkmn.ability_index=2                #设置特性为隐藏特性。0、1为普通特性,2为隐藏特性(如果有)
pkmn.nature=:MODEST                    #设置性格为内敛,可参考神百性格列表中的英文名,改成全大写
#设置个体值6V
pkmn.iv.each_key { |key|
  pkmn.iv[key] = 31
}
#个体和努力各项的名称按顺序依次为HP、ATTACK、DEFENSE、SPEED、SPECIAL_ATTACK、SPECIAL_DEFENSE
pkmn.ev[:HP]=6                        #设置HP努力值为6
pkmn.ev[:SPECIAL_ATTACK]=252        #设置特攻努力值为252
pkmn.ev[:SPEED]=252                    #设置速度努力值为252
pkmn.calc_stats                        #因为修改了性格个体努力等,所以需要重新计算能力值
pbAddPokemon(pkmn)                    #添加宝可梦
1678610025178.png1678610037672.png
当然一只宝可梦肯定不止这些数据,你还可以设置主人、遭遇方式、已学习的招式等,更多可编辑的内容请查看ESS的Wiki

除了pbAddPokemon()函数之外,还有pbAddPokemonSilent()函数,这个函数在添加宝可梦时不会提示,也不会让玩家改昵称。

这样你就创建了一个会无限赠送宝可梦的NPC,可以参考上一篇的方法让它只赠送一次。
 
最后编辑:
  • 支持
反馈: DYYYYDS

ES泽洛

世末鸽者
管理员
元老
2022-08-04
250
14
294
2,116
24
江苏
www.esplus.club

赠送道具

赠送道具需要使用到pbReceiveItem()函数或者pbItemBall()函数,两者的区别在于获得道具时的提示文本。
pbReceiveItem()一般用于NPC赠送,提示文本中是“获得了”,pbItemBall()一般用于捡到道具,提示文本中是“发现了”。
括号里面可以填写一个或两个参数,第一个是英文冒号加上道具内部名,可以在PBS/items.txt中搜索外显名称找到;第二个是数量,不写默认是1。

1678610900498.png1678610865162.png
1678610991304.png
参考上一篇的方法只触发一次。
1678611062483.png1678611073124.png
 
最后编辑:

ES泽洛

世末鸽者
管理员
元老
2022-08-04
250
14
294
2,116
24
江苏
www.esplus.club

第9节:创建一场训练师战斗

一个简单的训练师战斗可能会需要包含以下内容。
左上角的名称中填写Trainer(数字),可以让NPC主动走过来,数字即是它的视野范围。
第一页左下角的事件开始条件要选择与事件接触,配合名称才会走过来。
执行内容中的第一行,是显示Graphics/Transitions文件夹下的LASS训练师类型的战斗前载入画面,没有就是默认。
第二行是让NPC头上显示一个感叹号,表示它注意到主角了。
第三行就是对战前的对话,根据需要填写。
第四行是设置战斗规则,图中的意思是设置双打,也可以不写这一行。
第五行是一个条件分歧,如果战胜了训练师,则设置独立开关,无法重复战斗,后续只会触发第二页,若没有战胜下次再触发还可以重新对战。
1678611517548.png
1678611524987.png
这个分歧的内容是一个脚本,不是以前的开关、变量之类的,这个脚本就是开始一场训练师对战,赢了结果为真,否则结果为假。
括号内第一个参数是英文冒号加上训练师类型,必须是在PBS/trainer_types.txt中已经定义过的,否则会报错。
Ruby:
TrainerBattle.start(:LASS, "Crissy")
1678612160573.png
第二个参数是这个训练师的名字,必须是在PBS/trainers.txt中已经定义过的,否则在调试模式下会提示是否要创建这个训练师,正常模式下似乎会无法触发(?)
1678611467198.png
当然,这也只是能添加ESS默认已经有了的训练师,要真正添加一个我们自己原创的训练师,还需要后续讲到PBS章节再展开。
1678612296077.png1678612300760.png1678612367855.png1678612395118.png1678612403252.png
 

NOA天下第一

宝可梦训练家
成员
2024-02-16
3
0
220
23
1717806892895.png1717807013755.png大佬,我抄作业测试里报错,大佬帮忙看看问题出在哪里了罢,求!
 

在线成员

论坛统计

主题
372
消息
1,710
会员
2,491
最新会员
刺客小猫

关于我们

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