设为首页收藏本站
  • 官方微信
    lmkj_wx 微信公众号 添加方式:
    1:扫描左侧二维码
  • 手机访问
    lmkj_sj
  •  找回密码
     立即注册

    QQ登录

    只需一步,快速开始

    查看: 18|回复: 0

    如何在GOM引擎中给人型怪物添加技能

    [复制链接]
    avatar
    • 打卡等级:魔龙套勇士
    • 打卡总天数:130
    • 打卡月天数:23
    • 打卡总奖励:14868
    • 最近打卡:2025-08-23 00:38:01

    7084

    主题

    150

    回帖

    8650

    积分

    管理员

    本站站长

    积分
    8650
    online_admin 发表于 2025-7-30 18:43:08 | 显示全部楼层 |阅读模式
    在 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(如[10001])。
    在对应配置段添加:
    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 并调整触发逻辑即可。

    您需要登录后才可以回帖 登录 | 立即注册 qq_login

    本版积分规则

    QQArchiver 手机版 小黑屋 39传奇素材网 ( 蜀ICP备2022016510号-3 )

    快速回复 快速发帖 返回顶部 返回列表