完美国际坐标查看器(可更新)
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
完美国际坐标查看器(可更新)相关推荐
- python识别图片坐标查看器_Opencv/python图像处理后如何获取检测区域的坐标
这是我使用的代码.最后,我不得不重新调整我的数据帧,但只是为了更好地阅读.我认为我的代码有很多可能的改进,但是我很高兴我的代码行为足够好地满足我的需要.在import cv2 import numpy ...
- ONLYOFFICE文档V7.2现已发布————插件市场、实时查看器、连写、全新表单字段、UI 更新等
ONLYOFFICE文档V7.2现已发布 ----插件市场.实时查看器.连写.全新表单字段.UI 更新等 我们已在最新版本的在线编辑器中提供了多种实用性改进,比如:轻松的插件安装流程.实时查看器.支持 ...
- 开源全景图查看器-360player_v3.0更新
360player是由宅家呗开发的一个免费的全景图查看器,基于Verge3D和three.js开发,今天很高兴地宣布该程序升级到3.0版本,版本不重要,重要的是更新一个新功能,现在支持WebVR了. ...
- 文档查看器PrizmDoc Viewer v13.13发布:多个修订及更新
PrizmDoc是最快速.最有品质的HTML5文档查看器,提供安全的.全定制化的查看和协作功能.它通过一个简单部署的机制减少成本,降低安全风险和提高生产率.同时,它是基于服务器的查看器,消除了不必要的 ...
- 6.7 【实例】窗口查看器
6.7.1 窗口界面 程序06WinLooker中包含4个类,CMyApp(应用程序类).CMainWindow(主窗口类).CWindowInfo(管理目标窗口的类)和CMyButton(按钮类). ...
- 《Windows 程序设计(第3版)》——6.7 【实例】窗口查看器
本节书摘来自异步社区<Windows 程序设计(第3版)>一书中的第6章,第6.7节,作者:王艳平 , 张铮著,更多章节内容可以访问云栖社区"异步社区"公众号查看 6. ...
- fsleyes -- 一款多功能影像数据查看器
FSLeyes 是 3D 和 4D 数据的查看器,可以接受多种类型数据的展示. 接收类型如下: NIFTI image files (.nii, .nii.gz). MGH image files ( ...
- 仿微信图片查看器入场退场动画
引子 看微信朋友圈的时候,当我们点击图片,图片会从点击的图片位置,逐渐放大,移动到正中间.退出图片查看器的时候,图片会逐渐变小,移到初始位置.对于用户来说,这是一种非常好的体验效果. 于是,自己手动撸 ...
- [分享]牛牛图片查看器[仿QQ图片查看器]及大致原理说明
这是一个完全通过Duilib来实现的一个图片查看器,仿照QQ图片查看器的效果实现,希望大家喜欢. 先看一下使用的截图吧: 做相关说明如下: 一:使用说明 1. 通过命令行调用,传递图片路径即可打开图片 ...
- 【Qt+OpenCV项目开发学习】二、图片查看器应用程序开发
一.前言 本博客将讲解如何用Qt+OpenCV开发一款图片查看器的Windows应用程序,其实不用OpenCV也能开发出这类软件,作者目的是为了学习Qt+OpenCV开发项目,所以会使用OpenCV, ...
最新文章
- UNITY2018 真机开启deepprofiling的操作
- HeapAlloc与malloc的区别
- 事物日志恢复 mysql_浅谈SQL Server中的事务日志(五)----日志在高可用和灾难恢复中的作用...
- 美团点评2017秋招笔试编程题
- 多用户文件系统java实现_为什么要有文件系统?文件系统都有那些种类?
- 如何把Excel的多张表格合成一张
- MATLAB关于Mesh的相关命令
- python基础之练习题(二)
- mysql命令语句连接数据库_MySQL_MySQL常用基本SQL语句总结,1. 常见命令连接本地数据库 - phpStudy...
- flutter 一键生成安卓和ios应用图标
- 混淆电路Garbled Circuit介绍
- PAT-A1013. 数素数 (20)
- 区块链隐私保护(一): 交易层的隐私保护机制
- PostGIS的安装与初步使用
- java的高精度大数字运算的问题
- ubuntu中smbd服务搭建,ifcongfig命令没有IP地址
- 《那些年啊,那些事——一个程序员的奋斗史》——28
- 计算机公共基础知识(N-S图,DFD图,PAD图,程序流程图,E-R图)
- Meeting Rooms II -- LeetCode
- 天猫登录html代码,天猫静态页面
热门文章
- Android------APP FPS测试
- 征集开始!2022年湖北省人工智能 大数据十大优秀应用案例征集申报时间要求及征集范围、注意事项
- windows 批量创建文件夹
- 扫雷可以用计算机,接龙扫雷Windows经典游戏原来还有这些用处啊
- 学习笔记 | 非负矩阵分解(NMF)浅析
- EXCEL中关于角度的输入、输出及转换计算技巧
- struct termios结构体详解
- “卫士通”杯首届四川省高校网络攻防大赛文档及题目
- 基于深度学习的图像超分论文推荐
- 记账系统推荐金蝶精斗云_金蝶精斗云是免费会计记账软件吗?