北大侠客行MUD论坛

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

新手请教:机器人制作中的问题

[复制链接]
发表于 2011-8-10 16:53:45 | 显示全部楼层 |阅读模式
小生初玩mud,觉得机器人才是游戏的精华,打算一步步学习这些,不想拿来主义。

现在自己做武当的诵经机器人中,例如:
冲虚道长说道:「今天全派弟子要在三老峰熟读典籍,据说要诵唱庄子·杂篇「下卷」的庄子·杂篇·天下(28)
#TRIGGER {冲虚道长说道:「今天全派弟子要在(%x)熟读典籍,据说要诵唱(%x)的(%x)} {x=%1;y=%2;z=%3}

其中y=庄子·杂篇·天下(28)
并且想提取“天下”“28”这两个应该怎么做?

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2011-8-10 17:03:41 | 显示全部楼层
诵经。。。很麻烦的说。。。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2011-8-10 17:05:47 | 显示全部楼层
庄子·杂篇·天下(28)
*·(%x)~((%d)~)
试试,如果不行把·换成~·
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2011-8-10 17:43:58 | 显示全部楼层
如果是mush的话这么写。注意有两个子函数,包括返回具体路径和具体页数的没有提供,怕被删帖扣分封IP
哦,道德经也暂时不支持,懒的做了


  1. function ReadJing_init( name, line, wildcards )
  2.         print(name);        print(line);        table.foreachi (wildcards, print)
  3.         SetJhantingPath(wildcards[1]);
  4.         local jieBookName, startPageNumber
  5.         if wildcards[2] == "阴符经" then
  6.                 jieBookName = "阴符经";                trueJingBookNumber = tonumber(wildcards[3]);
  7.                 startPageNumber = 1;
  8.         else
  9.                 jieBookName = wildcards[2];        startPageNumber = GetJingStartPageNumber(wildcards[2]..wildcards[3]);
  10.                 trueJingBookNumber = startPageNumber - 1 + tonumber(wildcards[4]);
  11.         end
  12.         if startPageNumber > 0 and chantingPath.goto ~= "" then
  13.                 EnableTimer("goodgoodstudy", false);
  14.                 DoAfterSpeedWalk(2, "3n2wu(jie " .. jieBookName .. ")")
  15.         else
  16.                 DoAfterSpeedWalk(2, "(ask chongxu about cancel)")
  17.         end       
  18. end


  19. AddTriggerEx ("tr_ReadJing_init",
  20.                 "^\\>?\\s?你向冲虚道长打听有关『quest』的消息。\\n冲虚道长说道:「今天全派弟子要在(.+)熟读典籍,据说要诵唱(.+)的.+·.+·(.+)\\((\\d+)\\)",
  21.                 "",
  22.                 trigger_flag.Enabled + trigger_flag.RegularExpression + trigger_flag.KeepEvaluating, custom_colour.NoChange, 0, "",
  23.                 "ReadJing_init",
  24.                 0,                                                100)
  25. SetTriggerOption("tr_ReadJing_init", "multi_line", "y");
  26. SetTriggerOption("tr_ReadJing_init", "lines_to_match", "2");

  27. AddTriggerEx ("tr_ReadYinFuJing_init",
  28.                 "^\\>?\\s?你向冲虚道长打听有关『quest』的消息。\\n冲虚道长说道:「今天全派弟子要在(.+)熟读典籍,据说要诵唱阴符经的(.+)\\((\\d+)\\)",
  29.                 "",
  30.                 trigger_flag.Enabled + trigger_flag.RegularExpression + trigger_flag.KeepEvaluating, custom_colour.NoChange, 0, "",
  31.                 "ReadJing_init",
  32.                 0,                                                100)
  33. SetTriggerOption("tr_ReadYinFuJing_init", "multi_line", "y");
  34. SetTriggerOption("tr_ReadYinFuJing_init", "lines_to_match", "2");
复制代码
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2011-8-11 06:16:19 | 显示全部楼层
美西,为什么单独处理阴符经?如果是因为章节数是汉字的话,道德经也得这么处理。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2011-8-11 06:20:09 | 显示全部楼层
原帖由 zshghost 于 2011-8-10 16:53 发表

小生初玩mud,觉得机器人才是游戏的精华,打算一步步学习这些,不想拿来主义。



现在自己做武当的诵经机器人中,例如:

冲虚道长说道:「今天全派弟子要在三老峰熟读典籍,据说要诵唱庄子·杂篇「下卷」的庄子·杂 ...



ZMUD7.21吗?
7.21因为中文处理有BUG, 做诵经机器人有困难
只能半自动
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2011-8-11 06:33:04 | 显示全部楼层
阴符经最简单,名字简单而且告诉你的数字就是实际页数
庄子有明确的章节,把每章的起始页记在机器人里面就行了 startpage - 1 + 道长说的页数 = 实际页数
道德经麻烦,并不像庄子那样明确告诉你有几篇,比如道德经39还有个39(2)真不知道有多少这样的章节,实际页数不好弄
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2011-8-11 06:49:36 | 显示全部楼层
721可以利用触发中直接获取的%1、%2的值不出乱码的特点制作全自动诵经机器人
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2011-8-11 08:51:08 | 显示全部楼层
十分感谢楼上的各位大侠,现在又有新的问题,求教:

①我是全任务地图游走,触发到目标地名的时候停下诵经,完事后继续剩下的路径,应该怎么弄?

②诵经的时候要翻到指定页,然后copy诵经内容,并取消其中的“空格”和“-”号又该怎么弄?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2011-8-11 09:07:13 | 显示全部楼层
1 就那么点地方,你把所有地方做两个路径就行了呀,一个goto一个back
2 正则抓取,也是触发
function ReadJing_InfoAdd( name, line, wildcards )
        currentJingInfo = currentJingInfo..wildcards[1];
        print(currentJingInfo);
end

AddTriggerEx ("tr_ReadJing_InfoAdd",
                                                "^==                    (\\S+)\\s+==$",
                                                "",
                                                trigger_flag.Enabled + trigger_flag.RegularExpression,
                                                custom_colour.NoChange,
                                                0,
                                                "",
                                                "ReadJing_InfoAdd",
                                                0,
                                                100)

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

本版积分规则

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

GMT+8, 2024-11-25 02:57 AM , Processed in 0.010124 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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