传奇雇佣兵脚本核心功能是实现雇佣兵召唤、跟随、攻击、回收、升级,适配绝大多数传奇服务端,采用常规脚本命令编写,无需额外插件,新手可直接复制修改使用。脚本编写需明确核心设定、所需命令、编写步骤,下面先明确雇佣兵脚本核心逻辑、必备命令,再给出完整脚本代码,逐段解析编写思路、修改方法及使用步骤,全程直奔主题,确保新手也能快速掌握脚本编写技巧。
传奇雇佣兵脚本核心设定(编写前必明确,避免脚本无效):
1. 雇佣兵类型:按职业分为战士、法师、道士三种雇佣兵,每种雇佣兵对应不同属性、攻击模式,脚本中可通过职业判断指令区分,适配不同玩家需求。
2. 召唤条件:设定召唤雇佣兵的门槛,如等级要求(30级及以上可召唤)、金币消耗(每次召唤消耗10000金币)、材料要求(需消耗1个“雇佣兵召唤符”),可按需调整门槛高低。
3. 核心功能:召唤后雇佣兵自动跟随玩家、自动攻击玩家攻击的目标、玩家死亡或主动回收时雇佣兵消失、可通过消耗材料提升雇佣兵等级,等级越高属性越强。
4. 脚本适配:脚本编写采用传奇常规脚本命令,适配GOM、GEE等主流引擎,编写完成后保存至服务端对应文件夹,重启服务端即可生效,无需修改引擎参数。
雇佣兵脚本必备命令(新手必记,直接套用):
1. 条件判断命令:#IF(判断条件是否成立)、#ELSEIF(多条件判断)、#ELSEACT(条件不成立时执行),核心用于判断玩家等级、金币、材料是否满足召唤条件。
2. 执行命令:#ACT(执行具体操作)、take(扣除玩家材料/金币)、give(给玩家物品)、INC(变量递增)、DEC(变量递减),用于实现材料扣除、雇佣兵等级提升等操作。
3. 雇佣兵专属命令:召唤雇佣兵(MonGen 雇佣兵名称 数量 等级倍率)、跟随命令(Follow 玩家ID)、攻击命令(Attack 目标ID)、回收命令(MonDel 雇佣兵名称),是脚本核心命令。
4. 变量命令:通过自定义变量记录雇佣兵等级(如G300)、召唤状态(如G301,1为已召唤,0为未召唤),避免重复召唤、等级混乱。
5. 提示命令:MESSAGEBOX(弹出提示框)、SENDMSG(发送系统提示),用于告知玩家召唤结果、等级提升、材料不足等信息。
6. 职业判断命令:checkjob (Warr, Wizard, Taos),用于判断玩家职业,匹配对应类型的雇佣兵,提升脚本适配性。
脚本编写前期准备(必做,否则脚本无法正常运行):
1. 确定雇佣兵参数:明确雇佣兵名称(如“战士雇佣兵”“法师雇佣兵”)、等级上限(默认10级)、每级属性加成(如攻击、防御、道术加成)、召唤材料(如雇佣兵召唤符)、升级材料(如雇佣兵升级符)。
2. 服务端文件准备:找到传奇服务端“Script”文件夹(常规路径为D:\mirserver\Mir200\Envir\Script),新建或打开现有NPC脚本文件(如QFunction-0.txt),脚本将编写在此文件中。
3. 变量规划:自定义3个核心变量,分别用于记录雇佣兵等级(G300,初始值1)、召唤状态(G301,初始值0)、玩家当前召唤的雇佣兵类型(G302,1=战士,2=法师,3=道士),避免与其他脚本变量冲突。
4. 材料准备:确保服务端中存在“雇佣兵召唤符”“雇佣兵升级符”两种材料,物品名称需与脚本中完全一致(包括符号、大小写),否则会出现材料无法扣除、脚本执行失败的问题。
5. NPC配置:在服务端“Merchant.txt”文件中添加雇佣兵NPC(如“雇佣兵使者”),设置NPC所在地图、坐标及外观,确保玩家可在游戏中找到NPC触发脚本功能。
完整传奇雇佣兵脚本代码(可直接复制,适配主流引擎):
[@main]
<★━━━━传奇雇佣兵系统━━━━★/SCOLOR=250>\
<┃/SCOLOR=250> 当前状态:<$STR(IF(G301=1,"已召唤","未召唤"))> /AUTOCOLOR=254,250,253,241\
<┃/SCOLOR=250> 雇佣兵等级:【<$STR(G300)>/10】级 /AUTOCOLOR=250,251,241,254\
<┃/SCOLOR=250> 召唤条件:30级+金币10000+雇佣兵召唤符×1 /AUTOCOLOR=241,250,253,254\
<┃/SCOLOR=250> 升级条件:雇佣兵升级符×1+金币5000 /AUTOCOLOR=250,253,254,241\
<★━━━━━━━━━━━━━━━━━━━━★/SCOLOR=250>\
<【召唤战士雇佣兵】/@zhanshi> <【召唤法师雇佣兵】/@fashi> <【召唤道士雇佣兵】/@daoshi>\
<【升级雇佣兵】/@shenji> <【回收雇佣兵】/@huishou> <【退出】/@tuichu>
[@tuichu]
#ACT
CLOSE
BREAK
[@zhanshi]
#IF
equal G301 1
#ACT
MESSAGEBOX 您已召唤雇佣兵,无法重复召唤!
goto @main
BREAK
#ELSEIF
checklevel 30
CheckGold 10000
CheckItem 雇佣兵召唤符 1
#ACT
take 雇佣兵召唤符 1
TakeGold 10000
INC G301 1
SET G302 1
MonGen 战士雇佣兵 1 1 // 召唤1只1倍等级的战士雇佣兵
Follow $USERID // 雇佣兵跟随当前玩家
MESSAGEBOX 召唤战士雇佣兵成功!雇佣兵将自动跟随并攻击目标!
goto @main
BREAK
#ELSEACT
MESSAGEBOX 您未达到30级,或缺少金币10000、雇佣兵召唤符×1,无法召唤!
goto @main
BREAK
[@fashi]
#IF
equal G301 1
#ACT
MESSAGEBOX 您已召唤雇佣兵,无法重复召唤!
goto @main
BREAK
#ELSEIF
checklevel 30
CheckGold 10000
CheckItem 雇佣兵召唤符 1
#ACT
take 雇佣兵召唤符 1
TakeGold 10000
INC G301 1
SET G302 2
MonGen 法师雇佣兵 1 1 // 召唤1只1倍等级的法师雇佣兵
Follow $USERID
MESSAGEBOX 召唤法师雇佣兵成功!雇佣兵将自动跟随并攻击目标!
goto @main
BREAK
#ELSEACT
MESSAGEBOX 您未达到30级,或缺少金币10000、雇佣兵召唤符×1,无法召唤!
goto @main
BREAK
[@daoshi]
#IF
equal G301 1
#ACT
MESSAGEBOX 您已召唤雇佣兵,无法重复召唤!
goto @main
BREAK
#ELSEIF
checklevel 30
CheckGold 10000
CheckItem 雇佣兵召唤符 1
#ACT
take 雇佣兵召唤符 1
TakeGold 10000
INC G301 1
SET G302 3
MonGen 道士雇佣兵 1 1 // 召唤1只1倍等级的道士雇佣兵
Follow $USERID
MESSAGEBOX 召唤道士雇佣兵成功!雇佣兵将自动跟随并攻击目标!
goto @main
BREAK
#ELSEACT
MESSAGEBOX 您未达到30级,或缺少金币10000、雇佣兵召唤符×1,无法召唤!
goto @main
BREAK
[@shenji]
#IF
equal G301 0
#ACT
MESSAGEBOX 您未召唤雇佣兵,无法进行升级!
goto @main
BREAK
#ELSEIF
equal G300 10
#ACT
MESSAGEBOX 雇佣兵已达到10级满级,无法继续升级!
goto @main
BREAK
#ELSEIF
CheckItem 雇佣兵升级符 1
CheckGold 5000
#ACT
take 雇佣兵升级符 1
TakeGold 5000
INC G300 1
// 按等级提升雇佣兵属性,不同类型雇佣兵属性加成不同
#IF
equal G302 1 // 战士雇佣兵属性加成
#ACT
MonAttr 战士雇佣兵 ATT 2 // 攻击+2
MonAttr 战士雇佣兵 DEF 1 // 防御+1
MESSAGEBOX 雇佣兵升级至<$STR(G300)>级!获得属性:攻击+2、防御+1
goto @main
BREAK
#ELSEIF
equal G302 2 // 法师雇佣兵属性加成
#ACT
MonAttr 法师雇佣兵 MAG 2 // 魔法+2
MonAttr 法师雇佣兵 MDEF 1 // 魔御+1
MESSAGEBOX 雇佣兵升级至<$STR(G300)>级!获得属性:魔法+2、魔御+1
goto @main
BREAK
#ELSEIF
equal G302 3 // 道士雇佣兵属性加成
#ACT
MonAttr 道士雇佣兵 DEX 2 // 道术+2
MonAttr 道士雇佣兵 DEF 1 // 防御+1
MESSAGEBOX 雇佣兵升级至<$STR(G300)>级!获得属性:道术+2、防御+1
goto @main
BREAK
#ELSEACT
MESSAGEBOX 您缺少雇佣兵升级符×1或金币5000,无法升级雇佣兵!
goto @main
BREAK
[@huishou]
#IF
equal G301 0
#ACT
MESSAGEBOX 您未召唤雇佣兵,无法进行回收!
goto @main
BREAK
#ELSEACT
#ACT
MonDel 战士雇佣兵 // 回收战士雇佣兵
MonDel 法师雇佣兵 // 回收法师雇佣兵
MonDel 道士雇佣兵 // 回收所有类型雇佣兵
DEC G301 0
SET G300 1 // 重置雇佣兵等级为1级
MESSAGEBOX 雇佣兵回收成功!再次召唤可重新开始升级!
goto @main
BREAK
// 雇佣兵自动攻击脚本(跟随玩家攻击目标)
[@AutoAttack]
#IF
equal G301 1
checkmonster $MAPNAME, $TARGETNAME, X, Y // 检测玩家当前攻击的目标
#ACT
#IF
equal G302 1
#ACT
Attack $TARGETID // 战士雇佣兵攻击玩家目标
#ELSEIF
equal G302 2
#ACT
Attack $TARGETID // 法师雇佣兵攻击玩家目标
#ELSEIF
equal G302 3
#ACT
Attack $TARGETID // 道士雇佣兵攻击玩家目标
#ELSEACT
BREAK
goto @AutoAttack
#ELSEACT
BREAK
// 玩家死亡时回收雇佣兵
[@PlayDie]
#IF
equal G301 1
#ACT
MonDel 战士雇佣兵
MonDel 法师雇佣兵
MonDel 道士雇佣兵
DEC G301 0
SET G300 1
SENDMSG 7 您已死亡,雇佣兵已自动回收!
BREAK
脚本逐段解析(直奔主题,无多余修饰):
1. 主界面[@main]:核心用于显示雇佣兵当前状态、等级、召唤及升级条件,设置6个功能按钮,分别对应三种职业雇佣兵召唤、升级、回收、退出,界面布局清晰,玩家可快速触发对应功能。其中变量G301记录召唤状态,G300记录等级,G302记录雇佣兵类型,联动后续所有功能指令。
2. 退出功能[@tuichu]:采用常规CLOSE指令,点击退出后直接关闭雇佣兵界面,避免占用游戏界面,操作简单,符合传奇脚本常规操作逻辑,无需额外调整。
3. 雇佣兵召唤([@zhanshi]、[@fashi]、[@daoshi]):三个指令分别对应三种职业雇佣兵召唤,核心逻辑一致——先判断是否已召唤雇佣兵(避免重复召唤),再判断玩家等级、金币、材料是否满足条件,满足则扣除材料和金币,修改召唤状态和雇佣兵类型变量,通过MonGen指令召唤雇佣兵,Follow指令设置雇佣兵跟随玩家,最后弹出提示告知玩家召唤成功。
4. 雇佣兵升级[@shenji]:先判断是否已召唤雇佣兵、是否达到满级,再检查升级材料和金币,满足条件则扣除材料和金币,提升雇佣兵等级变量,通过MonAttr指令给不同类型雇佣兵添加对应属性加成,弹出提示告知玩家升级结果及属性加成,确保等级与属性联动。
5. 雇佣兵回收[@huishou]:判断玩家是否已召唤雇佣兵,已召唤则通过MonDel指令回收所有类型雇佣兵,重置召唤状态和等级变量,弹出提示告知玩家回收成功,方便玩家重新召唤升级。
6. 自动攻击[@AutoAttack]:核心实现雇佣兵自动攻击功能,通过checkmonster指令检测玩家当前攻击的目标,根据雇佣兵类型,通过Attack指令让雇佣兵攻击玩家目标,循环执行指令,确保雇佣兵持续跟随攻击,无需手动操作。
7. 玩家死亡回收[@PlayDie]:当玩家死亡时,自动触发回收指令,删除雇佣兵,重置相关变量,发送系统提示,避免玩家死亡后雇佣兵仍在地图内,符合游戏逻辑。
脚本编写步骤(新手一步一步操作,确保编写成功):
1. 打开传奇服务端,找到“Script”文件夹,打开QFunction-0.txt(或其他NPC脚本文件),删除文件中无关冗余代码,预留出足够空间编写雇佣兵脚本。
2. 复制上述完整脚本代码,粘贴到脚本文件中,确保代码格式正确,无遗漏、无拼写错误,尤其是命令格式(如#IF、#ACT需大写,指令后需加空格)。
3. 按前期准备的参数,修改脚本中的核心信息:替换雇佣兵名称、调整召唤/升级条件(如等级、金币、材料数量)、修改每级属性加成数值,确保与自身服务端需求一致。
4. 检查变量是否冲突,若服务端中G300、G301、G302变量已被占用,将所有关联变量替换为其他未占用变量(如改为G400、G401、G402),同步修改所有关联指令。
5. 在服务端“Merchant.txt”文件中添加雇佣兵NPC,格式为“地图编号/NPC名称 地图ID X坐标 Y坐标 NPC显示名称 方向 外观代码 0 0 0”,保存后关闭文件。
6. 重启传奇服务端,登录游戏,找到新增的雇佣兵NPC,点击NPC测试所有功能(召唤、升级、回收、自动攻击),确认脚本无异常,即可正常使用。
脚本修改方法(适配个人服务端需求):
1. 召唤/升级条件修改:修改脚本中checklevel(等级)、CheckGold(金币)、CheckItem(材料)后的数值,如将召唤等级改为40级,金币改为20000,直接修改对应数字即可。
2. 雇佣兵属性修改:修改[@shenji]段中MonAttr指令后的属性数值(如战士雇佣兵攻击+2改为+3),也可新增属性加成(如添加HP+10),新增指令格式为“MonAttr 雇佣兵名称 HP 10”。
3. 雇佣兵类型修改:若需新增其他类型雇佣兵(如刺客雇佣兵),复制任意一种职业召唤指令(如[@zhanshi]),修改指令名称、雇佣兵名称、属性加成,新增对应的变量判断即可。
4. 等级上限修改:将所有“equal G300 10”改为所需等级上限(如15级),同时在[@shenji]段新增对应等级的属性加成指令,确保等级提升有对应的属性反馈。
5. 自动攻击调整:修改[@AutoAttack]段的循环间隔,可添加Delay指令(如Delay 500),避免雇佣兵攻击过于频繁导致游戏卡顿,调整后不影响攻击效果。
脚本编写常见问题排查(快速解决编写、运行异常):
1. 脚本无法触发:检查NPC是否正确添加到Merchant.txt文件,NPC坐标、地图ID是否准确;检查脚本是否保存到正确的文件夹(Script文件夹),未保存或保存路径错误会导致脚本无法触发。
2. 无法召唤雇佣兵:检查“雇佣兵召唤符”名称是否与脚本一致,是否存在拼写错误;检查玩家等级、金币是否满足条件;检查MonGen指令格式是否正确,雇佣兵名称是否为服务端中存在的怪物名称。
3. 雇佣兵不跟随、不攻击:检查Follow指令后的$USERID是否正确(用于获取当前玩家ID);检查[@AutoAttack]脚本是否添加,指令格式是否正确;检查雇佣兵是否被其他脚本拦截,关闭无关脚本后重新测试。
4. 升级后属性不生效:检查MonAttr指令格式是否正确,雇佣兵名称、属性类型(ATT、MAG等)是否正确;检查变量G300是否正常递增,变量异常会导致属性无法叠加。
5. 玩家死亡后雇佣兵未回收:检查[@PlayDie]指令是否添加,变量G301判断是否正确;检查MonDel指令是否包含所有类型雇佣兵,遗漏则会导致部分雇佣兵无法回收。
6. 变量冲突:若脚本执行异常,检查是否有其他脚本使用G300、G301、G302变量,替换为未占用变量后重新测试,确保变量唯一。
补充说明:该脚本适配GOM、GEE等主流传奇引擎,无需安装额外插件,复制修改后即可使用。脚本涵盖雇佣兵召唤、跟随、攻击、升级、回收全功能,符合传奇游戏常规玩法,可根据自身服务端版本,调整召唤条件、属性加成、等级上限等参数,适配不同玩法需求。
无论是新手还是有一定脚本编写基础的玩家,掌握上述脚本代码、编写步骤及修改方法,都能快速编写传奇雇佣兵脚本,无需复杂操作,脚本可直接复制套用,大幅节省编写时间。若需添加其他功能(如雇佣兵技能释放、死亡复活),可在现有脚本基础上,新增对应指令,无需重新编写整个脚本。

