一、活动地图MapInfo与矿点
新建幸运矿场地图,假设地图码xykc,MapInfo.txt加:
xykc 幸运矿场 1 100 100 1 0 0 0 0 MINE NODROPITEM(金币矿元宝矿 经验矿 物品矿
幸运矿石) NORECONNECT(3) NORANDOMMOVE NORECALL
MINE标记可挖矿区域,NODROPITEM禁止把活动矿丢地上防刷,NORECONNECT(3)死亡回土城3号安全,NORANDOMMOVE禁随机卷,NORECALL禁回城。若只做限时活动,开始时段才开放地图进入,平时用NPC检测全局变量放行。
矿点坐标按地图实际可挖格布置,可用M2地图编辑器把矿点层绑定到xykc;普通金矿银矿黑铁铜铁仍可在矿点出,活动特殊矿通过脚本随机给,不全部依赖地图矿点。
二、StdItems矿石与幸运物品
StdItems.DB建活动矿:
金币矿:Stdmode按普通矿石/材料填,Source可设挖出后由脚本处理,不进常规出售
经验矿:材料类,挖出后NPC兑换经验或不绑定经验、直接脚本给经验
元宝矿:材料类,NPC回收给元宝
物品矿:材料类,NPC回收按爆率给装备/消耗品
幸运矿石:材料类,专供首饰加幸运;若只做“挖矿出幸运值”也可不发矿石,直接在挖矿脚本给角色临时幸运状态
鹤嘴锄/高级鹤嘴锄:Stdmode按本服挖矿工具填,AniCount或Reserved按Hero挖矿成功率字段配置,高级锄提高空挖率和特殊矿概率
幸运首饰方面,项链加幸运用Shape/Stdmode按本服项链填,AddValue1对应幸运字段;Hero脚本用CHECKITEMADDVALUE 3 1判断幸运值,UPGRADEITEMEX改幸运。
三、QFunction挖矿触发随机出矿
普通挖矿得到金矿银矿黑铁后,在QFunction-0.txt做回收并随机转活动矿。示例:
[@xykc]
IF CheckItem 金矿 1
ACT Take 金矿 1
IF Random 10
ACT SendMsg 7 您参加幸运矿场活动,获得了奖励:[金币矿]!Give 金币矿 1
Break
IF CheckItem 银矿 1
ACT Take 银矿 1
IF Random 10
ACT SendMsg 7 您参加幸运矿场活动,挖出了奖励:[经验矿]!Give 经验矿 1
Break
IF CheckItem 黑铁矿石 1
ACT Take 黑铁矿石 1
IF Random 8
ACT SendMsg 7 您参加幸运矿场活动,挖出了奖励:[元宝矿]!Give 元宝矿 1
Break
IF CheckItem 铁矿 1
ACT Take 铁矿 1
IF Random 6
ACT SendMsg 7 您参加幸运矿场活动,挖出了奖励:[物品矿]!Give 物品矿 1
Break
IF CheckItem 铜矿 1
ACT Take 铜矿 1
IF Random 4
ACT SendMsg 7 您参加幸运矿场活动,挖出了奖励:[幸运矿石]!Give 幸运矿石 1
Break
Random 10即约1/10触发,按经济改分母;多矿种分别判断,先Take再Random,避免不回收直接发奖。若按不同矿种走独立StdModeFunc,用下面方式分流。
四、StdModeFunc分矿种调用QuestDiary爆率
Hero可按矿石Stdmode挂StdModeFunc,QFunction写:
[@StdModeFunc75]
CALL [\幸运矿场\金币.txt] @金币
[@StdModeFunc76]
CALL [\幸运矿场\元宝.txt] @元宝
[@StdModeFunc77]
CALL [\幸运矿场\经验.txt] @经验
[@StdModeFunc78]
CALL [\幸运矿场\物品.txt] @物品
QuestDiary\幸运矿场\金币.txt:
[@金币]
IF Random 10
ACT SendMsg 7 幸运矿场挖出金币矿!Give 金币矿 1
Break
ELSEACT
SendMsg 7 本次只挖到普通矿。
元宝.txt、经验.txt、物品.txt同理,物品.txt内部用MonItems式或GIVE式爆率。若不想分StdModeFunc,全部逻辑写QFunction[@xykc]最省事,改概率也快。
五、MapEvent进入自动发锄与传图
MapEvent.txt加活动进入触发,假设玩家从土城NPC进xykc,也可做地图内全图触发:
xykc -1 -1 -1:1 3:*:0 0 1 xykc
含义按本服MapEvent文档理解为进入xykc、全坐标、3秒类触发、执行QFunction[@xykc]初始化;如果只想要“进图发鹤嘴锄”,把发锄写NPC而不是MapEvent,避免反复进图重复发。NPC报名示例如下。
六、土城报名NPC与兑换NPC
MerChant.txt:
幸运矿场管理员 3 330 330 1 0 0 0 5
Market_Def\幸运矿场管理员-3.txt:
[@main]
\ \
幸运矿场\
持鹤嘴锄进入xykc挖矿,金矿银矿黑铁随机转活动矿\
金币矿兑元宝,经验矿兑经验,元宝矿兑元宝,物品矿兑装备,幸运矿石洗项链幸运\
\ \
进入矿场 @GoMine \
金币矿兑换 @ExGold \
经验矿兑换 @ExExp \
元宝矿兑换 @ExYb \
物品矿兑换 @ExItem \
幸运矿石洗幸运 @ExLuck \
活动规则 @Rule \
[@GoMine]
IF CheckItem 鹤嘴锄 1
Equal G100 1
ACT MapMove xykc 50 50
SendMsg 1 已进入幸运矿场,开始挖矿!
ELSEACT
IF CheckItem 鹤嘴锄 1
ACT Set G100 1
Give 鹤嘴锄 1
MapMove xykc 50 50
SendMsg 1 已发鹤嘴锄并进入幸运矿场!
ELSEACT
SendMsg 1 需要鹤嘴锄,找管理员领取后再进!
G100作活动开启标记,定时活动开始前置1、结束后置0,非活动时段进图可拦。若不做全局开关,删Equal G100 1,直接发锄传图。
[@ExGold]
IF CheckItem 金币矿 1
ACT Take 金币矿 1
GameGold + 500
SendMsg 1 金币矿兑换元宝500!
Goto @main
ELSEACT
SendMsg 1 没有金币矿!
[@ExExp]
IF CheckItem 经验矿 1
ACT Take 经验矿 1
Give 经验卷 1
SendMsg 1 经验矿兑换经验卷1个!
Goto @main
ELSEACT
SendMsg 1 没有经验矿!
[@ExYb]
IF CheckItem 元宝矿 1
ACT Take 元宝矿 1
GameGold + 2000
SendMsg 1 元宝矿兑换元宝2000!
Goto @main
ELSEACT
SendMsg 1 没有元宝矿!
[@ExItem]
IF CheckItem 物品矿 1
ACT Take 物品矿 1
Random 20
ACT Give 高级宝箱 1
SendMsg 0 物品矿开出高级宝箱!
Goto @main
ELSEACT
ACT Give 普通材料包 1
SendMsg 1 物品矿开出普通材料包!
Goto @main
[@ExLuck]
IF CheckItem 幸运矿石 1
CheckItemType 3 19
CheckItemAddValue 3 1 = 0
ACT Take 幸运矿石 1
UpgradeItemEx 3 1 0 1 0
SendMsg 0 项链已注入幸运1!
Goto @main
IF CheckItem 幸运矿石 1
CheckItemType 3 19
CheckItemAddValue 3 1 = 1
ACT Take 幸运矿石 1
Random 5
ACT UpgradeItemEx 3 1 0 1 0
SendMsg 0 项链升到幸运2!
Goto @main
ELSEACT
SendMsg 1 需要幸运矿石和未达上限项链;项链类Type3、幸运字段用CHECKITEMADDVALUE 3 1判断。
CheckItemType 3 19按本服“位置3、项链类型19”示例,实际Stdmode以DB为准;UpgradeItemEx参数按Hero文档调整,幸运1/2/3分别做不同Random分母实现越高越低。
七、定时自动开启与发锄
QManage或Robot做每小时开启。Robot_def/AutoRunRobot.txt:
AutoRun NPC MIN 0 @幸运矿场开始
AutoRun NPC MIN 30 @幸运矿场开始
AutoRun NPC MIN 59 @幸运矿场结束
RobotManage.txt:
[@幸运矿场开始]
IF Equal G100 0
ACT Set G100 1
SendMsg 1 每小时幸运矿场已经开始!!请大家及时去土城找管理员参加!
GMExecute 开始提问 @幸运矿场
[@幸运矿场结束]
IF Equal G100 1
ACT Set G100 0
SendMsg 1 本次幸运矿场已经结束!!请下一时段继续参加!
GMExecute 开始提问 @幸运矿场结束
若用QManage定时,可写[@wakuang]按MIN 50 59发鹤嘴锄并TIMERECALL传图;普通做法在整点广播、玩家找NPC进更稳,不强制自动传图。 机器人命令名按本Hero版本Robot目录调整,部分老Hero用Robot_def而非AutoRunRobot,重读机器人后看M2日志。
八、活动矿爆率文件
QuestDiary\幸运矿场里金币.txt/元宝.txt/经验.txt/物品.txt分别写爆率。物品矿想控每件概率:
[@物品]
IF Random 100
ACT GIVE 高级宝箱 1
Break
IF Random 50
ACT GIVE 黑铁矿石 5
Break
ELSEACT
GIVE 普通材料包 1
Hero新爆率也可用MonItems式#CHILD做单次只出一件:
CHILD 1/1 RANDOM ( 1/20 高级宝箱 1/10 终极材料包 1/5 黑铁矿石 1/1 普通材料包 )
写MonItems\幸运矿场教主.txt给矿场BOSS用,不写QFunction也行;玩家挖矿走QFunction、BOSS额外掉幸运矿走MonItems,两套分开更易调。
九、矿场BOSS与幸运矿石掉率
MonGen.txt给xykc加BOSS:
xykc 50 50 幸运矿场守护 0 1 30 1 253
MonItems\幸运矿场守护.txt:
1/20 幸运矿石
1/30 元宝矿
1/30 物品矿
1/50 高级宝箱
1/100 黑铁矿石
普通挖矿只给少量幸运矿石,BOSS提高掉率,避免纯手动挖矿让幸运矿石泛滥。小怪不写幸运矿石,只出金币矿/经验矿/普通矿。
十、防刷与平衡
NODROPITEM把活动矿列入禁止丢弃,配合地图不回城,避免小号倒矿。QFunction随机分母按在线人数调:50人在线金币矿Random 10、元宝矿Random 8、物品矿Random 6;人多改Random 15/12/10。幸运矿石只从铜矿低概率和BOSS出,项链洗幸运设置每日次数,用个人D变量记录:
[@ExLuck]
IF Equal D50 5
ACT SendMsg 1 今日幸运洗练已达5次!
Close
IF CheckItem 幸运矿石 1
CheckItemType 3 19
ACT Take 幸运矿石 1
Inc D50 1
UpgradeItemEx 3 1 0 1 0
SendMsg 0 项链注入幸运,今日已洗第<D50>次!
Goto @main
D50重启会清,重要限次用H变量或登录落盘。元宝兑换比例别太高,金币矿500、元宝矿2000适合中期服;新手服可降到200/800。
十一、重载与排错
1. 进xykc不挖出活动矿:查MapInfo是否MINE,查鹤嘴锄Stdmode是否本服挖矿码,查QFunction[@xykc]是否挂载、CheckItem矿名是否和DB一致。
2. 挖出普通矿但不触发金币矿/元宝矿:Random分母过大或Take写在前但CheckItem没先判断;改成先CheckItem再Take再Random。
3. StdModeFunc不调用:75-78必须和矿石DB的StdModeFunc值对应,QFunction文件名、QuestDiary路径“\幸运矿场\”必须存在,重读脚本后测试。
4. NPC兑换无反应:CheckItem名称、Give名称与StdItems一致;元宝用GameGold,若本服元宝命令不同全局替换。
5. 幸运洗项链无效:CheckItemType位置/类型错,CHECKITEMADDVALUE 3 1字段错;先用GM工具看项链AddValue1数值,再对应脚本判断=0、=1、=2。
6. 定时不开启:AutoRunRobot格式、RobotManage标签名、M2机器人总开关三项都要对;QManage用MIN触发时确认定时器已挂载。
7. 活动矿能被交易刷给小号:NODROPITEM只禁丢地,不等同禁交易;要禁交易在StdItems设绑定标志,或NPC兑换时校验进入次数G100和个人挖矿变量。
8. 死亡回错图:NORECONNECT(3)的3必须是已加载安全图,写错地图码会卡死亡;活动结束把玩家从xykc踢回3再清G100。
9. BOSS不刷:MonGen地图码xykc与MapInfo一致,怪物名和MonDB一致,M2重读MonGen;若只在活动期刷,用NPC MonGenEx替代MonGen固定行。
10. 小地图空白:xykc在MiniMap.txt补序号并放客户端mmap资源,和挖矿逻辑无关但影响体验。
最小可运行组合用MapInfo开xykc为MINE、QFunction[@xykc]按金矿银矿黑铁铜铁分别Random发四类活动矿和幸运矿石、土城NPC发鹤嘴锄并传xykc、Robot整点置G100并广播、NPC做四类矿兑换和幸运矿石洗项链、MonGen给一只幸运矿场守护掉幸运矿石,重读MapInfo/NPC/QFunction/Robot后进图挖矿验证随机出矿与兑换即可。
传奇Hero引擎幸运挖矿活动全配置教程含矿场地图QFunction随机出矿NPC兑奖与首饰加幸运
来源:
作者:
点击:

