北大侠客行MUD论坛

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

推荐linux/windows跨平台客户端kildclient,支持perl脚本,附大量机器人

[复制链接]
发表于 2009-12-27 14:12:25 | 显示全部楼层 |阅读模式
网站:http://kildclient.sourceforge.net/phpwebsite/index.php
文档:http://kildclient.sourceforge.net/manual/index.html
very good

安装:
  ubuntu 中只要:
      apt-get install kildclient
  windows 版本:
      最近仔细看了看其网站,发现也有windows版本了。
      下载页面
      注意要先装 ActivePerl 5.10.0,下载页中有

注意:
1、使用我的程序前必须改以下设置,否则基本上这些程序都会报错,因为默认的命令分割符不是分号[;]。
方法:world->edit->input,把Command separator改成:[;],不要方括号的!
2、默认的编码是utf-8,国内的游戏都是gb,改成gb18030就全部都支持了。
方法:world->edit->advanced,改Charactor Set

回复中的机器人列表:
1. 打坐
2. 吐纳
3. 朱熹
4. 战斗辅助(武当)
5. HYD辅助
6. 遍历
7. 领悟
8. 学习
9. 练功
10. 走路
11. 慢速走路
12. 跳楼
13. 红豆机器人

[ 本帖最后由 rockbt 于 2010-4-25 08:18 PM 编辑 ]

评分

参与人数 1精华 +30 收起 理由
icer + 30

查看全部评分

北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2009-12-30 14:04:37 | 显示全部楼层

一个在发呆室打坐的插件(perl)

package zuogong;
#: Version: 1.0
#: Description: A dazuo tuna Plugin
#: Author: Fu Huizhong

our $flag1=0;
our @args=(300,160);

sub set{
    if(@_ != 2){
        $::world->echo("Usage:mlearn::set(dazuo_N,tuna_N)\n");
        return;
    }
    @args=@_;
    $::world->echo("dazuo ".$_[0]);
    $::world->echo("tuna ".$_[1]);
    $::world->echo("\n");
}

sub lian{
    if($flag1==0){
        $::world->send("dazuo ".$args[0]);
        $flag1++;
    } else {
        $::world->send("tuna ".$args[1]);
        $flag1=0;
    }
}

sub start{
    $::world->trigger('你发呆了一会儿,发现自己居然精神百倍!','/$world->timer({interval=>1,count =>1,temporary=>1,action=>"/zuogong::lian"})',{name=>"zuogong:lian"});
    $::world->trigger("你.*,深深吸了口气,站了起来。","fadai",{name=>"zuogong:fd1"});
    $::world->trigger('你吐纳完毕,睁开双眼,站了起来。','fadai',{name=>"zuogong:fd2"});
    $::world->send("fadai");
}

sub stop{
    $::world->deltrigger('zuogong:fd1');
    $::world->deltrigger('zuogong:fd2');
    $::world->deltrigger('zuogong:lian');
}

sub UNLOAD{
    $::world->deltrigger('zuogong:fd1');
    $::world->deltrigger('zuogong:fd2');
    $::world->deltrigger('zuogong:lian');
}

sub help {
  $::world->echonl("Usage in fadai room:",
                   "1. /zuogong::set(dazuo_N,tuna_N)",
                   "2. /zuogong::start",
                   "3. /zuogong::stop");
}
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2009-12-30 14:05:49 | 显示全部楼层

在发呆室练功的插件

package mlian;
#: Version: 1.0
#: Description: A multi skills practise Plugin
#: Author: Fu Huizhong

our $flag1=0;
our @skills=("dodge","cuff");
sub set{
    @skills=@_;
    $::world->echo("lian skills ");
    foreach $s (@_){
        $::world->echo($s.' ');
    }
    $::world->echo("\n");
}

