看流星社区

 找回密码
 注册账号
查看: 2777|回复: 3

[Delphi] 看看我的加血代码那里错了。朋友帮帮忙。

[复制链接]

该用户从未签到

发表于 2011-4-2 08:51:51 | 显示全部楼层 |阅读模式
procedure TForm1.Timer1Timer(Sender: TObject);
var
curRoleBlood:PWord;
begin
//当前角色血值<RzHp 使用F1
//[[[GameBase+1c]+24]+260]
curRoleBlood:=Pointer(GameBase);    //常量已申请
curRoleBlood:=Pointer(curRoleBlood^+$1C);
curRoleBlood:=Pointer(CurRoleBlood^+$24);
curRoleBlood:=Pointer(CurRoleBlood^+$260);//当前HP

        /
//如果HP<edit1.内容 且 选择框=真
//则执行 F1操作。
if (xzkhp.Checked and (curRoleBlood^<edithp.IntValue)) then
         begin
                F1_F8(xlkhp.ItemIndex+1);
         end;


你们在看看哪里错了

该用户从未签到

发表于 2011-4-2 08:52:24 | 显示全部楼层
首先把你的邏輯代碼都丟一邊涼快去
然後確定你的代碼正確取出血值 (按你的公式來看你的代碼明顯錯誤的)
等你把血值正確取出來再來搞你的邏輯代碼。

该用户从未签到

发表于 2011-4-2 08:52:53 | 显示全部楼层
1楼正解

程式总会遇上不少问题,也是要一步一步除错
建议首先用CE试试看该偏移是否有误
无误的话,步骤如下

1.确认TIMER有启动
2.确定curRoleBlood变数有顺利读取到
3.确认该游戏是支援模拟键盘的

一般新手的话,我都会建议使用远程注入
在下断除错上会方便许多
等技术熟了再去搞DLL

该用户从未签到

发表于 2011-4-2 08:53:10 | 显示全部楼层
var  
Blood:DWORD;
curRoleBlood:=PDWORD(GameBase);    //常量已申请  
curRoleBlood:=PDWORD(curRoleBlood^+$1C);  
curRoleBlood:=PDWORD(CurRoleBlood^+$24);  
Blood:=PDWORD(CurRoleBlood^+$260)^;   //这里取出来的才是血值
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-18 15:06

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表