Updated some features, Creadit:Evoc

This commit is contained in:
2200151533 2024-01-30 00:08:18 +08:00
parent c44509cadb
commit 0cfc05db2b
4 changed files with 302 additions and 115 deletions

View File

@ -7,6 +7,13 @@
typedef bool(*Tick)(SDK::APalPlayerCharacter* m_this, float DeltaSecond); typedef bool(*Tick)(SDK::APalPlayerCharacter* m_this, float DeltaSecond);
typedef void(*SendDamage)(SDK::APalPlayerState* d_this, SDK::APalCharacter* Target, SDK::FPalDamageInfo* info); typedef void(*SendDamage)(SDK::APalPlayerState* d_this, SDK::APalCharacter* Target, SDK::FPalDamageInfo* info);
//Creadit:Evoc
using FName_Ctor = void(__fastcall*)(SDK::FName*, const char*, int);
using n_time = std::chrono::high_resolution_clock;
class config class config
{ {
public: public:
@ -15,6 +22,7 @@ public:
DWORD64 offset_Tick = 0x2AB1DC0;//APalPlayerCharacter::Tick DWORD64 offset_Tick = 0x2AB1DC0;//APalPlayerCharacter::Tick
DWORD64 offset_senddmg = 0x2A57920; //APalPlayerState::SendDamage_ToServer DWORD64 offset_senddmg = 0x2A57920; //APalPlayerState::SendDamage_ToServer
//check //check
bool spec = false;
bool IsESP = false; bool IsESP = false;
bool IsAimbot = false; bool IsAimbot = false;
bool IsSpeedHack = false; bool IsSpeedHack = false;
@ -33,6 +41,9 @@ public:
bool filterPlayer = false; bool filterPlayer = false;
bool bisRandomName = false; bool bisRandomName = false;
bool bisTeleporter = false; bool bisTeleporter = false;
bool filterCharacters = true;
bool filterGuilds = false;
bool filterMapParts = false;
float SpeedModiflers = 1.0f; float SpeedModiflers = 1.0f;
//def and value //def and value
float mDebugESPDistance = 5.0f; float mDebugESPDistance = 5.0f;
@ -48,16 +59,19 @@ public:
SDK::TArray<SDK::APalPlayerCharacter*> AllPlayers = {}; SDK::TArray<SDK::APalPlayerCharacter*> AllPlayers = {};
SDK::UPalCharacterImportanceManager* UCIM = NULL; SDK::UPalCharacterImportanceManager* UCIM = NULL;
SDK::UObject* WorldContextObject = NULL; SDK::UObject* WorldContextObject = NULL;
std::vector<SDK::FVector> ToReveal = std::vector<SDK::FVector>{};
int AddItemSlot = 0; int AddItemSlot = 0;
int AddItemCount = 2; int AddItemCount = 2;
enum QuickItemSet enum QuickItemSet
{ {
basic_items_stackable, basic_items_stackable,
basic_items_single, basic_items_single,
pal_unlock_skills, pal_unlock_skills,
spheres, spheres,
tools tools,
starter
}; };
//Filtered Items //Filtered Items
@ -79,5 +93,10 @@ public:
static void Init(); static void Init();
static void Update(const char* filterText); static void Update(const char* filterText);
static const std::vector<std::string>& GetFilteredItems(); static const std::vector<std::string>& GetFilteredItems();
static auto timeSince(n_time::time_point start) {
n_time::time_point now = n_time::now();
return std::chrono::duration_cast<std::chrono::milliseconds>(now - start).count();
}
}; };
extern config Config; extern config Config;

View File

@ -1036,6 +1036,31 @@ namespace database
"Axe_Tier_02", "Axe_Tier_02",
"Axe_Tier_03", "Axe_Tier_03",
}; };
static std::string starter[22] =
{
"AssaultRifle_Default5",
"AssaultRifleBullet",
"Launcher_Default_5",
"ExplosiveBullet",
"PalSphere_Debug",
"CornSoup",
"Accessory_HeatResist_3",
"Accessory_CoolResist_3",
"AutoMealPouch_Tier1",
"AutoMealPouch_Tier2",
"AutoMealPouch_Tier3",
"AutoMealPouch_Tier4",
"AutoMealPouch_Tier5",
"Lantern",
"StealArmor_5",
"StealHelmet_5",
"Shield_04",
"Pal_crystal_S",
"Wood",
"Stone",
"SkillUnlock_JetDragon",
"SkillUnlock_Anubis"
};
static std::string pal_unlock_skills[90] = static std::string pal_unlock_skills[90] =
{ {
@ -1182,5 +1207,7 @@ namespace database
{"WumpoBotan", { -148826, 364859, -1831.33 }}, {"WumpoBotan", { -148826, 364859, -1831.33 }},
{"lyleen noct",{31949.71926269835 ,85551.87052192072,5397.467146487356}}, {"lyleen noct",{31949.71926269835 ,85551.87052192072,5397.467146487356}},
}; };
static std::vector<std::string> essential_items = { "Leather", "Wood", "Stone", "Fiber", "CopperOre", "Poppy", "Venom", "Wool", "Cloth", "Cloth2", "FireOrgan", "IceOrgan", "ElectricOrgan", "Pal_crystal_S", "PalCrystal_Ex", "PalFluid", "PalUpgradeStone3", "Horn", "bone", "Charcoal", "CopperIngot", "MachineParts", "GunPowder2", "PalOil", "PalItem_PlantSlime", "Coal", "Sulfur", "Polymer", "Cement", "IronIngot", "CarbonFiber", "Quartz", "MachineParts2", "StealIngot", "" };
static std::vector<std::string> ft_node_names = { "6E03F8464BAD9E458B843AA30BE1CC8F", "DDBBFFAF43D9219AE68DF98744DF0831", "603ED0CD4CFB9AFDC9E11F805594CCE5", "6282FE1E4029EDCDB14135AA4C171E4C", "9FBB93D84811BE424A37C391DBFBB476", "979BF2044C8E8FE559B598A95A83EDE3", "923B781345D2AB7ECED6BABD6E97ECE8", "16C7164C43E2B96BEDCC6696E2E592F7", "D27AFCAD472164F000D33A8D8B61FE8B", "41727100495D21DC905D309C53989914", "6DB6B7B2431CA2EFFFC88EB45805BA6A", "74270C2F45B8DCA66B6A1FAAA911D024", "DF9FB9CB41B43052A9C74FA79A826A50", "8CA5E9774FF1BBC1156ABCA09E616480", "15314BE94E2FB8D018D5749BE9A318F0", "79C561B747335A7A0A8FBF9FAE280E62", "23B9E99C4A454B99220AF7B4A58FD8DE", "A1BC65AA445619EF338E0388BC010648", "BF8B123244ADB794A06EA8A10503FBDD", "F8DF603B4C750B37D943C9AF6A911946", "596996B948716D3FD2283C8B5C6E829C", "28D514E74B51FD9EB078A891DB0787C2", "ACAE5FB04D48DE4197443E9C0993086B", "4D2F204549AB656CA1EA4B8E39C484F3", "1BDEABA240B1699541C17F83E59E61DF", "2BC5E46049E69D3549CFB58948BE3288", "91DAC6F34D2A9FD7F01471B5166C6C02", "41E36D9A4B2BA79A3AD1B7B83B16F77D", "76B000914943BADDC56BCFBAE2BF051E", "DC0ECF9241B4410C59EE619F56D1106A", "71C4B2B2407F2BBBD77572A20C7FF0F5", "EC94023A4CA571FF0FD19E90944F4231", "2A2B744B41AC79964DAE6B89CAC51FC3", "E0819EFB41581AEAC3A029B0EE2FE195", "22095BFA48A46172F8D154B2EBEB7493", "7C5E91514F6E84B0C1DEFFB52C7C4DBA", "AECFED0D41AFEE11F30B4F9687BC3243", "2EC07ACC4505CB726DE38A84246CA999", "F8E5CB8143F4FA2F6213E6B454569F87", "5F426B49469368B0C131D3A6DB8F7831", "A277AE6341EF40D84D711EA52303353F", "6231802D40C81C00445379AE238D9F90", "F6C005A14B38FE0B57F1C7869FD899CB", "7170881D44249E90902F728E240493AF", "3E8E504B4A3975FD3862E1BC85A5D4F6", "B001852C491FF5E70C4747BFF9972924", "2DE1702048A1D4A82126168C49BE51A9", "E88379634CB5B6117DA2E7B8810BFE0A", "3697999C458BF8A3C7973382969FBDF9", "65B10BB14ABDA9C2109167B21901D195", "4669582D4081BF550AFB66A05D043A3D", "FE90632845114C7FBFA4669D071E285F", "5970E8E648D2A83AFDFF7C9151D9BEF5", "B639B7ED4EE18A7AA09BA189EA703032", "099440764403D1508D9BADADF4848697", "B44AA24445864494E7569597ACCAEFC6", "3A0F123947BE045BC415C6B061A5285A", "F382ADAE4259150BF994FF873ECF242B" };
} }

View File

@ -202,6 +202,10 @@ void SpawnMultiple_ItemsToInventory(config::QuickItemSet Set)
for (int i = 0; i < IM_ARRAYSIZE(database::tools); i++) for (int i = 0; i < IM_ARRAYSIZE(database::tools); i++)
AddItemToInventoryByName(InventoryData, _strdup(database::tools[i].c_str()), 1); AddItemToInventoryByName(InventoryData, _strdup(database::tools[i].c_str()), 1);
break; break;
case 5:
for (int i = 0; i < IM_ARRAYSIZE(database::starter); i++)
AddItemToInventoryByName(InventoryData, _strdup(database::starter[i].c_str()), 1);
break;
default: default:
break; break;
} }

View File

@ -3,6 +3,10 @@
#include "SDK.hpp" #include "SDK.hpp"
#include "config.h" #include "config.h"
#include <algorithm> #include <algorithm>
auto LastReveal = n_time::now();
static auto fname_ctor = reinterpret_cast<FName_Ctor>(signature("48 89 5C 24 ? 57 48 83 EC ? 41 8B F8 48 8B D9 48 85 D2").GetPointer());
std::string rand_str(const int len) std::string rand_str(const int len)
{ {
std::string str; std::string str;
@ -130,7 +134,7 @@ namespace DX11_Base
//creadit //creadit
//ImGui::Checkbox("PalIsMonster", &Config.IsMonster); //ImGui::Checkbox("PalIsMonster", &Config.IsMonster);
ImGui::InputInt("EXP:", &Config.EXP); ImGui::InputInt("EXP:", &Config.EXP);
ImGui::InputText("Item Name", Config.ItemName,sizeof(Config.ItemName)); ImGui::InputText("Item Name", Config.ItemName, sizeof(Config.ItemName));
ImGui::InputInt("Item Num", &Config.Item); ImGui::InputInt("Item Num", &Config.Item);
if (ImGui::Button("Give item", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20))) if (ImGui::Button("Give item", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
{ {
@ -149,10 +153,10 @@ namespace DX11_Base
ImGui::InputInt("Slot to modify (start 0):", &Config.AddItemSlot); ImGui::InputInt("Slot to modify (start 0):", &Config.AddItemSlot);
ImGui::InputInt("Multiple of how much:", &Config.AddItemCount); ImGui::InputInt("Multiple of how much:", &Config.AddItemCount);
if (ImGui::Button("Give items from slot", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20))) if (ImGui::Button("Give items from slot", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
IncrementInventoryItemCountByIndex(Config.AddItemCount, Config.AddItemSlot); IncrementInventoryItemCountByIndex(Config.AddItemCount, Config.AddItemSlot);
// this does not work lol // this does not work lol
// std::stringstream AddItemsString; // std::stringstream AddItemsString;
// AddItemsString << "Give " << Config.AddItemCount << " items from slot" << Config.AddItemSlot; // AddItemsString << "Give " << Config.AddItemCount << " items from slot" << Config.AddItemSlot;
@ -186,6 +190,123 @@ namespace DX11_Base
} }
} }
if (ImGui::Button("All Teleporters", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20))) {
SDK::APalPlayerCharacter* pPalCharacter = Config.GetPalPlayerCharacter();
if (!pPalCharacter)
return;
SDK::UKismetStringLibrary* lib = SDK::UKismetStringLibrary::GetDefaultObj();
for (int i = 0; i < database::ft_node_names.size(); i++) {
SDK::FName name{};
fname_ctor(&name, database::ft_node_names[i].data(), 0);
((SDK::APalPlayerState*)pPalCharacter->PlayerState)->RequestUnlockFastTravelPoint_ToServer(name);
}
SDK::UWorld* world = Config.GetUWorld();
if (!world)
return;
SDK::TUObjectArray* objects = world->GObjects;
for (int i = 0; i < objects->NumElements; ++i) {
SDK::UObject* object = objects->GetByIndex(i);
if (!object) {
continue;
}
if (!object->IsA(SDK::APalLevelObjectUnlockableFastTravelPoint::StaticClass())) {
continue;
}
SDK::APalLevelObjectUnlockableFastTravelPoint* tp = (SDK::APalLevelObjectUnlockableFastTravelPoint*)object;
if (!tp) continue;
Config.ToReveal.push_back(tp->K2_GetActorLocation());
}
}
if (ImGui::Button("Tech Books", ImVec2(130, 20))) {
SDK::APalPlayerCharacter* p_appc = Config.GetPalPlayerCharacter();
if (p_appc != NULL)
{
if (Config.GetPalPlayerCharacter()->GetPalPlayerController() != NULL)
{
if (Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState() != NULL)
{
SDK::UPalPlayerInventoryData* InventoryData = Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->GetInventoryData();
if (InventoryData != NULL)
AddItemToInventoryByName(InventoryData, (char*)"TechnologyBook_G3", 50);
}
}
}
}
ImGui::SameLine();
if (ImGui::Button("Use Books (1st Slot)", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20))) {
SDK::APalPlayerCharacter* p_appc = Config.GetPalPlayerCharacter();
if (p_appc != NULL)
{
if (Config.GetPalPlayerCharacter()->GetPalPlayerController() != NULL)
{
if (Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState() != NULL)
{
SDK::UPalPlayerInventoryData* InventoryData = Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->GetInventoryData();
if (InventoryData != NULL) {
SDK::UPalItemContainerMultiHelper* InventoryMultiHelper = InventoryData->InventoryMultiHelper;
if (InventoryMultiHelper != NULL) {
SDK::TArray<class SDK::UPalItemContainer*> Containers = InventoryMultiHelper->Containers;
if (Containers.Count() == 0) {
return;
}
SDK::UPalItemSlot* FirstSlot = Containers[0]->Get(0);
if (FirstSlot != NULL)
{
SDK::FPalItemSlotId ID = FirstSlot->GetSlotId();
for (int i = 0; i < FirstSlot->GetStackCount(); i++)
Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->TechnologyData->RequestAddTechnologyPointByItem(ID);
}
}
}
}
}
}
}
if (ImGui::Button("9999 Essentials")) {
SDK::APalPlayerCharacter* p_appc = Config.GetPalPlayerCharacter();
if (p_appc != NULL)
{
if (Config.GetPalPlayerCharacter()->GetPalPlayerController() != NULL)
{
if (Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState() != NULL)
{
SDK::UPalPlayerInventoryData* InventoryData = Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->GetInventoryData();
if (InventoryData != NULL)
for (int i = 0; i < database::essential_items.size(); i++)
AddItemToInventoryByName(InventoryData, (char*)database::essential_items[i].c_str(), 9999);
}
}
}
}
if (ImGui::Button("Starter Pack", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20))) {
SDK::APalPlayerCharacter* p_appc = Config.GetPalPlayerCharacter();
if (p_appc != NULL)
{
if (Config.GetPalPlayerCharacter()->GetPalPlayerController() != NULL)
{
if (Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState() != NULL)
{
SDK::UPalPlayerInventoryData* InventoryData = Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->GetInventoryData();
if (InventoryData != NULL) {
SpawnMultiple_ItemsToInventory(config::starter);
}
}
}
}
}
if (ImGui::Button("ToggleFly", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20))) if (ImGui::Button("ToggleFly", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
{ {
Config.IsToggledFly = !Config.IsToggledFly; Config.IsToggledFly = !Config.IsToggledFly;
@ -533,142 +654,115 @@ namespace DX11_Base
void Menu::ManagerMenu() void Menu::ManagerMenu()
{ {
if (!ImGui::Begin("Manager", &g_GameVariables->m_ShowMenu, 96)) if (ImGui::Begin("Manager", &g_GameVariables->m_ShowMenu, 96))
{ {
ImGui::End(); if (Config.GetUWorld() != NULL)
return;
}
if (Config.gWorld)
{
ImGui::Checkbox("filterPlayer", &Config.filterPlayer);
SDK::TArray<SDK::AActor*> T = Config.GetUWorld()->PersistentLevel->Actors;
for (int i = 0; i < T.Count(); i++)
{ {
if (!T[i]) ImGui::Checkbox("Filter Characters", &Config.filterCharacters);
continue; ImGui::SameLine();
ImGui::Checkbox("Players", &Config.filterPlayer);
ImGui::SameLine();
ImGui::Checkbox("Guilds", &Config.filterGuilds);
ImGui::SameLine();
ImGui::Checkbox("Map Objects", &Config.filterMapParts);
SDK::TArray<SDK::AActor*> T = Config.GetUWorld()->PersistentLevel->Actors;
if (!T[i]->IsA(SDK::APalCharacter::StaticClass())) for (int i = 0; i < T.Count(); i++)
continue;
SDK::APalCharacter* Character = (SDK::APalCharacter*)T[i];
SDK::FString name;
if (Config.filterPlayer)
{ {
if (!T[i]->IsA(SDK::APalPlayerCharacter::StaticClass())) SDK::AActor* Actor = T[i];
continue;
}
if (T[i]->IsA(SDK::APalPlayerCharacter::StaticClass()))
{
if (!Character)
continue;
Character->CharacterParameterComponent->GetNickname(&name); if (Actor == nullptr) continue;
}
else
{
SDK::UKismetStringLibrary* lib = SDK::UKismetStringLibrary::GetDefaultObj();
if (!Character)
continue;
std::string s = Character->GetFullName(); SDK::APalCharacter* Character = (SDK::APalCharacter*)Actor;
size_t firstUnderscorePos = s.find('_'); std::string name;
if (firstUnderscorePos != std::string::npos) bool Skip = Config.filterCharacters || Config.filterPlayer || Config.filterGuilds || Config.filterMapParts;
if (Config.filterCharacters && Actor->IsA(SDK::APalCharacter::StaticClass())) Skip = false;
else if (Config.filterPlayer && Actor->IsA(SDK::APalPlayerCharacter::StaticClass())) Skip = false;
if (Config.filterGuilds && Actor->IsA(SDK::APalGuildInfo::StaticClass())) Skip = false;
if (Config.filterMapParts && Actor->IsA(SDK::APalMapObject::StaticClass())) Skip = false;
if (Actor->IsA(SDK::APalCaptureJudgeObject::StaticClass())) Skip = false;
if (Skip) continue;
if (Actor->IsA(SDK::APalPlayerCharacter::StaticClass()))
{ {
std::string result = s.substr(firstUnderscorePos + 1); if (!Character) { continue; }
SDK::FString fn;
size_t secondUnderscorePos = result.find('_'); Character->CharacterParameterComponent->GetNickname(&fn);
if (fn.IsValid())
if (secondUnderscorePos != std::string::npos) { name = fn.ToString();
result = result.substr(0, secondUnderscorePos); else
} name = "unknown";
wchar_t ws[255];
swprintf(ws, 255, L"%hs", result);
name = SDK::FString(ws);
} }
} else if (Actor->IsA(SDK::APalGuildInfo::StaticClass()))
ImGui::Text(name.ToString().c_str()); name = Character->Name.GetRawString() + "[]" + ((SDK::APalGuildInfo*)Actor)->Guild->GuildName.ToString();
ImGui::SameLine(); else
ImGui::PushID(i); name = Character->Name.GetRawString();
if (ImGui::Button("Kill")) ImGui::PushID(i);
{ if (ImGui::Button("TP"))
if (T[i]->IsA(SDK::APalCharacter::StaticClass()))
Damage(Character, 99999999999);
}
ImGui::SameLine();
if (ImGui::Button("TP"))
{
if (Config.GetPalPlayerCharacter() != NULL)
{ {
if (Character) if (Config.GetPalPlayerCharacter() != NULL)
{ {
if (!Character) { continue; }
SDK::FVector vector = Character->K2_GetActorLocation(); SDK::FVector vector = Character->K2_GetActorLocation();
AnyWhereTP(vector, Config.IsSafe); AnyWhereTP(vector, Config.IsSafe);
} }
} }
}
/*if (Character->IsA(SDK::APalPlayerCharacter::StaticClass())) if (Actor->IsA(SDK::APalCharacter::StaticClass())) {
{ ImGui::SameLine();
ImGui::SameLine(); if (ImGui::Button(GetAsyncKeyState(VK_LSHIFT) ? "-99%" : "Kill"))
if (ImGui::Button("Boss")) Damage(Character, GetAsyncKeyState(VK_LSHIFT) ? (Character->CharacterParameterComponent->GetHP().Value - 1) / 1000 : 99999999999);
}
if (Actor->IsA(SDK::APalPlayerCharacter::StaticClass())) {
ImGui::SameLine();
if (ImGui::Button("Join Guild")) {
SDK::FGuid guid1 = Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPlayerUId();
SDK::FGuid guid2;
guid2 = SDK::UPalUtility::GetDefaultObj()->GetPlayerUIDByActor(Actor);
g_Console->printdbg("\n\n[+] Player 1 GUID: %x\nPlayer 2 GUID: %x [+]\n\n", g_Console->green, guid1, guid2);
Config.GetPalPlayerCharacter()->GetPalPlayerController()->Transmitter->Group->RequestJoinGuildForPlayer_ToServer(guid1, guid2);
}
}
if (Actor->IsA(SDK::APalMapLevelObject::StaticClass())) {
ImGui::SameLine();
if (ImGui::Button("Destroy")) {
SDK::APalMapLevelObject* Object = (SDK::APalMapLevelObject*)Actor;
Config.GetPalPlayerCharacter()->GetPalPlayerController()->Transmitter->MapObject->RequestDismantleObject_ToServer(Object->LevelObjectInstanceId);
}
}
if (Character->IsA(SDK::APalPlayerCharacter::StaticClass()))
{ {
if (Config.GetPalPlayerCharacter() != NULL) ImGui::SameLine();
if (ImGui::Button("Steal Name"))
{ {
auto controller = Config.GetPalPlayerCharacter()->GetPalPlayerController(); if (Config.GetPalPlayerCharacter() != NULL)
if (controller != NULL)
{ {
controller->Transmitter->BossBattle->RequestBossBattleEntry_ToServer(SDK::EPalBossType::ElectricBoss, (SDK::APalPlayerCharacter*)Character); auto controller = Config.GetPalPlayerCharacter()->GetPalPlayerController();
controller->Transmitter->BossBattle->RequestBossBattleStart_ToServer(SDK::EPalBossType::ElectricBoss, (SDK::APalPlayerCharacter*)Character); if (controller != NULL)
{
auto player = (SDK::APalPlayerCharacter*)Character;
SDK::FString fakename;
player->CharacterParameterComponent->GetNickname(&fakename);
Config.GetPalPlayerCharacter()->GetPalPlayerController()->Transmitter->NetworkIndividualComponent->UpdateCharacterNickName_ToServer(Config.GetPalPlayerCharacter()->CharacterParameterComponent->IndividualHandle->ID, fakename);
}
} }
} }
} }
}*/
if (Character->IsA(SDK::APalPlayerCharacter::StaticClass()))
{
ImGui::SameLine(); ImGui::SameLine();
if (ImGui::Button("MaskIt")) ImGui::Text(name.c_str());
{
if (Config.GetPalPlayerCharacter() != NULL) ImGui::PopID();
{
auto controller = Config.GetPalPlayerCharacter()->GetPalPlayerController();
if (controller != NULL)
{
auto player = (SDK::APalPlayerCharacter*)Character;
SDK::FString fakename;
player->CharacterParameterComponent->GetNickname(&fakename);
Config.GetPalPlayerCharacter()->GetPalPlayerController()->Transmitter->NetworkIndividualComponent->UpdateCharacterNickName_ToServer(Config.GetPalPlayerCharacter()->CharacterParameterComponent->IndividualHandle->ID, fakename);
}
}
}
} }
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();
} }
} }
if (Config.GetUWorld() != NULL)
{
}
ImGui::End(); ImGui::End();
} }
@ -795,6 +889,31 @@ namespace DX11_Base
void Menu::Loops() void Menu::Loops()
{ {
if ((GetAsyncKeyState(VK_OEM_3) && GetAsyncKeyState(0x52) & 1))
{
if (Config.GetUWorld() != NULL)
{
SDK::TArray<SDK::AActor*> T = Config.GetUWorld()->PersistentLevel->Actors;
for (int i = 0; i < T.Count(); i++)
{
SDK::AActor* Actor = T[i];
if (Actor == nullptr) continue;
if (!Actor->IsA(SDK::APalCharacter::StaticClass())) continue;
if (Actor->IsA(SDK::APalPlayerCharacter::StaticClass())) continue;
SDK::APalCharacter* Character = (SDK::APalCharacter*)Actor;
if (Character->IsLocallyControlled()) continue;
if (Character->CharacterParameterComponent->GetHP().Value < Character->CharacterParameterComponent->GetMaxHP().Value * 0.015) continue;
Damage(Character, (Character->CharacterParameterComponent->GetHP().Value - 1) / 1000);
}
}
}
// Respawn // Respawn
if ((GetAsyncKeyState(VK_F5) & 1)) if ((GetAsyncKeyState(VK_F5) & 1))
RespawnLocalPlayer(Config.IsSafe); RespawnLocalPlayer(Config.IsSafe);
@ -803,7 +922,18 @@ namespace DX11_Base
if ((GetAsyncKeyState(VK_F6) & 1)) if ((GetAsyncKeyState(VK_F6) & 1))
ReviveLocalPlayer(); ReviveLocalPlayer();
// if ((GetAsyncKeyState(VK_F3) & 1))
{
SDK::APalPlayerCharacter* p_appc = Config.GetPalPlayerCharacter();
if (p_appc != NULL)
{
if (Config.GetPalPlayerCharacter()->GetPalPlayerController() != NULL)
{
Config.spec = !Config.spec;
Config.GetPalPlayerCharacter()->SetSpectatorMode(Config.spec);
}
}
}
if (Config.IsSpeedHack) if (Config.IsSpeedHack)
SpeedHack(Config.SpeedModiflers); SpeedHack(Config.SpeedModiflers);
@ -818,7 +948,14 @@ namespace DX11_Base
// //
if (Config.IsInfStamina) if (Config.IsInfStamina)
ResetStamina(); ResetStamina();
if (!Config.ToReveal.empty() && Config.timeSince(LastReveal) > 100) {
LastReveal = n_time::now();
SDK::FVector pos = Config.ToReveal.back();
SDK::FHitResult _;
Config.ToReveal.pop_back();
Config.GetPalPlayerCharacter()->K2_SetActorLocation(pos, false, &_, true);
}
// //
// SetDemiGodMode(Config.IsMuteki); // SetDemiGodMode(Config.IsMuteki);
} }