sub mymotions{
    if( $flag1>=@skills ){
        $flag1=0;
    }
    my $skill = $skills[$flag1];
    $flag1++;
    $::world->send("lian $skill 20");
}
sub start{
    $::world->trigger("你反复练习.*,获得了不少进步!","fadai",{name=>"mlian:t1"});
    $::world->trigger('你发呆了一会儿,发现自己居然精神百倍!','/$world->timer({interval=>1,count =>1,temporary=>1,action=>"/mlian::mymotions"})',{name=>"mlian:t2"});
    $::world->trigger("你的内力不够练.*。","dazuo 300",{name=>"mlian:t3"});
    $::world->trigger("你.*,深深吸了口气,站了起来。","fadai",{name=>"mlian:t4"});
    $::world->send("fadai");
}

sub stop{
    my $i=4;
    while($i>=1){
        $::world->deltrigger('mlian:t'.$i);
        $i--;
    }
}

sub UNLOAD {
    my $i=4;
    while($i>=1){
        $::world->deltrigger('mlian:t'.$i);
        $i--;
    }
}

sub help {
  $::world->echonl("Usage in fadai room:",
                   "1. /mlian::set(skill_1,skill_2 ...)",
                   "2. /mlian::start",
                   "3. /mlian::stop");
}
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-12-30 14:21:06 | 显示全部楼层
......
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-1-2 14:29:20 | 显示全部楼层

朱熹机器人

用于kildclient的perl版朱熹机器人。
通常五次以内就能得到正确答案。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-1-2 16:37:54 | 显示全部楼层
虽然看的不是太懂,不过这个程序给了我一个启示。

sure的javascript版朱熹机器人一直有个不是很完美的地方(sure的朱熹机器人本身已经很完美了,但要是能再完美一点就好了……),就是第一次猜数的时候总是"guess 1234",曾经想改一下可以随机生成4位不重复数字,但发现实现起来比较麻烦,楼上这个倒是提供了一个比较简单的方法。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-1-3 10:33:55 | 显示全部楼层
原帖由 ddid 于 2010-1-2 04:37 PM 发表
虽然看的不是太懂,不过这个程序给了我一个启示。

sure的javascript版朱熹机器人一直有个不是很完美的地方(sure的朱熹机器人本身已经很完美了,但要是能再完美一点就好了……),就是第一次猜数的时候总是"guess ...


开始是什么数字没什么关系的。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-1-21 13:51:40 | 显示全部楼层

发一个练功机器人

用法:载入插件后打:/lian6::help
后面有新的,效率更高,别用这个了。
文件:lian.pl
package lian6;
#: Version: 1.0
#: Description: A multi skills practise Plugin
#: Author: Fu Huizhong

BEGIN {
  $::world->requireplugin('hp1');
}

our $flag1=0;
our $skill="cuff";
our $times = 25;
our $sleepn = 0;
sub set{
    if(@_!=2){
        $::world->echo("Usage:/lian6::set(skill,times)\n");
        return;
    }
    $skill = $_[0];
    $times = $_[1];
    $::world->echo("lian skill $skill for $times");
    $::world->echo("\n");
}

sub mymotions{
    $::world->send("hp","lian $skill $times");
    $sleepn = 0;
}

sub mydazuo{
    my $dzn = $times*10;
    $::world->send("dazuo $dzn");
}

sub mysleep{
    $flag1=0;
    if($sleepn<3){
        $::world->send("sleep");
        $sleepn += 1;
    }else{
        mymotions;
    }
}

sub recover{
    if($::hp1::nl1>$times*20){
        $::world->send("exert recover");
    }else{
        mymotions;
    }
}

