北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 363|回复: 1

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

[复制链接]
发表于 2022-9-14 17:03:00 | 显示全部楼层 |阅读模式
本帖最后由 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, [[send('ask yu about 炼丹')]])
end



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


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

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

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

3-1、黄炉:
触发:
  1. ^\s+\*{8}(\^{5})\*{7}
复制代码

颜色不占触发行数,所以这里是0
触发代码:
  1. getColorLD('H')
复制代码


3-2、红炉:
触发:
  1. ^\s+\*{9}\^{3}\*{8}
复制代码

触发代码:
  1. getColorLD('L')
复制代码


3-3、紫炉:
触发:
  1. ^\s+\*{7}(\^)\*{6}
复制代码

触发代码:
  1. getColorLD('M')
复制代码
脚本代码:
function getColorLD(color)
    send('change '..color)
end



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


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

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


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


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





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 7 天前 | 显示全部楼层
一路看过来
很有启发
谢谢!
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2022-12-4 12:03 PM , Processed in 0.011460 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表