feixiong 发表于 2012-4-23 20:10:02

lua脚本错误求教

本帖最后由 feixiong 于 2012-4-23 08:28 PM 编辑

加载脚本后提示:
Run-time error
World: pkuxkx_2011
Function/Sub: qtlsnew.start called by alias
Reason: 正在处理别名 "alias_tlsnewstart"
D:\MUSHclient1\lua\wait.lua:161: D:\MUSHclient1\lua\wait.lua:110: 正则表达式的语法不正确
stack traceback:
      : ?
      D:\MUSHclient1\lua\wait.lua:161: in function 'make'
      D:\MUSHclient1\worlds\mods\quest_tlsnew.lua:351: in function 'gotoshami'
      D:\MUSHclient1\worlds\mods\quest_tlsnew.lua:183: in function <D:\MUSHclient1\worlds\mods\quest_tlsnew.lua:181>





351处我的脚本:

function gotoshami()local count
      local playername=GetVariable("playername")
      local tlsnew_trilist={
                        "沙弥说道:「你刚入本门,一切还不熟悉,应该尽快习惯天龙寺的生活。」",
                        "你向沙弥打听有关『job』的消息。\\n沙弥说道:「(.+)前些日子在我寺捐了很多香火钱,你到(.+)把这本佛经送(song)给他吧。」",
                        "你向沙弥打听有关『job』的消息。\\n沙弥说道:「近年来道路变化极大,很多人都难辨方向,你去天龙寺山脚看看有没有人迷路了,有的话去帮帮他们把。」",
                        "你向沙弥打听有关『job』的消息。\\n沙弥说道:「(.+)家里很有钱,你到(.+)向他化缘(huayuan)重塑佛祖金身吧。」",
                        "但是很显然的,沙弥现在的状况没有办法给你任何答覆。",
                        }
      local _tlsnewtri=linktri(tlsnew_trilist)
      wait.make(function()

                local l,w=wait.regexp(_tlsnewtri,5)

                if l==nil then
                        return
                        Execute("l=nil")
                end
                if string.find(l,"你刚入本门") then
                        Execute("time")
                return
                end
                if string.find(l,"沙弥现在的状况没有办法") then
                        wait.time(5)
                        gotoshami()
                return
                end
                if string.find(l,"有人迷路了") then
                        Execute("s;sd;ed")
                --qtlsnew.autofind()
                return
                end
      wait.time(5)
      end)
end实在找不到原因,求指教

北大侠客行MUD,中国最好的MUD

littleknife 发表于 2012-4-24 08:30:32

【(song),(huayuan)】这里的()要单独处理"\\("。否则正则是不对的。

feixiong 发表于 2012-4-24 18:55:28

本帖最后由 feixiong 于 2012-4-24 07:17 PM 编辑

回复 2# littleknife


    回复 2# littleknife


    已经改正胡子说的这几个地方,但是在MUSH中我ask sha mi about job 后他说
> 你向沙弥打听有关『job』的消息。
沙弥说道:「近年来道路变化极大,很多人都难辨方向,你去天龙寺山脚看看有没有人迷路了,有的话去帮帮他们把。」

然后我 tlsnew_trilist={
                        "沙弥说道:「你刚入本门,一切还不熟悉,应该尽快习惯天龙寺的生活。」",
                        "你向沙弥打听有关『job』的消息。\\n沙弥说道:「(.+)前些日子在我寺捐了很多香火钱,你到(.+)把这本佛经送\\(song\\)给他吧。」",
                        "你向沙弥打听有关『job』的消息。\\n沙弥说道:「近年来道路变化极大,很多人都难辨方向,你去天龙寺山脚看看有没有人迷路了,有的话去帮帮他们把。」",
                        "你向沙弥打听有关『job』的消息。\\n沙弥说道:「(.+)家里很有钱,你到(.+)向他化缘\\(huayuan\\)重塑佛祖金身吧。」",
                        "但是很显然的,沙弥现在的状况没有办法给你任何答覆。",
                        "沙弥说道:「我不是让你去帮助迷路的人了吗?」",
                        }
      local _tlsnewtri=linktri(tlsnew_trilist)
      wait.make(function()
                local l,w=wait.regexp(_tlsnewtri,5)

                if l==nil then
                        Execute("l=nil")
                        return
                end

                if string.find(l,"你刚入本门") then

                        Execute("time")

                return
                end
                if string.find(l,"沙弥现在的状况没有办法") then
                        wait.time(5)
                        gotoshami()
                return
                end
                if string.find(l,"我不是让你去") then
                        wait.time(1)
                        Execute("ask sha mi about fail;ask sha mi about 失败")
                        gotoshami()
                return
                end

                if string.find(l,"有人迷路了") then

                        Execute("s;sd;ed")
                --qtlsnew.autofind()

                return
                end

      wait.time(5)
      end)
end结果MUSH里显示的是
l=nil
_tlsnewtril里竟然找不到   有人迷路了
这是怎么回事呢?

shuigui 发表于 2012-4-24 20:25:09

本帖最后由 shuigui 于 2012-4-24 12:34 PM 编辑

回复 4# istillsun


    是的,l,w=wait.regexp("你向沙弥打听有关『job』的消息。")
   l,w=wait.regexp(_tlsnewtri,5)
这样的格式写多行触发就OK

shuigui 发表于 2012-4-24 20:29:26

regexp里有regexp,timeout,flags3个参数,纸箱给讲讲flags怎么用吧

feixiong 发表于 2012-4-24 21:55:40

回复 6# shuigui


    嗯,请指教,已经按照水果六湿胸的方法解决
页: [1]
查看完整版本: lua脚本错误求教