EXE下载:http://files.cnblogs.com/xe2011/EXE_wmgjZBViewer2014-3-5-101313.7z

源码下载:http://files.cnblogs.com/xe2011/PASCAL_wmgjZBViewer2014-2-26-195325.7z

[人物配置]
;默认为1.5.1的游戏数据
;当游戏版本升级时可以手动修改基址,2级偏移有时会改变
;PosX=[[[C0C68C]+1C]+34]+3c//主角坐标X 取整(坐标/10)+400
;PosY=[[[C0C68C]+1C]+34]+40//主角坐标Z 取整(坐标/10)
;PosZ=[[[C0C68C]+1C]+34]+44//主角坐标Y 取整(坐标/10)+550;【1.5.1 游戏数据】
;hpmin=[[[00C7ABCC]+1c]+2c]+4a8
;二级偏移地址改变了
游戏基址=$00C7ABCC
一级偏移地址=$1C
二级偏移地址=$2C
X坐标偏移地址=$3C
Y坐标偏移地址=$40
Z坐标偏移地址=$44;【1.4.8 游戏数据】
;游戏基址=$C0C68C
;一级偏移地址=$1C
;二级偏移地址=$34
;X坐标偏移地址=$3C
;Y坐标偏移地址=$40
;Z坐标偏移地址=$44;【1.4.6 游戏数据】
;游戏基址=$BBC26C
;一级偏移地址=$1C
;二级偏移地址=$34
;X坐标偏移地址=$3C
;Y坐标偏移地址=$40
;Z坐标偏移地址=$44

完美国际坐标查看器(可手动更新数据)
提供源码下载
默认是1.4.8的数据
其他的版本请自行修改游戏基址=$C0C68C;
比如1.4.6 游戏基址=$BBC26C;
基址会有CE找的就用CE找 不会用的就找K25外挂里面也有基地把他的基址抄过来

本程序的功能
配合 NPC编辑器可以发挥最大的功能 复制坐标功能

可以转换坐标把游戏内部的坐标转换成当前显示的坐标

附个 NPC面向坐标
面向说明
NPC面向  DirX     DirY     DirZ
东    0.000    0.000    0.000
西    -1.000    0.000    0.000
南    0.000    0.000    -1.000
北    0.000    0.000    1.000

unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ExtCtrls, ComCtrls;typeTForm1 = class(TForm)Timer1: TTimer;Label7: TLabel;GroupBox1: TGroupBox;Label1: TLabel;Label2: TLabel;Label3: TLabel;Edit1: TEdit;Edit2: TEdit;Edit3: TEdit;Button1: TButton;Button2: TButton;Button3: TButton;Timer2: TTimer;Label5: TLabel;Button4: TButton;Label4: TLabel;Button5: TButton;Edit4: TEdit;procedure Timer1Timer(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button3Click(Sender: TObject);procedure FormCreate(Sender: TObject);procedure Edit1Click(Sender: TObject);procedure Edit2Click(Sender: TObject);procedure Edit3Click(Sender: TObject);procedure Label4Click(Sender: TObject);procedure Timer2Timer(Sender: TObject);procedure Label4MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);procedure Label4MouseLeave(Sender: TObject);procedure Label5MouseLeave(Sender: TObject);procedure Label5MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);procedure Button4Click(Sender: TObject);procedure Button5Click(Sender: TObject);procedure Label5Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;implementation
usesIniFiles, Unit2,ShellAPI;
{$R *.dfm}
varBaseAddress,Offset1,Offset2,PosOffsetX,PosOffsetY,PosOffsetZ:DWORD;//    BaseAddress=$C0C68C;
//        Offset1=$1C;
//        Offset2=$34;
//      PosOffsetX=$3c;
//      PosOffsetY=$40;
//      PosOffsetZ=$44;procedure LoadIni;
varIniFile: TInifile;
beginIniFile := TInifile.Create(Application.ExeName + '.ini');BaseAddress := IniFile.ReadInteger('人物配置', '游戏基址',$C0C68C);Offset1 := IniFile.ReadInteger('人物配置', '一级偏移地址',$1C);Offset2 := IniFile.ReadInteger('人物配置', '二级偏移地址',$34);PosOffsetX := IniFile.ReadInteger('人物配置', 'X坐标偏移地址',$3C);PosOffsetY := IniFile.ReadInteger('人物配置', 'Y坐标偏移地址',$40);PosOffsetZ := IniFile.ReadInteger('人物配置', 'Z坐标偏移地址',$44);
end;procedure WriteIni;
varIniFile: TInifile;
beginIniFile := TInifile.Create(Application.ExeName + '.ini');IniFile.WriteInteger('人物配置', '游戏基址',$C0C68C);IniFile.WriteInteger('人物配置', '一级偏移地址',$1C);IniFile.WriteInteger('人物配置', '二级偏移地址',$34);IniFile.WriteInteger('人物配置', 'X坐标偏移地址',$3C);IniFile.WriteInteger('人物配置', 'Y坐标偏移地址',$40);IniFile.WriteInteger('人物配置', 'Z坐标偏移地址',$44);end;procedure DsplyRolePosXYZ();// PosX=[[[924E0C]+1C]+20]+3c//主角坐标X 取整(坐标/10)+400
// PosY=[[[924E0C]+1C]+20]+40//主角坐标Z 取整(坐标/10)
// PosZ=[[[924E0C]+1C]+20]+44//主角坐标Y 取整(坐标/10)+550
varh:HWND;PID:Dword;hProcess:Thandle;MyPointer:Integer;Readbyte:DWORD;//Size_TPosX,PosY,PosZ:Single;//
beginh:=FindWindow('ElementClient Window',NIL);if h=0 thenbeginForm1.Caption:='没有找到游戏';endelsebeginForm1.Caption:='坐标查看器';GetWindowThreadProcessId(h,@PID);hProcess:=OpenProcess(PROCESS_ALL_ACCESS,false,PID);ReadProcessMemory(hProcess,Pointer(BaseAddress),@MyPointer,4,Readbyte);ReadProcessMemory(hProcess,Pointer(MyPointer+Offset1),@MyPointer,4,Readbyte);ReadProcessMemory(hProcess,Pointer(MyPointer+Offset2),@MyPointer,4,Readbyte);ReadProcessMemory(hProcess,Pointer(MyPointer+PosOffsetX),@PosX,4,Readbyte);ReadProcessMemory(hProcess,Pointer(MyPointer+PosOffsetY),@PosY,4,Readbyte);ReadProcessMemory(hProcess,Pointer(MyPointer+PosOffsetZ),@PosZ,4,Readbyte);CloseHandle(hProcess);form1.Edit1.text:= Format('%0.3f',[posX]);form1.Edit2.text:= Format('%.3f',[posY]);form1.Edit3.text:= Format('%.3f',[posZ]);//显示数值PosX:=Trunc(PosX/10+400); //x坐=取整数部分(坐标/10)+400PosY:=Trunc(PosY/10);     //z坐标=取整数部分(坐标/10)PosZ:=Trunc(PosZ/10+550); //Y坐标=取整数部分(坐标/10)+550//  form1.Edit1.text:=FloatToStr(PosX)+','+FloatToStr(PosY)+'↑'+FloatToStr(PosZ);//使用formatform1.Label1.Caption:= Format('X坐标:%.f',[posX]);form1.Label2.Caption:= Format('Y坐标:↑%.f',[posY]);form1.Label3.Caption:= Format('Z坐标:%.f',[posZ]);form1.Edit4.Text:=Format('%.f %.f %.f',[posX,posZ,posY]);end;
end;procedure TForm1.Button1Click(Sender: TObject);
beginEdit1.SetFocus;Edit1.SelectAll;Edit1.CopyToClipboard;end;procedure TForm1.Button2Click(Sender: TObject);
beginEdit2.SetFocus;Edit2.SelectAll;Edit2.CopyToClipboard;
end;procedure TForm1.Button3Click(Sender: TObject);
beginEdit3.SetFocus;Edit3.SelectAll;Edit3.CopyToClipboard;
end;procedure TForm1.Button4Click(Sender: TObject);
VAREDT:TEdit;
beginEDT:=TEdit.Create(SELF);EDT.Parent:=Form1;EDT.Text:=Edit1.Text +' '+EDIT2.Text +' '+EDIT3.Text;EDT.SelectAll;EDT.CopyToClipboard;EDT.Free;
end;procedure TForm1.Button5Click(Sender: TObject);
beginEdit4.SelectAll;Edit4.CopyToClipboard;
end;procedure TForm1.Edit1Click(Sender: TObject);
beginEdit1.SelectAll;
end;procedure TForm1.Edit2Click(Sender: TObject);
beginEdit2.SelectAll;
end;procedure TForm1.Edit3Click(Sender: TObject);
beginEdit3.SelectAll;
end;procedure TForm1.FormCreate(Sender: TObject);
beginif not FileExists(Application.ExeName + '.ini') thenWriteIni;LoadIni;end;procedure TForm1.Label4Click(Sender: TObject);
beginHide;Form2.Edit1.Text:=Edit1.Text;Form2.Edit2.Text:=Edit2.Text;Form2.Edit3.Text:=Edit3.Text;Form2.ShowModal;Show;
end;procedure TForm1.Label4MouseLeave(Sender: TObject);
beginLabel4.Font.Color:=clBlack;Label4.Font.Style:=[];
end;procedure TForm1.Label4MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
beginLabel4.Font.Color:=clRed;Label4.Font.Style:=[fsUnderline];
end;procedure TForm1.Label5Click(Sender: TObject);
beginShellExecute(Handle, 'open', 'www.baidu.com', 0, 0, SW_SHOWNORMAL);
end;procedure TForm1.Label5MouseLeave(Sender: TObject);
beginLabel5.Font.Color:=clBlack;Label5.Font.Style:=[];
end;procedure TForm1.Label5MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
beginLabel5.Font.Color:=clRed;Label5.Font.Style:=[fsUnderline];
end;procedure TForm1.Timer1Timer(Sender: TObject);
begintryDsplyRolePosXYZ;Label7.Visible:=False;exceptLabel7.Caption:='读取游戏数据失败';Label7.Visible:=tRUE;end;end;procedure TForm1.Timer2Timer(Sender: TObject);
begin// if Form2.Visible then//   form2.BringToFront;
end;end.

UNIT1

unit Unit2;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ExtCtrls;typeTForm2 = class(TForm)GroupBox1: TGroupBox;Label1: TLabel;Label2: TLabel;Label3: TLabel;Edit1: TEdit;Edit2: TEdit;Edit3: TEdit;Button1: TButton;Timer1: TTimer;GroupBox2: TGroupBox;Edit4: TEdit;Label4: TLabel;Label5: TLabel;Button2: TButton;procedure Button1Click(Sender: TObject);procedure Edit2Click(Sender: TObject);procedure Edit3Click(Sender: TObject);procedure Edit1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Edit4Click(Sender: TObject);procedure Timer1Timer(Sender: TObject);private{ Private declarations }public{ Public declarations }procedure Transform1;procedure Transform2;end;varForm2: TForm2;implementationuses Unit1;{$R *.dfm}
//    PosX:=Trunc(PosX/10+400); //x坐=取整数部分(坐标/10)+400
//    PosY:=Trunc(PosY/10);     //z坐标=取整数部分(坐标/10)
//    PosZ:=Trunc(PosZ/10+550); //Y坐标=取整数部分(坐标/10)+550
//
//游戏显示坐标
procedure TForm2.Timer1Timer(Sender: TObject);
beginFormStyle:=fsStayOnTop;
end;procedure TForm2.Transform1;
varx,y,z:Single;x1,y1,z1:string;
beginx:= StrToFloat(Edit1.Text);x1:=Format('%d',[Round(x/10)+400]);  //X坐=取整数部分(坐标/10)+400y:= StrToFloat(Edit2.Text);y1:=Format('%d',[Round(y/10)]);  //Y坐标=取整数部分(坐标/10)z:= StrToFloat(Edit3.Text);z1:=Format('%d',[Round(z/10)+550]);  //Z坐标=取整数部分(坐标/10)+550Edit4.Text:=x1+' '+z1;Label5.Caption:=' ↑'+y1;
end;//游戏内部实际坐标
procedure TForm2.Transform2;
beginend;procedure TForm2.Button1Click(Sender: TObject);
beginTransform1;
end;procedure TForm2.Button2Click(Sender: TObject);
beginEdit4.SelectAll;Edit4.CopyToClipboard;
end;procedure TForm2.Edit1Click(Sender: TObject);
beginEdit1.SelectAll;
end;procedure TForm2.Edit2Click(Sender: TObject);
beginEdit2.SelectAll;
end;procedure TForm2.Edit3Click(Sender: TObject);
beginEdit3.SelectAll;
end;procedure TForm2.Edit4Click(Sender: TObject);
beginEdit4.SelectAll;
end;end.

UNIT2

[人物配置]
;完美国际数据可以手动修改
;默认为1.4.8服务端的数据
;PosX=[[[C0C68C]+1C]+34]+3c//主角坐标X 取整(坐标/10)+400
;PosY=[[[C0C68C]+1C]+34]+40//主角坐标Z 取整(坐标/10)
;PosZ=[[[C0C68C]+1C]+34]+44//主角坐标Y 取整(坐标/10)+550
;1.4.6 游戏基址=$BBC26C
;1.4.8 游戏基址=$C0C68C

游戏基址=$C0C68C
一级偏移地址=$1C
二级偏移地址=$34
X坐标偏移地址=$3C
Y坐标偏移地址=$40
Z坐标偏移地址=$44

转载于:https://www.cnblogs.com/xe2011/p/3570018.html

