⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datamanage.pas

📁 千年外挂通用
💻 PAS
字号:
unit datamanage;

interface

uses
  SysUtils,windows,               
  gamecode, dllform, packstruct,sendmypack;

procedure collectgoods ( buf:pchar );      //单击拾取物品
procedure showdropgoods( buf:pchar );      //显示掉落物品
procedure eatmedication( buf:pchar );      //自动吃药
procedure gaingoods    ( buf:pchar );      //物品栏增删物品


implementation

procedure collectgoods( buf:pchar );         //单击拾取物品
var
  sendbuf : array [0..23] of char;
begin
  sendbuf[0] := char($17);
  sendbuf[1] := char($00);
  sendbuf[2] := char($00);
  sendbuf[3] := char($00);
  sendbuf[4] := char($00);
  sendbuf[5] := char($00);
  sendbuf[6] := char($00);
  sendbuf[7] := char($00);
  sendbuf[8] := char($0D);
  sendbuf[9] := char($00);
  sendbuf[10] := char($14);  //ctrl
  sendbuf[11] := char($03);  //地图
  sendbuf[12] := char($00);
  sendbuf[13] := buf[11];    //ID
  sendbuf[14] := buf[12];
  sendbuf[15] := buf[13];
  sendbuf[16] := buf[14];
  sendbuf[17] := char($05);  //方向
  sendbuf[18] := char($00);
  sendbuf[19] := buf[35];   //x
  sendbuf[20] := buf[36];
  sendbuf[21] := buf[37];   //y
  sendbuf[22] := buf[38];
  sendbuf[23] := char($00);  //00
  sendmsg (sendbuf,24);

end;
  {
procedure collectgoods( buf:pchar );         //单击拾取物品
var
  sendbuf : array [0..23] of char;
  oldpack : ^packetC;
  newpack : packetA;
  header : headerA;
  ctrl :byte;
  cc,dd :pchar;
begin
  oldpack := @buf;
  header.size := $0017;
  header.num  := $0000;
  header.four := 0;
  header.len  := $000D;
  ctrl := 14;
  newpack.panel:= $0003;
  newpack.id   := oldpack.id;
  newpack.place:= $0006;
  newpack.x    := oldpack.x;
  newpack.y    := oldpack.y;
  newpack.w1   := 0;

  dd := pchar(@header);
  cc := pchar(@newpack);
  dd := dd and pchar(@ctrl);
  dd := dd and cc;
  sendmsg (dd,24); 

//  sendmsg (pchar(@header) and pchar(@ctrl) and pchar(@newpack) ,24);
end;            }

procedure showdropgoods ( buf:pchar );        //显示掉落物品
var
  goods : string [20];
begin
  goods := string(@buf[15]);
  dllform1.memo1.lines.Add(goods);  
end;

procedure gaingoods ;                           //物品栏增删物品
var
  goods : string [20];
begin
  if ord(buf[12]) <> $00 then                   //因为物品栏里物品移动时会发两个包.去掉一个
  begin
  goods := string(@buf[12]);
  dllform1.memo2.Lines.Add(goods);
  end;
end;
 {
procedure eatmedication( buf:pchar );        //吃药     双击药品
var
  sendbuf : array [0..23] of char;
  dddd,newhuo:array [0..1] of char;
  huo :string;
  dd : pointer;
begin
  newhuo[1]:= buf[33];       //当前活力
  newhuo[0]:= buf[34];
  dd := @buf[33];
//  huo[1]:= buf[35];          //活力值
//  huo[0]:= buf[36];
  huo := inttohex (strtoint(dllform1.Edit5.text),4);                   //吃药的落力
//  dddd[0] := char($05);
//  dddd[1] := char($DC);
 // inttostr(ord($4d2));        //   十六进制转十进制
 // inttohex (1234,4);  //4为返回的长度 如返回值 1  4-0001  2-01  3-1 //   十进制转十六进制
  if newhuo < huo then
    begin
    dllform1.memo3.Lines.Add(inttostr(ord($4d2)));  //显示十六进制.
    dllform1.memo4.Lines.Add(chartoascii (dd,2));  //显示十六进制.
  //  dllform1.memo3.Lines.Add(huo);
{ bb:= strtoint(dllform1.Edit1.text);
// if bb
dllform1.memo3.Lines.Add(chartoascii (pchar(huo),2));}

{    sendbuf[0] := char($17);
    sendbuf[1] := char($00);
    sendbuf[2] := char($00);
    sendbuf[3] := char($00);
    sendbuf[4] := char($00);
    sendbuf[5] := char($00);
    sendbuf[6] := char($00);
    sendbuf[7] := char($00);
    sendbuf[8] := char($0D);
    sendbuf[9] := char($00);
    sendbuf[10] := char($15);  //ctrl
    sendbuf[11] := char($01);  //物品栏
    sendbuf[12] := char($00);
    sendbuf[13] := char($00);   //ID
    sendbuf[14] := char($00);
    sendbuf[15] := char($00);
    sendbuf[16] := char($00);
    sendbuf[17] := char($01);  //位置
    sendbuf[18] := char($00);
    sendbuf[19] := char($00);   //x
    sendbuf[20] := char($00);
    sendbuf[21] := char($00);  //y
    sendbuf[22] := char($00);
    sendbuf[23] := char($00);  //00
    sendmsg (sendbuf,24);
    end;
end;      }

procedure eatmedication( buf:pchar );        //吃药     双击药品
var
  oldpack : ^packetB;
  sendbuf : array [0..23] of char;
  dddd,newhuo:array [0..1] of char;
  huo :string;
  dd : pointer;

begin
  oldpack := @buf[0];
  newhuo[1]:= buf[22];       //当前活力
  newhuo[0]:= buf[23];
  dd := @buf[23];
  dllform1.Edit1.Text := string(@oldpack.huo);
  
    dllform1.Label8.Caption  :=(chartoascii (pchar(@oldpack.yuan),4));       //当前元气
    dllform1.Label9.Caption  :=(chartoascii (pchar(@oldpack.nei),2));      //当前内功
    dllform1.Label10.Caption :=(chartoascii (pchar(@oldpack.nei1),2));    //当前外功
    dllform1.Label11.Caption :=(chartoascii (pchar(@oldpack.wai1),2));    //当前武功
    dllform1.Label12.Caption :=(chartoascii (pchar(@oldpack.wu1),2));     //当前活力
    dllform1.Label8.Caption  :=(chartoascii (buf,28));  //显示十六进制.
    dllform1.memo4.Lines.Add(chartoascii (buf,28));  //显示十六进制.
//  huo[1]:= buf[35];          //活力值
//  huo[0]:= buf[36];
  huo := inttohex (strtoint(dllform1.Edit5.text),4);
  dllform1.Label12.Caption := huo;                 //吃药的
//  dddd[0] := char($05);
//  dddd[1] := char($DC);
 // inttostr(ord($4d2));        //   十六进制转十进制
 // inttohex (1234,4);  //4为返回的长度 如返回值 1  4-0001  2-01  3-1 //   十进制转十六进制
  if newhuo < huo then
    begin
//    dllform1.memo3.Lines.Add(inttostr(ord($4d2)));  //显示十六进制.
//    dllform1.memo3.Lines.Add(chartoascii (pchar(@oldpack.huo),2));  //显示十六进制.

end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -