whuan 发表于 2007-6-1 18:14:59

【机器人共享】天降财神的机器人地点

有兴趣的自己研究,本人不负责解释,嘿嘿

首先把dcl提供的地图mdb文件放在C:\Program Files\MUSHclient\worlds\目录下,名称是map.mdb

其次在trigger中添加如下trigger:
</trigger>
<trigger
   enabled="y"
   match="【江湖传闻】风水大师预言说在某处地下埋藏了大量黄金,似乎是:"
   send_to="12"
   sequence="100"
>
<send>FindTreasure1()</send>
</trigger>

在脚本中添加如下脚本:

function FindTreasure(strKeywords)
{
        var sqlstr=new String();
        var TreasurePlace="";
        if (strKeywords=="") return false;
        var con = new ActiveXObject("ADODB.Connection");
        con.Provider = "Microsoft.Jet.OLEDB.4.0";
        con.ConnectionString = "Data Source=C:\\Program Files\\MUSHclient\\worlds\\map.mdb"
        sqlstr="SELECT , , , FROM WHERE 1=1 ";
        sqlstr=sqlstr+" and like '"+strKeywords+"'";
world.note(sqlstr);
        con.open;
        var rs = new ActiveXObject("ADODB.Recordset");
        rs.open(sqlstr, con);
        //world.note(rs.count);
        if(!rs.eof)       
                      while (!rs.eof)
                {
                        TreasurePlace="天降财神的地点似乎是在"+rs.Fields("zone")+"的"+rs.Fields("room")+",大家赶紧去挖啊!\n";
                        rs.moveNext;
                }               
                if (TreasurePlace!="")
                {
       world.send("hslj "+TreasurePlace);
          }
       rs.close();
       rs = null;
}

function FindTreasure1()
{
      var line = world.GetLinesInBufferCount();
      DoAfterSpecial(0.1,"FindTreasure2("+line+")",12);
}
function FindTreasure2(line)
{
      var s = new String;
      var sKW=new String;
      sKW="%%";
      for(var i = 0 ; i < 1; i++)
                s += world.GetLineInfo(line+1+i,1);
      var s1 = s.split("□");
      for(i = 0 ; i < s1.length ; i++)
      {
                if(s1 != "")
                //send("tell advent "+s1);
                sKW = sKW + s1 + "%%";      
      }
      FindTreasure(sKW);         
}

guoqi 发表于 2007-6-2 08:04:12

支持一下

多多提供有用的东东,感谢!

blader 发表于 2007-6-2 09:00:52

Re:【机器人共享】天降财神的机器人地点

赞一个先~

ssslucky 发表于 2007-6-4 14:37:04

Re:【机器人共享】天降财神的机器人地点

又是mush 没有zmud的吗

tianheng 发表于 2008-3-11 22:17:15

先顶一个

Kafkasmaze 发表于 2008-9-1 11:45:34

dcl的mdb在哪里下啊?怎么没看到?

zgbl 发表于 2008-9-1 13:03:15

估计是在群共享吧。。。。

群共享太乱了,翻起来不方便,而且空间有限

建议开个置顶贴,封贴,版主负责维护,把北侠好的机器人都发上来,这个想法如何。。。

asoka 发表于 2008-9-15 08:05:51

关键是这个东东在哪里??map.mdb

maper 发表于 2008-11-22 21:32:09

做了下改进,把function FindTreasure2(line)的内容改为如下:
function FindTreasure2(line)
{      
      var s = new String;
      var sKW=new String;
      var ss=" ";
      var r,re;
      sKW="%%";
      for(var i = 0 ; i < 4; i++)
            {
                s = world.GetLineInfo(line+1+i,1);
               if(s!=undefined)
                {
                  re="□";
                  r=s.search(re);
                   if(r!="-1")
                     ss = ss.concat(s);
                                        }
                                       }
      ss=ss.replace(/\s/g,"%");
      var s1 = ss.split("□");
      for(i = 0 ; i < s1.length ; i++)
      {
                if(s1 != "")
                //send("tell advent "+s1);
                sKW = sKW + s1 + "%%";      
      }
      FindTreasure(sKW);         
}
以这个为例:
【江湖传闻】风水大师预言说在某处地下埋藏了大量黄金,似乎是:
□□一□宁□的□□子□□□□□的分布着□十□土□□□□□□□
□人家□□□□且大都□□□艰辛□一条碎石路□□北通向□子的□心□
□□就□出□的路□□
用whuan的是只截取第一条描述进行检索,会造成重复结果过多,我的是把所有的描述进行整合然后检索,结果更精确。
另外加了个替换字符串里面空格的语句。
大家都来挖宝吧!hz6

[ 本帖最后由 maper 于 2008-11-22 09:34 PM 编辑 ]

youngfly 发表于 2009-3-9 15:44:36

【首先把dcl提供的地图mdb文件放在C:\Program Files\MUSHclient\worlds\目录下,名称是map.mdb】
这个东西在什么地方啊?
页: [1] 2
查看完整版本: 【机器人共享】天降财神的机器人地点