Mudlet陆乘风破阵机器人基础版
本帖最后由 senglit 于 2020-12-28 12:25 PM 编辑发个自制Mudlet破阵简陋版机器人,请高人指点。感谢Vingi,叶云在调试过程中给的帮助。
说明:
1. 这个机器人只做了最简单最基本的动作,主要包括接任务和走方位。其它的高级功能自动找地图什么的都没有。
2. 为了方便大家根据自己的需求来修改,我没有导出包,而是把trigger一个个都拷贝出来,也给用其它客户端的同学做个思路参考。
3. 大家可以自己做个alias,把wirld weapon,jiali max, exert powerup,zhanbu -maze等破阵前的准备工作做了
4. “可以开始”、“陆乘风CD”两个Trigger初始状态为关闭,其它为开启
5. 所有的Pattern类型都是perl正则
以下为Trigger
Triger Name:
接任务
Pattern:
^(> )?你对陆乘风道:“听闻近来有人冒名桃花岛弟子在(\S+)的(\S+)布下迷阵行恶,我愿代劳除去此獠。”$
^(> )?你对(\S+)道:“听闻近来有人冒名(\S+)子布下迷阵行恶,我愿代劳除去此獠。$
Script:
job_pozhen_possible_dir = {1,1,1,1,1,1,1,1}
job_pozhen_possible_dir_ptr = 1
job_pozhen_dae_cname = "未确定"
enableTrigger("可以开始")
enableTrigger("陆乘风CD")
if matches ~= "陆乘风" then
JobInfoConsole:echo("陆乘风: "..matches.." "..matches.."\n")
end
备注:
JobInfoConsole是我定义的小窗口,用来记录job信息的,大家可以根据自己的喜好改成自己的记录方法,要是记性好,那么不用记录也行。下同。
Triger Name:
可以开始
Pattern:
^(> )?陆乘风对着你点了点头。
^(http)(.*)
Script:
disableTrigger("可以开始")
disableTrigger("陆乘风CD")
if matches == "http" then
JobInfoConsole:echo("陆乘风: "..matches.."\n")
end
备注:
该Trigger初始状态为关闭
Triger Name:
陆乘风CD
Pattern:
^(> )?陆乘风说道:「你请稍等片刻再来吧。」
Script:
disableTrigger("可以开始")
disableTrigger("陆乘风CD")
JobInfoConsole:echo("陆乘风 -- CD\n")
备注:
该Trigger初始状态为关闭
这个机器人在CD期间什么也不干,大家可以根据自己情况把这里改成吃饭喝水泡妞大保健等操作
Triger Name:
方位分析
Pattern:
^(树|竹|石)(\S+)(树|竹|石)$
Script:
local str=matches
local nomeanword={"树","竹","石"}
local dir={"nw","n","ne","w","e","sw","s","se"}
local fmt
for i = 1, utf8.len(str) do
if not table.contains(nomeanword,utf8.sub(str,i,i)) then
moveCursor(0,getLineNumber())
selectSection(i-1, 1)
fmt = getTextFormat()
if not fmt["italic"] then
job_pozhen_possible_dir = 0
end
job_pozhen_possible_dir_ptr = job_pozhen_possible_dir_ptr + 1
end
end
if job_pozhen_possible_dir_ptr > 8 then
echo("\n"..table.concat(job_pozhen_possible_dir,", ").."\n")
for j = 1, 8 do
if job_pozhen_possible_dir == 1 then
job_pozhen_try_dir = j
send(dir)
break
end
end
end
Triger Name:
破了一层迷宫
Pattern:
^(> )?这里的迷阵在你眼中如同儿戏一般。$
Script:
job_pozhen_possible_dir = {1,1,1,1,1,1,1,1}
job_pozhen_possible_dir_ptr = 1
Triger Name:
走错方向
Pattern:
^(> )?你尝试破阵,可惜选择了错误的方向,损失了一些气血和内力。$
Script:
job_pozhen_possible_dir = 0
job_pozhen_possible_dir_ptr = 1
Triger Name:
见到大恶
Pattern:
^ 大 恶 (\S+)\((.*)\)
Script:
job_pozhen_dae_cname = matches
local enemy = string.lower(matches)
send("kill "..enemy)
Triger Name:
杀死大恶
Pattern:
^(\S+)道:想不到我最终还是失败了!哎!$
Script:
if matches == job_pozhen_dae_cname then
send("e")
end 大牛 mark fmt = getTextFormat()
if not fmt["italic"] then
全篇精华处 我好像用不起来,有人试过吗? 可以用了是我自己没弄好
页:
[1]