传奇多徒弟师徒系统完整脚本教程 含出师触发与强制脱离配置
本文为传奇服务端专属多徒弟师徒系统完整配置教程,包含数据存储路径、文本信息修改、出师触发脚本、收徒出师全套NPC脚本及强制脱离师徒功能配置,适配主流传奇引擎,开服可直接复制部署,解决传统单徒弟限制、师徒信息不显示、出师无触发反馈等常见问题。一、师徒系统数据存储路径传奇服务端中,所有师徒相关数据信息默…
本文为传奇服务端专属多徒弟师徒系统完整配置教程,包含数据存储路径、文本信息修改、出师触发脚本、收徒出师全套NPC脚本及强制脱离师徒功能配置,适配主流传奇引擎,开服可直接复制部署,解决传统单徒弟限制、师徒信息不显示、出师无触发反馈等常见问题。
一、师徒系统数据存储路径
传奇服务端中,所有师徒相关数据信息默认保存路径:Envir\MasterNo,该目录自动存储师傅、徒弟绑定关系、出师状态、在线记录等核心数据,无需手动新建文件夹,引擎运行后自动生成数据文件。
二、多徒弟系统核心基础配置
2.1 引擎徒弟数量设置
传奇引擎后台可自定义师傅可招收徒弟的最大数量,开启多徒弟系统后,核心优化效果:师傅角色名称面板不再显示「XXXX的师傅」冗余标识,界面更简洁,规避多徒弟绑定后名称叠加错乱问题。
2.2 string.ini文本消息配置(可选优化)
该配置文件用于自定义师徒系统全流程提示文案,不修改不影响系统运行,但无法显示徒弟排行序号。打开服务端根目录string.ini,替换/新增以下配置内容,精准区分师徒在线、下线、出师提示信息:
# 徒弟序号显示配置
NoMasterName=%s的%n徒弟
# 徒弟在线位置提示(师傅端)
MasterOnlineSelfMsg=你的%n徒弟%s当前位于%m(%x:%y)。
# 徒弟离线提示(师傅端)
MasterNotOnlineMsg=你的%n徒弟%s现不在线!!!
# 徒弟上线推送提示
MasterListOnlineMasterMsg=你的%n徒弟%s在:%m(%x:%y)上线了!!!。
# 徒弟下线推送提示
MasterListLongOutMasterOnlineMsg=你的%n徒弟%s在:%m(%x:%y)下线了!!!。
# 徒弟圆满出师提示
YourMasterListUnMasterOKMsg=你的%n徒弟%d已经圆满出师了!!!
三、师徒出师触发脚本配置
出师全流程触发事件挂载至QFunction-0.txt全局功能脚本,区分师傅触发、徒弟触发两个独立接口,可自定义添加奖励、公告、属性清除等拓展逻辑。
3.1 基础出师触发脚本
[@UnMasterEnd]
#IF
#ACT
SENDMSG 6 提示:师傅触发!
[@UnMasterEnd1]
#IF
#ACT
SENDMSG 6 提示:徒弟触发!
3.2 强制出师专属命令
传奇GM或脚本调用可使用以下专属命令,强制解除师徒关系,绕过面对面站位校验:
@ForceUnMasterEnd:触发师傅端强制出师事件
@ForceUnMasterEnd1:触发徒弟端强制出师事件
四、全套收徒NPC脚本(通用兼容版)
以下为传奇通用收徒NPC脚本,兼容所有支持师徒系统的引擎,已内置身份校验、等级限制、信物检测、站位判定逻辑。服务端已有旧师徒脚本可直接覆盖,无冲突风险。
[@main]
<我想拜师/@master>\
<我想出师/@unmaster>\ \
<离开/@exit>
[@master]
想拜师呀,你要拜的师父来了没有?\
与你师父面对面站好,开始拜师。\ \
<准备好了/@agree>\
<我知道了/@exit>\ \
<返回/@main>
[@agree]
;检测当前角色是否已是他人师傅
#if
checkismaster
#act
break
#say
没事别来这玩!!!\ \
<返回/@main>
;检测当前角色是否已拜师
#if
checkmaster
#act
break
#say
你都已经拜了别人为师,怎么还拜师!!! \ \
<返回/@main>
;检测目标对象是否仍是他人徒弟
#if
checkposemaster
#say
你找了个什么人做师父,怎么现在还是别人的徒弟?\ \
<返回/@main>
#act
break
;检测师徒是否面对面站位
#if
checkposedir
#elsesay
你们二个面对面站好呀,不要乱动。\ \
<返回/@main>
#elseact
break
;检测拜师者等级(禁止40级以上拜师)
#if
checklevel 40
#say
你都40多级了还要找师父?\ \
<返回/@main>
#act
break
;检测师傅最低等级(要求大于50级)
#if
checkposelevel > 50
#elsesay
你找个什么师父呀,等级这么低?\ \
<返回/@main>
#elseact
break
#act
master
[@StartGetMaster]
拜师仪式正式开始。\ \
你是否确认拜师?\ \
<确认/@RequestMaster>
[@StartMaster]
拜师仪式正式开始。\ \
对方已经向你提出拜师请求。\ \
[@RequestMaster]
;检测拜师信物:力量戒指*1
#if
checkitemw 力量戒指 1
#elsesay
你都没信物,怎么拜呀!!!\ \
<返回/@main>
#elseact
break
#if
#act
takew 力量戒指 1
master requestmaster
[@WateMaster]
你已向对方请求拜师,请耐心等待对方的答复。
[@RevMaster]
对方想拜你为师,你是否想收此人为徒? \ \
<同意/@ResposeMaster> \
<不同意/@ResposeMasterFail>
[@ResposeMaster]
#if
#act
master responsemaster ok
[@ResposeMasterFail]
#if
#act
master responsemaster fail
[@EndMaster]
你们二个已经是师徒关系了。\ \
<关闭/@exit>
[@EndMasterFail]
拜师失败!\ \
<关闭/@exit>
[@MasterDirErr]
对方没站好位置
[@MasterCheckDir]
请站好位置\\
[@HumanTypeErr]
此人不可以做我的师父。
五、出师&强制脱离师徒脚本
该脚本包含正常面对面出师、金条扣费强制出师两种模式,内置身份校验、站位检测、扣费逻辑,适配多徒弟系统所有场景。
;==========================================
;出师主入口
[@unmaster]
#if
havemaster
#act
unmaster
#elsesay
你都没师父,跑来做什么??\ \
<返回/@main>
;=======================================================
;出师站位提示界面
[@UnMasterCheckDir]
按正常出师步骤,必须二个人对面对站好位置,\
如果人来不了你只能选择强行出师了。\ \
<我要强行出师/@fUnMaster>\
<返回/@main>
;=======================================================
;目标非人物体报错提示
[@UnMasterTypeErr]
你对面站了个什么东西,怎么不太象人来的。\ \
<返回/@main>
;仅徒弟可发起出师请求限制
[@UnIsMaster]
必须由徒弟发出请求!!!\ \
<返回/@main>
;非法操作拦截提示
[@UnMasterError]
不要来捣乱!!!\ \
<返回/@main>
;=======================================================
;出师仪式初始化
[@StartUnMaster]
出师仪式现在开始!!!\ \
是否确定真的要脱离师徒关系?\ \
<确定/@RequestUnMaster>
[@WateUnMaster]
出师仪式现在开始!!!\ \
;=======================================================
;发起出师请求
[@RequestUnMaster]
#if
havemaster
#act
unmaster requestunmaster
;=======================================================
;师傅回应出师请求
[@ResposeUnMaster]
#if
havemaster
#act
unmaster responseunmaster
;===============================================
;请求等待提示
[@WateUnMaster]
你已向对方发出请求,请耐心等待对方的答复。
;===============================================
;师傅收到出师请求弹窗
[@RevUnMaster]
对方向你请求,你是否答应? \ \
<我愿意/@RequestUnMaster>
<返回/@main>
;===============================================
;无师傅报错
[@ExeMasterFail]
你都没师父,跑来做什么? \ \
[返回/@main]
;==============================================
;强制出师(金条扣费模式)
[@fUnMaster]
#if
checkitem 金条 1
havemaster
#act
take 金条 1
unmaster requestunmaster force
#elsesay
要收一根金条的手续费,你没有金条,\
<确定/@exit>
;==============================================
;出师完成最终提示
[@UnMasterEnd]
呵呵,你已经成功脱离师徒关系!
六、部署注意事项
所有脚本文件编码需设置为ANSI,避免传奇引擎中文乱码,粘贴前清空文档原有隐藏格式;
多徒弟数量需在引擎后台配置,不要直接修改脚本参数,防止数据溢出;
string.ini修改后需重启服务端生效,NPC脚本重载即可生效,无需重启引擎;
强制出师金条扣费数量可自行修改脚本中checkitem 金条 1后的数值。


