终于搞出了个算是比较有意思的东西了。其实写这个的脚本倒挺简单,就是繁琐 + 麻烦。完全自己写的
有 500 多行,再加上原默认脚本以及其中添加的,一共 1000 多一点。
这个自动战斗简单的改一下,也可以作为“援助型 NPC“的行动判定。
也可以反向改成敌人,提高敌人AI。(首先需要定义每个敌人能够使用的物品)
下面还是先介绍一下:
自动战斗,顾名思义,就是角色选择“自动战斗”后,无需玩家给角色下达
指令,角色仍可自己行动。
该自动战斗有 2 个模式:普通自动战斗 和 AI自动战斗。2 种模式的切换
使用脚本设置项设置的开关。
角色在 普通自动战斗 时,只是普通攻击敌人。选择的敌人目标偏向血较少
者。
角色在 AI自动战斗 时,判断角色行动类型的流程为:复活同伴 --》 恢复
同伴(HP和SP)--》攻击。
如果队伍中有同伴死亡,有很大几率复活同伴(具体多大几率就不透露),
死亡的同伴个数越多,几率越大。复活同伴的前提条件是有复活类药品或特技。
跳过复活同伴是恢复同伴,恢复同伴的几率以整体的剩余HP/SP的百分比来
算,百分比越小,几率越高。单体恢复同伴HP/SP的恢复对象,偏向HP/SP较少
者。恢复同伴的前提条件是有恢复类药品或特技。
最后是攻击,攻击判断之前有一定的几率对同伴使用 增益特技。攻击分为
普通攻击和使用特技,几率以角色的不同而不同,如果是战士类型的角色,普通
攻击的几率高于使用特技的几率;法师类型的角色则相反。使用特技时有一定的
几率使用不良状态特技。所有使用特技都是以角色已习得的特技为基础。普通攻
击和使用单体攻击特技的对象目标,也是偏向血较少者。
截图看不出效果 —— 无
脚本太长,且会乱码。为方便新手,只发工程。
###########################################
更新[13/10/02]
● 优化自动AI,内容如下:
■ 恢复: 自动战斗者在恢复同伴时,首先确定恢复对象,根据对象需要恢复的
# HP/SP 的多少,来确定使用的物品或特技。需要恢复的对象越多,使用
# “己方全体”的物品或特技的几率越大,单个的恢复对象是不会使用
# “己方全体”的物品或特技。
#
# 比如确定了某个恢复对象,该对象需要回复 HP 100 ,所能使用的物品
# 或特技有 3 种:回复 HP 60 ;回复 HP 110 ;回复 HP 220 。那么自动
# 战斗者会选择 “回复 HP 110” 的这个物品或特技来恢复该对象。
#
#
# ■ 特技攻击: 如果自动战斗者能够使用“敌全体”特技,并且敌人的数量是 2 个
# 或以上时,自动战斗者有几率使用“敌全体”特技,敌人数量越多,几
# 率越大。
#
# 如果是单个攻击对象,首先确定对象,根据该对象剩余的 HP 来选择
# 特技。在这之前会先判断普通攻击能否打倒该对象,如果能打倒该对象,
# 就使用普通攻击,而不使用特技了。
#
# 比如:例1:攻击对象剩余HP:160 ,自动战斗者可使用的特技有:对该
# 对象伤害 HP 180 和 伤害 HP 260 两个特技,但自动战斗者
# 对该对象的普通攻击伤害为:HP 200 ,那么自动战斗者会
# 选择普通攻击而不使用特技。
#
# 例2:攻击对象剩余HP:2000 ,自动战斗者可使用的特技有:对该
# 对象伤害 HP 200 ; 伤害 HP 600 ;伤害 HP 1000 三种,
# 那么自动战斗者会选择 伤害 HP 1000 的这个特技来攻击该
# 对象。(始终选择伤害最接近攻击对象剩余HP的特技)
############################################################
范例工程:
最后,发现 BUG 或有更好的建议,请回复!
本帖来自P1论坛作者芯☆淡茹水,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:
https://rpg.blue/forum.php?mod=viewthread&tid=333307 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。