当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

迷失传奇自动吃元宝脚本:QF拾取触发与机器人轮询双写法

热度:
迷失版本大多基于GOM/GEE/Hero底子,“自动吃元宝”指的是背包里捡到“1元宝/10元宝/100元宝”这类元宝卷(或元宝道具)后,不手动双击,由服务端自动扣除道具并给角色加GAMEGOLD。实现路径有两条:捡取瞬间在QFunction-0.txt里吞掉,或用Robot机器人定时扫背包批量吞。两条可以并存,捡取触发管即时,机器人管残留。

一、先认物品名和加元宝命令

进Mir200\Envir\Market_Def\QFunction-0.txt前,先去物品库(DBC的StdItems.DB或文本版StdItems.txt)确认元宝道具的Name字段,常见写法:
-1元宝、10元宝、50元宝、100元宝、200元宝
•有的迷失版叫元宝卷、绑定元宝、金元宝,名字必须一字不差,脚本里大小写和全半角都要一致。

加元宝命令按引擎:
-GOM/GEE:GAMEGOLD+数值(绑定元宝用GAMEGOLD_BIND+数值)
•Hero:GameGold+数值或ChangeGameGold+数值

•翎风/996:GameGold+数值

拿不准就进M2控制台敲@gamegold+100看角色面板元宝涨不涨,涨就是GAMEGOLD体系。

二、QFunction-0捡取即吃(推荐)

打开Mir200\Envir\Market_Def\QFunction-0.txt,在文件末尾追加。注意迷失版有的把捡取标签写成[@PickUpItemEx],有的GOM新内核用[@拾取物品],先看文件里已有的标签名,跟着已有标签体系走,别自己造@PickUp这种引擎不认识的。
[@PickUpItemEx]
#IF
CheckItem1元宝1
#ACT
Take1元宝1
GAMEGOLD+1
SendMsg6自动吃元宝:+1,当前元宝[<$GAMEGOLD>]
BREAK
#IF
CheckItem10元宝1
#ACT
Take10元宝1
GAMEGOLD+10
SendMsg6自动吃元宝:+10,当前元宝[<$GAMEGOLD>]
BREAK
#IF
CheckItem50元宝1
#ACT
Take50元宝1
GAMEGOLD+50
SendMsg6自动吃元宝:+50,当前元宝[<$GAMEGOLD>]
BREAK
#IF
CheckItem100元宝1
#ACT
Take100元宝1
GAMEGOLD+100
SendMsg6自动吃元宝:+100,当前元宝[<$GAMEGOLD>]
BREAK


要点:
•每个面额一段#IFCheckItem...1/Take...1/GAMEGOLD+N/BREAK,BREAK必须有,否则一段判断完会继续往下掉进别的判断。

-商城直接充值的“真元宝”(非道具)不会被CheckItem命中,不会重复吃,这点比在QM里写更稳。
•若迷失版元宝道具是StdMode=31的触发类,标签要改成[@StdModeFuncXXXX](XXXX对应DBC里AniCount),写法同上把CheckItem换成引擎自动进该标签即可。

改完M2Server→控制→重新加载QF脚本(或硬重启M2),进游戏捡一个10元宝,面板元宝+10且道具消失即生效。

三、Robot机器人兜底(防漏吃/背包存量)

捡取触发在某些引擎下玩家快速捡一堆会丢事件,加一层机器人每3秒扫一次背包:

Mir200\Envir\Robot_def\AutoRunRobot.txt末尾加:
#AutoRunNPCSEC3@AutoEatYuanBao


Mir200\Envir\Robot_def\RobotManage.txt末尾加:
[@AutoEatYuanBao]
#IF
CheckItem1元宝1
#ACT
Take1元宝1
GAMEGOLD+1
SendMsg6机器人托管:自动吃1元宝
BREAK
#IF
CheckItem10元宝1
#ACT
Take10元宝1
GAMEGOLD+10
SendMsg6机器人托管:自动吃10元宝
BREAK
#IF
CheckItem100元宝1
#ACT
Take100元宝1
GAMEGOLD+100
SendMsg6机器人托管:自动吃100元宝
BREAK


SEC3是3秒一轮,迷版本如果人多卡,调到SEC5或SEC10。改完M2→控制→重新加载Robot脚本。

四、绑定元宝分支

若迷失版分“绑定元宝”和“元宝”两种,绑定道具名如绑定元宝,命令换GAMEGOLD_BIND+N,CheckItem名字同步换,两段并列写,别混用GAMEGOLD把绑定道具吃成非绑定元宝。

五、不生效拍错

•捡了没反应:QFunction标签名错(不是PickUpItemEx),打开M2控制台看捡物时有没有报“未知标签”;或物品名和DBC不一致,拿物品名去StdItems搜一遍。

-吃了但不加元宝:GAMEGOLD写成GAMEGOLD_BIND但角色面板看的是非绑定,或引擎根本用GameGold,按前面@gamegold自测切换。
•机器人不跑:AutoRunRobot.txt里SEC后面没空格直接跟数字、或RobotManage里标签名和AutoRun调用的@AutoEatYuanBao拼写不一致。

-吃元宝后掉线:单次GAMEGOLD+数值超过引擎上限(部分端限10万),拆小面额或改引擎物品上限。
•商城充值元宝被“吃”没:说明你把真元宝(非道具)和元宝卷搞混,CheckItem只认道具,真元宝不会进这个判断,遇到这种查的是别处脚本冲突。

双机制挂上后,玩家捡元宝卷即吃、背包残留机器人3秒清一遍,迷失版本里这套是最省事的写法,不用动客户端,不用改StdItems的StdMode,纯服务端QF+Robot闭环。
[顶部]