mathematics 发表于 2021-9-3 12:57:28

【纯萌新向】mush门忠辅助挖坑记录

本帖最后由 mathematics 于 2021-9-3 01:58 PM 编辑

如标题,想把闲置号出师去别的门派打工赚钱,一看门忠6000+
yct46内心无比崩溃,纯手动做14000门忠那是要累死人的。
于是打算动手挖坑写个mush门忠辅助,初步打算利用数据库来协助处理,语言为Lua.
希望可以对刚入泥潭要做满1000门忠参加比武的萌新们,和武当桃花丐帮等亟需门忠学习特殊技能的友友们一点微小的帮助

hzi
在此感谢了了大师兄、秋秋铲屎官、任意yyds、神灯教主月色、赞助我片片的青云、带我打cjg的轮轮、带我撸猫吸宠玩pet的天天和小魄、整天陪我斗图吹水的毒龙、欧皇倾城、练功狂魔阿喆、表情包大户耗子、已经A了的广寒二代目聪聪、温柔可爱vv姐、喷灯手动挡风姥姥、金主爸爸2卡、天下第一帅丐面面、华山大师兄云长、起各种名字都很一言难尽的二脑、某天半夜赞助了我一笔巨款的枫哥、表情包贩卖机小猪哥等等广寒宫女性集团的家人们~
hzn
(啊我废话好多)
此贴遵守北侠机器人管理原则,拒绝全自动挂机,只分享思路+流程步骤,不分享机器。
hz6
此贴为纯萌新向个人挖坑笔记,边写边记录,速度缓慢,不会写的可能先空着(),当然写着写着突然丧失兴趣坑了也说不定QAQhzr
机器水平很烂,欢迎大佬们多多指点,会逐步改进!!!
chat* bow!!!

【一楼占楼挖坑用,后续楼层慢慢填坑】
{:91:}

mathematics 发表于 2021-9-3 14:35:34

本帖最后由 mathematics 于 2021-9-3 05:46 PM 编辑

【任务流程】
门忠任务具体分为4种:
【杀人】【战胜】【找回】【送礼】

具体log举例如下:
ask @mz_master about quest; -- @mz_master 为本门派发布门忠任务的npc id
quest; -- 获取门忠任务关键信息

-- 杀人 --
门忠任务:
你的任务是杀了『黄面道人』。
你还有五分零秒来完成它。

-- 匹配正则表达式:
^你的任务是杀了『(\S+)』。$
dst_name = "%1"   -- 抓取任务目标
dst_action = kill      -- 任务动作

-- 战胜 --
门忠任务:
你的任务是战胜『竹青蛇』。
你还有五分二十秒来完成它。

-- 匹配正则表达式:
^你的任务是战胜『(\S+)』。 $
dst_name = "%1"       -- 抓取任务目标
dst_action = fight       -- 任务动作

-- 找回 --
门忠任务:
你的任务是找回『道德经「第十八章」』。
你还有七分零秒来完成它。


-- 匹配正则表达式:
^你的任务是找回『(\S+)』。 $
dst_name = "%1"               -- 抓取任务目标
dst_npc = "@mz_master"    -- 接收物品者
dst_action = give                -- 任务动作

-- 送礼 --
门忠任务:
你的任务送『野果』给『游客』。
你还有十二分零秒来完成它。

-- 匹配正则表达式:
^你的任务送『(\S+)』给『(\S+)』$
dst_name = "%1"               -- 抓取任务目标
dst_npc = "%2"    -- 接收物品者
dst_action = give                -- 任务动作



{:09:}
mz.db数据库结构:
dst_name: 任务目标查询标签
site:          房间名
node:      房间节点名 ( dst_node)
action:      执行动作 ( dst_action )
result_s:    成功标志
result_f:    失败标志

wp_node:物品获取地点

wp_action: 执行物品获取命令
wp_s:       成功获得物品
wp_f:       物品获取失败



yct46



可以发现
【杀人】【战胜】流程相同:

1. 根据 dst_name 查询数据库:mz.db
2. 获得该任务npc所在房间: dst_node
3. 到达任务地点,获得系统回馈后,执行 dst_action (kill或者fight)
4. 检查dst_action 执行反馈,
    若成功——获得反馈:(dst_name 死了。|你战胜了\S+!)mz_result = 2
    或失败——获得反馈:这里没有这个人。mz_result = 1
5. 返回发布人处提交任务:
   if mz_result = 2, ask quest;
   if mz_result = 1, ask cancelquest;

yct74

【找回】【送礼】流程基本相同:

1. 根据 dst_name 标签查询数据库:mz.db2. 前往 wp_node 获取该物品(一般当铺购买,或者武庙功德箱捡拾,商人黄金银行取1 gold)
3. 执行 wp_action 若反馈该物品不存在,直接标记 mz_result = 1,ask cancelquest;
4. 若成功获取物品,后续流程同【杀人】【战胜】模式的2~5.

~. 获得要送礼的npc所在房间:dst_node
~. 到达任务地点,获得系统回馈后,执行 dst_action(give xx to xx)
~. 检查dst_action 执行反馈,
    若成功——获得反馈:你给\S+某物。mz_result = 2
    或失败——获得反馈:这里没有这个人。mz_result = 1
~. 返回发布人处提交任务:
   if mz_result = 2, ask quest;
   if mz_result = 1, ask cancelquest;




xjl 发表于 2021-9-3 14:41:15

亲我们一起去参加比武吧,做门忠太累了,特别是经验高了以后。

jarlyyn 发表于 2021-9-3 15:37:40

1.没必要 用数据库啊,这就是个table套table。话说回来,我发现北侠好喜欢用数据库的样子……

2.从流程看,不需要判断结果啊,直接先ask cancelquest再ask quest就好了。

3 XXX死了 可以共用一个出发,可以由脚本来判断,也可以用expand variable @npc_name来做触发

shgy 发表于 2021-9-3 15:43:22

火钳刘明
期待以后能白嫖鸭酱机器
武当十几万门忠快做吐了...

xurufeng 发表于 2021-9-3 15:43:33

就等鸭大攻略,实行出师计划。多年来苦于门忠不够,一直无法进入“T0”门派,鸭鸭新一代YYDSyct6

jarlyyn 发表于 2021-9-3 15:46:01

以我玩的mud为例,你这个大概是 备齐 和 追杀的任务

备齐大概是

https://github.com/hellclient-scripts/helllua/blob/main/script/mods/beiqi.mod

追杀大概是

https://github.com/hellclient-scripts/helllua/blob/main/script/mods/freequest.mod

yxdaoer 发表于 2021-9-3 15:49:15

jarlyyn 发表于 2021-9-3 03:46 PM
以我玩的mud为例,你这个大概是 备齐 和 追杀的任务

备齐大概是


为什么你的网址访问不了,境外需要跨墙吗

jarlyyn 发表于 2021-9-3 15:52:04

yxdaoer 发表于 2021-9-3 03:49 PM
为什么你的网址访问不了,境外需要跨墙吗

github,可能国内访问不稳定……

sunwind 发表于 2021-9-3 16:13:39

一不小心被感谢了,感动中。
页: [1] 2
查看完整版本: 【纯萌新向】mush门忠辅助挖坑记录