.版本 2
.程序集 自动瞄准子程序
.程序集变量 人物位置, 整数型
.程序集变量 当前选中, 整数型
.子程序 自动瞄准
.参数 HOOK1, 整数型
.参数 HOOK2, 整数型
.参数 HOOK3, 整数型
.参数 HOOK4, 整数型
.参数 HOOK5, 整数型
.局部变量 i, 整数型
.局部变量 敌人坐标数据x, 双精度小数型
.局部变量 敌人坐标数据y, 双精度小数型
.局部变量 敌人坐标数据z, 双精度小数型
.局部变量 本人坐标数据x, 双精度小数型
.局部变量 本人坐标数据y, 双精度小数型
.局部变量 本人坐标数据z, 双精度小数型
.局部变量 D3D距离, 小数型
.局部变量 最近距离, 小数型
.局部变量 X角度, 双精度小数型
.局部变量 Y角度, 双精度小数型
.局部变量 人物地址, 整数型
.局部变量 人物一级, 整数型
.局部变量 敌人基址, 整数型
.局部变量 X差距, 双精度小数型
.局部变量 Y差距, 双精度小数型
.局部变量 Z差距, 双精度小数型
.局部变量 敌人阵营, 整数型
.局部变量 敌人视角, 小数型
.局部变量 临时位置, 整数型
.局部变量 敌人数量, 整数型
人物地址 = 汇编_读整数型 (#人物基址)
.如果真 (人物地址 > 0)
.如果真 (汇编_读整数型 (#本人死亡基址) = 1)
敌人数量 = 取显示人物数量 ()
.判断开始 (敌人数量 = 8)
人物一级 = 汇编_读整数型 (人物地址 + #坐标一级)
本人坐标数据x = 汇编_读小数型 (人物一级 + 224)
本人坐标数据z = 汇编_读小数型 (人物一级 + 228)
本人坐标数据y = 汇编_读小数型 (人物一级 + 232)
敌人阵营 = 1 - 汇编_读整数型 (#阵营基址)
.如果真 (当前选中 < 8 且 汇编_读整数型 (#本人位置) < 8)
当前选中 = 255
.如果真结束
.如果真 (当前选中 > 7 且 汇编_读整数型 (#本人位置) > 7)
当前选中 = 255
.如果真结束
.如果真 (当前选中 = 255)
最近距离 = 0
临时位置 = 255
.计次循环首 (8, i)
人物位置 = i - 1 + 敌人阵营 × 8
敌人基址 = 汇编_读整数型 (#敌人基址 + 人物位置 × #坐标基址规律)
.如果真 (汇编_读整数型 (敌人基址 + #是否死亡偏移) = 1)
敌人坐标数据x = 汇编_读小数型 (敌人基址 + #坐标X偏移)
敌人坐标数据z = 汇编_读小数型 (敌人基址 + #坐标Z偏移)
敌人坐标数据y = 汇编_读小数型 (敌人基址 + #坐标Y偏移)
D3D距离 = 取3D坐标距离 (本人坐标数据x, 本人坐标数据y, 敌人坐标数据x, 敌人坐标数据y)
.如果真 (最近距离 = 0)
最近距离 = D3D距离
临时位置 = 人物位置
.如果真结束
.如果 (D3D距离 < 最近距离)
最近距离 = D3D距离
临时位置 = 人物位置
.否则
.如果真 (i = 8)
临时位置 = 人物位置
.如果真结束
.如果结束
.如果真结束
.计次循环尾 ()
当前选中 = 临时位置
.如果真结束
.判断 (敌人数量 = 16)
人物一级 = 汇编_读整数型 (人物地址 + #坐标一级)
本人坐标数据x = 汇编_读小数型 (人物一级 + 224)
本人坐标数据z = 汇编_读小数型 (人物一级 + 228)
本人坐标数据y = 汇编_读小数型 (人物一级 + 232)
.如果真 (当前选中 = 255)
最近距离 = 0
临时位置 = 255
.计次循环首 (16, i)
.如果 (汇编_读整数型 (#本人位置) ≠ i - 1)
人物位置 = i - 1
.否则
到循环尾 ()
.如果结束
敌人基址 = 汇编_读整数型 (#敌人基址 + 人物位置 × #坐标基址规律)
.如果真 (汇编_读整数型 (敌人基址 + #是否死亡偏移) = 1)
敌人坐标数据x = 汇编_读小数型 (敌人基址 + #坐标X偏移)
敌人坐标数据z = 汇编_读小数型 (敌人基址 + #坐标Z偏移)
敌人坐标数据y = 汇编_读小数型 (敌人基址 + #坐标Y偏移)
D3D距离 = 取3D坐标距离 (本人坐标数据x, 本人坐标数据y, 敌人坐标数据x, 敌人坐标数据y)
.如果真 (最近距离 = 0)
最近距离 = D3D距离
临时位置 = 人物位置
.如果真结束
.如果 (D3D距离 < 最近距离)
最近距离 = D3D距离
临时位置 = 人物位置
.否则
.如果真 (i = 16)
临时位置 = 人物位置
.如果真结束
.如果结束
.如果真结束
.计次循环尾 ()
当前选中 = 临时位置
.如果真结束
.判断 (敌人数量 = 15)
人物一级 = 汇编_读整数型 (人物地址 + #坐标一级)
本人坐标数据x = 汇编_读小数型 (人物一级 + 224)
本人坐标数据z = 汇编_读小数型 (人物一级 + 228)
本人坐标数据y = 汇编_读小数型 (人物一级 + 232)
.如果真 (当前选中 = 255)
最近距离 = 0
临时位置 = 255
.计次循环首 (16, i)
.如果 (汇编_读整数型 (#本人位置) ≠ i - 1)
人物位置 = i - 1
.否则
到循环尾 ()
.如果结束
敌人基址 = 汇编_读整数型 (#敌人基址 + 人物位置 × #坐标基址规律)
.如果真 (汇编_读整数型 (敌人基址 + #是否死亡偏移) = 1)
.如果真 (汇编_读整数型 (敌人基址 + #是否为生化) = 1)
敌人坐标数据x = 汇编_读小数型 (敌人基址 + #坐标X偏移)
敌人坐标数据z = 汇编_读小数型 (敌人基址 + #坐标Z偏移)
敌人坐标数据y = 汇编_读小数型 (敌人基址 + #坐标Y偏移)
D3D距离 = 取3D坐标距离 (本人坐标数据x, 本人坐标数据y, 敌人坐标数据x, 敌人坐标数据y)
.如果真 (最近距离 = 0)
最近距离 = D3D距离
临时位置 = 人物位置
.如果真结束
.如果 (D3D距离 < 最近距离)
最近距离 = D3D距离
临时位置 = 人物位置
.否则
.如果真 (i = 16)
临时位置 = 人物位置
.如果真结束
.如果结束
.如果真结束
.如果真结束
.计次循环尾 ()
当前选中 = 临时位置
.如果真结束
.默认
.判断结束
敌人基址 = 汇编_读整数型 (#敌人基址 + 当前选中 × #坐标基址规律)
.如果 (汇编_读整数型 (敌人基址 + #是否死亡偏移) = 1)
本人坐标数据x = 本人坐标数据x × -1
敌人坐标数据x = 汇编_读小数型 (敌人基址 + #坐标X偏移)
敌人坐标数据z = 汇编_读小数型 (敌人基址 + #坐标Z偏移) - 35
敌人坐标数据y = 汇编_读小数型 (敌人基址 + #坐标Y偏移)
敌人视角 = 取鼠标横角度 (敌人基址)
.判断开始 (敌人视角 ≥ 0 且 敌人视角 < 91)
敌人坐标数据x = 敌人坐标数据x + 取绝对视角 (敌人视角) × 0.5111111111111
敌人坐标数据y = 敌人坐标数据y + 55 - 取绝对视角 (敌人视角) × 0.5111111111111
.判断 (敌人视角 > 90 且 敌人视角 < 181)
敌人坐标数据x = 敌人坐标数据x + 55 - 取绝对视角 (敌人视角) × 0.5111111111111
敌人坐标数据y = 敌人坐标数据y - 取绝对视角 (敌人视角) × 0.5111111111111
.判断 (敌人视角 > 180 且 敌人视角 < 271)
敌人坐标数据x = 敌人坐标数据x - 取绝对视角 (敌人视角) × 0.5111111111111
敌人坐标数据y = 敌人坐标数据y - (55 - 取绝对视角 (敌人视角) × 0.5111111111111)
.判断 (敌人视角 > 270 且 敌人视角 < 361)
敌人坐标数据x = 敌人坐标数据x - (55 - 取绝对视角 (敌人视角) × 0.5111111111111)
敌人坐标数据y = 敌人坐标数据y + 取绝对视角 (敌人视角) × 0.5111111111111
.默认
.判断结束
敌人坐标数据x = 敌人坐标数据x × -1
X差距 = 本人坐标数据x - 敌人坐标数据x
Y差距 = 本人坐标数据y - 敌人坐标数据y
Z差距 = 本人坐标数据z - 敌人坐标数据z
X角度 = 求X角度 (X差距, Y差距)
Y角度 = 求Y角度 (X差距, Y差距, Z差距)
.如果 (汇编_读整数型 (敌人基址 + #是否死亡偏移) = 1)
汇编_写小数型 (人物地址 + #鼠标Y偏移, Y角度 × 0.01745329300563)
汇编_写小数型 (人物地址 + #鼠标X偏移, X角度 × 0.01745329300563)
.否则
.如果结束
.否则
当前选中 = 255
.如果结束
.如果真结束
.如果真结束
.子程序 切换选定人物
.局部变量 敌人基址, 整数型
.局部变量 i, 整数型
.局部变量 敌人坐标数据x, 小数型
.局部变量 敌人坐标数据y, 小数型
.局部变量 敌人坐标数据z, 小数型
.局部变量 本人坐标数据x, 小数型
.局部变量 本人坐标数据y, 小数型
.局部变量 本人坐标数据z, 小数型
.局部变量 D3D距离, 小数型
.局部变量 最近距离, 小数型
.局部变量 临时位置, 整数型
最近距离 = 0
临时位置 = 255
.计次循环首 (16, i)
敌人基址 = 汇编_读整数型 (#敌人基址 + (i - 1) × #坐标基址规律)
.如果真 (汇编_读整数型 (敌人基址 + #是否死亡偏移) = 1)
.如果真 (汇编_读整数型 (敌人基址 + 6128) = 1)
敌人坐标数据x = 汇编_读小数型 (敌人基址 + #坐标X偏移)
敌人坐标数据z = 汇编_读小数型 (敌人基址 + #坐标Z偏移)
敌人坐标数据y = 汇编_读小数型 (敌人基址 + #坐标Y偏移)
D3D距离 = 取3D坐标距离 (本人坐标数据x, 本人坐标数据y, 敌人坐标数据x, 敌人坐标数据y)
.如果真 (最近距离 = 0)
最近距离 = D3D距离
临时位置 = 人物位置
.如果真结束
.如果 (D3D距离 < 最近距离)
最近距离 = D3D距离
临时位置 = 人物位置
.否则
.如果真 (i = 16)
临时位置 = 人物位置
.如果真结束
.如果结束
.如果真结束
.如果真结束
.计次循环尾 ()
当前选中 = 临时位置
.如果真 (当前选中 = 255)
当前选中 = 0
返回 ()
.如果真结束
.如果真 (当前选中 ≥ 15)
当前选中 = 0
返回 ()
.如果真结束
当前选中 = 当前选中 + 1
.子程序 取3D坐标距离, 小数型
.参数 本人x, 小数型
.参数 本人y, 小数型
.参数 敌人x, 小数型
.参数 敌人y, 小数型
.局部变量 距离, 双精度小数型
本人x = 本人x - 敌人x
本人y = 本人y - 敌人y
距离 = 求平方根 (本人x × 本人x + 本人y × 本人y)
返回 (距离)
.子程序 取鼠标横角度, 小数型
.参数 基址, 整数型
.局部变量 鼠标横坐标, 双精度小数型
鼠标横坐标 = 汇编_读小数型 (基址 + 128) ÷ 0.01745329300563
.判断循环首 (鼠标横坐标 > 360)
鼠标横坐标 = 鼠标横坐标 - 360
.判断循环尾 ()
.判断循环首 (鼠标横坐标 < 0)
鼠标横坐标 = 鼠标横坐标 + 360
.判断循环尾 ()
返回 (鼠标横坐标)
.子程序 取绝对视角, 小数型
.参数 视角, 小数型
.判断循环首 (视角 > 100)
视角 = 视角 - 100
.判断循环尾 ()
返回 (视角)
2023-05-10 18:53:23
43KB
源码
1