首页
社区
课程
招聘
[原创][原创]获取热血江湖怪物信息的DELPHI2010源代码
2010-2-21 21:21 3604

[原创][原创]获取热血江湖怪物信息的DELPHI2010源代码

2010-2-21 21:21
3604
为了大家看的方便,编程环境又用的是DELPHI2010,所以一些变量就用汉字来定义了.更多有CALL请看www.tansoo.cn

[CODE=Delphi]

    [*]<LI class=alt>procedure TfrmMain.Button8Click(Sender: TObject);
    [*]var <LI class=alt> 怪物基址, 怪物类型, 怪物数组下标, 怪物服务器ID, 怪物当前血, 怪物最大血, 怪物等级: PDword;
    [*]怪物距离: PSingle; <LI class=alt> 怪物名字: PAnsiChar;
    [*]i: Integer; <LI class=alt>begin
    [*]Memo1.Lines.Clear; <LI class=alt> Memo1.Lines.add('怪物名字 怪物基址 怪物类型 怪物下标 怪物ID 怪物距离');
    [*]for i := 1 to 64 do <LI class=alt> begin
    [*]怪物基址 := Pointer($05EBCA78 + i * 4); // 第一个为角色,类型为$31,以后为怪物 <LI class=alt> if 怪物基址^ = 0 then
    [*]Break; <LI class=alt>
    [*]怪物类型 := Pointer(怪物基址^ + 8); // +8 :有可能是对象分类 怪是$2E <LI class=alt> if 怪物类型^<>$2E then Continue;
    [*]<LI class=alt> 怪物数组下标 := Pointer(怪物基址^ + $0C); // +C :数组下标
    [*]怪物服务器ID := Pointer(怪物基址^ + $14); // 服务器上 对象ID(对象在服务器唯一ID标识)(?) <LI class=alt> 怪物距离 := Pointer(怪物基址^ + $31C); // 怪到玩家距离
    [*]怪物名字 := PAnsiChar(怪物基址^ + $320); // 怪对象名字 <LI class=alt> 怪物当前血 := Pointer(怪物基址^ + $610);
    [*]怪物最大血 := Pointer(怪物基址^ + $62C); <LI class=alt> 怪物等级 := Pointer(怪物基址^ + $614);
    [*]<LI class=alt> Memo1.Lines.add(怪物名字+' '+
    [*]IntToHex(怪物基址^, 8) + ' ' + <LI class=alt> IntToHex(怪物类型^, 8) + ' ' +
    [*]IntToHex(怪物数组下标^, 8) + ' ' + <LI class=alt> IntToHex(怪物服务器ID^, 8) + ' ' +
    [*]FormatFloat('#0.00',怪物距离^)+' '+ <LI class=alt> inttostr(怪物当前血^)+'/'+inttostr(怪物最大血^)+' '+
    [*]inttostr(怪物等级^)+'级'); <LI class=alt> end;
    [*]end;
[/CODE]

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回