传奇服务端添加装备打包卷与战圣晋升卷脚本

来源: 作者: 点击:
一、 装备打包卷:双击发放整套装备

1. 数据库添加物品

打开服务端 M2Server → 查看 → 列表信息 → 物品设置,添加一个新物品(如“战神套装卷”)。
- 关键字段:
◦ StdMode(物品类型):必须设为 31(双击触发脚本物品)。

- AniCount(触发编号):设为任意数字,如 100(此编号需与脚本对应)。
- Looks:设置卷轴外观编号(需客户端有补丁)。
◦ DuraMax:建议设为 10000(持久度,避免磨损消失)。

- 其他字段(AC、DC等)设为 0。

2. 编写触发脚本

打开 MirServer\Mir200\Envir\Market_Def\QFunction-0.txt 文件,添加以下脚本:
[@StdModeFunc100] // 这里的100必须与数据库AniCount一致
#if
// 可添加条件检测,如 CHECKLEVELEX > 40 (等级检测)
#act
TAKE 战神套装卷 1 // 先回收卷轴,防止刷装备
GIVE 战神项链 1
GIVE 战神手镯 2
GIVE 战神戒指 2
GIVE 开天 1
GIVE 凤天魔甲(男) 1
GIVE 凤天魔甲(女) 1
SENDMSG 6 恭喜你获得全套战神装备!
break

注意:装备名称必须与数据库中的 Name 字段完全一致。修改后需在 M2 控制台点击 重读 → 重读QF脚本。

二、 雇用兵晋升卷:双击直升战圣

1. 数据库设置

同上步骤,新建一个物品(如“战圣晋升卷”)。
• StdMode = 31

• AniCount = 101 (不能与装备卷编号重复)

• 其他属性按需设置。

2. 晋升脚本(基于变量检测)

假设你的版本使用自定义变量 U11 记录雇佣兵等级(0=新手,5=战圣),在 QFunction-0.txt 中添加:
[@StdModeFunc101]
#if
EQUAL U11 4 // 检查当前是否为“战圣”的前一级(如武尊)
CHECKLEVELEX > 50 // 检查人物等级是否大于50
#act
TAKE 战圣晋升卷 1
MOV U11 5 // 将雇佣兵等级设为5(战圣)
SETRANKLEVELNAME %s·战圣 // 设置人物封号
SENDMSG 1 玩家【%s】使用晋升卷,雇佣兵成功晋升为「战圣」!
#elseact
SENDMSG 6 晋升失败:等级不足或未达到晋升条件!
break

逻辑说明:此脚本假设晋升有前置等级要求(U11=4),直接使用卷轴将 U11 修改为 5 并赋予封号。

3. 进阶:无等级限制强制晋升

若想实现“无视前置等级,双击直接成神”,简化脚本如下:
[@StdModeFunc101]
#if
#act
TAKE 战圣晋升卷 1
MOV U11 5
SETRANKLEVELNAME %s·战圣
SENDMSG 6 雇佣兵已强制晋升为战圣!
break

风险提示:强制晋升会破坏游戏平衡,建议仅在测试或单机版本中使用。

三、 常见问题与排查

1. 双击无反应:
◦ 检查数据库 StdMode 是否为 31。

◦ 确认 AniCount 编号与脚本中的 [@StdModeFuncX] 完全一致。

◦ 检查 M2 控制台是否报错“脚本错误”。

2. 物品刷不出来:
◦ 检查 GIVE 命令后的装备名称是否存在空格或错别字。

◦ 确认脚本路径 Market_Def\QFunction-0.txt 正确,且已重读脚本。

3. 封号不显示:
◦ SETRANKLEVELNAME 命令在某些引擎中可能需要配合 CHANGENAMECOLOR 或重启登录器才能生效。

总结:核心在于数据库 StdMode=31 与 QFunction-0.txt 脚本的编号对应。装备卷用 GIVE 发装备,晋升卷用 MOV 改变量。