移除内存修改类功能(NoSway/InfStamina/NoFallDmg): Mono 版偏移不兼容防乱写; 中文字体换全量 CJK 字库修复问号
This commit is contained in:
parent
c3e9737d20
commit
211d8ac4c2
|
|
@ -1,28 +1,7 @@
|
||||||
#include "Framework.h"
|
#include "Framework.h"
|
||||||
|
|
||||||
void CFramework::MiscAll()
|
// 内存修改类功能 (NoSway/InfStamina/NoFallDmg) 已移除:
|
||||||
{
|
// 它们依赖 IL2CPP 版偏移, 在 EXFIL DELTA (Mono 0.16.9) 上偏移不兼容, 会乱写内存。
|
||||||
// BasePointer
|
|
||||||
uintptr_t Physics = m.Read<uintptr_t>(local.m_address + offset::Player::pPhysics);
|
|
||||||
|
|
||||||
uintptr_t BreathEffector = m.Read<uintptr_t>(local.m_pWeaponAnimation + offset::WeaponAnimations::Breath);
|
|
||||||
|
|
||||||
uintptr_t Stamina = m.Read<uintptr_t>(Physics + offset::Physics::Stamina);
|
|
||||||
|
|
||||||
// No Recoil/Sway
|
|
||||||
if (g.g_NoSway) {
|
|
||||||
m.Write<int>(local.m_pWeaponAnimation + 0x140, 1); // Mask?
|
|
||||||
m.Write<float>(BreathEffector + 0xa4, 0.001f);
|
|
||||||
}
|
|
||||||
|
|
||||||
// InfStamina
|
|
||||||
if (g.g_InfStamina && m.Read<float>(Stamina + 0x48) < 85.f)
|
|
||||||
m.Write<float>(Stamina + 0x48, 100.f);
|
|
||||||
|
|
||||||
// NoFall Damage
|
|
||||||
if (g.g_NoFallDmg && m.Read<float>(Physics + offset::Physics::FallDamageMultiplier) != 0.f)
|
|
||||||
m.Write<float>(Physics + offset::Physics::FallDamageMultiplier, 0.f);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CFramework::GetESPInfo(const int& SpawnType, std::string& vOutStr, ImColor& vOutColor)
|
void CFramework::GetESPInfo(const int& SpawnType, std::string& vOutStr, ImColor& vOutColor)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@ public:
|
||||||
void RenderInfo();
|
void RenderInfo();
|
||||||
void RenderMenu();
|
void RenderMenu();
|
||||||
void RenderESP();
|
void RenderESP();
|
||||||
void MiscAll();
|
|
||||||
void AimAll();
|
void AimAll();
|
||||||
private:
|
private:
|
||||||
CGame* tarkov = new CGame();
|
CGame* tarkov = new CGame();
|
||||||
|
|
|
||||||
|
|
@ -119,9 +119,8 @@ void CFramework::RenderMenu()
|
||||||
ImGui::Separator();
|
ImGui::Separator();
|
||||||
ImGui::Spacing();
|
ImGui::Spacing();
|
||||||
|
|
||||||
ImGui::Checkbox("无摆动", &g.g_NoSway);
|
ImGui::TextDisabled("内存修改类功能已移除");
|
||||||
ImGui::Checkbox("无限耐力", &g.g_InfStamina);
|
ImGui::TextDisabled("(Mono 版偏移不兼容, 防止乱写内存)");
|
||||||
ImGui::Checkbox("无掉落伤害", &g.g_NoFallDmg);
|
|
||||||
ImGui::EndChild();
|
ImGui::EndChild();
|
||||||
|
|
||||||
ImGui::BeginChild("##C021", ImVec2(ImGui::GetContentRegionAvail()), true);
|
ImGui::BeginChild("##C021", ImVec2(ImGui::GetContentRegionAvail()), true);
|
||||||
|
|
@ -234,11 +233,11 @@ void CFramework::RenderMenu()
|
||||||
ImGui::InputInt("MC", &g.g_AimMcOffset, 8, 8, ImGuiInputTextFlags_CharsHexadecimal);
|
ImGui::InputInt("MC", &g.g_AimMcOffset, 8, 8, ImGuiInputTextFlags_CharsHexadecimal);
|
||||||
ImGui::InputInt("旋转", &g.g_AimRotOffset, 4, 4, ImGuiInputTextFlags_CharsHexadecimal);
|
ImGui::InputInt("旋转", &g.g_AimRotOffset, 4, 4, ImGuiInputTextFlags_CharsHexadecimal);
|
||||||
|
|
||||||
// 误改输入框会直接导致 Memory 模式失效, 一键恢复默认
|
// 误改输入框会直接导致 Memory 模式失效, 一键恢复本客户端实测默认值
|
||||||
if (ImGui::Button("重置偏移 (0x170/0x2C0)", ImVec2(ImGui::GetContentRegionAvail().x, 0.f)))
|
if (ImGui::Button("重置偏移 (0x1E0/0x3A4)", ImVec2(ImGui::GetContentRegionAvail().x, 0.f)))
|
||||||
{
|
{
|
||||||
g.g_AimMcOffset = 0x170;
|
g.g_AimMcOffset = 0x1E0;
|
||||||
g.g_AimRotOffset = 0x2C0;
|
g.g_AimRotOffset = 0x3A4;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ImGui::Button("扫描旋转偏移(两步)", ImVec2(ImGui::GetContentRegionAvail().x, 0.f)))
|
if (ImGui::Button("扫描旋转偏移(两步)", ImVec2(ImGui::GetContentRegionAvail().x, 0.f)))
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,8 @@ namespace offset
|
||||||
namespace Player
|
namespace Player
|
||||||
{
|
{
|
||||||
constexpr auto pPlayerBody = 0xC0;
|
constexpr auto pPlayerBody = 0xC0;
|
||||||
constexpr auto pMovementContext = 0x170;
|
constexpr auto pMovementContext = 0x1E0; // EXFIL DELTA (Mono 0.16.9) 实测. IL2CPP 0.15.x 是 0x170
|
||||||
constexpr auto pWeaponAnimation = 0x1E0;
|
constexpr auto pWeaponAnimation = 0x1E0; // IL2CPP 版定义, Mono 版实际是 MovementContext (框架旧代码保留)
|
||||||
constexpr auto pProfile = 0x600;
|
constexpr auto pProfile = 0x600;
|
||||||
constexpr auto pPhysics = 0x610;
|
constexpr auto pPhysics = 0x610;
|
||||||
constexpr auto pHealthController = 0x640;
|
constexpr auto pHealthController = 0x640;
|
||||||
|
|
@ -29,8 +29,8 @@ namespace offset
|
||||||
namespace MovementContext
|
namespace MovementContext
|
||||||
{
|
{
|
||||||
// Vector2 (x = yaw, y = pitch) [rad]
|
// Vector2 (x = yaw, y = pitch) [rad]
|
||||||
// SPT 3.11.x (EFT 0.15.x) の既定値。ズレていたらメニューの [回転デバッグ] で確認して調整する事。
|
// EXFIL DELTA (Mono 0.16.9) 实测: +0x3A4. IL2CPP 0.15.x 是 0x2C0
|
||||||
constexpr auto Rotation = 0x2C0;
|
constexpr auto Rotation = 0x3A4;
|
||||||
}
|
}
|
||||||
|
|
||||||
// EFT.Profile
|
// EFT.Profile
|
||||||
|
|
|
||||||
|
|
@ -29,10 +29,7 @@ struct Globals
|
||||||
float g_ESP_MaxDistance = 500.f;
|
float g_ESP_MaxDistance = 500.f;
|
||||||
float g_ESP_MaxItemDistance = 50.f;
|
float g_ESP_MaxItemDistance = 50.f;
|
||||||
|
|
||||||
// Misc
|
// Misc (内存修改类功能已移除: Mono 版偏移不兼容, 防止乱写内存)
|
||||||
bool g_NoSway = false;
|
|
||||||
bool g_InfStamina = true;
|
|
||||||
bool g_NoFallDmg = true;
|
|
||||||
|
|
||||||
// Aim (自瞄)
|
// Aim (自瞄)
|
||||||
bool g_Aim = false;
|
bool g_Aim = false;
|
||||||
|
|
@ -55,11 +52,12 @@ struct Globals
|
||||||
float g_RecoilStrength = 4.f; // 每次下拉的鼠标单位(mickeys)
|
float g_RecoilStrength = 4.f; // 每次下拉的鼠标单位(mickeys)
|
||||||
int g_RecoilInterval = 15; // 下拉间隔 [ms]
|
int g_RecoilInterval = 15; // 下拉间隔 [ms]
|
||||||
|
|
||||||
// Aim Offset (运行时可调, 默认 = Offset.h 的值)
|
// Aim Offset (运行时可调, 默认 = 本客户端实测值)
|
||||||
// Memory 模式自瞄用: Player + g_AimMcOffset -> + g_AimRotOffset (Vector2 yaw/pitch)
|
// Memory 模式自瞄用: Player + g_AimMcOffset -> + g_AimRotOffset (Vector2 yaw/pitch)
|
||||||
// 内置扫描器 [Scan Rotation] 找到后会直接写到这里, 再复制进 Offset.h 固化
|
// EXFIL DELTA (Mono 0.16.9) 实测: Player+0x1E0 = MovementContext, +0x3A4 = Rotation
|
||||||
int g_AimMcOffset = 0x170;
|
// 内置扫描器 [扫描旋转偏移] 找到后会直接写到这里
|
||||||
int g_AimRotOffset = 0x2C0;
|
int g_AimMcOffset = 0x1E0;
|
||||||
|
int g_AimRotOffset = 0x3A4;
|
||||||
|
|
||||||
// System
|
// System
|
||||||
bool g_StreamProof = false;
|
bool g_StreamProof = false;
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@ auto cheat = std::make_unique<CFramework>();
|
||||||
|
|
||||||
void Overlay::OverlayUserFunction()
|
void Overlay::OverlayUserFunction()
|
||||||
{
|
{
|
||||||
cheat->MiscAll();
|
|
||||||
|
|
||||||
cheat->RenderInfo();
|
cheat->RenderInfo();
|
||||||
|
|
||||||
if (g.g_ESP)
|
if (g.g_ESP)
|
||||||
|
|
@ -59,13 +57,12 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
||||||
// Load Font
|
// Load Font
|
||||||
io.Fonts->AddFontFromMemoryCompressedTTF(RobotoRegular_compressed_data, RobotoRegular_compressed_size, 13.f, nullptr);
|
io.Fonts->AddFontFromMemoryCompressedTTF(RobotoRegular_compressed_data, RobotoRegular_compressed_size, 13.f, nullptr);
|
||||||
|
|
||||||
// 中文字体 fallback (微软雅黑, 菜单中文化用)
|
// 中文字体 fallback (微软雅黑, 全量 CJK 字库, 菜单中文化用)
|
||||||
static const ImWchar cjk_ranges[] = { 0x4E00, 0x9FFF, 0 };
|
|
||||||
if (GetFileAttributesA("C:\\Windows\\Fonts\\msyh.ttc") != INVALID_FILE_ATTRIBUTES)
|
if (GetFileAttributesA("C:\\Windows\\Fonts\\msyh.ttc") != INVALID_FILE_ATTRIBUTES)
|
||||||
{
|
{
|
||||||
ImFontConfig cjk_config;
|
ImFontConfig cjk_config;
|
||||||
cjk_config.MergeMode = true;
|
cjk_config.MergeMode = true;
|
||||||
io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\msyh.ttc", 13.f, &cjk_config, io.Fonts->GetGlyphRangesChineseSimplifiedCommon());
|
io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\msyh.ttc", 13.f, &cjk_config, io.Fonts->GetGlyphRangesChineseFull());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Icon
|
// Load Icon
|
||||||
|
|
@ -81,7 +78,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
||||||
ImFontConfig cjk_icon_config;
|
ImFontConfig cjk_icon_config;
|
||||||
cjk_icon_config.MergeMode = true;
|
cjk_icon_config.MergeMode = true;
|
||||||
cjk_icon_config.GlyphOffset.y = 2.f;
|
cjk_icon_config.GlyphOffset.y = 2.f;
|
||||||
io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\msyh.ttc", 16.f, &cjk_icon_config, io.Fonts->GetGlyphRangesChineseSimplifiedCommon());
|
io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\msyh.ttc", 16.f, &cjk_icon_config, io.Fonts->GetGlyphRangesChineseFull());
|
||||||
}
|
}
|
||||||
io.Fonts->Build();
|
io.Fonts->Build();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue