一、修改封包
记事本或Ultraedit打开src\network\receive.pm
在前面几行找到:
'01B3' => ['npc_image', 'Z63 C1', [qw(npc_image type)]],
这个是显示npc图象的封包,01b3。但是ok这个封包位置有点问题,差了一位。把上面的Z63改成Z64(我记得是z64,由于忘记哪个服,所以就没看外挂,直接写了,如果有问题,用wpe截下封包,然后数数字节数就行了)。
二、修改sub npc_image
搜索:sub npc_image段,原来的是这样的:
sub npc_image {
my ($self, $args) = @_;
my ($imageName) =
bytesToString($args->{npc_image});
if ($args->{type} == 2) {
debug "Show NPC image:
$imageName\n", "parseMsg";
} elsif ($args->{type} == 255) {
debug "Hide NPC image:
$imageName\n", "parseMsg";
} else {
debug "NPC image: $imageName
($args->{type})\n", "parseMsg";
}
}
我把它改成了:
sub npc_image {
my ($self, $args) = @_;
my ($imageName) =
bytesToString($args->{npc_image});
if ($args->{type} == 0) {
message "[反外挂]
显示位置:左下","info";
} elsif ($args->{type} == 1)
{
message "[反外挂]
显示位置:正下","info";
} elsif
($args->{type} == 2) {
message "[反外挂]
显示位置:右下","info";
} else {
message "[反外挂]
显示位置:正中","info";
}
}
这样再用macro获得位置信息就行了。或者更方便点,直接用sendtalktext把结果发送出去,连macro都省掉了。
另外,在这个recieve.pm里面如果不熟悉,还是尽量别用汉字,容易出问题。如果你用了汉字,记得另存为utf8格式。如果要编译,先存为ansi,再存为utf8,再存为utf8-no bom(以ultraedit为例),这样可以保证中文不会乱码,文件可用。
其他的功能,就看你的拉,其实就这么简单,呵呵:)

没有评论:
发表评论