zoukankan      html  css  js  c++  java
  • 0,2使用红,蓝

     
     
    /// <summary>
    /// 吃红/蓝
    /// </summary>
    /// <param name="objType">物品类型/param>
    /// <param name="packId">包裹ID号/param>
    procedure RecoverMe(objType:DWORD;packId:Integer);//吃红/蓝
    /// 使用药水的条件
    ///  1 checkbox.checked
    ///  1 HPmin<=编辑框
    ///  2 Hpmin>0人物没有死亡  // if role_MpMin=0 then Exit;
    ///  3 药品冷却时间=0
    begin
      ASM
        PUSH 1
        PUSH objType        {EDX=包裹里的物品的类型}
        PUSH packId         {EAX背包格子ID号}
        PUSH 0
        MOV ECX,[$924e0c]
        MOV ECX,[ECX+$20]
        LEA ECX,[ECX+$0EC]
        MOV EBX,$00582E70
        CALL EBX
      END;
    end;
    {此段代码需要hook的支持}
    /// <summary> 
    /// {人物是在游戏当中还是小退} 
    /// </summary> 
    function InGame():Boolean; 
    var gameretn:DWORD; 
    begin 
      asm 
       mov eax,[$00924D48] 
       mov gameretn,eax 
      end; 
      if gameretn=0  then Result:=true{在游戏当中} 
      else if gameretn>=1 then  Result:=False; {人物在角色选择界面} 
    end; 

    procedure TForm1.Button1Click(Sender: TObject); 
    {使用红,蓝}
    var
              I :Integer;
              I1:Integer;
      _idtmp    :DWORD;
      packsack  :PDWORD;
      pckTmp    :DWORD;
      pck_amount:DWORD;
      pck_kind  :PDWORD;
      pckObjId  :PDWORD;
      pck_name  :PDWORD;
      pck_name1 :PWideChar;
    begin
      if InGame=False then  Exit;
       asm
         mov eax,[$924e0c]
         mov eax,[eax+$1c]
         mov eax,[eax+$20]
         mov eax,[eax+$b4c]
         mov ecx,[eax+$10]
         mov pck_amount,ecx//
         mov ecx,[eax+$c]
         mov pckTmp,ecx //
       end;
      for I := 0 to pck_amount - 1 do {背包格子格子数}
      begin
        packsack := pointer(pckTmp + I*4);
        pck_kind := Pointer(packsack^ + $4);
        if packsack^ > 0 then //当对象数组列表不为0的时候才添加
        begin
         if pck_kind^ <> 9 then  Continue; {9=药水类}
            pckObjId  := Pointer(packsack^+$8);
            pck_name  := Pointer(packsack^ + $54);
            pck_name1 := Pointer(pck_name^ + $C);
         if (pck_name1<>'大瓶活血散')  then  Continue;  {ComboBox_MP.Text}
             _idtmp:=pckObjId^;
             I1:=i; {红,蓝所在的包裹位置}
        end;
      end;
        RecoverMe(_idtmp,I1);
    end;
     





    附件列表

  • 相关阅读:
    软件测试基本功之——概念篇
    bug描述注意点
    软件测试模型汇总-V模型,W模型,X模型,H模型
    软件测试分类(自动化测试暂不描述)
    黑盒测试用例设计方法&理论结合实际 -> 场景法
    前端学习(36)~js学习(十三):this
    前端学习(35)~js学习(十二):预编译
    前端学习(34)~js学习(十一):作用域和变量提升
    前端学习(33)~js学习(十):函数
    前端学习(32)~js学习(九):对象简介和对象的基本操作
  • 原文地址:https://www.cnblogs.com/xe2011/p/2524200.html
Copyright © 2011-2022 走看看