热血传奇添加挖矿功能脚本编写方法

来源: 作者: 点击:
在热血传奇中实现挖矿功能,需修改服务端脚本,包括NPC对话、挖矿触发、物品产出及冷却控制。以下为完整实现步骤,适用于标准Mir2服务端架构。

一、创建挖矿NPC脚本
在Npc_def目录下新建文件,如“Miner.txt”,内容如下:

[@main]
想挖矿吗?



[@startmine]
IF
CHECKMAP11
ACT
CALL[MineSystemMineProcess]
ELSEACT
MESSAGE当前地图禁止挖矿!

此脚本限定仅在地图11(如矿区)允许挖矿,其他地图提示无效。

二、建立挖矿主逻辑脚本
在QuestDiary目录下创建MineSystem文件夹,内建MineProcess.txt:

[@main]
IF
EQUALS01
ACT
MESSAGE挖矿冷却中,请稍后再试。
break
IF
CHECKITEM镐子1
ACT
TAKE镐子1
MOVS01
TIMERECALL@mineresult5
SENDMSG6正在挖掘中……
ELSEACT
MESSAGE你没有镐子,无法挖矿!

S0作为冷却标记,值为1时表示正在冷却;使用TIMERECALL延迟5秒后执行结果判定。

三、挖矿结果判定脚本
在同一目录下创建MineResult.txt(由TIMERECALL调用):

[@mineresult]
IF
RANDOM30
ACT
GIVE铁矿1
SENDMSG6挖到一块铁矿!
ELSEIF
RANDOM10
ACT
GIVE银矿1
SENDMSG6挖到一块银矿!
ELSEIF
RANDOM5
ACT
GIVE金矿1
SENDMSG6挖到一块金矿!
ELSEACT
SENDMSG6一无所获,继续努力!
MOVS00

RANDOM数值代表万分比概率,30=0.3%,10=0.1%,5=0.05%。最后重置S0=0解除冷却。

四、配置挖矿物品与工具
确保Item.db或StdItems中已定义“镐子”“铁矿”“银矿”“金矿”等物品ID,并在客户端MapInfo.txt中设置地图11为可挖矿区域(部分版本需在MapQuest_def/CA11.txt中添加挖矿事件支持)。

五、添加冷却解除机制(可选)
若需更精确冷却,可用D变量记录时间戳。例如:

ACT
MOVD100HUMTIME
INCD100300

后续检测时比对当前HUMTIME是否大于D100,实现5分钟冷却。

六、测试与调试要点
确保NPC坐标位于地图11内;
镐子必须为可叠加物品,否则TAKE命令可能失效;
挖矿结果脚本路径需与CALL指令完全一致;
若无反应,检查QuestDiary目录权限及脚本编码是否为ANSI。

通过以上步骤,即可在游戏中加入完整的挖矿系统,玩家消耗镐子触发随机产出,具备冷却控制与地图限制,防止滥用。
[顶部]