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

📄 myfun.pas

📁 这是千年外挂的源代码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit myfun;

interface
uses
   SysUtils,Classes,Windows,gamecode;

  function  flapgoodsnum(w2:integer;w3:integer):string;//扔东西数量
  function  flap(x,y,z:integer):string; //扔东西拖放步骤
  function  tradedragnum(w1:integer;w2:integer):string;//与他人交易物品拖放
  function  trademenu(tradename:string;x,y:integer):string;//与他人交易
  function  clickmenu(buyname:string):string;   //老板娘类
  function  clicknpcmenu(buyname:string):string; //技能类
  function  dragset(w1:integer;w2:integer;w3:integer;w4:integer):string; //拖放设定 w1是自己这里的 如01物品栏 w2是其他位置 w3是自己这里坐标 w3是w2的坐标
  function  draggoodsnum(w1:integer;w2:integer;w3:integer):string;  //直接拖放物品数据
  function  draggoodsnum1(w1:integer;w2:integer;w3:integer):string; //技能用
  function  draggoodsnum2(w1:integer;w2:integer;w3:integer):string; //卖技能物品
  function  clickmonster(w1:string):string; //点击NPC
  function  leftclickshow2(w1:byte;w2:byte):string; //单击击用 w1表示面板 w2面板里得位置
  function  leftclickshow1(w1:byte;w2:byte):string; //双击用 w1表示面板 w2面板里得位置
  function  xuanrenwu(renwu1:string;renwunum:string):string; //选择人物时用
  function  sendname(zhanghao1:string;mima:string):string;//发送人物帐号密码
  function  sayanswer(str:string):string;  //发言加密
  function  movexy(face:byte;movex:integer;movey:integer):string;          //人物移动
  function  goodsmima(mima:string;key:integer):string; //设定或解除密码
  function  makeskilldrag(x1:integer;x2:integer;x3:integer;x4:integer;w1:integer;w2:integer;w3:integer;w4:integer):string;

implementation

  //点击NPC菜单
function  clickmenu(buyname:string):string;
   const click1:array[0..12]of byte=($10,$00,$00,$00,$00,$00,$00,$00,$06,$00,$2b,$03,$00); //单击点击物品,人物,武功得头部
   var   fbbf :array[0..34]of char;
       outstr :array[0..34]of char;//出来的数据
  //     buyname1:string;
       i,wz :integer;
     zhanghao :string;
   begin
   Fillchar(outstr,35,chr(0));
     wz:=0;
 //  buyname1:=chartoascii(pchar(buyname),length(pchar(buyname)));
     for i:=0 to 12 do
      begin
       fbbf[wz]:=chr(click1[i]);
       wz:=wz+1;
      end;
     fbbf[8]:=chr(length(buyname)+3);
     for i:=0 to length(pchar(buyname)) do
     begin
      fbbf[wz]:=pchar(buyname)[i]; //??
      wz:=wz+1;
     end;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     encode(fbbf,wz,outstr);
     zhanghao:=outstr;
     zhanghao:='('+zhanghao+')';
     result:=zhanghao;
   end;

function  clicknpcmenu(buyname:string):string;
   const click1:array[0..12]of byte=($14,$00,$13,$00,$00,$00,$00,$00,$06,$00,$29,$03,$00); //单击点击物品,人物,武功得头部
   var   fbbf :array[0..34]of char;
       outstr :array[0..34]of char;//出来的数据
  //     buyname1:string;
       i,wz :integer;
     zhanghao :string;
   begin
   Fillchar(outstr,35,chr(0));
     wz:=0;
     for i:=0 to 12 do
      begin
       fbbf[wz]:=chr(click1[i]);
       wz:=wz+1;
      end;
     fbbf[8]:=chr(length(buyname)+3);
     fbbf[11]:=chr(length(buyname));
     for i:=0 to length(pchar(buyname)) do
     begin
      fbbf[wz]:=pchar(buyname)[i]; //??
      wz:=wz+1;
     end;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     encode(fbbf,wz,outstr);
     zhanghao:=outstr;
     zhanghao:='('+zhanghao+')';
     result:=zhanghao;
   end;

