- 打卡等级:魔龙套勇士
- 打卡总天数:131
- 打卡月天数:24
- 打卡总奖励:14956
- 最近打卡:2025-08-24 00:16:44
管理员
本站站长
- 积分
- 8652
|
在 GOM 引擎中,人型怪物(如战士、法师类 NPC 怪物)的设置需兼顾外观表现(如穿戴装备、人形动画)和行为逻辑(如使用技能、主动攻击模式),相比普通怪物更复杂。以下是完整的设置方法,涵盖素材准备、数据库配置、AI 行为脚本等核心步骤:
一、人型怪物的核心特点与准备工作
1. 与普通怪物的区别
外观:需显示穿戴装备(如武器、衣服),动画帧包含人类动作(如持剑攻击、施法抬手)。
行为:支持使用职业技能(如烈火剑法、冰咆哮)、主动追击玩家、甚至组队协作。
配置:需额外设置 “装备穿戴”“技能列表”“仇恨逻辑” 等参数。
2. 素材准备(关键)
动画帧要求:
尺寸:建议96×96像素(单帧),支持128×128高清素材(需引擎设置适配)。
帧序列:包含 8 方向(上 / 下 / 左 / 右 / 斜向),每个方向需有 ** idle(待机)、walk(行走)、attack(攻击)、skill(技能)、die(死亡)** 5 类动作,每类 3-6 帧(确保动画流畅)。
装备关联:若需显示武器 / 衣服,素材需预留 “手持位置”(如右手持剑区域),后续通过配置关联装备外观。
格式:保存为PNG(带透明通道)或BMP(品红底色透明),放入客户端Res\Monsters\Human目录。
二、数据库基础属性配置
GOM 引擎通过MonsterConfig.ini(文本配置)或DBC数据库(可视化编辑)设置怪物基础属性,推荐用GOM 引擎配置工具(路径:引擎工具\GOM配置器.exe)操作:
1. 基础参数设置(必配项)
参数 说明 人型怪物示例(“堕落战士”)
怪物 ID 唯一标识(建议 10000 以上,避免冲突) 10001
怪物名称 游戏内显示名称 堕落战士
素材路径 关联之前准备的动画素材 Res\Monsters\Human\fallensoldier.png
血量 / 魔法值 基础生存属性 2000/500
物理攻击 近战 / 远程攻击值(人型怪物通常较高) 80-120
防御 / 魔防 抗性属性 30/20
行走速度 移动速度(1-10,数值越大越快) 5(中等速度,接近玩家)
攻击距离 1 = 近战,>1 = 远程(法师类设为 3-5) 1(战士类近战)
2. 人型怪物专属配置
是否为人类形态:在 “高级设置” 中勾选 “Humanoid”(人形标记),引擎会自动适配装备显示逻辑。
装备穿戴设置:
武器:在 “手持物品 ID” 中填写武器 ID(如 123 = 裁决之杖,需与StdItems.DB中装备 ID 一致)。
衣服:在 “穿戴衣服 ID” 中填写衣服 ID(如 456 = 战神盔甲),引擎会自动在怪物外观上叠加装备显示。
经验与掉落:设置 “基础经验”(如 1000)、“掉落物品列表”(如金币、药水、低级装备),与普通怪物配置一致。
三、AI 行为与技能设置(核心)
人型怪物的 “智能” 主要通过AI 脚本和技能触发逻辑实现,需在Envir\MonsterAI目录下创建对应脚本文件(命名格式:怪物ID.txt,如10001.txt)。
1. 基础 AI 脚本框架
text
// 堕落战士AI脚本(10001.txt)
#AutoRun 1000ms // 每1000毫秒执行一次检测
// 检测玩家进入攻击范围
#IF
DistanceToTarget < 5 // 玩家在5格范围内
IsTargetPlayer 1 // 目标是玩家
#ACT
Attack 1 // 主动攻击
// 血量低于30%时使用药水
#IF
MonsterHP < 30% // 当前血量低于30%
#ACT
UseItem 金疮药(大) 1 // 使用大瓶金疮药
SendMsg 2 堕落战士:“这点伤害不算什么!” // 发送喊话
// 玩家血量低于20%时追击
#IF
TargetHP < 20%
#ACT
Chase 1 10 // 强制追击,持续10秒
2. 技能释放设置(关键)
人型怪物使用技能需两步:先在数据库中添加技能,再在脚本中设置触发条件。
步骤 1:数据库添加技能
在MonsterConfig.ini的 “技能列表” 中填写:技能ID,等级,冷却时间(秒),例如:
技能列表=101,3,10(101 = 烈火剑法,等级 3,冷却 10 秒)
(技能 ID 对应StdSkill.DB中的技能编号,需确保技能存在)
步骤 2:脚本触发技能
在 AI 脚本中添加技能释放逻辑:
text
// 攻击时有30%概率释放烈火剑法
#IF
IsAttacking 1 // 正在攻击目标
Random 100 < 30 // 30% 概率
#ACT
UseSkill 101 // 使用烈火剑法(技能 ID=101)
plaintext
#### 3. 组队协作设置(进阶)
若需多个人型怪物协同作战(如“堕落战士+堕落法师”组合),可通过全局变量实现:
```text
// 法师怪物检测到队友血量低时释放治愈术
#IF
ExistMonster 10001 3 // 3格内存在10001号怪物(堕落战士)
MonsterHP(10001) < 50% // 队友血量低于50%
#ACT
UseSkill 120 // 使用治愈术(技能ID=120)
四、动画与装备显示调试
1. 动画帧关联
若怪物动作卡顿或方向错误,需检查素材帧序列:
打开GOM素材管理器→“怪物素材”→选中目标怪物→“帧设置”,确认 “方向数 = 8”“单方向帧数 = 6”(与实际素材一致),并预览动画修正帧顺序。
2. 装备不显示的解决
检查 “手持物品 ID”“穿戴衣服 ID” 是否与StdItems.DB中的装备 ID 一致(区分大小写)。
确保装备素材已正确导入客户端Res\Items目录,且格式为 GOM 支持的 PNG/BMP。
五、常见问题与优化
问题现象 解决方法
怪物不释放技能 1. 检查技能 ID 是否正确;2. 确保冷却时间已到;3. 脚本中触发条件是否满足(如IsAttacking是否为 1)
装备显示错位 调整怪物素材的 “手持位置”,或在引擎设置中修改 “装备偏移量”(X/Y 轴微调)
多人型怪物卡顿 减少单屏人型怪物数量(建议≤20 只),或降低 AI 脚本执行频率(如#AutoRun 2000ms)
技能释放无特效 在SkillEffect.ini中为技能 ID 配置特效素材(如烈火剑法的火焰特效)
总结
GOM 引擎人型怪物的设置核心是 “外观素材 + 属性配置 + AI 脚本” 三部分协同:素材确保人形动作自然,属性定义基础能力,AI 脚本赋予智能行为(技能、协作等)。通过调试动画帧和技能触发逻辑,可实现接近玩家职业的复杂怪物,适合 “副本 BOSS”“精英怪” 等设计。
|
|