- 打卡等级:魔龙套勇士
- 打卡总天数:93
- 打卡月天数:17
- 打卡总奖励:10952
- 最近打卡:2025-07-17 00:00:00
管理员
本站站长
- 积分
- 7199
|
在传奇私服中,使用脚本命令清理怪物是优化服务器性能的核心手段。以下从基础命令、高级应用、自动化策略三个层面展开,结合具体引擎特性提供实战方案:
一、核心清理命令详解
1. GOM 引擎命令
lua
#SAY 清理当前地图怪物
<立即清理/@ClearMonsters>
@ClearMonsters
#ACT
MonClear 当前地图名 ; 清除当前地图所有怪物
MESSAGEBOX 清理完成,释放内存: <$STR(FREE_MEMORY)>MB
参数说明:
MonClear 地图名:清理指定地图怪物
MonClear 当前地图:清理玩家所在地图
MonClearAll:清理全服所有地图怪物(慎用)
2. BLUE/LEGEND 引擎命令
lua
#SAY 清理盟重怪物
<立即清理/@ClearD3>
@ClearD3
#ACT
CLEARMAPMON D3 ; D3为盟重地图号
SENDMSG 6 盟重怪物已清理!
扩展用法:
lua
CLEARMAPMON D3 白野猪 ; 只清理盟重的白野猪
CLEARMAPMON D3 * ; 清理盟重所有怪物(等价于CLEARMAPMON D3)
3. HERO 引擎命令
lua
#SAY 清理毒蛇山谷怪物
<立即清理/@ClearD4>
@ClearD4
#ACT
!命令 CLEARMAPMON D4 ; 通过!命令执行控制台指令
注意事项:
需确保 M2 中已开启 “允许脚本执行控制台命令” 选项
部分版本需使用EXECUTE CLEARMAPMON D4
二、高级应用场景
1. 条件触发清理
lua
#IF
CHECKMAPHUMANCOUNT 当前地图 < 5 ; 地图人数<5人
FREE_MEMORY < 512 ; 剩余内存<512MB
#ACT
MonClear 当前地图
SENDMSG 6 因人数不足且内存紧张,已自动清理怪物
2. 定时清理机制
lua
#IF
CHECKHOUR < 6 ; 检测当前时间是否<6点(凌晨低峰期)
#ACT
MonClearAll
SENDMSG 0 系统维护:凌晨自动清理全服怪物
3. 智能过滤清理
lua
#IF
CHECKITEM 屠龙刀 1 ; 检测玩家是否携带特定装备
#ACT
CLEARMAPMON 当前地图 骷髅 僵尸 ; 只清理骷髅和僵尸
#ELSESAY
您需要屠龙刀才能触发清理
三、自动化清理策略
1. 创建清理 NPC
lua
[@main]
#SAY 欢迎使用怪物清理系统\
<清理当前地图/@ClearMap> 消耗1000金币\
<清理全服地图/@ClearAll> 消耗100元宝
[@ClearMap]
#IF CHECKGOLD 1000
#ACT TAKE GOLD 1000
MonClear 当前地图
MESSAGEBOX 清理完成!获得1000经验奖励
GIVE EXP 1000
#ELSESAY 金币不足!
[@ClearAll]
#IF CHECKGAMEGOLD 100
#ACT TAKE GAMEGOLD 100
MonClearAll
SENDMSG 0 [系统] 玩家[<$USERNAME>]消耗100元宝清理了全服怪物!
2. 整合到 GM 命令
lua
[@GM_ClearMon]
#IF CHECKLEVEL >= 40 ; 限制GM等级
#ACT
MonClear 当前地图
SENDMSG 0 [GM系统] <$USERNAME>清理了[<$MAPNAME>]的怪物!
#ELSESAY 您的权限不足!
3. 自动清理计划任务
在QFunction-0.txt中添加:
lua
[@SystemStartup]
#ACT
SETGLOBALV 清理倒计时 1800 ; 设置初始倒计时30分钟
GOTO @CheckClearTime
[@CheckClearTime]
#IF CHECKGLOBALV 清理倒计时 < 1
#ACT
MonClearAll
SETGLOBALV 清理倒计时 7200 ; 重置为2小时
SENDMSG 0 [系统] 每2小时自动清理全服怪物!
#ELSEACT
ADJUSTGLOBALV 清理倒计时 -1 ; 每秒减少1
DELAYEXEC 1 @CheckClearTime ; 1秒后再次检查
四、不同引擎命令对照表
功能需求 GOM 引擎命令 BLUE 引擎命令 HERO 引擎命令
清理当前地图 MonClear 当前地图 CLEARMAPMON 当前地图 ID ! 命令 CLEARMAPMON 地图 ID
清理指定地图 MonClear 盟重省 CLEARMAPMON D3 ! 命令 CLEARMAPMON D3
清理特定怪物 MonClear 盟重省 白野猪 CLEARMAPMON D3 白野猪 ! 命令 CLEARMAPMON D3 白野猪
清理全服怪物 MonClearAll CLEARMAPMON * ! 命令 CLEARMAPMON *
带条件清理 结合 #IF 实现 结合 #IF 实现 结合 #IF 实现
五、注意事项与优化建议
保护关键怪物:
在D:\MirServer\Mir200\Envir\ForbidClearMonsters.txt中添加禁止清理的怪物(如 BOSS)
ini
触龙神
赤月恶魔
牛魔王
控制清理频率:
频繁清理会导致 M2 卡顿,建议每 30 分钟以上执行一次
添加冷却机制:
lua
#IF CHECKGLOBALV 清理冷却 > 0
#SAY 冷却中,剩余时间:<$STR(清理冷却)>秒
#ELSEACT
SETGLOBALV 清理冷却 1800 ; 30分钟冷却
MonClear 当前地图
性能监控:
清理前:M2 → 查看 → 性能数据 → 记录 CPU / 内存使用
清理后:对比数据,正常应降低 10%-30% 的资源占用
版本兼容性:
GOM8.0 + 版本支持MonClear命令,旧版本需使用!命令 CLEARMAPMON
BLUE 引擎需在Envir\Config\ServerInfo.txt中启用AllowClearMon=1
六、典型应用示例
1. 内存预警自动清理
lua
#IF
FREE_MEMORY < 300 ; 内存低于300MB
#ACT
MonClearAll
SENDMSG 0 [紧急维护] 服务器内存不足,已自动清理所有地图怪物!
2. VIP 特权清理
lua
#IF CHECKVIPLEVEL >= 3 ; VIP3及以上
#ACT
MonClear 当前地图
MESSAGEBOX VIP专属清理完成!
#ELSESAY 您的VIP等级不足!
通过合理使用脚本命令,可在不重启服务器的情况下,有效降低怪物数量,提升服务器性能。建议根据服务器规模和在线人数,定制适合的清理策略。
|
|