mirror of
https://github.com/rei-2/Amalgam
synced 2026-10-10 04:43:09 +08:00
move hvh tab, update readme
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 9.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 9.6 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 227 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 562 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
@@ -853,7 +853,7 @@ void CAimbotHitscan::Run(CTFPlayer* pLocal, CTFWeaponBase* pWeapon, CUserCmd* pC
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (Vars::Aimbot::Hitscan::Modifiers.Value & Vars::Aimbot::Hitscan::ModifiersEnum::Tapfire && pWeapon->GetWeaponSpread() != 0.f && !pLocal->InCond(TF_COND_RUNE_PRECISION)
|
if (Vars::Aimbot::Hitscan::Modifiers.Value & Vars::Aimbot::Hitscan::ModifiersEnum::Tapfire && pWeapon->GetWeaponSpread() != 0.f && !pLocal->InCond(TF_COND_RUNE_PRECISION)
|
||||||
&& m_vEyePos.DistTo(tTarget.m_vPos) > Vars::Aimbot::Hitscan::TapFireDist.Value)
|
&& m_vEyePos.DistTo(tTarget.m_vPos) > Vars::Aimbot::Hitscan::TapfireDistance.Value)
|
||||||
{
|
{
|
||||||
const float flTimeSinceLastShot = (pLocal->m_nTickBase() * TICK_INTERVAL) - pWeapon->m_flLastFireTime();
|
const float flTimeSinceLastShot = (pLocal->m_nTickBase() * TICK_INTERVAL) - pWeapon->m_flLastFireTime();
|
||||||
if (flTimeSinceLastShot <= (pWeapon->GetBulletsPerShot() > 1 ? 0.25f : 1.25f))
|
if (flTimeSinceLastShot <= (pWeapon->GetBulletsPerShot() > 1 ? 0.25f : 1.25f))
|
||||||
|
|||||||
@@ -2068,7 +2068,7 @@ namespace ImGui
|
|||||||
// str = std::format("{:#x}", key);
|
// str = std::format("{:#x}", key);
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
inline void FKeybind(const char* sLabel, int& iOutput, int iFlags = FKeybindEnum::None, std::vector<int> vIgnore = { Vars::Menu::MenuPrimaryKey[DEFAULT_BIND], Vars::Menu::MenuSecondaryKey[DEFAULT_BIND] }, ImVec2 vSize = { 0, 30 }, int iSizeOffset = 0, bool* pHovered = nullptr)
|
inline void FKeybind(const char* sLabel, int& iOutput, int iFlags = FKeybindEnum::None, std::vector<int> vIgnore = { Vars::Menu::PrimaryKey[DEFAULT_BIND], Vars::Menu::SecondaryKey[DEFAULT_BIND] }, ImVec2 vSize = { 0, 30 }, int iSizeOffset = 0, bool* pHovered = nullptr)
|
||||||
{
|
{
|
||||||
ImGuiID uId = GetID(sLabel);
|
ImGuiID uId = GetID(sLabel);
|
||||||
PushID(sLabel);
|
PushID(sLabel);
|
||||||
@@ -2126,7 +2126,7 @@ namespace ImGui
|
|||||||
|
|
||||||
PopID();
|
PopID();
|
||||||
}
|
}
|
||||||
inline void FKeybind(ConfigVar<int>& var, int iFlags = FKeybindEnum::None, std::vector<int> vIgnore = { Vars::Menu::MenuPrimaryKey[DEFAULT_BIND], Vars::Menu::MenuSecondaryKey[DEFAULT_BIND] }, ImVec2 vSize = { 0, 30 }, int iSizeOffset = 0, bool* pHovered = nullptr)
|
inline void FKeybind(ConfigVar<int>& var, int iFlags = FKeybindEnum::None, std::vector<int> vIgnore = { Vars::Menu::PrimaryKey[DEFAULT_BIND], Vars::Menu::SecondaryKey[DEFAULT_BIND] }, ImVec2 vSize = { 0, 30 }, int iSizeOffset = 0, bool* pHovered = nullptr)
|
||||||
{
|
{
|
||||||
FKeybind(var.m_vTitle.front(), var[DEFAULT_BIND], iFlags, vIgnore, vSize, iSizeOffset, pHovered);
|
FKeybind(var.m_vTitle.front(), var[DEFAULT_BIND], iFlags, vIgnore, vSize, iSizeOffset, pHovered);
|
||||||
}
|
}
|
||||||
@@ -2541,7 +2541,7 @@ namespace ImGui
|
|||||||
|
|
||||||
if (tBind.m_iType == BindEnum::Key)
|
if (tBind.m_iType == BindEnum::Key)
|
||||||
{
|
{
|
||||||
FKeybind("Key", tBind.m_iKey, FKeybindEnum::None, { Vars::Menu::MenuPrimaryKey[DEFAULT_BIND], Vars::Menu::MenuSecondaryKey[DEFAULT_BIND] }, { 0, 30 }, 0, &bHovered);
|
FKeybind("Key", tBind.m_iKey, FKeybindEnum::None, { Vars::Menu::PrimaryKey[DEFAULT_BIND], Vars::Menu::SecondaryKey[DEFAULT_BIND] }, { 0, 30 }, 0, &bHovered);
|
||||||
bLastHovered = bLastHovered || bHovered;
|
bLastHovered = bLastHovered || bHovered;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -73,13 +73,13 @@ void CMenu::DrawMenu()
|
|||||||
PushFont(F::Render.FontBold);
|
PushFont(F::Render.FontBold);
|
||||||
FTabs(
|
FTabs(
|
||||||
{
|
{
|
||||||
{ "AIMBOT", "GENERAL", "HVH", "DRAW" },
|
{ "AIMBOT", "GENERAL", "DRAW" },
|
||||||
{ "VISUALS", "ESP", "MISC##", "MENU" },
|
{ "VISUALS", "ESP", "MISC##", "MENU" },
|
||||||
{ "MISC" },
|
{ "MISC", "MAIN", "HVH" },
|
||||||
{ "LOGS", "PLAYERLIST", "SETTINGS##", "OUTPUT" },
|
{ "LOGS", "PLAYERLIST", "SETTINGS##", "OUTPUT" },
|
||||||
{ "SETTINGS", "CONFIG", "BINDS", "MATERIALS", "EXTRA" }
|
{ "SETTINGS", "CONFIG", "BINDS", "MATERIALS", "EXTRA" }
|
||||||
},
|
},
|
||||||
{ &iTab, &iAimbotTab, &iVisualsTab, nullptr, &iLogsTab, &iSettingsTab },
|
{ &iTab, &iAimbotTab, &iVisualsTab, &iMiscTab, &iLogsTab, &iSettingsTab },
|
||||||
{ H::Draw.Scale(flSideSize - 16), H::Draw.Scale(36) },
|
{ H::Draw.Scale(flSideSize - 16), H::Draw.Scale(36) },
|
||||||
{ H::Draw.Scale(8), H::Draw.Scale(8) + flOffset },
|
{ H::Draw.Scale(8), H::Draw.Scale(8) + flOffset },
|
||||||
FTabsEnum::Vertical | FTabsEnum::HorizontalIcons | FTabsEnum::AlignLeft | FTabsEnum::BarLeft,
|
FTabsEnum::Vertical | FTabsEnum::HorizontalIcons | FTabsEnum::AlignLeft | FTabsEnum::BarLeft,
|
||||||
@@ -225,7 +225,7 @@ void CMenu::MenuAimbot(int iTab)
|
|||||||
FSlider(Vars::Aimbot::Hitscan::PointScale);
|
FSlider(Vars::Aimbot::Hitscan::PointScale);
|
||||||
PushTransparent(!(Vars::Aimbot::Hitscan::Modifiers.Value & Vars::Aimbot::Hitscan::ModifiersEnum::Tapfire));
|
PushTransparent(!(Vars::Aimbot::Hitscan::Modifiers.Value & Vars::Aimbot::Hitscan::ModifiersEnum::Tapfire));
|
||||||
{
|
{
|
||||||
FSlider(Vars::Aimbot::Hitscan::TapFireDist);
|
FSlider(Vars::Aimbot::Hitscan::TapfireDistance);
|
||||||
}
|
}
|
||||||
PopTransparent();
|
PopTransparent();
|
||||||
} EndSection();
|
} EndSection();
|
||||||
@@ -335,153 +335,8 @@ void CMenu::MenuAimbot(int iTab)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// HvH
|
|
||||||
case 1:
|
|
||||||
{
|
|
||||||
if (BeginTable("HvHTable", 2))
|
|
||||||
{
|
|
||||||
/* Column 1 */
|
|
||||||
TableNextColumn();
|
|
||||||
{
|
|
||||||
if (Section("Doubletap", 8))
|
|
||||||
{
|
|
||||||
FToggle(Vars::Doubletap::Doubletap, FToggleEnum::Left);
|
|
||||||
FToggle(Vars::Doubletap::Warp, FToggleEnum::Right);
|
|
||||||
FToggle(Vars::Doubletap::RechargeTicks, FToggleEnum::Left);
|
|
||||||
FToggle(Vars::Doubletap::AntiWarp, FToggleEnum::Right);
|
|
||||||
FSlider(Vars::Doubletap::TickLimit, FSliderEnum::Left);
|
|
||||||
FSlider(Vars::Doubletap::WarpRate, FSliderEnum::Right);
|
|
||||||
FSlider(Vars::Doubletap::RechargeLimit, FSliderEnum::Left);
|
|
||||||
FSlider(Vars::Doubletap::PassiveRecharge, FSliderEnum::Right);
|
|
||||||
} EndSection();
|
|
||||||
if (Section("Fakelag"))
|
|
||||||
{
|
|
||||||
FDropdown(Vars::Fakelag::Fakelag, FSliderEnum::Left);
|
|
||||||
FDropdown(Vars::Fakelag::Options, FDropdownEnum::Right);
|
|
||||||
PushTransparent(Vars::Fakelag::Fakelag.Value != Vars::Fakelag::FakelagEnum::Plain);
|
|
||||||
{
|
|
||||||
FSlider(Vars::Fakelag::PlainTicks, FSliderEnum::Left);
|
|
||||||
}
|
|
||||||
PopTransparent();
|
|
||||||
PushTransparent(Vars::Fakelag::Fakelag.Value != Vars::Fakelag::FakelagEnum::Random);
|
|
||||||
{
|
|
||||||
FSlider(Vars::Fakelag::RandomTicks, FSliderEnum::Right);
|
|
||||||
}
|
|
||||||
PopTransparent();
|
|
||||||
FToggle(Vars::Fakelag::UnchokeOnAttack, FToggleEnum::Left);
|
|
||||||
FToggle(Vars::Fakelag::RetainBlastJump, FToggleEnum::Right);
|
|
||||||
} EndSection();
|
|
||||||
if (Vars::Debug::Options.Value)
|
|
||||||
{
|
|
||||||
if (Section("##Debug"))
|
|
||||||
{
|
|
||||||
FToggle(Vars::Fakelag::RetainSoldierOnly);
|
|
||||||
} EndSection();
|
|
||||||
}
|
|
||||||
if (Section("Antiaim", 8))
|
|
||||||
{
|
|
||||||
FToggle(Vars::AntiAim::Enabled);
|
|
||||||
FDropdown(Vars::AntiAim::PitchReal, FDropdownEnum::Left);
|
|
||||||
FDropdown(Vars::AntiAim::PitchFake, FDropdownEnum::Right);
|
|
||||||
FDropdown(Vars::AntiAim::YawReal, FDropdownEnum::Left);
|
|
||||||
FDropdown(Vars::AntiAim::YawFake, FDropdownEnum::Right);
|
|
||||||
FDropdown(Vars::AntiAim::RealYawMode, FDropdownEnum::Left);
|
|
||||||
FDropdown(Vars::AntiAim::FakeYawMode, FDropdownEnum::Right);
|
|
||||||
FSlider(Vars::AntiAim::RealYawOffset, FSliderEnum::Left);
|
|
||||||
FSlider(Vars::AntiAim::FakeYawOffset, FSliderEnum::Right);
|
|
||||||
PushTransparent(Vars::AntiAim::YawReal.Value != Vars::AntiAim::YawEnum::Edge && Vars::AntiAim::YawReal.Value != Vars::AntiAim::YawEnum::Jitter);
|
|
||||||
{
|
|
||||||
FSlider(Vars::AntiAim::RealYawValue, FSliderEnum::Left);
|
|
||||||
}
|
|
||||||
PopTransparent();
|
|
||||||
PushTransparent(Vars::AntiAim::YawFake.Value != Vars::AntiAim::YawEnum::Edge && Vars::AntiAim::YawFake.Value != Vars::AntiAim::YawEnum::Jitter);
|
|
||||||
{
|
|
||||||
FSlider(Vars::AntiAim::FakeYawValue, FSliderEnum::Right);
|
|
||||||
}
|
|
||||||
PopTransparent();
|
|
||||||
PushTransparent(Vars::AntiAim::YawFake.Value != Vars::AntiAim::YawEnum::Spin && Vars::AntiAim::YawReal.Value != Vars::AntiAim::YawEnum::Spin);
|
|
||||||
{
|
|
||||||
FSlider(Vars::AntiAim::SpinSpeed, FSliderEnum::Left);
|
|
||||||
}
|
|
||||||
PopTransparent();
|
|
||||||
SetCursorPos({ GetWindowWidth() / 2 + GetStyle().WindowPadding.x / 2, GetRowPos() + H::Draw.Scale(8) });
|
|
||||||
FToggle(Vars::AntiAim::MinWalk, FToggleEnum::Left);
|
|
||||||
FToggle(Vars::AntiAim::AntiOverlap, FToggleEnum::Left);
|
|
||||||
FToggle(Vars::AntiAim::InvalidShootPitch, FToggleEnum::Right);
|
|
||||||
} EndSection();
|
|
||||||
}
|
|
||||||
/* Column 2 */
|
|
||||||
TableNextColumn();
|
|
||||||
{
|
|
||||||
if (Section("Resolver", 8))
|
|
||||||
{
|
|
||||||
FToggle(Vars::Resolver::Enabled, FToggleEnum::Left);
|
|
||||||
PushTransparent(!Vars::Resolver::Enabled.Value);
|
|
||||||
{
|
|
||||||
FToggle(Vars::Resolver::AutoResolve, FToggleEnum::Right);
|
|
||||||
PushTransparent(Transparent || !Vars::Resolver::AutoResolve.Value);
|
|
||||||
{
|
|
||||||
FToggle(Vars::Resolver::AutoResolveCheatersOnly, FToggleEnum::Left);
|
|
||||||
FToggle(Vars::Resolver::AutoResolveHeadshotOnly, FToggleEnum::Right);
|
|
||||||
PushTransparent(Transparent || !Vars::Resolver::AutoResolveYawAmount.Value);
|
|
||||||
{
|
|
||||||
FSlider(Vars::Resolver::AutoResolveYawAmount, FSliderEnum::Left);
|
|
||||||
}
|
|
||||||
PopTransparent();
|
|
||||||
PushTransparent(Transparent || !Vars::Resolver::AutoResolvePitchAmount.Value);
|
|
||||||
{
|
|
||||||
FSlider(Vars::Resolver::AutoResolvePitchAmount, FSliderEnum::Right);
|
|
||||||
}
|
|
||||||
PopTransparent();
|
|
||||||
}
|
|
||||||
PopTransparent();
|
|
||||||
FSlider(Vars::Resolver::CycleYaw, FSliderEnum::Left);
|
|
||||||
FSlider(Vars::Resolver::CyclePitch, FSliderEnum::Right);
|
|
||||||
FToggle(Vars::Resolver::CycleView, FToggleEnum::Left);
|
|
||||||
FToggle(Vars::Resolver::CycleMinwalk, FToggleEnum::Right);
|
|
||||||
}
|
|
||||||
PopTransparent();
|
|
||||||
} EndSection();
|
|
||||||
if (Section("Auto Peek", 8))
|
|
||||||
{
|
|
||||||
FToggle(Vars::AutoPeek::Enabled);
|
|
||||||
} EndSection();
|
|
||||||
if (Section("Cheater Detection"))
|
|
||||||
{
|
|
||||||
FDropdown(Vars::CheaterDetection::Methods);
|
|
||||||
PushTransparent(!Vars::CheaterDetection::DetectionsRequired.Value);
|
|
||||||
{
|
|
||||||
FSlider(Vars::CheaterDetection::DetectionsRequired);
|
|
||||||
}
|
|
||||||
PopTransparent();
|
|
||||||
PushTransparent(!(Vars::CheaterDetection::Methods.Value & Vars::CheaterDetection::MethodsEnum::PacketChoking));
|
|
||||||
{
|
|
||||||
FSlider(Vars::CheaterDetection::MinimumChoking);
|
|
||||||
}
|
|
||||||
PopTransparent();
|
|
||||||
PushTransparent(!(Vars::CheaterDetection::Methods.Value & Vars::CheaterDetection::MethodsEnum::AimFlicking));
|
|
||||||
{
|
|
||||||
FSlider(Vars::CheaterDetection::MinimumFlick, FSliderEnum::Left);
|
|
||||||
FSlider(Vars::CheaterDetection::MaximumNoise, FSliderEnum::Right);
|
|
||||||
}
|
|
||||||
PopTransparent();
|
|
||||||
} EndSection();
|
|
||||||
if (Section("Speedhack", 8))
|
|
||||||
{
|
|
||||||
FToggle(Vars::Speedhack::Enabled);
|
|
||||||
PushTransparent(!Vars::Speedhack::Enabled.Value);
|
|
||||||
{
|
|
||||||
FSlider(Vars::Speedhack::Amount);
|
|
||||||
}
|
|
||||||
PopTransparent();
|
|
||||||
} EndSection();
|
|
||||||
}
|
|
||||||
EndTable();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
// Draw
|
// Draw
|
||||||
case 2:
|
case 1:
|
||||||
{
|
{
|
||||||
if (BeginTable("DrawTable", 2))
|
if (BeginTable("DrawTable", 2))
|
||||||
{
|
{
|
||||||
@@ -1013,7 +868,7 @@ void CMenu::MenuVisuals(int iTab)
|
|||||||
/* Column 1 */
|
/* Column 1 */
|
||||||
TableNextColumn();
|
TableNextColumn();
|
||||||
{
|
{
|
||||||
if (Section("Menu", 8))
|
if (Section("Settings", 8))
|
||||||
{
|
{
|
||||||
FColorPicker(Vars::Menu::Theme::Accent, FColorPickerEnum::Left);
|
FColorPicker(Vars::Menu::Theme::Accent, FColorPickerEnum::Left);
|
||||||
FColorPicker(Vars::Menu::Theme::Background, FColorPickerEnum::Right);
|
FColorPicker(Vars::Menu::Theme::Background, FColorPickerEnum::Right);
|
||||||
@@ -1022,8 +877,8 @@ void CMenu::MenuVisuals(int iTab)
|
|||||||
|
|
||||||
FSDropdown(Vars::Menu::CheatTitle, FDropdownEnum::Left);
|
FSDropdown(Vars::Menu::CheatTitle, FDropdownEnum::Left);
|
||||||
FSDropdown(Vars::Menu::CheatTag, FDropdownEnum::Right);
|
FSDropdown(Vars::Menu::CheatTag, FDropdownEnum::Right);
|
||||||
FKeybind(Vars::Menu::MenuPrimaryKey, FButtonEnum::Left, { Vars::Menu::MenuSecondaryKey[DEFAULT_BIND], VK_LBUTTON, VK_RBUTTON });
|
FKeybind(Vars::Menu::PrimaryKey, FButtonEnum::Left, { Vars::Menu::SecondaryKey[DEFAULT_BIND], VK_LBUTTON, VK_RBUTTON });
|
||||||
FKeybind(Vars::Menu::MenuSecondaryKey, FButtonEnum::Right | FButtonEnum::SameLine, { Vars::Menu::MenuPrimaryKey[DEFAULT_BIND], VK_LBUTTON, VK_RBUTTON });
|
FKeybind(Vars::Menu::SecondaryKey, FButtonEnum::Right | FButtonEnum::SameLine, { Vars::Menu::PrimaryKey[DEFAULT_BIND], VK_LBUTTON, VK_RBUTTON });
|
||||||
} EndSection();
|
} EndSection();
|
||||||
}
|
}
|
||||||
/* Column 2 */
|
/* Column 2 */
|
||||||
@@ -1054,6 +909,7 @@ void CMenu::MenuVisuals(int iTab)
|
|||||||
}
|
}
|
||||||
EndTable();
|
EndTable();
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1064,6 +920,7 @@ void CMenu::MenuMisc(int iTab)
|
|||||||
|
|
||||||
switch (iTab)
|
switch (iTab)
|
||||||
{
|
{
|
||||||
|
// Main
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
if (BeginTable("MiscTable", 2))
|
if (BeginTable("MiscTable", 2))
|
||||||
@@ -1088,7 +945,7 @@ void CMenu::MenuMisc(int iTab)
|
|||||||
FToggle(Vars::Misc::Movement::AutoCTap, FToggleEnum::Right);
|
FToggle(Vars::Misc::Movement::AutoCTap, FToggleEnum::Right);
|
||||||
FToggle(Vars::Misc::Movement::FastStop, FToggleEnum::Left);
|
FToggle(Vars::Misc::Movement::FastStop, FToggleEnum::Left);
|
||||||
FToggle(Vars::Misc::Movement::FastAccelerate, FToggleEnum::Right);
|
FToggle(Vars::Misc::Movement::FastAccelerate, FToggleEnum::Right);
|
||||||
FToggle(Vars::Misc::Movement::CrouchSpeed, FToggleEnum::Left);
|
FToggle(Vars::Misc::Movement::DuckSpeed, FToggleEnum::Left);
|
||||||
FToggle(Vars::Misc::Movement::MovementLock, FToggleEnum::Right);
|
FToggle(Vars::Misc::Movement::MovementLock, FToggleEnum::Right);
|
||||||
FToggle(Vars::Misc::Movement::BreakJump, FToggleEnum::Left);
|
FToggle(Vars::Misc::Movement::BreakJump, FToggleEnum::Left);
|
||||||
FToggle(Vars::Misc::Movement::ShieldTurnRate, FToggleEnum::Right);
|
FToggle(Vars::Misc::Movement::ShieldTurnRate, FToggleEnum::Right);
|
||||||
@@ -1166,6 +1023,152 @@ void CMenu::MenuMisc(int iTab)
|
|||||||
}
|
}
|
||||||
EndTable();
|
EndTable();
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// HvH
|
||||||
|
case 1:
|
||||||
|
{
|
||||||
|
if (BeginTable("HvHTable", 2))
|
||||||
|
{
|
||||||
|
/* Column 1 */
|
||||||
|
TableNextColumn();
|
||||||
|
{
|
||||||
|
if (Section("Doubletap", 8))
|
||||||
|
{
|
||||||
|
FToggle(Vars::Doubletap::Doubletap, FToggleEnum::Left);
|
||||||
|
FToggle(Vars::Doubletap::Warp, FToggleEnum::Right);
|
||||||
|
FToggle(Vars::Doubletap::RechargeTicks, FToggleEnum::Left);
|
||||||
|
FToggle(Vars::Doubletap::AntiWarp, FToggleEnum::Right);
|
||||||
|
FSlider(Vars::Doubletap::TickLimit, FSliderEnum::Left);
|
||||||
|
FSlider(Vars::Doubletap::WarpRate, FSliderEnum::Right);
|
||||||
|
FSlider(Vars::Doubletap::RechargeLimit, FSliderEnum::Left);
|
||||||
|
FSlider(Vars::Doubletap::PassiveRecharge, FSliderEnum::Right);
|
||||||
|
} EndSection();
|
||||||
|
if (Section("Fakelag"))
|
||||||
|
{
|
||||||
|
FDropdown(Vars::Fakelag::Fakelag, FSliderEnum::Left);
|
||||||
|
FDropdown(Vars::Fakelag::Options, FDropdownEnum::Right);
|
||||||
|
PushTransparent(Vars::Fakelag::Fakelag.Value != Vars::Fakelag::FakelagEnum::Plain);
|
||||||
|
{
|
||||||
|
FSlider(Vars::Fakelag::PlainTicks, FSliderEnum::Left);
|
||||||
|
}
|
||||||
|
PopTransparent();
|
||||||
|
PushTransparent(Vars::Fakelag::Fakelag.Value != Vars::Fakelag::FakelagEnum::Random);
|
||||||
|
{
|
||||||
|
FSlider(Vars::Fakelag::RandomTicks, FSliderEnum::Right);
|
||||||
|
}
|
||||||
|
PopTransparent();
|
||||||
|
FToggle(Vars::Fakelag::UnchokeOnAttack, FToggleEnum::Left);
|
||||||
|
FToggle(Vars::Fakelag::RetainBlastJump, FToggleEnum::Right);
|
||||||
|
} EndSection();
|
||||||
|
if (Vars::Debug::Options.Value)
|
||||||
|
{
|
||||||
|
if (Section("##Debug"))
|
||||||
|
{
|
||||||
|
FToggle(Vars::Fakelag::RetainSoldierOnly);
|
||||||
|
} EndSection();
|
||||||
|
}
|
||||||
|
if (Section("Antiaim", 8))
|
||||||
|
{
|
||||||
|
FToggle(Vars::AntiAim::Enabled);
|
||||||
|
FDropdown(Vars::AntiAim::PitchReal, FDropdownEnum::Left);
|
||||||
|
FDropdown(Vars::AntiAim::PitchFake, FDropdownEnum::Right);
|
||||||
|
FDropdown(Vars::AntiAim::YawReal, FDropdownEnum::Left);
|
||||||
|
FDropdown(Vars::AntiAim::YawFake, FDropdownEnum::Right);
|
||||||
|
FDropdown(Vars::AntiAim::RealYawBase, FDropdownEnum::Left);
|
||||||
|
FDropdown(Vars::AntiAim::FakeYawBase, FDropdownEnum::Right);
|
||||||
|
FSlider(Vars::AntiAim::RealYawOffset, FSliderEnum::Left);
|
||||||
|
FSlider(Vars::AntiAim::FakeYawOffset, FSliderEnum::Right);
|
||||||
|
PushTransparent(Vars::AntiAim::YawReal.Value != Vars::AntiAim::YawEnum::Edge && Vars::AntiAim::YawReal.Value != Vars::AntiAim::YawEnum::Jitter);
|
||||||
|
{
|
||||||
|
FSlider(Vars::AntiAim::RealYawValue, FSliderEnum::Left);
|
||||||
|
}
|
||||||
|
PopTransparent();
|
||||||
|
PushTransparent(Vars::AntiAim::YawFake.Value != Vars::AntiAim::YawEnum::Edge && Vars::AntiAim::YawFake.Value != Vars::AntiAim::YawEnum::Jitter);
|
||||||
|
{
|
||||||
|
FSlider(Vars::AntiAim::FakeYawValue, FSliderEnum::Right);
|
||||||
|
}
|
||||||
|
PopTransparent();
|
||||||
|
PushTransparent(Vars::AntiAim::YawFake.Value != Vars::AntiAim::YawEnum::Spin && Vars::AntiAim::YawReal.Value != Vars::AntiAim::YawEnum::Spin);
|
||||||
|
{
|
||||||
|
FSlider(Vars::AntiAim::SpinSpeed, FSliderEnum::Left);
|
||||||
|
}
|
||||||
|
PopTransparent();
|
||||||
|
SetCursorPos({ GetWindowWidth() / 2 + GetStyle().WindowPadding.x / 2, GetRowPos() + H::Draw.Scale(8) });
|
||||||
|
FToggle(Vars::AntiAim::MinWalk, FToggleEnum::Left);
|
||||||
|
FToggle(Vars::AntiAim::AntiOverlap, FToggleEnum::Left);
|
||||||
|
FToggle(Vars::AntiAim::InvalidShootPitch, FToggleEnum::Right);
|
||||||
|
} EndSection();
|
||||||
|
}
|
||||||
|
/* Column 2 */
|
||||||
|
TableNextColumn();
|
||||||
|
{
|
||||||
|
if (Section("Resolver", 8))
|
||||||
|
{
|
||||||
|
FToggle(Vars::Resolver::Enabled, FToggleEnum::Left);
|
||||||
|
PushTransparent(!Vars::Resolver::Enabled.Value);
|
||||||
|
{
|
||||||
|
FToggle(Vars::Resolver::AutoResolve, FToggleEnum::Right);
|
||||||
|
PushTransparent(Transparent || !Vars::Resolver::AutoResolve.Value);
|
||||||
|
{
|
||||||
|
FToggle(Vars::Resolver::AutoResolveCheatersOnly, FToggleEnum::Left);
|
||||||
|
FToggle(Vars::Resolver::AutoResolveHeadshotOnly, FToggleEnum::Right);
|
||||||
|
PushTransparent(Transparent || !Vars::Resolver::AutoResolveYawAmount.Value);
|
||||||
|
{
|
||||||
|
FSlider(Vars::Resolver::AutoResolveYawAmount, FSliderEnum::Left);
|
||||||
|
}
|
||||||
|
PopTransparent();
|
||||||
|
PushTransparent(Transparent || !Vars::Resolver::AutoResolvePitchAmount.Value);
|
||||||
|
{
|
||||||
|
FSlider(Vars::Resolver::AutoResolvePitchAmount, FSliderEnum::Right);
|
||||||
|
}
|
||||||
|
PopTransparent();
|
||||||
|
}
|
||||||
|
PopTransparent();
|
||||||
|
FSlider(Vars::Resolver::CycleYaw, FSliderEnum::Left);
|
||||||
|
FSlider(Vars::Resolver::CyclePitch, FSliderEnum::Right);
|
||||||
|
FToggle(Vars::Resolver::CycleView, FToggleEnum::Left);
|
||||||
|
FToggle(Vars::Resolver::CycleMinwalk, FToggleEnum::Right);
|
||||||
|
}
|
||||||
|
PopTransparent();
|
||||||
|
} EndSection();
|
||||||
|
if (Section("Auto Peek", 8))
|
||||||
|
{
|
||||||
|
FToggle(Vars::AutoPeek::Enabled);
|
||||||
|
} EndSection();
|
||||||
|
if (Section("Cheater Detection"))
|
||||||
|
{
|
||||||
|
FDropdown(Vars::CheaterDetection::Methods);
|
||||||
|
PushTransparent(!Vars::CheaterDetection::DetectionsRequired.Value);
|
||||||
|
{
|
||||||
|
FSlider(Vars::CheaterDetection::DetectionsRequired);
|
||||||
|
}
|
||||||
|
PopTransparent();
|
||||||
|
PushTransparent(!(Vars::CheaterDetection::Methods.Value & Vars::CheaterDetection::MethodsEnum::PacketChoking));
|
||||||
|
{
|
||||||
|
FSlider(Vars::CheaterDetection::MinimumChoking);
|
||||||
|
}
|
||||||
|
PopTransparent();
|
||||||
|
PushTransparent(!(Vars::CheaterDetection::Methods.Value & Vars::CheaterDetection::MethodsEnum::AimFlicking));
|
||||||
|
{
|
||||||
|
FSlider(Vars::CheaterDetection::MinimumFlick, FSliderEnum::Left);
|
||||||
|
FSlider(Vars::CheaterDetection::MaximumNoise, FSliderEnum::Right);
|
||||||
|
}
|
||||||
|
PopTransparent();
|
||||||
|
} EndSection();
|
||||||
|
if (Section("Speedhack", 8))
|
||||||
|
{
|
||||||
|
FToggle(Vars::Speedhack::Enabled);
|
||||||
|
PushTransparent(!Vars::Speedhack::Enabled.Value);
|
||||||
|
{
|
||||||
|
FSlider(Vars::Speedhack::Amount);
|
||||||
|
}
|
||||||
|
PopTransparent();
|
||||||
|
} EndSection();
|
||||||
|
}
|
||||||
|
EndTable();
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2178,6 +2181,7 @@ void CMenu::MenuLogs(int iTab)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} EndSection();
|
} EndSection();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2430,7 +2434,7 @@ void CMenu::MenuSettings(int iTab)
|
|||||||
tBind.m_bNot = iNot;
|
tBind.m_bNot = iNot;
|
||||||
FDropdown("Visibility", &tBind.m_iVisibility, { "Always", "While active", "Hidden" }, {}, FDropdownEnum::Right);
|
FDropdown("Visibility", &tBind.m_iVisibility, { "Always", "While active", "Hidden" }, {}, FDropdownEnum::Right);
|
||||||
if (tBind.m_iType == 0)
|
if (tBind.m_iType == 0)
|
||||||
FKeybind("Key", tBind.m_iKey, FButtonEnum::None, { Vars::Menu::MenuPrimaryKey[DEFAULT_BIND], Vars::Menu::MenuSecondaryKey[DEFAULT_BIND] }, { 0, 40 }, -96);
|
FKeybind("Key", tBind.m_iKey, FButtonEnum::None, { Vars::Menu::PrimaryKey[DEFAULT_BIND], Vars::Menu::SecondaryKey[DEFAULT_BIND] }, { 0, 40 }, -96);
|
||||||
|
|
||||||
// create/modify button
|
// create/modify button
|
||||||
bool bCreate = false, bClear = false, bParent = true;
|
bool bCreate = false, bClear = false, bParent = true;
|
||||||
@@ -2841,7 +2845,7 @@ void CMenu::MenuSettings(int iTab)
|
|||||||
FToggle(Vars::Debug::VisualizeTraceHits, FToggleEnum::Right);
|
FToggle(Vars::Debug::VisualizeTraceHits, FToggleEnum::Right);
|
||||||
#endif
|
#endif
|
||||||
} EndSection();
|
} EndSection();
|
||||||
if (Section("Extra"))
|
if (Section("Buttons"))
|
||||||
{
|
{
|
||||||
if (FButton("cl_fullupdate", FButtonEnum::Left))
|
if (FButton("cl_fullupdate", FButtonEnum::Left))
|
||||||
I::EngineClient->ClientCmd_Unrestricted("cl_fullupdate");
|
I::EngineClient->ClientCmd_Unrestricted("cl_fullupdate");
|
||||||
@@ -2955,6 +2959,7 @@ void CMenu::MenuSettings(int iTab)
|
|||||||
}
|
}
|
||||||
} EndSection();
|
} EndSection();
|
||||||
#endif
|
#endif
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3166,14 +3171,14 @@ void CMenu::MenuSearch(std::string sSearch)
|
|||||||
std::vector<int> vIgnore;
|
std::vector<int> vIgnore;
|
||||||
switch (FNV1A::Hash32(pVar->m_sName.c_str()))
|
switch (FNV1A::Hash32(pVar->m_sName.c_str()))
|
||||||
{
|
{
|
||||||
case FNV1A::Hash32Const("Vars::Menu::MenuPrimaryKey"):
|
case FNV1A::Hash32Const("Vars::Menu::PrimaryKey"):
|
||||||
vIgnore = { Vars::Menu::MenuSecondaryKey[DEFAULT_BIND], VK_LBUTTON, VK_RBUTTON };
|
vIgnore = { Vars::Menu::SecondaryKey[DEFAULT_BIND], VK_LBUTTON, VK_RBUTTON };
|
||||||
break;
|
break;
|
||||||
case FNV1A::Hash32Const("Vars::Menu::MenuSecondaryKey"):
|
case FNV1A::Hash32Const("Vars::Menu::SecondaryKey"):
|
||||||
vIgnore = { Vars::Menu::MenuPrimaryKey[DEFAULT_BIND], VK_LBUTTON, VK_RBUTTON };
|
vIgnore = { Vars::Menu::PrimaryKey[DEFAULT_BIND], VK_LBUTTON, VK_RBUTTON };
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
vIgnore = { Vars::Menu::MenuPrimaryKey[DEFAULT_BIND], Vars::Menu::MenuSecondaryKey[DEFAULT_BIND] };
|
vIgnore = { Vars::Menu::PrimaryKey[DEFAULT_BIND], Vars::Menu::SecondaryKey[DEFAULT_BIND] };
|
||||||
}
|
}
|
||||||
FKeybind(iOverride != -1 ? pVar->m_vTitle[iOverride] : pVar->m_vTitle.front(), pVar->Map[DEFAULT_BIND], !(i % 2) ? FButtonEnum::Left : FButtonEnum::Right | FButtonEnum::SameLine, vIgnore);
|
FKeybind(iOverride != -1 ? pVar->m_vTitle[iOverride] : pVar->m_vTitle.front(), pVar->Map[DEFAULT_BIND], !(i % 2) ? FButtonEnum::Left : FButtonEnum::Right | FButtonEnum::SameLine, vIgnore);
|
||||||
break;
|
break;
|
||||||
@@ -3527,11 +3532,11 @@ void CMenu::Render()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
U::KeyHandler.StoreKey(Vars::Menu::MenuPrimaryKey.Value);
|
U::KeyHandler.StoreKey(Vars::Menu::PrimaryKey.Value);
|
||||||
U::KeyHandler.StoreKey(Vars::Menu::MenuSecondaryKey.Value);
|
U::KeyHandler.StoreKey(Vars::Menu::SecondaryKey.Value);
|
||||||
U::KeyHandler.StoreKey(VK_F11);
|
U::KeyHandler.StoreKey(VK_F11);
|
||||||
}
|
}
|
||||||
if (U::KeyHandler.Pressed(Vars::Menu::MenuPrimaryKey.Value) || U::KeyHandler.Pressed(Vars::Menu::MenuSecondaryKey.Value))
|
if (U::KeyHandler.Pressed(Vars::Menu::PrimaryKey.Value) || U::KeyHandler.Pressed(Vars::Menu::SecondaryKey.Value))
|
||||||
I::MatSystemSurface->SetCursorAlwaysVisible(m_bIsOpen = !m_bIsOpen);
|
I::MatSystemSurface->SetCursorAlwaysVisible(m_bIsOpen = !m_bIsOpen);
|
||||||
|
|
||||||
PushFont(F::Render.FontRegular);
|
PushFont(F::Render.FontRegular);
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ void CAutoVote::UserMessage(bf_read& msgData)
|
|||||||
|
|
||||||
if (Vars::Misc::Automation::AutoF2Ignored.Value
|
if (Vars::Misc::Automation::AutoF2Ignored.Value
|
||||||
&& (F::PlayerUtils.IsIgnored(iTarget)
|
&& (F::PlayerUtils.IsIgnored(iTarget)
|
||||||
|| Vars::Aimbot::General::Ignore.Value & Vars::Aimbot::General::IgnoreEnum::Friends && H::Entities.IsFriend(iTarget)
|
|| /*Vars::Aimbot::General::Ignore.Value & Vars::Aimbot::General::IgnoreEnum::Friends &&*/ H::Entities.IsFriend(iTarget)
|
||||||
|| Vars::Aimbot::General::Ignore.Value & Vars::Aimbot::General::IgnoreEnum::Party && H::Entities.InParty(iTarget)))
|
|| /*Vars::Aimbot::General::Ignore.Value & Vars::Aimbot::General::IgnoreEnum::Friends &&*/ H::Entities.InParty(iTarget)))
|
||||||
{
|
{
|
||||||
I::ClientState->SendStringCmd(std::format("vote {} option2", iVoteID).c_str());
|
I::ClientState->SendStringCmd(std::format("vote {} option2", iVoteID).c_str());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -320,7 +320,7 @@ void CMisc::FastMovement(CTFPlayer* pLocal, CUserCmd* pCmd)
|
|||||||
}
|
}
|
||||||
case 1:
|
case 1:
|
||||||
{
|
{
|
||||||
if ((pLocal->IsDucking() ? !Vars::Misc::Movement::CrouchSpeed.Value : !Vars::Misc::Movement::FastAccelerate.Value)
|
if ((pLocal->IsDucking() ? !Vars::Misc::Movement::DuckSpeed.Value : !Vars::Misc::Movement::FastAccelerate.Value)
|
||||||
|| Vars::Misc::Game::AntiCheatCompatibility.Value
|
|| Vars::Misc::Game::AntiCheatCompatibility.Value
|
||||||
|| G::Attacking == 1 || F::Ticks.m_bDoubletap || F::Ticks.m_bSpeedhack || F::Ticks.m_bRecharge || G::AntiAim || I::GlobalVars->tickcount % 2)
|
|| G::Attacking == 1 || F::Ticks.m_bDoubletap || F::Ticks.m_bSpeedhack || F::Ticks.m_bRecharge || G::AntiAim || I::GlobalVars->tickcount % 2)
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ bool CAntiAim::AntiAimOn()
|
|||||||
|| Vars::AntiAim::PitchFake.Value
|
|| Vars::AntiAim::PitchFake.Value
|
||||||
|| Vars::AntiAim::YawReal.Value
|
|| Vars::AntiAim::YawReal.Value
|
||||||
|| Vars::AntiAim::YawFake.Value
|
|| Vars::AntiAim::YawFake.Value
|
||||||
|| Vars::AntiAim::RealYawMode.Value
|
|| Vars::AntiAim::RealYawBase.Value
|
||||||
|| Vars::AntiAim::FakeYawMode.Value
|
|| Vars::AntiAim::FakeYawBase.Value
|
||||||
|| Vars::AntiAim::RealYawOffset.Value
|
|| Vars::AntiAim::RealYawOffset.Value
|
||||||
|| Vars::AntiAim::FakeYawOffset.Value);
|
|| Vars::AntiAim::FakeYawOffset.Value);
|
||||||
}
|
}
|
||||||
@@ -23,8 +23,8 @@ bool CAntiAim::YawOn()
|
|||||||
return Vars::AntiAim::Enabled.Value
|
return Vars::AntiAim::Enabled.Value
|
||||||
&& (Vars::AntiAim::YawReal.Value
|
&& (Vars::AntiAim::YawReal.Value
|
||||||
|| Vars::AntiAim::YawFake.Value
|
|| Vars::AntiAim::YawFake.Value
|
||||||
|| Vars::AntiAim::RealYawMode.Value
|
|| Vars::AntiAim::RealYawBase.Value
|
||||||
|| Vars::AntiAim::FakeYawMode.Value
|
|| Vars::AntiAim::FakeYawBase.Value
|
||||||
|| Vars::AntiAim::RealYawOffset.Value
|
|| Vars::AntiAim::RealYawOffset.Value
|
||||||
|| Vars::AntiAim::FakeYawOffset.Value);
|
|| Vars::AntiAim::FakeYawOffset.Value);
|
||||||
}
|
}
|
||||||
@@ -119,7 +119,7 @@ float CAntiAim::GetYawOffset(CTFPlayer* pEntity, bool bFake)
|
|||||||
|
|
||||||
float CAntiAim::GetBaseYaw(CTFPlayer* pLocal, CUserCmd* pCmd, bool bFake)
|
float CAntiAim::GetBaseYaw(CTFPlayer* pLocal, CUserCmd* pCmd, bool bFake)
|
||||||
{
|
{
|
||||||
const int iMode = bFake ? Vars::AntiAim::FakeYawMode.Value : Vars::AntiAim::RealYawMode.Value;
|
const int iMode = bFake ? Vars::AntiAim::FakeYawBase.Value : Vars::AntiAim::RealYawBase.Value;
|
||||||
const float flOffset = bFake ? Vars::AntiAim::FakeYawOffset.Value : Vars::AntiAim::RealYawOffset.Value;
|
const float flOffset = bFake ? Vars::AntiAim::FakeYawOffset.Value : Vars::AntiAim::RealYawOffset.Value;
|
||||||
switch (iMode) // 0 offset, 1 at player
|
switch (iMode) // 0 offset, 1 at player
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -95,16 +95,8 @@ void CResolver::CreateMove(CTFPlayer* pLocal)
|
|||||||
bool bAutoYaw = tData.m_bAutoSetYaw && Vars::Resolver::AutoResolveYawAmount.Value;
|
bool bAutoYaw = tData.m_bAutoSetYaw && Vars::Resolver::AutoResolveYawAmount.Value;
|
||||||
bool bAutoPitch = tData.m_bAutoSetPitch && Vars::Resolver::AutoResolvePitchAmount.Value;
|
bool bAutoPitch = tData.m_bAutoSetPitch && Vars::Resolver::AutoResolvePitchAmount.Value;
|
||||||
|
|
||||||
if (bAutoYaw)
|
|
||||||
{
|
|
||||||
flYaw = Math::NormalizeAngle(flYaw + Vars::Resolver::AutoResolveYawAmount.Value);
|
|
||||||
|
|
||||||
F::Backtrack.ResolverUpdate(pTarget);
|
|
||||||
F::Output.ReportResolver(I::EngineClient->GetPlayerForUserID(m_iWaitingForTarget), "Cycling", "yaw", flYaw);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bAutoPitch
|
if (bAutoPitch
|
||||||
&& (!bAutoYaw || fabsf(flYaw) < fabsf(Vars::Resolver::AutoResolveYawAmount.Value / 2))
|
&& (!bAutoYaw || sign(flYaw) != sign(flYaw + Vars::Resolver::AutoResolveYawAmount.Value))
|
||||||
&& fabsf(pTarget->m_angEyeAnglesX()) == 90.f && !m_mSniperDots.contains(m_iWaitingForTarget))
|
&& fabsf(pTarget->m_angEyeAnglesX()) == 90.f && !m_mSniperDots.contains(m_iWaitingForTarget))
|
||||||
{
|
{
|
||||||
flPitch = Math::NormalizeAngle(flPitch + Vars::Resolver::AutoResolvePitchAmount.Value, 180.f);
|
flPitch = Math::NormalizeAngle(flPitch + Vars::Resolver::AutoResolvePitchAmount.Value, 180.f);
|
||||||
@@ -113,6 +105,14 @@ void CResolver::CreateMove(CTFPlayer* pLocal)
|
|||||||
F::Output.ReportResolver(I::EngineClient->GetPlayerForUserID(m_iWaitingForTarget), "Cycling", "pitch", flPitch);
|
F::Output.ReportResolver(I::EngineClient->GetPlayerForUserID(m_iWaitingForTarget), "Cycling", "pitch", flPitch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (bAutoYaw)
|
||||||
|
{
|
||||||
|
flYaw = Math::NormalizeAngle(flYaw + Vars::Resolver::AutoResolveYawAmount.Value);
|
||||||
|
|
||||||
|
F::Backtrack.ResolverUpdate(pTarget);
|
||||||
|
F::Output.ReportResolver(I::EngineClient->GetPlayerForUserID(m_iWaitingForTarget), "Cycling", "yaw", flYaw);
|
||||||
|
}
|
||||||
|
|
||||||
m_iWaitingForTarget = -1;
|
m_iWaitingForTarget = -1;
|
||||||
m_flWaitingForDamage = 0.f;
|
m_flWaitingForDamage = 0.f;
|
||||||
m_bWaitingForHeadshot = false;
|
m_bWaitingForHeadshot = false;
|
||||||
|
|||||||
@@ -172,8 +172,8 @@ namespace Vars
|
|||||||
NAMESPACE_BEGIN(Menu)
|
NAMESPACE_BEGIN(Menu)
|
||||||
CVar(CheatTitle, "Cheat title", std::string("Amalgam"), VISUAL | DROPDOWN_AUTOUPDATE);
|
CVar(CheatTitle, "Cheat title", std::string("Amalgam"), VISUAL | DROPDOWN_AUTOUPDATE);
|
||||||
CVar(CheatTag, "Cheat tag", std::string("[Amalgam]"), VISUAL);
|
CVar(CheatTag, "Cheat tag", std::string("[Amalgam]"), VISUAL);
|
||||||
CVar(MenuPrimaryKey, "Primary key", VK_INSERT, NOBIND);
|
CVar(PrimaryKey, "Primary key", VK_INSERT, NOBIND);
|
||||||
CVar(MenuSecondaryKey, "Secondary key", VK_F3, NOBIND);
|
CVar(SecondaryKey, "Secondary key", VK_F3, NOBIND);
|
||||||
|
|
||||||
CVar(BindWindow, "Bind window", true);
|
CVar(BindWindow, "Bind window", true);
|
||||||
CVar(BindWindowTitle, "Bind window title", true);
|
CVar(BindWindowTitle, "Bind window title", true);
|
||||||
@@ -264,7 +264,7 @@ namespace Vars
|
|||||||
CVarEnum(Target, "Target", 0b0000001, DROPDOWN_MULTI, nullptr,
|
CVarEnum(Target, "Target", 0b0000001, DROPDOWN_MULTI, nullptr,
|
||||||
VA_LIST("Players", "Sentries", "Dispensers", "Teleporters", "Stickies", "NPCs", "Bombs"),
|
VA_LIST("Players", "Sentries", "Dispensers", "Teleporters", "Stickies", "NPCs", "Bombs"),
|
||||||
Players = 1 << 0, Sentry = 1 << 1, Dispenser = 1 << 2, Teleporter = 1 << 3, Stickies = 1 << 4, NPCs = 1 << 5, Bombs = 1 << 6);
|
Players = 1 << 0, Sentry = 1 << 1, Dispenser = 1 << 2, Teleporter = 1 << 3, Stickies = 1 << 4, NPCs = 1 << 5, Bombs = 1 << 6);
|
||||||
CVarEnum(Ignore, "Ignore", 0b000000000, DROPDOWN_MULTI, nullptr,
|
CVarEnum(Ignore, "Ignore", 0b00000001000, DROPDOWN_MULTI, nullptr,
|
||||||
VA_LIST("Friends", "Party", "Unprioritized", "Invulnerable", "Invisible", "Unsimulated", "Dead ringer", "Vaccinator", "Disguised", "Taunting", "Team"),
|
VA_LIST("Friends", "Party", "Unprioritized", "Invulnerable", "Invisible", "Unsimulated", "Dead ringer", "Vaccinator", "Disguised", "Taunting", "Team"),
|
||||||
Friends = 1 << 0, Party = 1 << 1, Unprioritized = 1 << 2, Invulnerable = 1 << 3, Invisible = 1 << 4, Unsimulated = 1 << 5, DeadRinger = 1 << 6, Vaccinator = 1 << 7, Disguised = 1 << 8, Taunting = 1 << 9, Team = 1 << 10);
|
Friends = 1 << 0, Party = 1 << 1, Unprioritized = 1 << 2, Invulnerable = 1 << 3, Invisible = 1 << 4, Unsimulated = 1 << 5, DeadRinger = 1 << 6, Vaccinator = 1 << 7, Disguised = 1 << 8, Taunting = 1 << 9, Team = 1 << 10);
|
||||||
CVar(AimFOV, "Aim FOV", 30.f, SLIDER_CLAMP | SLIDER_PRECISION, 0.f, 180.f);
|
CVar(AimFOV, "Aim FOV", 30.f, SLIDER_CLAMP | SLIDER_PRECISION, 0.f, 180.f);
|
||||||
@@ -295,7 +295,7 @@ namespace Vars
|
|||||||
VA_LIST("Tapfire", "Wait for headshot", "Wait for charge", "Scoped only", "Auto scope", "Auto rev minigun", "Extinguish team"),
|
VA_LIST("Tapfire", "Wait for headshot", "Wait for charge", "Scoped only", "Auto scope", "Auto rev minigun", "Extinguish team"),
|
||||||
Tapfire = 1 << 0, WaitForHeadshot = 1 << 1, WaitForCharge = 1 << 2, ScopedOnly = 1 << 3, AutoScope = 1 << 4, AutoRev = 1 << 5, ExtinguishTeam = 1 << 6);
|
Tapfire = 1 << 0, WaitForHeadshot = 1 << 1, WaitForCharge = 1 << 2, ScopedOnly = 1 << 3, AutoScope = 1 << 4, AutoRev = 1 << 5, ExtinguishTeam = 1 << 6);
|
||||||
CVar(PointScale, "Point scale", 0.f, SLIDER_CLAMP | SLIDER_PRECISION, 0.f, 100.f, 5.f, "%g%%");
|
CVar(PointScale, "Point scale", 0.f, SLIDER_CLAMP | SLIDER_PRECISION, 0.f, 100.f, 5.f, "%g%%");
|
||||||
CVar(TapFireDist, "Tapfire distance", 1000.f, SLIDER_MIN | SLIDER_PRECISION, 250.f, 1000.f, 50.f);
|
CVar(TapfireDistance, "Tapfire distance", 1000.f, SLIDER_MIN | SLIDER_PRECISION, 250.f, 1000.f, 50.f);
|
||||||
|
|
||||||
CVar(BoneSizeSubtract, "Bone size subtract", 1.f, NOSAVE | DEBUGVAR | SLIDER_MIN, 0.f, 4.f, 0.25f);
|
CVar(BoneSizeSubtract, "Bone size subtract", 1.f, NOSAVE | DEBUGVAR | SLIDER_MIN, 0.f, 4.f, 0.25f);
|
||||||
CVar(BoneSizeMinimumScale, "Bone size minimum scale", 1.f, NOSAVE | DEBUGVAR | SLIDER_CLAMP, 0.f, 1.f, 0.1f);
|
CVar(BoneSizeMinimumScale, "Bone size minimum scale", 1.f, NOSAVE | DEBUGVAR | SLIDER_CLAMP, 0.f, 1.f, 0.1f);
|
||||||
@@ -470,9 +470,9 @@ namespace Vars
|
|||||||
CVarValues(YawFake, "Fake yaw", 0, NONE, nullptr,
|
CVarValues(YawFake, "Fake yaw", 0, NONE, nullptr,
|
||||||
"Forward", "Left", "Right", "Backwards", "Edge", "Jitter", "Spin");
|
"Forward", "Left", "Right", "Backwards", "Edge", "Jitter", "Spin");
|
||||||
Enum(YawMode, View, Target);
|
Enum(YawMode, View, Target);
|
||||||
CVarValues(RealYawMode, "Real offset", 0, NONE, nullptr,
|
CVarValues(RealYawBase, "Real base", 0, NONE, nullptr,
|
||||||
"View", "Target");
|
"View", "Target");
|
||||||
CVarValues(FakeYawMode, "Fake offset", 0, NONE, nullptr,
|
CVarValues(FakeYawBase, "Fake base", 0, NONE, nullptr,
|
||||||
"View", "Target");
|
"View", "Target");
|
||||||
CVar(RealYawOffset, "Real offset", 0.f, SLIDER_CLAMP | SLIDER_PRECISION, -180.f, 180.f, 5.f);
|
CVar(RealYawOffset, "Real offset", 0.f, SLIDER_CLAMP | SLIDER_PRECISION, -180.f, 180.f, 5.f);
|
||||||
CVar(FakeYawOffset, "Fake offset", 0.f, SLIDER_CLAMP | SLIDER_PRECISION, -180.f, 180.f, 5.f);
|
CVar(FakeYawOffset, "Fake offset", 0.f, SLIDER_CLAMP | SLIDER_PRECISION, -180.f, 180.f, 5.f);
|
||||||
@@ -699,7 +699,7 @@ namespace Vars
|
|||||||
CVar(AutoCTap, "Auto ctap", false);
|
CVar(AutoCTap, "Auto ctap", false);
|
||||||
CVar(FastStop, "Fast stop", false);
|
CVar(FastStop, "Fast stop", false);
|
||||||
CVar(FastAccelerate, "Fast accelerate", false);
|
CVar(FastAccelerate, "Fast accelerate", false);
|
||||||
CVar(CrouchSpeed, "Crouch speed", false);
|
CVar(DuckSpeed, "Duck speed", false);
|
||||||
CVar(MovementLock, "Movement lock", false);
|
CVar(MovementLock, "Movement lock", false);
|
||||||
CVar(BreakJump, "Break jump", false);
|
CVar(BreakJump, "Break jump", false);
|
||||||
CVar(ShieldTurnRate, "Shield turn rate", false);
|
CVar(ShieldTurnRate, "Shield turn rate", false);
|
||||||
|
|||||||
@@ -17,11 +17,14 @@
|
|||||||
[](https://nightly.link/rei-2/Amalgam/workflows/msbuild/master/Amalgamx64ReleaseFreetypeAVX2.zip)
|
[](https://nightly.link/rei-2/Amalgam/workflows/msbuild/master/Amalgamx64ReleaseFreetypeAVX2.zip)
|
||||||
[](https://nightly.link/rei-2/Amalgam/workflows/msbuild/master/Amalgamx64ReleaseFreetypeAVX2PDB.zip)
|
[](https://nightly.link/rei-2/Amalgam/workflows/msbuild/master/Amalgamx64ReleaseFreetypeAVX2PDB.zip)
|
||||||
|
|
||||||
###### AVX2 may be faster than SSE2 though not all CPUs support it (`Steam > Help > System Information > Processor Information > AVX2`). Freetype uses freetype as the text rasterizer and includes some custom fonts, which results in better looking text but larger DLL sizes. PDBs are for developer use.
|
<sub>AVX2 may be faster than SSE2 though not all CPUs support it (`Steam > Help > System Information > Processor Information > AVX2`). Freetype uses freetype as the text rasterizer and includes some custom fonts, which results in better looking text but larger DLL sizes. PDBs are for developer use. </sub>
|
||||||
###### If nightly.link is down or can't be accessed, you can still download through [GitHub](https://github.com/rei-2/Amalgam/actions) with an account.
|
<br><br>
|
||||||
|
<sub>If nightly.link is down or can't be accessed, you can still download through [GitHub](https://github.com/rei-2/Amalgam/actions) with an account. </sub>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
||||||
[VAC bypass](https://github.com/danielkrupinski/VAC-Bypass-Loader) and [Xenos](https://github.com/DarthTon/Xenos/releases) recommended.
|
[VAC bypass](https://github.com/danielkrupinski/VAC-Bypass-Loader) and [Xenos](https://github.com/DarthTon/Xenos/releases) recommended.
|
||||||
|
|
||||||
|
Read about Amalgam's documentation and features [here](../../wiki).
|
||||||
Reference in New Issue
Block a user