//拖放物品
function  dragset(w1:integer;w2:integer;w3:integer;w4:integer):string;
   const click1:array[0..10]of byte=($21,$00,$13,$00,$00,$00,$00,$00,$17,$00,$16); //单击点击物品,人物,武功得头部
   var   fbbf :array[0..34]of char;
       outstr :array[0..80]of char;//出来的数据
         i,wz :integer;
     zhanghao :string;
   begin
   Fillchar(outstr,80,chr(0));
   fillchar(fbbf,35,chr(0));
     wz:=0;
   //定义头部
     for i:=0 to 10 do
      begin
       fbbf[wz]:=chr(click1[i]);
       wz:=wz+1;
      end;
     fbbf[wz]:=chr(w1);//源面板
     wz:=wz+1;
     fbbf[wz]:=chr(w2); //目标面板
     wz:=wz+1;
     for i:=0 to 15 do
     begin
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     end;
     fbbf[wz]:=chr(w3);    //源位置
     wz:=wz+1;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     fbbf[wz]:=chr(w4);    //目标位置
     wz:=wz+1;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     encode(fbbf,wz,outstr);
     zhanghao:=outstr;
     zhanghao:='('+zhanghao+')';
     result:=zhanghao;
   end;

   //拖放的物品数量
function  draggoodsnum(w1:integer;w2:integer;w3:integer):string;
   const click1:array[0..10]of byte=($18,$00,$13,$00,$00,$00,$00,$00,$0e,$00,$1B);
   var   fbbf :array[0..34]of char;
       outstr :array[0..80]of char;//出来的数据
         i,wz :integer;
     zhanghao :string;
   begin
   Fillchar(outstr,80,chr(0));
   fillchar(fbbf,35,chr(0));
     wz:=0;
   //定义头部
     for i:=0 to 10 do
      begin
       fbbf[wz]:=chr(click1[i]);
       wz:=wz+1;
      end;
   if w3<255 then   fbbf[wz]:=chr(1) //(length(pchar(w3)));//b位 数量位数位
     else fbbf[wz]:=chr(2);
     wz:=wz+1;
     fbbf[wz]:=chr(w1);//源面板的位置
     wz:=wz+1;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     fbbf[wz]:=chr(w2); //目标面板位置
     wz:=wz+1;
     //此处不知道方法 暂定此2位为 00 12
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     fbbf[wz]:=chr(18);
     wz:=wz+1;
 //置0位 11-13
     for i:=0 to 2 do
     begin
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     end;
 //数量位     chr(HexaToDecimal(copy(w1,1,2)))
     fbbf[wz]:=chr(HexaToDecimal(copy(inttohex(w3,4),3,2)));    //数量后面的位置
     wz:=wz+1;
     fbbf[wz]:=chr(HexaToDecimal(copy(inttohex(w3,4),1,2)));    //数量前面的位置
     wz:=wz+1;

 //最后2位0
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     encode(fbbf,wz,outstr);
     zhanghao:=outstr;
     zhanghao:='('+zhanghao+')';
     result:=zhanghao;
   end;
//技能物品拖放
function  draggoodsnum1(w1:integer;w2:integer;w3:integer):string;
   const click1:array[0..10]of byte=($18,$00,$13,$00,$00,$00,$00,$00,$0e,$00,$1B);
   var   fbbf :array[0..34]of char;
       outstr :array[0..80]of char;//出来的数据
         i,wz :integer;
     zhanghao :string;
   begin
   Fillchar(outstr,80,chr(0));
   fillchar(fbbf,35,chr(0));
     wz:=0;
   //定义头部
     for i:=0 to 10 do
      begin
       fbbf[wz]:=chr(click1[i]);
       wz:=wz+1;
      end;
   if w3<255 then   fbbf[wz]:=chr(1) //(length(pchar(w3)));//b位 数量位数位
     else fbbf[wz]:=chr(2);
     wz:=wz+1;
     fbbf[wz]:=chr(w1);//源面板的位置
     wz:=wz+1;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     fbbf[wz]:=chr(w2); //目标面板位置
     wz:=wz+1;
     //此处不知道方法 暂定此2位为 00 14
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     fbbf[wz]:=chr(20);
     wz:=wz+1;
 //置0位 11-13
     for i:=0 to 2 do
     begin
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     end;
 //数量位     chr(HexaToDecimal(copy(w1,1,2)))
     fbbf[wz]:=chr(HexaToDecimal(copy(inttohex(w3,4),3,2)));    //数量后面的位置
     wz:=wz+1;
     fbbf[wz]:=chr(HexaToDecimal(copy(inttohex(w3,4),1,2)));    //数量前面的位置
     wz:=wz+1;

 //最后2位0
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     encode(fbbf,wz,outstr);
     zhanghao:=outstr;
     zhanghao:='('+zhanghao+')';
     result:=zhanghao;
   end;

 //卖技能物品
