传奇 JS 引擎实操解答:元宝传送脚本 + 挖取几率参数解析

来源: 作者: 点击:
新手做私人服务器时,常被脚本修改和参数设置难住。以下针对 “元宝触发传送” 和 “挖取几率参数” 两个问题,按 “步骤拆解 + 代码示例 + 含义解释” 的方式讲透,全程避开复杂操作,新手可直接照搬。
一、新人地图元宝超 500 自动传送:详细脚本修改步骤
你的需求是 “chuji1 地图内,人物元宝>500 时自动传送到 chuji2”,且已有 25 级传送脚本。JS 引擎可通过 “定时检测” 实现,分 4 步操作:
1. 找对要修改的脚本文件
打开私人服务器服务器文件夹,按路径找到目标文件:
Mir200\Envir\MapQuest_def\chuji1.map
(说明:这个文件是 “chuji1 地图” 的专属脚本,所有地图内的触发事件都写在这里,你原有的 25 级传送脚本也在其中)
2. 写入 “元宝检测 + 传送” 核心代码
在chuji1.map文件末尾,直接粘贴以下代码(已兼容原有 25 级传送功能):
#TIMER 3 // 每3秒检测一次(数值越小越灵敏,3秒刚好不卡顿)
#ACT
MOV S1 <$GAMEGOLD> // 把当前人物的元宝数存到临时变量S1里
CHECK [S1] > 500 // 检测S1(元宝数)是否大于500
MOV S2 <$USERMAP> // 把当前人物所在地图存到S2
CHECK [S2] = chuji1 // 确保人物还在chuji1地图(防止误传)
CHECKVAR H1 0 // 检测H1标记是否为0(H1是防重复传送的标记)
#ACT
MOV H1 1 // 把H1标记设为1(表示已触发传送,避免重复执行)
MapMove chuji2 300 300 0 // 传送到chuji2地图的(300,300,0)坐标(可改自己的安全区坐标)
SENDMSG 6 元宝超过500,自动前往高级地图! // 游戏内发橙色提示(6代表橙色)
#ELSEACT
MOV H1 0 // 若不符合条件,把H1标记重置为0(下次还能检测)

3. 代码逐行解释(新手必看)
代码行
通俗含义
#TIMER 3
告诉系统 “每 3 秒执行一次下面的检测”
MOV S1 <$GAMEGOLD>
读取人物当前元宝数,临时存在 “S1” 这个 “小盒子” 里
CHECK [S1] > 500
看 “S1 盒子” 里的数字是不是比 500 大
CHECK [S2] = chuji1
确认人物没离开 chuji1 地图(防止卡 bug)
CHECKVAR H1 0
看 “H1 标记” 是不是 0(0 代表没传送过,1 代表传过)
MOV H1 1
把 “H1 标记” 改成 1,避免刚传过去又被检测触发
MapMove chuji2 300 300 0
传送命令,格式是 “地图名 X 坐标 Y 坐标 层号”
SENDMSG 6 提示文字
在游戏聊天框发橙色提示,让玩家知道为什么被传送

4. 和原有 25 级传送的兼容性处理
如果你的 25 级传送脚本是用#LEVELUP触发的(比如人物升到 25 级时执行),直接加上面的代码就行 —— 两者一个是 “等级触发”,一个是 “定时检测元宝”,互不干扰。
若原有 25 级传送也是#TIMER检测,可把两个检测条件合并,示例:
#TIMER 3
#ACT
// 元宝检测条件
MOV S1 <$GAMEGOLD>
CHECK [S1] > 500
// 等级检测条件(原有)
CHECKLEVEL 25
// 地图和重复标记检测
CHECK [S2] = chuji1
CHECKVAR H1 0
#ACT
// 执行传送(和之前一样)

5. 测试生效步骤
保存chuji1.map文件(别用记事本编辑,推荐用 Notepad++,避免格式乱码);
重启私人服务器的 “M2Server.exe”(JS 引擎核心程序,改脚本后必须重启才生效);
用测试账号进入 chuji1 地图,让元宝超过 500(可通过 GM 命令@GAMEGOLD + 600加元宝),看是否自动传送。
二、JS 引擎挖取几率参数解析:ButchRate 才是关键
JS 引擎的ButchUserItemRate和ButchRate容易混淆,直接按 “用途 + 数值换算” 讲清楚:
1. 先给结论:哪个控制人形怪装备挖取几率?
ButchRate=10是设置人形怪(含其他可挖取怪物)身上装备被挖取的核心参数,ButchUserItemRate=2和玩家自身物品无关,新手可暂时忽略。
2. 两个参数的准确含义(JS 引擎专属)
参数名
作用范围
通俗解释
ButchRate
所有可挖取怪物(人形怪、动物怪等)
控制怪物被挖尸时,爆出装备、材料的 “基础几率”,人形怪的装备挖取几率主要看这个
ButchUserItemRate
玩家死亡后掉落的物品
控制其他玩家挖取 “你死亡掉落的物品” 的几率,和怪物挖取没关系

3. 数值和百分比的换算:千分比规则
JS 引擎里这两个参数的数值都是千分比(不是百分比),简单说:
数值 ÷ 10 = 百分比
举例:
你的ButchRate=10 → 10÷10=1% → 人形怪被挖取时,有 1% 的几率出装备;
ButchRate=50 → 50÷10=5% → 5% 的几率出装备;
你的ButchUserItemRate=2 → 2÷10=0.2% → 其他玩家挖你掉落的物品只有 0.2% 的几率。
(原理:JS 引擎把 “100% 几率” 拆成 1000 份,数值 1 对应 0.1%,10 对应 1%,这样调节更精细)
4. 实操调整示例(改人形怪挖装备几率)
如果你想让人形怪挖装备的几率提高到 3%,步骤:
找到 JS 引擎的配置文件Mir200\Envir\JSConfig.ini;
搜索ButchRate,把原来的ButchRate=10改成ButchRate=30(30÷10=3%);
保存文件,重启 M2Server.exe,生效。
三、新手必看的 3 个避坑提醒
改脚本前先备份:复制一份要修改的文件(比如chuji1.map改名为chuji1_backup.map),错了能恢复;
坐标别乱填:MapMove里的坐标必须是 chuji2 地图的安全区坐标(可在 M2Server 的 “地图管理” 里查),填错会传进墙里卡主;
参数别设太高:ButchRate别超过 100(10%),否则装备太多会破坏游戏平衡。
这两个问题都是 JS 引擎的基础操作,按步骤改完重启引擎就能用。如果测试时没生效,先检查文件路径对不对,再看代码里的符号(比如括号、空格)有没有输错 —— 新手出错大概率是这两个原因。