完美国际坐标查看器(可更新)相关推荐

  1. python识别图片坐标查看器_Opencv/python图像处理后如何获取检测区域的坐标

    这是我使用的代码.最后,我不得不重新调整我的数据帧,但只是为了更好地阅读.我认为我的代码有很多可能的改进,但是我很高兴我的代码行为足够好地满足我的需要.在import cv2 import numpy ...

  2. ONLYOFFICE文档V7.2现已发布————插件市场、实时查看器、连写、全新表单字段、UI 更新等

    ONLYOFFICE文档V7.2现已发布 ----插件市场.实时查看器.连写.全新表单字段.UI 更新等 我们已在最新版本的在线编辑器中提供了多种实用性改进,比如:轻松的插件安装流程.实时查看器.支持 ...

  3. 开源全景图查看器-360player_v3.0更新

    360player是由宅家呗开发的一个免费的全景图查看器,基于Verge3D和three.js开发,今天很高兴地宣布该程序升级到3.0版本,版本不重要,重要的是更新一个新功能,现在支持WebVR了. ...

  4. 文档查看器PrizmDoc Viewer v13.13发布:多个修订及更新

    PrizmDoc是最快速.最有品质的HTML5文档查看器,提供安全的.全定制化的查看和协作功能.它通过一个简单部署的机制减少成本,降低安全风险和提高生产率.同时,它是基于服务器的查看器,消除了不必要的 ...

  5. 6.7 【实例】窗口查看器

    6.7.1 窗口界面 程序06WinLooker中包含4个类,CMyApp(应用程序类).CMainWindow(主窗口类).CWindowInfo(管理目标窗口的类)和CMyButton(按钮类). ...

  6. 《Windows 程序设计(第3版)》——6.7 【实例】窗口查看器

    本节书摘来自异步社区<Windows 程序设计(第3版)>一书中的第6章,第6.7节,作者:王艳平 , 张铮著,更多章节内容可以访问云栖社区"异步社区"公众号查看 6. ...

  7. fsleyes -- 一款多功能影像数据查看器

    FSLeyes 是 3D 和 4D 数据的查看器,可以接受多种类型数据的展示. 接收类型如下: NIFTI image files (.nii, .nii.gz). MGH image files ( ...

  8. 仿微信图片查看器入场退场动画

    引子 看微信朋友圈的时候,当我们点击图片,图片会从点击的图片位置,逐渐放大,移动到正中间.退出图片查看器的时候,图片会逐渐变小,移到初始位置.对于用户来说,这是一种非常好的体验效果. 于是,自己手动撸 ...

  9. [分享]牛牛图片查看器[仿QQ图片查看器]及大致原理说明

    这是一个完全通过Duilib来实现的一个图片查看器,仿照QQ图片查看器的效果实现,希望大家喜欢. 先看一下使用的截图吧: 做相关说明如下: 一:使用说明 1. 通过命令行调用,传递图片路径即可打开图片 ...

  10. 【Qt+OpenCV项目开发学习】二、图片查看器应用程序开发

    一.前言 本博客将讲解如何用Qt+OpenCV开发一款图片查看器的Windows应用程序,其实不用OpenCV也能开发出这类软件,作者目的是为了学习Qt+OpenCV开发项目,所以会使用OpenCV, ...

最新文章

  1. UNITY2018 真机开启deepprofiling的操作
  2. HeapAlloc与malloc的区别
  3. 事物日志恢复 mysql_浅谈SQL Server中的事务日志(五)----日志在高可用和灾难恢复中的作用...
  4. 美团点评2017秋招笔试编程题
  5. 多用户文件系统java实现_为什么要有文件系统?文件系统都有那些种类?
  6. 如何把Excel的多张表格合成一张
  7. MATLAB关于Mesh的相关命令
  8. python基础之练习题(二)
  9. mysql命令语句连接数据库_MySQL_MySQL常用基本SQL语句总结,1. 常见命令连接本地数据库 - phpStudy...
  10. flutter 一键生成安卓和ios应用图标
  11. 混淆电路Garbled Circuit介绍
  12. PAT-A1013. 数素数 (20)
  13. 区块链隐私保护(一): 交易层的隐私保护机制
  14. PostGIS的安装与初步使用
  15. java的高精度大数字运算的问题
  16. ubuntu中smbd服务搭建,ifcongfig命令没有IP地址
  17. 《那些年啊,那些事——一个程序员的奋斗史》——28
  18. 计算机公共基础知识(N-S图,DFD图,PAD图,程序流程图,E-R图)
  19. Meeting Rooms II -- LeetCode
  20. 天猫登录html代码,天猫静态页面

热门文章

  1. Android------APP FPS测试
  2. 征集开始!2022年湖北省人工智能 大数据十大优秀应用案例征集申报时间要求及征集范围、注意事项
  3. windows 批量创建文件夹
  4. 扫雷可以用计算机,接龙扫雷Windows经典游戏原来还有这些用处啊
  5. 学习笔记 | 非负矩阵分解(NMF)浅析
  6. EXCEL中关于角度的输入、输出及转换计算技巧
  7. struct termios结构体详解
  8. “卫士通”杯首届四川省高校网络攻防大赛文档及题目
  9. 基于深度学习的图像超分论文推荐
  10. 记账系统推荐金蝶精斗云_金蝶精斗云是免费会计记账软件吗?