function  draggoodsnum2(w1:integer;w2:integer;w3:integer):string;
   const click1:array[0..10]of byte=($18,$00,$00,$00,$00,$00,$00,$00,$0e,$00,$1B);
   var   fbbf :array[0..34]of char;
       outstr :array[0..80]of char;//出来的数据
         i,wz :integer;
     zhanghao :string;
   begin
   Fillchar(outstr,80,chr(0));
   fillchar(fbbf,35,chr(0));
     wz:=0;
   //定义头部
     for i:=0 to 10 do
      begin
       fbbf[wz]:=chr(click1[i]);
       wz:=wz+1;
      end;
   if w3<255 then   fbbf[wz]:=chr(1) //(length(pchar(w3)));//b位 数量位数位
     else fbbf[wz]:=chr(2);
     wz:=wz+1;
     fbbf[wz]:=chr(w1);//源面板的位置
     wz:=wz+1;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     fbbf[wz]:=chr(w2); //目标面板位置
     wz:=wz+1;
     //此处不知道方法 暂定此2位为 00 14
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     fbbf[wz]:=chr(22);
     wz:=wz+1;
 //置0位 11-13
     for i:=0 to 2 do
     begin
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     end;
 //数量位     chr(HexaToDecimal(copy(w1,1,2)))
     fbbf[wz]:=chr(HexaToDecimal(copy(inttohex(w3,4),3,2)));    //数量后面的位置
     wz:=wz+1;
     fbbf[wz]:=chr(HexaToDecimal(copy(inttohex(w3,4),1,2)));    //数量前面的位置
     wz:=wz+1;

 //最后2位0
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     encode(fbbf,wz,outstr);
     zhanghao:=outstr;
     zhanghao:='('+zhanghao+')';
     result:=zhanghao;
   end;

   //扔东西数量
function  flapgoodsnum(w2:integer;w3:integer):string;
   const click1:array[0..10]of byte=($18,$00,$00,$00,$00,$00,$00,$00,$0e,$00,$1B);
   var   fbbf :array[0..34]of char;
       outstr :array[0..80]of char;//出来的数据
         i,wz :integer;
     zhanghao :string;
   begin
   Fillchar(outstr,80,chr(0));
   fillchar(fbbf,35,chr(0));
     wz:=0;
   //定义头部
     for i:=0 to 10 do
      begin
       fbbf[wz]:=chr(click1[i]);
       wz:=wz+1;
      end;
   if w3<255 then   fbbf[wz]:=chr(1) //(length(pchar(w3)));//b位 数量位数位
     else fbbf[wz]:=chr(2);
     wz:=wz+1;
     fbbf[wz]:=chr(w2);//源面板的位置
     wz:=wz+1;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     fbbf[wz]:=chr(00); //目标面板位置
     wz:=wz+1;
     //此处不知道方法 暂定此2位为 02
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     fbbf[wz]:=chr(2);
     wz:=wz+1;
 //置0位 11-13
     for i:=0 to 2 do
     begin
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     end;
 //数量位     chr(HexaToDecimal(copy(w1,1,2)))
     fbbf[wz]:=chr(HexaToDecimal(copy(inttohex(w3,4),3,2)));    //数量后面的位置
     wz:=wz+1;
     fbbf[wz]:=chr(HexaToDecimal(copy(inttohex(w3,4),1,2)));    //数量前面的位置
     wz:=wz+1;

 //最后2位0
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     encode(fbbf,wz,outstr);
     zhanghao:=outstr;
     zhanghao:='('+zhanghao+')';
     result:=zhanghao;
   end;
//单击
function leftclickshow2(w1:byte;w2:byte):string; //单击击用 w1表示面板 w2面板里得位置
const click1:array[0..10]of byte=($17,$00,$13,$00,$00,$00,$00,$00,$0D,$00,$14); //点击物品,人物,武功得头部
var
       fbbf :array[0..31]of char;
     where1 :array[0..1] of char;     //代表是那个面板 如 物品,一层武功 等
     where2 :array[0..1] of char;     //物品栏里得位置 或其他
     i,j,wz :integer;
     outstr :array[0..31]of char;
   zhanghao :string;
