如何在GOM引擎中给人型怪物添加技能
在 GOM 引擎中给人型怪物添加技能需要通过数据库配置技能列表和编写 AI 脚本控制技能触发逻辑两步实现,核心是让怪物在特定条件下(如攻击时、血量低时)自动释放技能。以下是详细操作步骤:一、准备工作:确认技能基础信息
获取技能 ID
技能 ID 对应引擎StdSkill.DB数据库中的唯一编号(可用 DBC2000 打开查看)。例如:
烈火剑法:101
冰咆哮:108
治愈术:120
群体攻击:140
(注:自定义技能需先在StdSkill.DB中添加,确保技能名称、动画、伤害参数正确)
准备技能特效特效素材(可选)
若技能需要显示特效(如烈火剑法的火焰、冰咆哮的冰锥),需将特效素材(PNG/BMP 格式)放入客户端Res\Skill目录,并在SkillEffect.ini中关联技能 ID(格式:技能ID=素材路径)。
二、数据库配置:添加技能列表
通过 GOM 引擎配置工具或直接编辑MonsterConfig.ini,将技能绑定到人型怪物:
1. 方法一:使用 GOM 配置器(推荐,可视化操作)
打开引擎工具\GOM配置器.exe→左侧 “怪物管理”→找到目标人型怪物(如 ID=10001 的 “堕落战士”)。
在右侧 “高级属性”→“技能列表” 中填写:
格式:技能ID,技能等级,冷却时间(秒),多个技能用|分隔。
示例:101,3,10|140,2,20
(含义:3 级烈火剑法,冷却 10 秒;2 级群体攻击,冷却 20 秒)
点击 “保存”,自动同步到MonsterConfig.ini。
2. 方法二:直接编辑MonsterConfig.ini(文本方式)
找到客户端Data\MonsterConfig.ini,搜索怪物 ID(如)。
在对应配置段添加:
ini
SkillList=101,3,10|140,2,20// 技能列表
保存文件,重启引擎生效。
三、编写 AI 脚本:控制技能触发条件
技能添加到数据库后,需需通过 AI 脚本设置释放时机(如攻击时、玩家血量低时)。脚本文件需放在Envir\MonsterAI目录,命名格式为怪物ID.txt(如10001.txt)。
1. 基础技能触发脚本(示例:攻击时释放烈火剑法)
text
// 堕落战士技能脚本(10001.txt)
#AutoRun 500ms// 每500毫秒检测一次条件
// 条件:正在攻击玩家,且技能冷却完成
#IF
IsAttacking 1 // 1=正在攻击目标
SkillCD 101 == 0 // 检查101号技能(烈火剑法)是否冷却完成(0=已冷却)
#ACT
UseSkill 101 // 释放烈火剑法
SendMsg 2 堕落战士:“尝尝我的烈火!”// 释放时喊话(增强交互)
2. 进阶脚本:多条件触发不同技能
text
// 玩家血量低于30%时释放群体攻击
#IF
IsTargetPlayer 1 // 目标是玩家
TargetHP < 30% // 玩家血量低于30%
SkillCD 140 == 0 // 群体攻击140(群体攻击)冷却完成
#ACT
UseSkill 140
SendMsg 2 堕落战士:“别想跑!”
// 自身血量低于50%时释放治愈术(道士类怪物)
#IF
MonsterHP < 50% // 怪物自身血量低于50%
SkillCD 120 == 0 // 治愈术冷却完成
#ACT
UseSkill 120 // 给自己加血
SendMsg 2 堕落道士:“我还能再战!”
四、调试与问题解决
1. 技能不释放?检查以下几点:
技能 ID 错误:核对StdSkill.DB中的技能 ID 是否与配置一致(区分中英文符号)。
冷却时间未到:若设置冷却时间=10,则 10 秒内无法重复释放,可临时设为 0 测试。
触发条件不满足:用SendMsg输出调试信息,例如:
text
#IF
IsAttacking 1
#ACT
SendMsg 2 正在攻击!// 若不显示,说明未进入攻击状态
怪物未设置 “人形标记”:在配置器中勾选 “Humanoid”(人形怪物专属),否则可能无法释放技能。
2. 技能无特效?
检查SkillEffect.ini中是否正确关联技能 ID 和素材,例如:
101=Res\Skill\liehuo.png
确保特效素材格式正确(PNG 透明通道有效,尺寸适配技能范围)。
3. 技能释放太频繁?
增加冷却时间(如从 10 秒改为 15 秒),或在脚本中添加概率判断:
text
#IF
Random 100 < 30// 30%概率释放
#ACT
UseSkill 101
五、优化技巧
技能组合策略:根据怪物职业设定技能(如战士用烈火 + 刺杀,法师用冰咆哮 + 雷电)。
智能目标选择:用SelectTarget命令让怪物优先攻击低血量玩家:
text
#IF
ExistPlayer 5// 5格内有玩家
#ACT
SelectTarget LowHP// 选中血量最低的玩家
UseSkill 140
适配多人场景:群体技能(如 140)在玩家数量≥3 时触发,减少资源浪费:
text
#IF
PlayerCountInRange 5 >=3// 5格内玩家≥3人
#ACT
UseSkill 140
通过以上步骤,可实现人型怪物释放技能的核心逻辑。关键是技能列表配置正确+触发条件合理,配合调试信息快速定位问题。对于复杂技能(如召唤宠物、施加 debuff),只需替换对应技能 ID 并调整触发逻辑即可。
页:
[1]