4.18.2008

图片验证新花样源码修改方法

一、修改封包

记事本或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为例),这样可以保证中文不会乱码,文件可用。

其他的功能,就看你的拉,其实就这么简单,呵呵:)

没有评论: