Add Imperfect,Imperfect included some thrall features,and Hooked SendDamage_ToServer

This commit is contained in:
2200151533 2024-01-29 14:24:00 +08:00
parent b7f00b182f
commit c4a771f665
4 changed files with 102 additions and 3 deletions

View File

@ -278,7 +278,7 @@ namespace itemlist
"Pan|Bread",
"Cake|Cake",
"CheeseBurger|Cheeseburger",
"ChickenSaute|Chikipi Sauté",
"ChickenSaute|Chikipi Saut",
"Carbonara|Carbonara",
"Meat_BerryGoat|Caprity Meat",
"Meat_ChickenPal|Chikipi Poultry",

View File

@ -8,6 +8,9 @@ config Config;
Tick TickFunc;
Tick OldTickFunc;
SendDamage SendDamageFunc;
SendDamage OldSendDamageFunc;
void config::Update(const char* filterText)
{
Config.db_filteredItems.clear();
@ -210,7 +213,7 @@ void config::Init()
TickFunc = (Tick)(Config.ClientBase + Config.offset_Tick);
MH_CreateHook(TickFunc, DetourTick, reinterpret_cast<void**>(&OldTickFunc));
MH_CreateHook(SendDamageFunc, DetourSendDamage, reinterpret_cast<void**>(&OldSendDamageFunc));
//init database
ZeroMemory(&Config.db_filteredItems, sizeof(Config.db_filteredItems));
}

View File

@ -6,13 +6,14 @@
#include "ItemList.hpp"
typedef bool(*Tick)(SDK::APalPlayerCharacter* m_this, float DeltaSecond);
typedef void(*SendDamage)(SDK::APalPlayerState* d_this, SDK::APalCharacter* Target, SDK::FPalDamageInfo* info);
class config
{
public:
//offsets
DWORD64 ClientBase = 0;
DWORD64 offset_Tick = 0x2AB1DC0;//APalPlayerCharacter::Tick
DWORD64 offset_senddmg = 0x2A57920; //APalPlayerState::SendDamage_ToServer
//check
bool IsESP = false;
bool IsAimbot = false;

View File

@ -164,6 +164,85 @@ namespace DX11_Base
Config.IsToggledFly = !Config.IsToggledFly;
ExploitFly(Config.IsToggledFly);
}
if (ImGui::Button("KillAura", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
{
if (Config.GetPalPlayerCharacter() != NULL)
{
if (Config.GetPalPlayerCharacter()->GetPalPlayerController() != NULL)
{
if (Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState())
{
SDK::TArray<SDK::AActor*> T = Config.GetUWorld()->PersistentLevel->Actors;
for (int i = 0; i < T.Count(); i++)
{
if (T[i] != NULL)
{
if (T[i]->IsA(SDK::APalCharacter::StaticClass()))
{
SDK::APalCharacter* monster = (SDK::APalCharacter*)T[i];
if (monster->IsLocallyControlled())
{
continue;
}
Damage(monster, 9999999999999);
}
}
}
}
}
}
}
if (ImGui::Button("Crash Server", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))//
{
if (Config.GetPalPlayerCharacter() != NULL)
{
if (Config.GetPalPlayerCharacter()->GetPalPlayerController() != NULL)
{
Config.GetPalPlayerCharacter()->GetPalPlayerController()->RequestLiftupThrow_ToServer(NULL);
}
}
}
if (ImGui::Button("BossBatt Aura", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
{
if (Config.GetPalPlayerCharacter() != NULL)
{
auto localplayer = Config.GetPalPlayerCharacter();
if (localplayer->GetPalPlayerController() != NULL)
{
auto localcontroller = localplayer->GetPalPlayerController();
//localcontroller->Transmitter->BossBattle->RequestBossBattleEntry_ToServer(SDK::EPalBossType::GrassBoss, Config.GetPalPlayerCharacter());
if (Config.GetUWorld() != NULL)
{
SDK::TArray<SDK::AActor*> T = Config.GetUWorld()->PersistentLevel->Actors;
if (T.IsValid())
{
for (int i = 0; i < T.Count(); i++)
{
if (T[i] != NULL)
{
if (T[i]->IsA(SDK::APalPlayerCharacter::StaticClass()))
{
auto other = (SDK::APalPlayerCharacter*)T[i];
if (other->GetPalPlayerController() != NULL)
{
if (other->GetPalPlayerController()->IsLocalPlayerController())
{
continue;
}
}
localcontroller->Transmitter->BossBattle->RequestBossBattleEntry_ToServer(SDK::EPalBossType::ElectricBoss, other);
}
}
}
}
localcontroller->Transmitter->BossBattle->RequestBossBattleStart_ToServer(SDK::EPalBossType::ElectricBoss, localplayer);
}
}
}
}
/*if (ImGui::Button("DeleteSelf", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20)))
{
@ -535,6 +614,22 @@ namespace DX11_Base
}
}
}
if (Character->IsA(SDK::APalPlayerCharacter::StaticClass()))
{
ImGui::SameLine();
if (ImGui::Button("Boss"))
{
if (Config.GetPalPlayerCharacter() != NULL)
{
auto controller = Config.GetPalPlayerCharacter()->GetPalPlayerController();
if (controller != NULL)
{
controller->Transmitter->BossBattle->RequestBossBattleEntry_ToServer(SDK::EPalBossType::ElectricBoss, (SDK::APalPlayerCharacter*)Character);
controller->Transmitter->BossBattle->RequestBossBattleStart_ToServer(SDK::EPalBossType::ElectricBoss, (SDK::APalPlayerCharacter*)Character);
}
}
}
}
ImGui::PopID();
}