death aura

# FEATURES
- Death Aura ( distance, dmg amount , scalar, vFx )
- Debug print engine globals
- attempt restore default values for some toggles

# PROJECT
- include SDK solution to base project
This commit is contained in:
NightFyre 2024-01-29 14:23:52 -05:00
parent b22c602634
commit 84ee645158
6 changed files with 108 additions and 14 deletions

View File

@ -3,7 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.32802.440
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DX11-Base", "DX11-Base.vcxproj", "{EB52DDF1-EFC4-4222-9D86-6918D4D891A5}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NetCrack-PalWorld", "DX11-Base.vcxproj", "{EB52DDF1-EFC4-4222-9D86-6918D4D891A5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PalworldSDK", "libs\SDKLibrary\PalworldSDK.vcxproj", "{202F0C63-0183-4CE5-AAB4-4ABD2EA773D9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -21,6 +23,14 @@ Global
{EB52DDF1-EFC4-4222-9D86-6918D4D891A5}.Release|x64.Build.0 = Release|x64
{EB52DDF1-EFC4-4222-9D86-6918D4D891A5}.Release|x86.ActiveCfg = Release|Win32
{EB52DDF1-EFC4-4222-9D86-6918D4D891A5}.Release|x86.Build.0 = Release|Win32
{202F0C63-0183-4CE5-AAB4-4ABD2EA773D9}.Debug|x64.ActiveCfg = Debug|x64
{202F0C63-0183-4CE5-AAB4-4ABD2EA773D9}.Debug|x64.Build.0 = Debug|x64
{202F0C63-0183-4CE5-AAB4-4ABD2EA773D9}.Debug|x86.ActiveCfg = Debug|Win32
{202F0C63-0183-4CE5-AAB4-4ABD2EA773D9}.Debug|x86.Build.0 = Debug|Win32
{202F0C63-0183-4CE5-AAB4-4ABD2EA773D9}.Release|x64.ActiveCfg = Release|x64
{202F0C63-0183-4CE5-AAB4-4ABD2EA773D9}.Release|x64.Build.0 = Release|x64
{202F0C63-0183-4CE5-AAB4-4ABD2EA773D9}.Release|x86.ActiveCfg = Release|Win32
{202F0C63-0183-4CE5-AAB4-4ABD2EA773D9}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -164,7 +164,14 @@ bool config::GetTAllPals(SDK::TArray<class SDK::APalCharacter*>* outResult)
return true;
}
bool GetPartyPals(std::vector<SDK::AActor*> outResult)
// @TODO:
bool config::GetPartyPals(std::vector<SDK::AActor*>* outResult)
{
return false;
}
// @TODO:
bool config::GetPlayerDeathChests(std::vector<SDK::FVector>* outLocations)
{
return false;
}

View File

@ -17,6 +17,7 @@ public:
bool IsFullbright = false;
bool IsForgeMode = false;
bool IsTeleportAllToXhair = false;
bool IsDeathAura = false;
bool IsAimbot = false;
bool IsSpeedHack = false;
bool IsAttackModiler = false;
@ -38,6 +39,8 @@ public:
//def and value
float mDebugESPDistance = 5.0f;
float mDebugEntCapDistance = 10.0f;
float mDeathAuraDistance = 10.f;
int mDeathAuraAmount = 1.f;
int DamageUp = 0;
int DefuseUp = 0;
int EXP = 0;
@ -96,7 +99,8 @@ public:
static bool GetTAllImpNPC(SDK::TArray<class SDK::APalCharacter*>* outResult);
static bool GetTAllNPC(SDK::TArray<class SDK::APalCharacter*>* outResult);
static bool GetTAllPals(SDK::TArray<class SDK::APalCharacter*>* outResult);
static bool GetPartyPals(std::vector<SDK::AActor*> outResult);
static bool GetPartyPals(std::vector<SDK::AActor*>* outResult);
static bool GetPlayerDeathChests(std::vector<SDK::FVector>* outLocations);
static bool GetAllActorsofType(SDK::UClass* mType, std::vector<SDK::AActor*>* outArray, bool bLoopAllLevels = false, bool bSkipLocalPlayer = false);
static void Init();
static void Update(const char* filterText);

View File

@ -532,7 +532,7 @@ void ForgeActor(SDK::AActor* pTarget, float mDistance, float mHeight, float mAng
}
// credit:
void SendDamageToActor(APalCharacter* character, int32 damage, bool bSpoofAttacker)
void SendDamageToActor(APalCharacter* pTarget, int32 damage, bool bSpoofAttacker)
{
APalPlayerState* pPalPlayerState = Config.GetPalPlayerState();
APalPlayerCharacter* pPalPlayerCharacter = Config.GetPalPlayerCharacter();
@ -549,7 +549,42 @@ void SendDamageToActor(APalCharacter* character, int32 damage, bool bSpoofAttack
info.bAttackableToFriend = true;
info.IgnoreShield = true;
info.NativeDamageValue = damage;
pPalPlayerState->SendDamage_ToServer(character, info);
pPalPlayerState->SendDamage_ToServer(pTarget, info);
}
// NOTE: only targets pals
void DeathAura(__int32 dmgAmount, float mDistance, bool bIntensityEffect, bool bVisualAffect, EPalVisualEffectID visID)
{
APalCharacter* pPalCharacter = Config.GetPalPlayerCharacter();
TArray<APalCharacter*> outPals;
if (!Config.GetTAllPals(&outPals))
return;
DWORD palsCount = outPals.Count();
for (auto i = 0; i < palsCount; i++)
{
APalCharacter* cEnt = outPals[i];
if (!cEnt || !cEnt->IsA(APalMonsterCharacter::StaticClass()))
continue;
float distanceTo = GetDistanceToActor(pPalCharacter, cEnt);
if (distanceTo > mDistance)
continue;
float dmgScalar = dmgAmount * (1.0f - distanceTo / mDistance);
if (bIntensityEffect)
dmgAmount = dmgScalar;
UPalVisualEffectComponent* pVisComp = cEnt->VisualEffectComponent;
if (bVisualAffect && pVisComp)
{
FPalVisualEffectDynamicParameter fvedp;
pVisComp->AddVisualEffect_ToServer(visID, fvedp, 1); // uc: killer1478
}
SendDamageToActor(cEnt, dmgAmount);
}
}
// credit: xCENTx

View File

@ -55,7 +55,9 @@ float GetDistanceToActor(SDK::AActor* pLocal, SDK::AActor* pTarget);
void ForgeActor(SDK::AActor* pTarget, float mDistance, float mHeight = 0.0f, float mAngle = 0.0f);
void SendDamageToActor(SDK::APalCharacter* character, int32 damage, bool bSpoofAttacker = false);
void SendDamageToActor(SDK::APalCharacter* pTarget, int32 damage, bool bSpoofAttacker = false);
void DeathAura(__int32 dmgAmount, float mDistance, bool bIntensityEffect = false, bool bVisualEffect = false, SDK::EPalVisualEffectID visID = SDK::EPalVisualEffectID::None);
void TeleportAllPalsToCrosshair(float mDistance);

View File

@ -361,27 +361,61 @@ namespace DX11_Base
void TABDebug()
{
ImGui::Checkbox("DEBUG ESP", &Config.isDebugESP);
if (ImGui::Checkbox("DEBUG ESP", &Config.isDebugESP) && !Config.isDebugESP)
Config.mDebugESPDistance = 10.f;
if (Config.isDebugESP)
{
ImGui::SameLine();
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
ImGui::SliderFloat("##DISTANCE", &Config.mDebugESPDistance, 1.0f, 100.f, "%.0f", ImGuiSliderFlags_AlwaysClamp);
}
ImGui::Checkbox("TELEPORT PALS TO XHAIR", &Config.IsTeleportAllToXhair);
if (ImGui::Checkbox("TELEPORT PALS TO XHAIR", &Config.IsTeleportAllToXhair) && !Config.IsTeleportAllToXhair)
Config.mDebugEntCapDistance = 10.f;
if (Config.IsTeleportAllToXhair)
{
ImGui::SameLine();
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
ImGui::SliderFloat("##ENT_CAP_DISTANCE", &Config.mDebugEntCapDistance, 1.0f, 100.f, "%.0f", ImGuiSliderFlags_AlwaysClamp);
}
// @TODO: print additional debug information
if (ImGui::Button("PrintPlayerAddr", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
if (ImGui::Checkbox("DEATH AURA", &Config.IsDeathAura) && !Config.IsDeathAura)
{
SDK::APalPlayerCharacter* p_appc = Config.GetPalPlayerCharacter();
if (p_appc)
g_Console->printdbg("\n\n[+] APalPlayerCharacter: 0x%llX\n", Console::Colors::green, p_appc);
Config.mDeathAuraDistance = 10.0f;
Config.mDeathAuraAmount = 1;
}
if (Config.IsDeathAura)
{
ImGui::SameLine();
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x * .7);
ImGui::SliderFloat("##AURA_DISTANCE", &Config.mDeathAuraDistance, 1.0f, 100.f, "%.0f", ImGuiSliderFlags_AlwaysClamp);
ImGui::SameLine();
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
ImGui::SliderInt("##AURA_DMG", &Config.mDeathAuraAmount, 1, 10, "%d", ImGuiSliderFlags_AlwaysClamp);
}
if (ImGui::Button("PRINT ENGINE GLOBALS", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
{
g_Console->printdbg("[+] [UNREAL ENGINE GLOBALS]\n"
"UWorld:\t\t\t0x%llX\n"
"ULocalPlayer:\t\t0x%llX\n"
"APalPlayerController:\t0x%llX\n"
"APalPlayerCharacter:\t0x%llX\n"
"APalPlayerState:\t0x%llX\n"
"UCharacterImpMan:\t0x%llX\n"
"UPalPlayerInventory:\t0x%llX\n"
"APalWeaponBase:\t\t0x%llX\n",
Console::Colors::yellow,
Config.gWorld,
Config.GetLocalPlayer(),
Config.GetPalPlayerController(),
Config.GetPalPlayerCharacter(),
Config.GetPalPlayerState(),
Config.GetCharacterImpManager(),
Config.GetInventoryComponent(),
Config.GetPlayerEquippedWeapon()
);
}
@ -742,6 +776,8 @@ namespace DX11_Base
if (Config.IsTeleportAllToXhair)
TeleportAllPalsToCrosshair(Config.mDebugEntCapDistance);
if (Config.IsDeathAura)
DeathAura(Config.mDeathAuraAmount, Config.mDeathAuraDistance);
//
// SetDemiGodMode(Config.IsMuteki);
}