假人系统的脚本编写涉及多个文件的联动配置,活动杀玩家则是通过机器人定时脚本结合GM命令实现的。两套机制都依赖服务端脚本系统的正确调用,需要严格按照文件路径和命令格式操作。
### 假人自动上线的核心机制与配置步骤
假人自动上线的实现依赖三个层面的协同:假人名单列表、引擎开关控制、定时触发脚本。缺了任何一个环节,假人都无法按预期上线。
**第一步:准备假人名单与开启引擎开关**
在服务端目录 `MirServer\Mir200\Envir` 下找到 `DummyNameList.txt` 文件,每行填写一个假人名称。假人英雄的名字则写入同一目录下的 `AIHeroNameList.txt` 文件中。名称建议使用常见玩家名格式,避免特殊符号导致假人无法刷出。
打开 M2Server.exe 主控制台,点击顶部选项进入功能设置下的假人系统,勾选启用假人系统,设置最大假人数量与登录间隔。部分引擎在此处直接有假人自动登录复选框,需要一并勾选。通过M2控制台也可以手动选中假人名称点击登录进行测试。
**第二步:Robot系统实现开服与定时自动上线**
进入 `MirServer\Mir200\Envir\Robot_def` 目录,打开 `AutoRunRobot.txt` 添加定时触发器。例如写入 `#AutoRun NPC SEC 30 @登陆陪练`,表示每30秒触发一次名为 `@登陆陪练` 的段落。时间单位支持 SEC(秒)、MIN(分)、HOUR(小时)、DAY(天)以及 RUNONWEEK(星期几及时间)。
在同一个目录的 `RobotManage.txt` 中写入具体执行命令:
```
[@登陆陪练]
#IF
equal G112 1
#ACT
AILOGONEX A491 G101 G102 1 ..\QuestDiary\智能陪练\陪练列表.txt
ReadRandomStr ..\QuestDiary\变量文件\玩家地址.txt S3
ReadRandomStr ..\QuestDiary\变量文件\玩家名字.txt S4
SENDCENTERMSG 0 251 249 7 欢迎『<$STR(S3)>』的玩家「<$STR(S4)>」加入<$SERVERNAME>
break
```
`AILOGONEX` 命令负责让假人从指定列表读取信息并登录游戏。
**第三步:QManage登录触发器自动上线**
打开 `MirServer\Mir200\Envir\MapQuest_Def\QManage.txt`,在 `[@Login]` 段加入判断与登录指令。假人登录时通过 `ISAI` 命令检测自身是否为假人,然后执行相应的登陆脚本。在 `QManage.txt` 中还需要添加清理假人的逻辑:
```
[@清理假人]
#IF
ISAI
CHECKMAPNAME <$STR(A491)>
#ACT
KICK
BREAK
```
这段脚本在假人处于特定地图时将其踢出,用于控制假人活动范围。
**第四步:假人行为与装备管理**
在 `\QuestDiary\智能陪练\` 目录下,`陪练列表.txt` 存储假人的具体配置信息。M2中的机器人设置需要将配置脚本地址填写为绝对路径,例如 `D:\服务器文件夹\Mir200\Envir\QuestDiary\智能陪练\陪练列表.txt`。假人每升一级都会留存等级数据并检查是否可以更换新装备,这部分在 `QFunction.txt` 的 `[@PlayLevelUp]` 段中触发。
假人的等级、装备修改路径通常在 `\QuestDiary\怪怪脚本\智能陪练` 目录下。变量文件中的 `冲值数量.txt` 控制假人充值元宝数量,`新手、初、中、高级地图.txt` 控制假人打怪的地图ID。全局变量 A50 至 A64 分别控制假人登陆地图、自动登陆开关、挂机开关、入会开关、自动打怪开关等。
### 活动杀玩家的脚本实现方式
活动杀玩家通常通过两种方式实现:一种是定时活动将玩家传送到特定地图,让怪物或假人击杀玩家;另一种是活动本身带有击杀判定逻辑。
**定时活动传送与全服公告**
在 `AutoRunRobot.txt` 中设置定时触发:
```
#AutoRun NPC HOUR 1 @开始活动
```
在 `RobotManage.txt` 中编写活动逻辑:
```
[@开始活动]
#IF
#ACT
Gmexecute 开始提问 @开始执行
SENDMSG 0 比武地图开放,勇士们前去吧!!!
```
`Gmexecute 开始提问 @开始执行` 会调用 `QManage.txt` 中的 `[@开始执行]` 段落,向所有在线玩家弹出活动对话框。
**活动弹窗与传送判定**
在 `QManage.txt` 中编写活动弹窗内容:
```
[@开始执行]
这里是活动说明文字,请仔细阅读\
<前往活动/@前往活动>
[@前往活动]
#IF
checklevelex > 34
#ACT
mapmove 3 355 339
SENDMSG 0 “%s” 前往活动地点,大家快来参加吧..
#elseact
messagebox 等级大于35级才可以传送过去!!
```
这段脚本检测玩家等级是否大于34级,满足条件则传送至指定地图坐标。活动地图中预先刷新高伤害怪物或配置假人攻击玩家,即可实现活动杀玩家的效果。
**定时刷怪活动脚本**
在 `AutoRunRobot.txt` 中设置每天固定时间触发:
```
#AutoRun NPC RUNONDAY 15:00:00 @祖玛教主
```
在 `RobotManage.txt` 中编写刷怪逻辑:
```
[@祖玛教主]
#IF
#ACT
Param1 3 405 328
Param2 405
Param3 328
MonGen 祖玛教主 1 0
SENDMSG 1 怪物:[祖玛教主]出现在土城书店,想要装备的可别错过机会~!
```
到了指定时间,全服红字通告怪物出现,玩家前往后需要击败怪物或面对被怪物击杀的情况。这类活动通常伴有高奖励和高死亡惩罚。
**千里追杀功能**
千里追杀是一种玩家主动发起的攻击其他玩家的功能。在DB中将物品设置为31类打捆类物品,双击使用后在QF中触发脚本。玩家输入目标角色名,检测目标在线且不在保护地图内,扣除20元宝后直接飞到目标身边。如果目标在线且可攻击,玩家即可展开击杀。
### 假人控制命令与调试
管理假人的核心命令包括 `AISTART`(启动假人系统)和 `AISTOP`(停止假人系统)。检测假人的命令包括 `ISAI`(检测当前角色是否为假人)和 `CHECKMAPAIHUMANCOUNT`(检测地图中假人数量)。假人上线后需要通过 `LOADROBOTCONFIG` 加载机器人配置,确保定时任务正常运行。
传奇假人自动上线与活动杀玩家脚本编写完整指南
来源:
作者:
点击:

