传奇人物宝宝全套触发脚本命令用法详解
在传奇私服开发与版本运维中,人物宝宝脚本是自定义宠物机制、平衡职业强度、定制专属玩法的核心模块。掌握传奇宝宝触发条件、内置脚本命令及参数用法,能够帮助开发者快速实现宝宝叛变、升级、属性修改、召唤控制等功能。本文整理QFunction-0.txt所有主流宝宝相关触发段、内置控制命令、实战示例,是传奇脚…
在传奇私服开发与版本运维中,人物宝宝脚本是自定义宠物机制、平衡职业强度、定制专属玩法的核心模块。掌握传奇宝宝触发条件、内置脚本命令及参数用法,能够帮助开发者快速实现宝宝叛变、升级、属性修改、召唤控制等功能。本文整理QFunction-0.txt所有主流宝宝相关触发段、内置控制命令、实战示例,是传奇脚本编写的核心参考教程。
一、传奇人物宝宝基础触发机制(QFunction-0.txt)
传奇所有人物宝宝的行为触发均依托服务端QFunction-0.txt文件配置,不同行为对应专属触发标签,涵盖宝宝状态变更、交互、死亡、攻击等全场景,以下为所有原生触发段及完整用法。
1.1 人物宝宝叛变触发
触发场景:玩家召唤的宝宝达到设定叛变时间、主动触发叛变行为时执行,常用于提示玩家宝宝状态变更。
触发文件:QFunction-0.txt
[@MobTreachery]
#IF
#ACT
SENDMSG 7 宝宝已叛变
1.2 宝宝等级提升触发
触发场景:宝宝通过击杀怪物、经验获取完成等级升级时自动触发,可自定义升级提示文案。
触发文件:QFunction-0.txt
[@Slaveupgrade]
#IF
#ACT
SENDMSG 6 你的宝宝<$SLAVEUPGRADENAME>升级了
1.3 获得宝宝触发
触发场景:玩家通过召唤、道具获取宝宝时触发,特殊说明:神兽站立、趴下的状态切换也会重复触发该段脚本,配置时需注意去重逻辑。
触发文件:QFunction-0.txt
[@Slavebb]
#IF
#ACT
SENDMSG 7 你获得宝宝<$SLAVEBBNAME>
1.4 宝宝攻防交互触发
该组触发用于检测宝宝被攻击、玩家攻击他人宝宝的交互场景,多用于PK提示、攻防日志记录。
触发文件:QFunction-0.txt
;宝宝被其他玩家宠物攻击触发
[@SlaveDamage]
#IF
#ACT
SENDMSG 7 宝宝被[<$darlingpet>]攻击了
;玩家攻击他人宝宝触发
[@HitSlave]
#IF
#ACT
SENDMSG 7 你攻击了[<$darlingpet>]的宝宝
1.5 宝宝死亡类触发
分为击杀他人宝宝、自身宝宝死亡两类触发,可定制击杀提示、死亡惩罚、掉落关联逻辑。
触发文件:QFunction-0.txt
;杀死敌方宝宝触发(指定宝宝名称判定)
[@KillSlave]
#IF
CheckKillSlaveName 月灵
#ACT
SendMsg 5 你把对方<$KILLSLAVEMASTERNAME>的月灵宝宝杀死了.
;自己的宝宝死亡触发
[@SelfKillSlave]
#IF
#ACT
SendMsg 6 <$USERNAME>你的宝宝<$SLAVEBBNAME>死了
二、传奇宝宝核心控制脚本命令(实战常用)
除基础触发段外,传奇服务端内置专属宝宝控制脚本命令,支持召唤、检测、修改、删除、属性调整等操作,是定制宝宝玩法的核心指令,以下按功能分类详解。
2.1 脚本召唤宝宝命令 RECALLMOB
命令功能:强制召唤指定怪物为玩家宝宝,支持等级、叛变时间、变色效果自定义
命令格式:RECALLMOB 怪物名称 宝宝等级(最高7级) 叛变时间(分钟) 是否自动变色(0、1)固定颜色(1-7)
[@召唤宝宝]
#IF
#ACT
;召唤神兽为7级,30分钟后叛变,开启七彩自动变色
RECALLMOB 神兽 7 30 1
SENDMSG 0 好好看着自己的宝宝,不要乱咬人
2.2 宝宝等级/数量/名称检测命令
此类命令用于条件判定,可结合NPC、权限脚本实现宝宝准入、玩法限制等逻辑。
2.2.1 检测宝宝等级 CHECKSLAVELEVEL
格式:CHECKSLAVELEVEL 控制符(=,>,<) 等级数
[@checklevel0]
#IF
CHECKSLAVELEVEL = 5
#SAY
宝宝的等级等于5级。
#ELSESAY
宝宝的等级不等于5级。
2.2.2 检测宝宝数量 CHECKSLAVECOUNT
格式:CHECKSLAVECOUNT 控制符(=,>,<) 数量
[@宝宝数量]
#IF
CHECKSLAVECOUNT < 5
#ACT
SENDMSG 6 你的宝宝总数量为5个。
#ELSEACT
SENDMSG 6 你的宝宝总数量不为5个。
2.2.3 检测宝宝名称 CHECKSLAVENAME
格式:CHECKSLAVENAME 宝宝名称
[@检测宝宝名字]
#IF
CHECKSLAVENAME 虎卫
#ACT
SENDMSG 5 提示:你的宝宝叫虎卫
#ELSEACT
SENDMSG 5 提示:你的宝宝不叫虎卫
2.2.4 检测宝宝距离 CheckSlaveInRange
格式:CheckSlaveInRange 名字 距离,判定目标宝宝是否在玩家指定范围内
[@检测宝宝距离]
#IF
CheckSlaveInRange 月灵 5
#SAY
你的月灵在身边
#ELSESAY
你的月灵宝宝跑哪里去了?
2.3 宝宝删除与叛变强制命令
用于手动控制宝宝消失、强制叛变,常用于NPC功能、管理员指令开发。
2.3.1 杀死指定宝宝 KILLCALLMOB
格式:KillCallMob 名字 数量 方式(空/0=带死亡动画,1=直接消失)
;示例1:带死亡动画杀死虎卫
[@杀死自己指定宝宝]
#IF
#ACT
KILLCALLMOB 虎卫 1
SENDMSG 5 你的虎卫宝宝被杀死了.
;示例2:无动画直接消失虎卫
[@杀死自己指定宝宝]
#IF
#ACT
KILLCALLMOB 虎卫 1 1
SENDMSG 5 你的虎卫宝宝被杀死了.
2.3.2 清空全部宝宝 KILLSLAVE
无参数指令,一键清除玩家所有携带宝宝
[@杀死全部宝宝]
#IF
#ACT
KILLSLAVE
SENDMSG 5 你的宝宝全部杀死了
2.3.3 强制宝宝叛变 GetCallMob
格式:GetCallMob 宝宝名字,指定目标宝宝立即触发叛变
[@立即叛变]
#IF
#act
GETCALLMOB 神兽
#say
你的神兽已经叛变
2.4 宝宝等级与攻击倍率调整命令
用于动态修改宝宝战力,适配版本平衡、buff效果、进阶玩法开发。
2.4.1 调整宝宝等级 ChangeSlaveLevel
参数说明:参数1=宝宝名称,参数2=操作符(+、=、-),参数3=等级(1-7),参数4=序号(空/0=全部,1-99=指定宝宝)
;调整所有虎卫为7级
[@调整所有宝宝等级]
#IF
#ACT
ChangeSlaveLevel 虎卫 = 7
;仅调整第一个虎卫为7级
[@调整第1个宝宝等级]
#IF
#ACT
ChangeSlaveLevel 虎卫 = 7 1
2.4.2 调整宝宝人物攻击倍率 ChangeSlaveAttackHumPowerRate
参数说明:倍率数值÷100为实际倍数,0=禁止攻击人物,仅对玩家目标生效
;禁止神兽攻击玩家
[@神兽不攻击人物]
#if
CHECKSLAVENAME 神兽
#ACT
ChangeSlaveAttackHumPowerRate 神兽 0
sendmsg 6 神兽不攻击人物
#elseact
sendmsg 6 请先把神兽召唤出来
;神兽攻击倍率调整为1.1倍
[@神兽攻击人物倍数1点1倍]
#if
CHECKSLAVENAME 神兽
#ACT
ChangeSlaveAttackHumPowerRate 神兽 110
sendmsg 6 神兽攻击人物1.1倍攻击力
#elseact
sendmsg 6 请先把神兽召唤出来
2.5 宝宝信息获取与改名命令
2.5.1 获取宝宝名称等级 GetSlaveInfo
参数说明:参数1=宝宝序号,参数2=名称变量,参数3=等级变量,参数4=是否带后缀数字(0=否,1=是)
;不带数字获取信息
[@宝宝名字和等级不带数字]
#IF
#ACT
GetSlaveInfo 1 S$宝宝名字1 N$宝宝等级1
GetSlaveInfo 2 S$宝宝名字2 N$宝宝等级2
SENDMSG 6 <$STR(S$宝宝名字1)>---<$STR(N$宝宝等级1)>
SENDMSG 6 <$STR(S$宝宝名字2)>---<$STR(N$宝宝等级2)>
;带数字获取信息
[@宝宝名字和等级带数字]
#IF
#ACT
GetSlaveInfo 1 S$宝宝名字1 N$宝宝等级1 1
GetSlaveInfo 2 S$宝宝名字2 N$宝宝等级2 1
SENDMSG 6 <$STR(S$宝宝名字1)>---<$STR(N$宝宝等级1)>
SENDMSG 6 <$STR(S$宝宝名字2)>---<$STR(N$宝宝等级2)>
2.5.2 宝宝在线改名 ChangeBmz
参数说明:参数1=新名称,参数2=原名称(为空时修改全部宝宝)
;修改所有宝宝名称
[@ChangeBmz]
#IF
#ACT
ChangeBmz 超级神兽
SendMsg 5 你所有宝宝名字修改为超级神兽!
;仅修改原生神兽名称
[@ChangeBmz1]
#IF
CHECKSLAVENAME 神兽
#ACT
ChangeBmz 超级神兽 神兽
SendMsg 5 你的神兽宝宝名字成功修改为超级神兽!
#ELSEACT
SENDMSG 5 提示:你的宝宝名字不叫神兽
2.6 宝宝属性与血量修改高级命令
2.6.1 自定义宝宝属性 CHANGEMOBABILITY
可修改攻防、速度、血量等14类属性,支持时效控制,属性上限21亿
属性位置对照表:1=防御下限,2=防御上限,3=魔御下限,4=魔御上限,5=攻击下限,6=攻击上限,7=魔法下限,8=魔法上限,9=道术下限,10=道术上限,11=MaxHP,12=MaxMP,13=移动速度,14=攻击速度
[@main]
#IF
#ACT
CHANGEMOBABILITY 神兽 11 + 10000 9999
SENDMSG 7 你的神兽增加了HP+10000
2.6.2 宝宝血量恢复 MEBabyHP
参数说明:参数1=宝宝名称,参数2=操作符,参数3=血量值,参数4=是否区分后缀数字(0=否,1=是)
;通用神兽回血
[@修改神兽血量]
#IF
#ACT
MEBabyHP 神兽 = 99999 0
sendmsg 7 您的BB恢复了99999点血
;区分后缀神兽回血
[@修改神兽1血量]
#IF
#ACT
MEBabyHP 神兽1 = 99999 1
sendmsg 7 您的BB恢复了99999点血
三、传奇宝宝脚本开发注意事项
1、触发文件统一管理:所有宝宝触发段必须写入QFunction-0.txt,不可分散至NPC脚本,避免触发失效;
2、神兽触发冗余处理:[@Slavebb]会响应神兽起立、趴下动作,开发获取宝宝奖励逻辑时,需增加变量判定防止重复发放;
3、等级参数限制:所有宝宝等级参数最高为7级,填写超过7的数值会被服务端自动修正,无额外效果;
4、名称区分规则:带后缀数字的宝宝(神兽1、虎卫2),在检测、修改命令中需开启数字区分参数,否则判定失效;
5、倍率计算规则:攻击倍率命令数值需除以100生效,110代表1.1倍,0代表禁止攻击玩家。


