设为首页收藏本站
  • 官方微信
    lmkj_wx 微信公众号 添加方式:
    1:扫描左侧二维码
  • 手机访问
    lmkj_sj
  •  找回密码
     立即注册

    QQ登录

    只需一步,快速开始

    查看: 5|回复: 0

    如何在脚本中配置怪物刷新机制

    [复制链接]
    avatar
    • 打卡等级:魔龙套勇士
    • 打卡总天数:93
    • 打卡月天数:17
    • 打卡总奖励:10952
    • 最近打卡:2025-07-17 00:00:00

    5695

    主题

    88

    回帖

    7199

    积分

    管理员

    本站站长

    积分
    7199
    online_admin 发表于 昨天 18:24 | 显示全部楼层 |阅读模式
    在传奇私服中,怪物刷新机制的配置直接影响游戏体验和服务器性能。以下从基础配置、高级策略、引擎差异三个维度展开,结合具体示例说明:
    一、基础配置文件详解
    1. MonGen.txt 文件结构
    位于 D:\MirServer\Mir200\Envir\MonGen.txt,格式为:

    ini
    [地图名称]
    坐标: X Y 范围: 长x宽 数量: 怪物数量 时间: 刷新间隔

    示例:

    ini
    [D301 盟重省]
    坐标: 330 330 范围: 50x50 数量: 10 时间: 15分钟
    坐标: 380 380 范围: 30x30 数量: 5 时间: 10分钟
    2. 怪物类型配置
    在 D:\MirServer\Mir200\Envir\Monsters.txt 中定义怪物属性:

    ini
    [怪物名称]
    攻击: 10-20
    防御: 5
    魔法防御: 5
    生命: 100
    经验: 50
    3. 特殊属性设置
    隐身怪物:添加 隐身=1
    攻击麻痹:添加 麻痹几率=10(10% 几率)
    不掉落装备:添加 不掉落=1
    二、高级刷新策略
    1. 智能分散刷新
    避免同一时间刷新大量怪物,减少服务器压力:

    ini
    [D301 盟重省]
    坐标: 330 330 范围: 50x50 数量: 10 时间: 15分钟
    坐标: 380 380 范围: 30x30 数量: 5 时间: 17分钟 ; 错开刷新时间
    坐标: 420 420 范围: 40x40 数量: 8 时间: 13分钟
    2. 条件触发刷新
    通过脚本控制怪物刷新:

    lua
    #SAY 触发BOSS刷新
    <召唤赤月恶魔/@SummonBoss>

    @SummonBoss
    #IF
    CHECKITEM 赤月凭证 1 ; 检查是否拥有凭证
    #ACT
    TAKE 赤月凭证 1 ; 消耗凭证
    MONCREATE 赤月恶魔 350 350 0 ; 在350,350坐标创建BOSS
    SENDMSG 0 [系统] 玩家<$USERNAME>召唤了赤月恶魔!
    3. 动态数量调整
    根据在线人数自动调整怪物数量:

    lua
    #IF
    CHECKONLINECOUNT < 50 ; 在线人数少于50
    #ACT
    SETMAPMONCOUNT 当前地图 50% ; 怪物数量为原数量的50%
    #ELSEIF
    CHECKONLINECOUNT > 100 ; 在线人数多于100
    #ACT
    SETMAPMONCOUNT 当前地图 150% ; 怪物数量为原数量的150%
    三、引擎差异与特殊配置
    1. GOM 引擎
    随机刷新点:
    ini
    [D301 盟重省]
    随机刷新: 1 范围: 500x500 数量: 20 时间: 20分钟

    脚本命令:
    lua
    MONCREATE 怪物名称 X Y 地图ID ; 创建单个怪物
    MONCLEAR 地图ID ; 清理地图怪物

    2. BLUE 引擎
    跨区刷新:
    ini
    [D717 微信专区]
    跨区刷新: 1 数量: 15 时间: 30分钟

    微信触发:
    lua
    #IF
    CHECKWECHAT 绑定 ; 检查是否微信绑定
    #ACT
    MONCREATE 微信使者 400 400 717

    3. HERO 引擎
    固定刷新格式:
    ini
    [D3 盟重省]
    刷新点: 330 330 数量: 10 间隔: 15

    数据库配置:
    在 cfg_monster.xls 中修改 RefreshTime 字段控制刷新时间。
    四、性能优化建议
    分散刷新时间:
    将所有怪物的刷新时间设置为不同值(如 13、17、23 分钟)
    避免多个地图同时刷新
    限制刷新范围:
    范围不宜过大,建议不超过 100x100
    密集地图(如猪洞)可设为 50x50
    减少高级怪物数量:
    BOSS 类怪物数量控制在 1-3 只
    精英怪与普通怪比例建议为 1:5
    使用智能刷怪:
    GOM 引擎勾选 “自动清除无人地图怪物”
    设置 “保留怪物数量” 为 10-20 只
    五、典型场景配置示例
    1. 新手村配置
    ini
    [D301 比奇城]
    坐标: 330 330 范围: 30x30 数量: 5 时间: 5分钟 ; 鸡
    坐标: 350 350 范围: 40x40 数量: 8 时间: 8分钟 ; 鹿
    坐标: 370 370 范围: 50x50 数量: 3 时间: 10分钟 ; 稻草人
    2. 高级地图配置
    ini
    [D5 祖玛寺庙]
    坐标: 200 200 范围: 50x50 数量: 15 时间: 20分钟 ; 祖玛卫士
    坐标: 300 300 范围: 40x40 数量: 5 时间: 30分钟 ; 祖玛雕像
    坐标: 400 400 范围: 30x30 数量: 1 时间: 120分钟 ; 祖玛教主
    3. 脚本触发刷新
    lua
    #SAY 挑战牛魔王
    <进入牛魔洞/@EnterBull>

    @EnterBull
    #IF
    CHECKLEVEL >= 40 ; 等级≥40
    #ACT
    MAPMOVE 712 ; 传送到牛魔洞
    MONCREATE 牛魔王 300 300 712 ; 刷新牛魔王
    DELAYEXEC 7200 @ClearBull ; 2小时后清理
    六、常见问题排查
    怪物不刷新:
    检查 MonGen.txt 中地图名称是否正确
    确认怪物名称与 Monsters.txt 一致
    查看 M2 日志是否有刷新错误提示
    服务器卡顿:
    检查是否存在大量怪物同时刷新
    使用 !命令 MONSTERCOUNT 查看全服怪物数量
    优化刷新范围和时间间隔
    怪物属性异常:
    检查 Monsters.txt 中属性设置是否正确
    确认怪物 ID 与数据库一致
    清除 D:\MirServer\Mir200\Envir\DynamicMon 缓存文件

    通过合理配置怪物刷新机制,可在保证游戏体验的同时,有效降低服务器资源占用。建议根据服务器性能和玩家规模,动态调整刷新参数。

    您需要登录后才可以回帖 登录 | 立即注册 qq_login

    本版积分规则

    QQArchiver 手机版 小黑屋 39传奇素材网 ( 蜀ICP备2022016510号-3 )

    快速回复 快速发帖 返回顶部 返回列表