begin
where1[0]:=chr(w1);
where1[1]:=chr(0);
where2[0]:=chr(w2);
where2[1]:=chr(0);
wz:=0;
//清空fbbf
 for j:=0 to 31 do
 begin
  fbbf[j]:=chr(0);
  outstr[j]:=chr(0);
 end;
//定义头部
     for i:=0 to 10  do
     begin
     fbbf[wz]:=chr(click1[i]);
     wz:=wz+1;
     end;
     //定义面板 或人物
     fbbf[wz]:=where1[0];
     wz:=wz+1;
     fbbf[wz]:=where1[1];
     wz:=wz+1;
     //此处暂不知道方式 先定义为0
    for i:=0 to 3 do
    begin
    fbbf[wz]:=chr(0);
    wz:=wz+1;
    end;
    //定义某面板得位置 或方向
     fbbf[wz]:=where2[0];
     wz:=wz+1;
     fbbf[wz]:=where2[1];
     wz:=wz+1;
     //后面部分可以定义为坐标 目前先置0
     for i:=0 to 4 do
     begin
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     end;
    encode(fbbf,wz,outstr);       //加密
    zhanghao:=outstr;
    zhanghao:='('+zhanghao+')';
    result:=zhanghao;
//    frmtest.idtelnetdemo.Write(zhanghao);
end;

function clickmonster(w1:string):string; //攻击NPC
const click1:array[0..10]of byte=($17,$00,$13,$00,$00,$00,$00,$00,$0D,$00,$14); //单击点击物品,人物,武功得头部
var
       fbbf :array[0..31]of char;
     where1 :array[0..4] of char;     //代表是那个面板 如 物品,一层武功 等
  //   where2 :array[0..1] of char;     //物品栏里得位置 或其他
     i,j,wz :integer;
     outstr :array[0..31]of char;
   zhanghao :string;
begin
where1[0]:=chr(HexaToDecimal(copy(w1,1,2)));
where1[1]:=chr(HexaToDecimal(copy(w1,3,2)));
where1[2]:=chr(HexaToDecimal(copy(w1,5,2)));
where1[3]:=chr(HexaToDecimal(copy(w1,7,2)));
//where2[0]:=chr(w2);
//where2[1]:=chr(0);
wz:=0;
//清空fbbf
 for j:=0 to 31 do
 begin
  fbbf[j]:=chr(0);
  outstr[j]:=chr(0);
 end;
//定义头部
     for i:=0 to 10  do
     begin
     fbbf[wz]:=chr(click1[i]);
     wz:=wz+1;
     end;
     //攻击的标志设定   从b为开始
     fbbf[wz]:=chr(3);
     wz:=wz+1;
     fbbf[wz]:=chr(0);
     wz:=wz+1;

     //被攻击的monster代码
     fbbf[wz]:=where1[0];
     wz:=wz+1;
     fbbf[wz]:=where1[1];
     wz:=wz+1;
     fbbf[wz]:=where1[2];
     wz:=wz+1;
     fbbf[wz]:=where1[3];
     wz:=wz+1;
     //定义方向
     fbbf[wz]:=chr(5);
     wz:=wz+1;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
{     //此处暂不知道方式 先定义为0
    for i:=0 to 3 do
    begin
    fbbf[wz]:=chr(0);
    wz:=wz+1;
    end;
    //定义某面板得位置 或方向
     fbbf[wz]:=where2[0];
     wz:=wz+1;
     fbbf[wz]:=where2[1];
     wz:=wz+1;
  }   //后面部分可以定义为坐标 目前先置0
     for i:=0 to 4 do
     begin
     fbbf[wz]:=chr(0);
     wz:=wz+1;
     end;
     fbbf[wz]:=chr(0);
     wz:=wz+1;
    encode(fbbf,wz,outstr);       //加密
    zhanghao:=outstr;
    zhanghao:='('+zhanghao+')';
    result:=zhanghao;
 //   frmtest.idtelnetdemo.Write(zhanghao);
end;

//点击物品

⌨️ 快捷键说明

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