北大侠客行MUD论坛

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

正则表达式应用实例(建康府刺杀任务)

[复制链接]
发表于 2014-9-11 17:07:53 | 显示全部楼层 |阅读模式
^[> ]*孟之经\\\(meng zhijing\\\)告诉你:(第.{2,4}个字在:第(.{2,4})行,第(.{2,4})列。){2,7}对照\\\(duizhao\\\)这页,你就知道你要刺杀的人在哪了。


world.AddTriggerEx ("cs_wait", "^[> ]*孟之经\\\(meng zhijing\\\)告诉你:(第.{2,4}个字在:第(.{2,4})行,第(.{2,4})列。){2,7}对照\\\(duizhao\\\)这页,你就知道你要刺杀的人在哪了。", "Execute('duizhao')\nExecute('set action cs')\nquest_cs_wait('%0')",1+ trigger_flag.ExpandVariables + trigger_flag.RegularExpression + trigger_flag.Replace, custom_colour.NoChange, 0, "", "", 12, 150);


------附mush代码------------------------------------------------------------------------------
function quest_cs_wait(a1)
        cs_map={}
        cs_passwd={}
        a1=string.gsub(a1,"^[> ]*孟之经%(meng zhijing%)告诉你:(.*)对照%(duizhao%)这页,你就知道你要刺杀的人在哪了。$","%1")
        for i=1,5 do
                if string.find(a1,"第") then
                        cs_map={}
                        local aa = string.gsub(a1,"^第.-个字在:第(.-)行,第.-列。.*","%1")
                        local ab = string.gsub(a1,"^第.-个字在:第.-行,第(.-)列。.*","%1")
                        table.insert(cs_map,ctonum(aa))  --利用别人已经写好的中文转数字函数,不是自己写的,就不贴了。
                        table.insert(cs_map,ctonum(ab))
                        a1=string.gsub(a1,"^第.-个字在:第.-行,第.-列。(.*)","%1")
                else
                        break  -- 城市名不到5个字,提前结束循环
                end
        end
        create_trigger('cs','你背着众人,悄悄地打开了.*纸。','','cswait')
end

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-24 05:43 AM , Processed in 0.009452 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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