sub start{
    my $ret=$::world->triggerenabled('lian');
    if( defined($ret) ){
        $::world->deltrigger('lian');
    }
    ::hp1::start;
    $::world->trigger("你.*练习.*,获得了.*进步!","/lian6::recover",{name=>"lian"});
    $::world->trigger('你深深吸了几口气,脸色看起来好多了','/$world->timer({interval=>1,count =>1,temporary=>1,action=>"/lian6::mymotions"})',{name=>"lian"});
    $::world->trigger('你现在气力充沛。','/$world->timer({interval=>1,count =>1,temporary=>1,action=>"/lian6::mymotions"})',{name=>"lian"});
    $::world->trigger("你的内力不够练.*。","/lian6::mydazuo",{name=>"lian"});
    $::world->trigger("你.*,深深吸了口气,站了起来。",'/$world->timer({interval=>1,count =>1,temporary=>1,action=>"/lian6::mymotions"})',{name=>"lian"});
    $::world->trigger('你的内力不够。','/lian6::mydazuo',{name=>'lian'});
    $::world->trigger("你现在的气太少了,无法产生内息运行全身经脉。",'/lian6::mysleep',{name=>"lian"});
    $::world->trigger("你的体力太低了。",'/lian6::mysleep',{name=>"lian"});
    $::world->trigger("你的体力不够练.*",'/lian6::mysleep',{name=>"lian"});
    $::world->trigger("你的体力太差了,不能练.*。",'/lian6::mysleep',{name=>"lian"});
    $::world->trigger('你一觉醒来,精神抖擞地活动了几下手脚。','eat liang;drink jiudai;/lian6::mymotions',{name=>'lian'});
    $::world->trigger('你刚在三分钟内睡过一觉, 多睡对身体有害无益! ',
            '/$world->timer({interval=>24,count =>1,temporary=>1,action=>"/lian6::mymotions"})',{name=>'lian'});
    mymotions;
}

sub stop{
    $::world->deltrigger('lian');
}

sub UNLOAD {
    $::world->deltrigger('lian');
}

sub help {
  $::world->echonl("Usage in fadai room:",
                   "1. /lian6::set(skill,times)",
                   "2. /lian6::start",
                   "3. /lian6::stop");
}

[ 本帖最后由 rockbt 于 2010-3-1 10:09 AM 编辑 ]
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-1-21 13:56:01 | 显示全部楼层

获取体力、精力等信息的插件,上面的机器人要用的

文件名:hp.pl
package hp1;
#: Version: 1.0
#: Description: A Plugin for hp information
#: Author: Fu Huizhong
        
our $js1 = 100;
our $qx1 = 100;
our $jl1 = 100;
our $nl1 = 100;
our $js2 = 100;
our $qx2 = 100;
our $jl2 = 100;
our $nl2 = 100;
our $sw1 = 200;
our $sw2 = 200;
our $ys1 = 200;
our $ys2 = 200;

sub getvar{
    ${$_[0]} = $_[1];
}

sub show{
    $::world->echonl("精神 = $js1 / $js2",
                    "气血 = $qx1 / $qx2",
                    "精力 = $jl1 / $jl2",
                    "内力 = $nl1 / $nl2",
                    "食物 = $sw1 / $sw2",
                    "饮水 = $ys1 / $ys2");
}

sub start{
    my $ret=$::world->triggerenabled('hp');
    if( defined($ret) ){
        $::world->deltrigger('hp');
    }
   
    $::world->trigger("【 精神 】 ([0-9]+)[\/ ]+([0-9]+).*【 精力 】 ([0-9]+)[\/ ]+([0-9]+)",
            '/hp1::getvar("js1",$_[1]);/hp1::getvar("js2",$_[2]);/hp1::getvar("jl1",$_[3]);/hp1::getvar("jl2",$_[4])',{name=>"hp"});
    $::world->trigger("【 气血 】 ([0-9]+)[\/ ]+([0-9]+).*【 内力 】 ([0-9]+)[\/ ]+([0-9]+)",
            '/hp1::getvar("qx1", $_[1] );/hp1::getvar("qx2", $_[2] );/hp1::getvar("nl1",$_[3]);/hp1::getvar("nl2",$_[4])',{name=>"hp"});
    $::world->trigger("【 食物 】 ([0-9]+)[\/ ]+([0-9]+)",
            '/hp1::getvar("sw1",$_[1]);/hp1::getvar("sw2",$_[2])',{name=>"hp"});
    $::world->trigger("【 饮水 】 ([0-9]+)[\/ ]+([0-9]+)",
            '/hp1::getvar("ys1",$_[1]);/hp1::getvar("ys2",$_[2])',{name=>"hp"});
    $::world->send('hp');
}

sub stop {
    $::world->deltrigger('hp');
}

sub UNLOAD {
    $::world->deltrigger('hp');
}
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-1-21 13:58:54 | 显示全部楼层
楼主比我执着。。。。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-24 09:18 AM , Processed in 0.010690 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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