From 745598de5f9ccdb79b9a6022ffefb03e3a9d7380 Mon Sep 17 00:00:00 2001 From: NightFyre <80198020+xCENTx@users.noreply.github.com> Date: Tue, 30 Jan 2024 08:08:17 -0500 Subject: [PATCH 1/2] Update Menu.cpp functions already existed --- src/Menu.cpp | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/src/Menu.cpp b/src/Menu.cpp index 20e5ed4..5e4a0cb 100644 --- a/src/Menu.cpp +++ b/src/Menu.cpp @@ -72,7 +72,8 @@ namespace DX11_Base ImGui::Checkbox("InfStamina", &Config.IsInfStamina); - ImGui::Checkbox("InfAmmo", &Config.IsInfinAmmo); + if (ImGui::Checkbox("InfAmmo", &Config.IsInfinAmmo)) + SetInfiniteAmmo(Config.IsInfinAmmo); ImGui::Checkbox("Godmode", &Config.IsGodMode); @@ -785,20 +786,7 @@ namespace DX11_Base // // SetDemiGodMode(Config.IsMuteki); - if (Config.GetPalPlayerCharacter() != NULL) - { - if (Config.GetPalPlayerCharacter()->ShooterComponent != NULL && Config.GetPalPlayerCharacter()->ShooterComponent->GetHasWeapon() != NULL && Config.GetPalPlayerCharacter()->ShooterComponent->CanShoot()) - { - Config.GetPalPlayerCharacter()->ShooterComponent->GetHasWeapon()->IsRequiredBullet = !Config.IsInfinAmmo; - } - } if (Config.IsGodMode) - { - if (Config.GetPalPlayerCharacter() && Config.GetPalPlayerCharacter()->CharacterParameterComponent && Config.GetPalPlayerCharacter()->CharacterParameterComponent->IndividualParameter) - { - if (Config.GetPalPlayerCharacter()->CharacterParameterComponent->IndividualParameter->GetHP().Value < INT_MAX) - Config.GetPalPlayerCharacter()->ReviveCharacter_ToServer(SDK::FFixedPoint(INT_MAX)); - } - } + ReviveLocalPlayer(); } } \ No newline at end of file From 3511329eea90dd1d30703cbb919742ee5501f099 Mon Sep 17 00:00:00 2001 From: NightFyre <80198020+xCENTx@users.noreply.github.com> Date: Tue, 30 Jan 2024 08:33:46 -0500 Subject: [PATCH 2/2] SetPlayerHealth --- feature.cpp | 32 ++++++++++++++++++++++++++++---- feature.h | 2 ++ src/Menu.cpp | 3 ++- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/feature.cpp b/feature.cpp index 571e3d7..2e11d07 100644 --- a/feature.cpp +++ b/feature.cpp @@ -311,6 +311,24 @@ void RespawnLocalPlayer(bool bIsSafe) bIsSafe ? pPalPlayerController->TeleportToSafePoint_ToServer() : pPalPlayerState->RequestRespawn(); } +void SetPlayerHealth(__int32 newHealth) +{ + APalPlayerCharacter* pPalPlayerCharacter = Config.GetPalPlayerCharacter(); + if (!pPalPlayerCharacter) + return; + + UPalCharacterParameterComponent* pParams = pPalPlayerCharacter->CharacterParameterComponent; + if (!pParams) + return; + + FFixedPoint64 maxHP = pParams->GetMaxHP(); + if (newHealth > maxHP.Value) + newHealth = maxHP.Value; + + FFixedPoint newHealthPoint = FFixedPoint(newHealth); + pPalPlayerCharacter->ReviveCharacter_ToServer(newHealthPoint); +} + // void ReviveLocalPlayer() { @@ -318,10 +336,16 @@ void ReviveLocalPlayer() if (!pPalPlayerCharacter) return; - FFixedPoint newHealthPoint = FFixedPoint(99999999); - if (Config.GetPalPlayerCharacter()->CharacterParameterComponent->IsDying()) - Config.GetPalPlayerCharacter()->CharacterParameterComponent->ReviveFromDying(); - pPalPlayerCharacter->ReviveCharacter_ToServer(newHealthPoint); + UPalCharacterParameterComponent* pParams = pPalPlayerCharacter->CharacterParameterComponent; + if (!pParams) + return; + + if (pParams->IsDying()) + pParams->ReviveFromDying(); + + FFixedPoint64 maxHP = pParams->GetMaxHP(); + FFixedPoint newHealth = FFixedPoint(maxHP.Value); + pPalPlayerCharacter->ReviveCharacter_ToServer(newHealth); } // diff --git a/feature.h b/feature.h index fdf8fa3..f48d474 100644 --- a/feature.h +++ b/feature.h @@ -29,6 +29,8 @@ void SetDemiGodMode(bool bIsSet); void RespawnLocalPlayer(bool bIsSafe); +void SetPlayerHealth(__int32 newHealth); + void ReviveLocalPlayer(); void ResetStamina(); diff --git a/src/Menu.cpp b/src/Menu.cpp index 5e4a0cb..84e746a 100644 --- a/src/Menu.cpp +++ b/src/Menu.cpp @@ -783,10 +783,11 @@ namespace DX11_Base if (Config.IsDeathAura) DeathAura(Config.mDeathAuraAmount, Config.mDeathAuraDistance, true); + // // SetDemiGodMode(Config.IsMuteki); if (Config.IsGodMode) - ReviveLocalPlayer(); + SetPlayerHealth(INT_MAX); } } \ No newline at end of file