|
1易币
大佬们 帮我看看问题 源码能正确画线,我抄的就是乱花,自己对比没找出问题.版本 2
进程id = 取进程ID (“cstrike.exe”)
窗口句柄 = 取句柄 (“cstrike.exe”, , )
窗口宽 = 取窗口宽度 (窗口句柄)
窗口高 = 取窗口高度 (窗口句柄)
进程句柄 = 进程_打开1 (进程id)
客户端模块 = 取模块句柄 (进程id, “cstrike.exe”)
矩阵基地址 = 客户端模块 + 十六到十 (“1820100”)
矩阵基地址 = 46268992
基址1 = 读内存整数型 (进程id, 客户端模块 + 十六到十 (“1117C64”), )
敌人基址 = 读内存整数型 (进程id, 十六到十 (“9cac”) + 基址1, )
偏移2 = 读内存整数型 (进程id, 敌人基址 + 十六到十 (“7c”), )
偏移3 = 读内存整数型 (进程id, 偏移2 + 十六到十 (“4”), )
敌人基地址 = 偏移3
窗口创建 (窗口宽, 窗口高, &窗口回调, hwnd)
.子程序 窗口回调
世界坐标转到屏幕坐标 ()
刷新绘制区 (窗口句柄)
.子程序 世界坐标转到屏幕坐标
.局部变量 敌人坐标, D3D坐标
.局部变量 world, 小数型, , "4,4"
.局部变量 相机z, 小数型
.局部变量 缩放比例, 小数型
.局部变量 视角宽, 小数型
.局部变量 视角高, 小数型
.局部变量 相机x, 小数型
.局部变量 相机y, 小数型
.局部变量 相机y2, 小数型
.局部变量 方框高宽, 小数型
.局部变量 方框宽, 小数型
视角宽 = 窗口宽 ÷ 2
视角高 = 窗口高 ÷ 2
敌人坐标.X = 读内存小数型 (进程id, 敌人基地址 + 8, )
敌人坐标.Y = 读内存小数型 (进程id, 敌人基地址 + 12, )
敌人坐标.Z = 读内存小数型 (进程id, 敌人基地址 + 16, )
ReadProcessMemoryWorld (进程句柄, 矩阵基地址, world [1] [1], 64, 0)
相机z = world [1] [3] × 敌人坐标.X + world [2] [3] × 敌人坐标.Y + world [3] [3] × 敌人坐标.Z + world [4] [3]
缩放比例 = 1 ÷ 相机z
.如果真 (相机z > 0)
返回 ()
.如果真结束
相机x = 视角宽 + world [1] [1] × 敌人坐标.X + world [2] [1] × 敌人坐标.Y + world [3] [1] × 敌人坐标.Z + world [4] [1] × 缩放比例 × 视角宽
相机y = 视角高 - world [1] [2] × 敌人坐标.X + world [2] [2] × 敌人坐标.Y + world [3] [2] × (敌人坐标.Z + 20) + world [4] [2] × 缩放比例 × 视角高 × 1.31
相机y2 = 视角高 - world [1] [2] × 敌人坐标.X + world [2] [2] × 敌人坐标.Y + world [3] [2] × (敌人坐标.Z - 45) + world [4] [2] × 缩放比例 × 视角高 × 1.31
方框高宽 = 相机y2 - 相机y
方框宽 = 方框高宽 ÷ 2
绘制矩形 (相机x - 方框宽 ÷ 2, 相机y, 方框宽, 方框高宽, 1, RGB2ARGB (#黄色, ))
.子程序 RGB2ARGB, 整数型, , 转换成GDI 的颜色值
.参数 RGB颜色, 整数型
.参数 透明度, 整数型, 可空, 0-255
.局部变量 Color, 字节集
.如果真 (是否为空 (透明度))
透明度 = 255
.如果真结束
Color = 到字节集 (RGB颜色)
RGB颜色 = 位或 (Color [3] + Color [2] × 256 + Color [1] × 65536, 左移 (透明度, 24))
返回 (RGB颜色)
|
|