shanghua 发表于 2022-9-14 17:03:00

mudlet基础脚本开发-5、武当门派任务 - 炼丹

本帖最后由 shanghua 于 2022-9-14 05:17 PM 编辑

上一节,我们开发了练阵的机器,这一节我们继续填架子。
炼丹的任务相对简单,难点在于抓取炉子,所以炼丹脚本的开发思路:
1、找俞岱岩
2、准备开始
3、看炉
4、丹成
5、交丹

还是先找一个自己记的住的位置,新建一个ld.lua文件,用vscode打开它,以下所有的脚本代码全都复制到这个文件里,最后把文件里的代码一起复制到mudlet的脚本里去。


1、找俞岱岩:我们通过 这一节教程 接到任务,去执行 startLD() 函数脚本代码:
function startLD ()
    send('do 4 n;e;e')
    tempTimer(2, [])
end


2、准备开始
触发:
你向俞岱岩打听有关『炼丹』的消息。
俞岱岩说道:「我最近正在研究炼制
勾选多行触发,行数间距填1触发代码:
readyLD()脚本代码:
function readyLD()
    send('s;zuo;kan')
end


3、看炉
上代码之前,我们先分析一下这个炉子,如图:

这炉子看起来很复杂,其实我们分析一下,就很简单,抓1行就够。

空白用 \s+
重复的星星,数一数它是8个,*是正则关键字,需要转义,所以最终用 \*{8}
正儿八经要用的内容是^,数一数它是5个,它也是正则关键字,需要转义,所以最终用 \^{5}
^后边的星星可抓,可不抓,原理同上
最后颜色匹配,在mudlet里也是相当简单,往下看就好。也可以先看一下 mudlet的基础教程。

3-1、黄炉:
触发:
^\s+\*{8}(\^{5})\*{7}
颜色不占触发行数,所以这里是0
触发代码:
getColorLD('H')

3-2、红炉:
触发:
^\s+\*{9}\^{3}\*{8}
触发代码:
getColorLD('L')

3-3、紫炉:
触发:
^\s+\*{7}(\^)\*{6}
触发代码:
getColorLD('M')脚本代码:
function getColorLD(color)
    send('change '..color)
end



4、丹成
触发:
丹炉里传出来一阵清香,看来已经成丹了!赶紧向俞岱岩报告!触发代码:
okLD()脚本代码:
function okLD()
    send('zhan');
    tempTimer(1.5, [])
end


5、交丹
触发:
你向俞岱岩打听有关『炼丹』的消息。
(^你的「医术」进步了!)?
俞岱岩说道:「不错不错!
这里是多行匹配,(^你的「医术」进步了!)有时有,有时没有,所以用 ? 让它匹配0次或1次。

触发代码:
overLD()脚本代码:
function overLD()
    tempTimer(1.5, [[
      send('n;w;w;do 4 s;')
      enableAlias('cxok')
    ]])
end


最后记得,把ld.lua里的代码复制到mudlet炼丹脚本里去。


附上触发与脚本目录结构:





ssbx 发表于 2022-11-27 17:10:20

一路看过来
很有启发
谢谢!

wolfwar 发表于 2022-12-18 20:43:53

在跟着教程一步一步学, 非常感谢!
页: [1]
查看完整版本: mudlet基础脚本开发-5、武当门派任务 - 炼丹