系统公告和自动捡物分别位于服务端的公告体系和脚本体系中,操作入口不同,设置逻辑没有关联。公告控制玩家看到什么信息,捡物控制角色拾取什么物品。下面按模块分别说明配置路径和参数细节。
## 系统公告的四种类型与设置位置
公告并非单一文件控制,按显示位置和触发方式拆分为四类,找对入口才能修改。
**在线消息公告**用于开区、合区、维护等需要反复推送的重要通知。进入M2Server管理器,点击菜单栏“管理”下的“在线消息”,编辑框中输入内容后点击“增加”保存到消息队列,需要发送时双击选中内容再点“发送”,游戏内聊天框会立即出现该消息。可以连续点击发送多次,避免被其他聊天信息顶掉。该功能适合临时性、高频次推送,不写配置文件,直接在M2界面操作。
**LineNotice滚动公告**是游戏内聊天框下方持续循环播放的系统消息。文件位于`Mir200\Envir\Notice\LineNotice.txt`,每行写一条公告内容,引擎按顺序循环播放。播放间隔由`Mir200\Envir\Notice.ini`中的`LineNoticeDelay`参数控制,单位为毫秒,默认5000即5秒一条。如果没有该参数可手动添加一行`LineNoticeDelay=5000`,建议不低于3000以免文字重叠。修改后保存,M2控制台执行“公告→刷新公告列表”即可生效,无需重启。
**登录弹窗公告**是玩家进入游戏时弹出的文本框,内容来自`Mir200\Notice\Notice.txt`,玩家点击确定后关闭。每行一条,适合放版本说明、更新日志、规则条款等需要玩家主动确认的信息。
**顶部滚动公告**用`SendTopMsg`命令实现,在`Mir200\Envir\RobotManage.txt`中添加定时规则,格式为“时间间隔 命令 颜色参数 内容”。例如每分钟顶部滚动一条白光公告:`60 SendTopMsg 2550 这是顶部公告 0`。时间间隔单位是秒,命令必须顶格写,最后一个参数0表示持续滚动模式。
登录器公告窗口是另一个独立模块。GOM引擎在登录器配置工具中选“简易公告”直接输入文字,换行用Shift+Enter,不超过五行。选“网页公告”则需制作link.htm文件放在客户端根目录,配置工具中公告网页路径填link.htm即可。
## 自动捡物的脚本命令与引擎配置
自动捡物分两种实现路径:引擎内置命令和脚本触发命令。两者的参数逻辑不同,适用场景也有区别。
**OpenAutoPickItem命令**是多数引擎支持的自动捡物指令。格式为`OpenAutoPickItem 类型 有效时间 捡物范围 是否一次全捡 捡人物丢弃物品 捡人物爆出物品 物品掉地上多长时间才能捡`。类型参数1表示仅自身,2表示仅宝宝,3表示自身加宝宝。有效时间单位秒,0表示在线一直有效。捡物范围0表示走上去捡,大于0表示按指定格数范围捡。是否一次全捡参数为1时,范围内所有可捡物品瞬间进入背包,效率最高但部分版本可能引起卡顿。关闭自动捡物用`CloseAutoPickItem`命令。
该命令需要在脚本中触发,通常写在登录脚本或GM命令脚本中。例如在QManage.txt的[@Login]标签下写入`OpenAutoPickItem 3 0 5 1 0 0 0`,效果为自身和宝宝开启5格范围自动捡物,一次全捡,不捡人物丢弃物品,物品落地即可拾取。玩家登录即自动生效,无需手动操作。
**StartPickUp与PICKUPITEMS命令**更适合假人或需要精细控制的场景。`StartPickUp`开启持续自动捡取模式,不加参数则永久生效,加参数则以分钟为单位限时。`PICKUPITEMS`是范围单次捡取命令,执行一次捡取一次,格式为`PICKUPITEMS X坐标 Y坐标 范围 是否按M2列表捡取 是否捡取死亡爆物`。范围最大20,是否按M2列表捡取参数为1时只捡“允许捡取列表”中的物品,为0则捡所有。
配合杀怪触发使用时,用`KILLMONX`和`KILLMONY`获取怪物死亡坐标,存入变量后延迟执行捡取。例如:
[@KillMon]
#ACT
MOV N200 <$KILLMONX>
MOV N201 <$KILLMONY>
DELAYGOTO 2000 @执行捡取
[@执行捡取]
#ACT
PICKUPITEMS <$STR(N200)> <$STR(N201)> 3 1 0
延迟2000毫秒是为了等物品落地显示后再捡,避免物品直接进包导致地面不显示。
**M2引擎的允许捡取列表是前置条件**。无论用哪种脚本命令,都需要在M2Server中配置捡取权限。依次点击“查看”→“列表信息一”,在“允许捡取列表”中添加物品名称。只有在该列表中的物品,脚本命令的“按M2列表捡取”参数为1时才会被拾取。如果把所有物品都加进去,等于按列表捡取和捡所有没区别,但加了过滤更可控。
## 公告与捡物配置的常见问题
公告改了没反应,先检查M2是否重新加载了配置。在线消息发送后游戏内没看到,检查发送时是否被其他系统消息顶掉,连续多点几次发送可以解决。LineNotice不播放,检查Notice.ini中参数拼写是否正确,以及LineNotice.txt中是否有空白行或全角空格,这些会被引擎误判为有效公告行。
自动捡物不生效,按顺序排查三个环节。第一,M2的“允许捡取列表”中是否有目标物品,列表为空时按列表捡取参数为1会导致什么都不捡。第二,脚本命令是否正确触发,在游戏内用GM命令测试`OpenAutoPickItem 3 0 5 1 0 0 0`,如果手动执行有效但登录不生效,说明脚本标签位置写错了。第三,物品掉落是否有保护时间,部分引擎物品落地后短暂时间内不可拾取,`OpenAutoPickItem`的“物品掉地上多长时间才能捡”参数调大可以测试。如果使用假人捡物,还需检查假人脚本中`AutoPick=1`是否开启,以及PickFilter.txt中的黑白名单是否冲突。

