传奇宠物脚本是控制宠物召唤、属性、行为、技能及交互逻辑的指令集合,通过配置表格与QuestDiary脚本联动,实现宠物获取、升级、战斗等功能,适配主流GOM、HERO、GEE引擎,制作需遵循表格配置、脚本编写、引擎设置三大核心环节。
一、传奇宠物脚本核心认知
宠物脚本本质是衔接玩家操作、引擎规则与宠物行为的桥梁,核心覆盖四大逻辑:宠物召唤与收回、属性成长与升级、战斗模式与技能、特殊触发(死亡、变蛋等)。所有宠物相关玩法,均需通过脚本指令绑定表格配置,实现功能闭环。
制作核心前提:需开启引擎宠物系统,配置对应表格(怪物表、宠物等级表等),脚本命令需适配引擎特性,避免语法冲突导致功能失效。
二、宠物脚本制作前置准备(全引擎通用)
制作前需完成表格配置与引擎设置,为脚本编写搭建基础环境,具体操作如下。
1.引擎宠物系统开启
登录服务端引擎控制台(M2),找到“宠物设置”选项,勾选“开启宠物系统”,保存设置后无需重启引擎,部分引擎需勾选“允许宠物穿戴装备”“宠物经验叠加”等附加选项,根据玩法需求调整。
2.核心表格配置(关键步骤)
宠物功能依赖服务端表格数据支撑,需修改3类核心表格,路径通常为服务端/Config文件夹,表格格式为XLS,修改后需重载表格生效。
(1)怪物表(cfg_monster.xls):定义宠物基础属性,宠物race类型需设为156或19,Custommonster字段需填写至少一种攻击形式,示例配置:
1459小狐狸1561932080110030003#1#1000|3#3#500|3#4#500604570010800711
说明:依次对应ID、名称、race类型、血量、魔法值、攻击方式等,攻击形式需与自定义怪物表匹配。
(2)宠物等级表(cfg_petlevel.xls):配置宠物各等级经验需求与属性加成,示例配置:
11459小狐狸11001#100|3#102190500500
说明:依次对应等级、宠物ID、名称、所需经验、属性加成(攻击、防御等)、血量上限、魔法上限。
(3)自定义怪物表(cfg_monattack.xls):定义宠物攻击技能与伤害规则,示例配置:
112001130#100#100010010100#50001#100#5#100|2#100#1#300
说明:控制宠物攻击范围、伤害倍率、技能触发概率等核心战斗参数。
3.脚本文件准备
在QuestDiary文件夹新建专属宠物脚本文件(如PetSystem.txt),编码设为ANSI,避免引擎读取乱码。脚本文件需与表格宠物ID对应,确保指令可调用表格数据。
三、宠物脚本核心功能制作(分引擎示例)
宠物脚本核心功能包括宠物获取、召唤收回、升级触发、战斗模式控制,以下为GOM/GEE与HERO引擎适配方案,均采用“#IF-#ACT-#SAY”基础语法。
1.GOM/GEE引擎宠物脚本示例
(1)宠物蛋获取与使用脚本
//宠物蛋物品ID绑定(假设宠物蛋ID为5000)
(5000)
#ACT
usepetitem;触发宠物蛋使用逻辑
CreatePet14591;生成ID为1459的小狐狸宠物,等级1级
SendMsg9成功使用宠物蛋,获得小狐狸宠物,输入@召唤宠物即可召唤。
//召唤宠物指令
(@召唤宠物)
#IF
CheckPetExist1459;检测是否拥有该宠物
#ACT
RecallPet0;召唤序号为0的宠物(序号从0开始)
SetPetMode1;设为攻击模式(1攻击、2防御、3被动)
SendMsg9宠物已召唤,当前模式为攻击模式。
#ELSESAY
你尚未拥有该宠物,请先获仍应宠物蛋。
(2)宠物升级触发脚本
//宠物升级触发(系统自带触发标识petlevelup)
(petlevelup)
#ACT
GetPetAttr0Level;获取宠物当前等级
SendMsg9你的宠物小狐狸升至<$STR(Level)>级,属性大幅提升!
AddPetAttr0Attack5;每级额外增加5点攻击
(3)宠物死亡与复活脚本
//宠物死亡触发(标识petdie)
(petdie)
#ACT
SendMsg9你的宠物已死亡,可使用复活丹复活或等待自动复活。
//复活宠物脚本(绑定复活丹物品ID5001)
(5001)
#IF
CheckPetDie0;检测序号0的宠物是否死亡
#ACT
RevivePet0;复活宠物
SendMsg9宠物已成功复活,恢复至满血状态。
#ELSESAY
你的宠物当前状态正常,无需复活。
2.HERO引擎宠物脚本适配调整
HERO引擎部分命令与GOM不同,核心替换召唤、属性调整命令,示例如下:
//召唤宠物指令替换
(@召唤宠物)
#IF
HasPet1459
#ACT
CallPet1459;HERO召唤命令,直接指定宠物ID
PetMode1;设置攻击模式
//宠物属性增加命令替换
AddPetPower1459Attack5;给小狐狸增加5点攻击
说明:HERO引擎无需指定宠物序号,直接通过宠物ID关联,部分触发标识与GOM通用,可直接复用升级、死亡触发逻辑。
四、宠物脚本进阶功能制作
1.宠物收回与变蛋功能
//收回宠物并变蛋
(@宠物变蛋)
#IF
CheckPetSummon0;检测宠物是否已召唤
#ACT
UnRecallPet0;收回宠物
PetToItem05000;将宠物变为ID5000的宠物蛋
SendMsg9宠物已收回并变为宠物蛋,可再次使用召唤。
2.宠物战斗模式切换
//切换为防御模式
(@防御模式)
#ACT
SetPetMode2;防御模式(仅攻击攻击主人的目标)
SendMsg9宠物已切换至防御模式。
//切换为被动模式
(@被动模式)
#ACT
SetPetMode3;被动模式(不主动攻击,仅跟随)
SendMsg9宠物已切换至被动模式。
五、宠物脚本生效与问题排查
1.脚本生效步骤
1.保存表格与脚本文件,登录M2控制台;2.执行“重载QuestDiary脚本”“重载怪物表格”“重载宠物等级表”;3.玩家获取宠物蛋并使用,测试各项功能是否正常触发。
2.常见问题排查
1.宠物无法召唤:核对表格宠物ID与脚本一致,确认引擎宠物系统已开启,脚本编码为ANSI。
2.宠物不升级:检查宠物等级表经验配置是否正确,升级触发脚本是否绑定petlevelup标识。
3.宠物无攻击行为:自定义怪物表攻击形式未配置,或怪物表Custommonster字段为空,补充配置后重载表格。
4.跨引擎功能失效:替换对应引擎命令,参考引擎命令手册调整语法,避免通用命令混用。
综上,传奇宠物脚本制作核心是表格与脚本的联动适配,先完成基础配置搭建,再按功能需求编写触发指令,结合引擎特性调整命令,即可实现从宠物获取到战斗成长的完整玩法体系。
一、传奇宠物脚本核心认知
宠物脚本本质是衔接玩家操作、引擎规则与宠物行为的桥梁,核心覆盖四大逻辑:宠物召唤与收回、属性成长与升级、战斗模式与技能、特殊触发(死亡、变蛋等)。所有宠物相关玩法,均需通过脚本指令绑定表格配置,实现功能闭环。
制作核心前提:需开启引擎宠物系统,配置对应表格(怪物表、宠物等级表等),脚本命令需适配引擎特性,避免语法冲突导致功能失效。
二、宠物脚本制作前置准备(全引擎通用)
制作前需完成表格配置与引擎设置,为脚本编写搭建基础环境,具体操作如下。
1.引擎宠物系统开启
登录服务端引擎控制台(M2),找到“宠物设置”选项,勾选“开启宠物系统”,保存设置后无需重启引擎,部分引擎需勾选“允许宠物穿戴装备”“宠物经验叠加”等附加选项,根据玩法需求调整。
2.核心表格配置(关键步骤)
宠物功能依赖服务端表格数据支撑,需修改3类核心表格,路径通常为服务端/Config文件夹,表格格式为XLS,修改后需重载表格生效。
(1)怪物表(cfg_monster.xls):定义宠物基础属性,宠物race类型需设为156或19,Custommonster字段需填写至少一种攻击形式,示例配置:
1459小狐狸1561932080110030003#1#1000|3#3#500|3#4#500604570010800711
说明:依次对应ID、名称、race类型、血量、魔法值、攻击方式等,攻击形式需与自定义怪物表匹配。
(2)宠物等级表(cfg_petlevel.xls):配置宠物各等级经验需求与属性加成,示例配置:
11459小狐狸11001#100|3#102190500500
说明:依次对应等级、宠物ID、名称、所需经验、属性加成(攻击、防御等)、血量上限、魔法上限。
(3)自定义怪物表(cfg_monattack.xls):定义宠物攻击技能与伤害规则,示例配置:
112001130#100#100010010100#50001#100#5#100|2#100#1#300
说明:控制宠物攻击范围、伤害倍率、技能触发概率等核心战斗参数。
3.脚本文件准备
在QuestDiary文件夹新建专属宠物脚本文件(如PetSystem.txt),编码设为ANSI,避免引擎读取乱码。脚本文件需与表格宠物ID对应,确保指令可调用表格数据。
三、宠物脚本核心功能制作(分引擎示例)
宠物脚本核心功能包括宠物获取、召唤收回、升级触发、战斗模式控制,以下为GOM/GEE与HERO引擎适配方案,均采用“#IF-#ACT-#SAY”基础语法。
1.GOM/GEE引擎宠物脚本示例
(1)宠物蛋获取与使用脚本
//宠物蛋物品ID绑定(假设宠物蛋ID为5000)
(5000)
#ACT
usepetitem;触发宠物蛋使用逻辑
CreatePet14591;生成ID为1459的小狐狸宠物,等级1级
SendMsg9成功使用宠物蛋,获得小狐狸宠物,输入@召唤宠物即可召唤。
//召唤宠物指令
(@召唤宠物)
#IF
CheckPetExist1459;检测是否拥有该宠物
#ACT
RecallPet0;召唤序号为0的宠物(序号从0开始)
SetPetMode1;设为攻击模式(1攻击、2防御、3被动)
SendMsg9宠物已召唤,当前模式为攻击模式。
#ELSESAY
你尚未拥有该宠物,请先获仍应宠物蛋。
(2)宠物升级触发脚本
//宠物升级触发(系统自带触发标识petlevelup)
(petlevelup)
#ACT
GetPetAttr0Level;获取宠物当前等级
SendMsg9你的宠物小狐狸升至<$STR(Level)>级,属性大幅提升!
AddPetAttr0Attack5;每级额外增加5点攻击
(3)宠物死亡与复活脚本
//宠物死亡触发(标识petdie)
(petdie)
#ACT
SendMsg9你的宠物已死亡,可使用复活丹复活或等待自动复活。
//复活宠物脚本(绑定复活丹物品ID5001)
(5001)
#IF
CheckPetDie0;检测序号0的宠物是否死亡
#ACT
RevivePet0;复活宠物
SendMsg9宠物已成功复活,恢复至满血状态。
#ELSESAY
你的宠物当前状态正常,无需复活。
2.HERO引擎宠物脚本适配调整
HERO引擎部分命令与GOM不同,核心替换召唤、属性调整命令,示例如下:
//召唤宠物指令替换
(@召唤宠物)
#IF
HasPet1459
#ACT
CallPet1459;HERO召唤命令,直接指定宠物ID
PetMode1;设置攻击模式
//宠物属性增加命令替换
AddPetPower1459Attack5;给小狐狸增加5点攻击
说明:HERO引擎无需指定宠物序号,直接通过宠物ID关联,部分触发标识与GOM通用,可直接复用升级、死亡触发逻辑。
四、宠物脚本进阶功能制作
1.宠物收回与变蛋功能
//收回宠物并变蛋
(@宠物变蛋)
#IF
CheckPetSummon0;检测宠物是否已召唤
#ACT
UnRecallPet0;收回宠物
PetToItem05000;将宠物变为ID5000的宠物蛋
SendMsg9宠物已收回并变为宠物蛋,可再次使用召唤。
2.宠物战斗模式切换
//切换为防御模式
(@防御模式)
#ACT
SetPetMode2;防御模式(仅攻击攻击主人的目标)
SendMsg9宠物已切换至防御模式。
//切换为被动模式
(@被动模式)
#ACT
SetPetMode3;被动模式(不主动攻击,仅跟随)
SendMsg9宠物已切换至被动模式。
五、宠物脚本生效与问题排查
1.脚本生效步骤
1.保存表格与脚本文件,登录M2控制台;2.执行“重载QuestDiary脚本”“重载怪物表格”“重载宠物等级表”;3.玩家获取宠物蛋并使用,测试各项功能是否正常触发。
2.常见问题排查
1.宠物无法召唤:核对表格宠物ID与脚本一致,确认引擎宠物系统已开启,脚本编码为ANSI。
2.宠物不升级:检查宠物等级表经验配置是否正确,升级触发脚本是否绑定petlevelup标识。
3.宠物无攻击行为:自定义怪物表攻击形式未配置,或怪物表Custommonster字段为空,补充配置后重载表格。
4.跨引擎功能失效:替换对应引擎命令,参考引擎命令手册调整语法,避免通用命令混用。
综上,传奇宠物脚本制作核心是表格与脚本的联动适配,先完成基础配置搭建,再按功能需求编写触发指令,结合引擎特性调整命令,即可实现从宠物获取到战斗成长的完整玩法体系。

