GOM引擎中隐身术和分身术属于特殊技能,无法通过常规技能书直接学习,必须依赖QFunction.txt脚本触发。两类技能实现机制不同,需分别处理。
隐身术添加方法:在角色升级或完成任务时触发技能授予。例如在QFunction.txt的[@LevelUp]标签下加入:
IF
EQUAL LVL 25
ACT
ADDSKILL 隐身术 1
SENDMSG 6 已学会隐身术!
技能名称必须与HeroDB目录Skill.txt中注册的名称完全一致。若Skill.txt无此技能,需先添加条目,格式为“技能ID|隐身术|0|0|0”,其中ID不可与其他技能冲突。
分身术无法招出完整分身的问题通常由三个原因导致。第一是技能等级不足,分身术需达到3级才能召唤实体分身,低等级仅显示残影。第二是服务端未加载分身模型,需确认EnvirMonItems目录存在分身对应的装备文件(如“分身武器”“分身盔甲”)。第三是脚本缺少属性继承指令。
正确分身术脚本应包含属性复制逻辑。在QFunction.txt的[@UseSkill]标签中检测技能使用:
[@UseSkill]
IF
EQUAL SSKILLNAME 分身术
ACT
MOBHP USERNAME 1000
MOBATTACK USERNAME 80
MOBDEFENSE USERNAME 50
SUMMON 分身 X Y 30000
SENDMSG 6 召唤分身成功!
其中MOBHP、MOBATTACK等指令将玩家当前属性赋值给分身,SUMMON命令最后参数30000表示分身存在30秒。分身名称“分身”必须在MonGen.txt中定义,且Monster.txt需配置对应AI行为。
若分身仍显示不全,检查M2服务器设置中“允许召唤物继承属性”是否开启。部分版本需在!Setup.txt添加参数EnableMobInherit=1。测试时建议先用GM命令@召唤 分身 验证模型是否正常加载,再调试脚本逻辑。

