推荐linux/windows跨平台客户端kildclient,支持perl脚本,附大量机器人
网站: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 编辑 ]
一个在发呆室打坐的插件(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 ".$_);
$::world->echo("tuna ".$_);
$::world->echo("\n");
}
sub lian{
if($flag1==0){
$::world->send("dazuo ".$args);
$flag1++;
} else {
$::world->send("tuna ".$args);
$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");
}
在发呆室练功的插件
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");
} ......
朱熹机器人
用于kildclient的perl版朱熹机器人。通常五次以内就能得到正确答案。 虽然看的不是太懂,不过这个程序给了我一个启示。
sure的javascript版朱熹机器人一直有个不是很完美的地方(sure的朱熹机器人本身已经很完美了,但要是能再完美一点就好了……),就是第一次猜数的时候总是"guess 1234",曾经想改一下可以随机生成4位不重复数字,但发现实现起来比较麻烦,楼上这个倒是提供了一个比较简单的方法。 原帖由 ddid 于 2010-1-2 04:37 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
虽然看的不是太懂,不过这个程序给了我一个启示。
sure的javascript版朱熹机器人一直有个不是很完美的地方(sure的朱熹机器人本身已经很完美了,但要是能再完美一点就好了……),就是第一次猜数的时候总是"guess ...
开始是什么数字没什么关系的。
发一个练功机器人
用法:载入插件后打:/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 = $_;
$times = $_;
$::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 编辑 ]
获取体力、精力等信息的插件,上面的机器人要用的
文件名:hp.plpackage 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{
${$_} = $_;
}
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("【 精神 】 (+)[\/ ]+(+).*【 精力 】 (+)[\/ ]+(+)",
'/hp1::getvar("js1",$_);/hp1::getvar("js2",$_);/hp1::getvar("jl1",$_);/hp1::getvar("jl2",$_)',{name=>"hp"});
$::world->trigger("【 气血 】 (+)[\/ ]+(+).*【 内力 】 (+)[\/ ]+(+)",
'/hp1::getvar("qx1", $_ );/hp1::getvar("qx2", $_ );/hp1::getvar("nl1",$_);/hp1::getvar("nl2",$_)',{name=>"hp"});
$::world->trigger("【 食物 】 (+)[\/ ]+(+)",
'/hp1::getvar("sw1",$_);/hp1::getvar("sw2",$_)',{name=>"hp"});
$::world->trigger("【 饮水 】 (+)[\/ ]+(+)",
'/hp1::getvar("ys1",$_);/hp1::getvar("ys2",$_)',{name=>"hp"});
$::world->send('hp');
}
sub stop {
$::world->deltrigger('hp');
}
sub UNLOAD {
$::world->deltrigger('hp');
} 楼主比我执着。。。。