mirror of
https://github.com/swordbluesword/PalWorld-NetCrack.git
synced 2025-04-29 02:47:17 +09:00
Updated some features, Creadit:Evoc
This commit is contained in:
parent
c44509cadb
commit
0cfc05db2b
21
config.h
21
config.h
@ -7,6 +7,13 @@
|
||||
|
||||
typedef bool(*Tick)(SDK::APalPlayerCharacter* m_this, float DeltaSecond);
|
||||
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
|
||||
{
|
||||
public:
|
||||
@ -15,6 +22,7 @@ public:
|
||||
DWORD64 offset_Tick = 0x2AB1DC0;//APalPlayerCharacter::Tick
|
||||
DWORD64 offset_senddmg = 0x2A57920; //APalPlayerState::SendDamage_ToServer
|
||||
//check
|
||||
bool spec = false;
|
||||
bool IsESP = false;
|
||||
bool IsAimbot = false;
|
||||
bool IsSpeedHack = false;
|
||||
@ -33,6 +41,9 @@ public:
|
||||
bool filterPlayer = false;
|
||||
bool bisRandomName = false;
|
||||
bool bisTeleporter = false;
|
||||
bool filterCharacters = true;
|
||||
bool filterGuilds = false;
|
||||
bool filterMapParts = false;
|
||||
float SpeedModiflers = 1.0f;
|
||||
//def and value
|
||||
float mDebugESPDistance = 5.0f;
|
||||
@ -48,16 +59,19 @@ public:
|
||||
SDK::TArray<SDK::APalPlayerCharacter*> AllPlayers = {};
|
||||
SDK::UPalCharacterImportanceManager* UCIM = NULL;
|
||||
SDK::UObject* WorldContextObject = NULL;
|
||||
std::vector<SDK::FVector> ToReveal = std::vector<SDK::FVector>{};
|
||||
int AddItemSlot = 0;
|
||||
int AddItemCount = 2;
|
||||
|
||||
enum QuickItemSet
|
||||
{
|
||||
|
||||
basic_items_stackable,
|
||||
basic_items_single,
|
||||
pal_unlock_skills,
|
||||
spheres,
|
||||
tools
|
||||
tools,
|
||||
starter
|
||||
|
||||
};
|
||||
//Filtered Items
|
||||
@ -79,5 +93,10 @@ public:
|
||||
static void Init();
|
||||
static void Update(const char* filterText);
|
||||
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;
|
||||
|
27
database.h
27
database.h
@ -1036,6 +1036,31 @@ namespace database
|
||||
"Axe_Tier_02",
|
||||
"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] =
|
||||
{
|
||||
@ -1182,5 +1207,7 @@ namespace database
|
||||
{"WumpoBotan", { -148826, 364859, -1831.33 }},
|
||||
{"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" };
|
||||
|
||||
}
|
@ -202,6 +202,10 @@ void SpawnMultiple_ItemsToInventory(config::QuickItemSet Set)
|
||||
for (int i = 0; i < IM_ARRAYSIZE(database::tools); i++)
|
||||
AddItemToInventoryByName(InventoryData, _strdup(database::tools[i].c_str()), 1);
|
||||
break;
|
||||
case 5:
|
||||
for (int i = 0; i < IM_ARRAYSIZE(database::starter); i++)
|
||||
AddItemToInventoryByName(InventoryData, _strdup(database::starter[i].c_str()), 1);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
319
src/Menu.cpp
319
src/Menu.cpp
@ -3,6 +3,10 @@
|
||||
#include "SDK.hpp"
|
||||
#include "config.h"
|
||||
#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 str;
|
||||
@ -130,7 +134,7 @@ namespace DX11_Base
|
||||
//creadit
|
||||
//ImGui::Checkbox("PalIsMonster", &Config.IsMonster);
|
||||
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);
|
||||
if (ImGui::Button("Give item", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
|
||||
{
|
||||
@ -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)))
|
||||
{
|
||||
Config.IsToggledFly = !Config.IsToggledFly;
|
||||
@ -533,103 +654,94 @@ namespace DX11_Base
|
||||
|
||||
void Menu::ManagerMenu()
|
||||
{
|
||||
if (!ImGui::Begin("Manager", &g_GameVariables->m_ShowMenu, 96))
|
||||
if (ImGui::Begin("Manager", &g_GameVariables->m_ShowMenu, 96))
|
||||
{
|
||||
ImGui::End();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (Config.gWorld)
|
||||
if (Config.GetUWorld() != NULL)
|
||||
{
|
||||
ImGui::Checkbox("filterPlayer", &Config.filterPlayer);
|
||||
ImGui::Checkbox("Filter Characters", &Config.filterCharacters);
|
||||
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;
|
||||
|
||||
for (int i = 0; i < T.Count(); i++)
|
||||
{
|
||||
if (!T[i])
|
||||
continue;
|
||||
SDK::AActor* Actor = T[i];
|
||||
|
||||
if (!T[i]->IsA(SDK::APalCharacter::StaticClass()))
|
||||
continue;
|
||||
if (Actor == nullptr) continue;
|
||||
|
||||
SDK::APalCharacter* Character = (SDK::APalCharacter*)T[i];
|
||||
SDK::FString name;
|
||||
if (Config.filterPlayer)
|
||||
SDK::APalCharacter* Character = (SDK::APalCharacter*)Actor;
|
||||
std::string name;
|
||||
|
||||
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()))
|
||||
{
|
||||
if (!T[i]->IsA(SDK::APalPlayerCharacter::StaticClass()))
|
||||
continue;
|
||||
}
|
||||
if (T[i]->IsA(SDK::APalPlayerCharacter::StaticClass()))
|
||||
{
|
||||
if (!Character)
|
||||
continue;
|
||||
|
||||
Character->CharacterParameterComponent->GetNickname(&name);
|
||||
}
|
||||
if (!Character) { continue; }
|
||||
SDK::FString fn;
|
||||
Character->CharacterParameterComponent->GetNickname(&fn);
|
||||
if (fn.IsValid())
|
||||
name = fn.ToString();
|
||||
else
|
||||
{
|
||||
SDK::UKismetStringLibrary* lib = SDK::UKismetStringLibrary::GetDefaultObj();
|
||||
if (!Character)
|
||||
continue;
|
||||
|
||||
std::string s = Character->GetFullName();
|
||||
size_t firstUnderscorePos = s.find('_');
|
||||
|
||||
if (firstUnderscorePos != std::string::npos)
|
||||
{
|
||||
std::string result = s.substr(firstUnderscorePos + 1);
|
||||
|
||||
size_t secondUnderscorePos = result.find('_');
|
||||
|
||||
if (secondUnderscorePos != std::string::npos) {
|
||||
result = result.substr(0, secondUnderscorePos);
|
||||
name = "unknown";
|
||||
}
|
||||
wchar_t ws[255];
|
||||
swprintf(ws, 255, L"%hs", result);
|
||||
name = SDK::FString(ws);
|
||||
}
|
||||
}
|
||||
ImGui::Text(name.ToString().c_str());
|
||||
ImGui::SameLine();
|
||||
else if (Actor->IsA(SDK::APalGuildInfo::StaticClass()))
|
||||
name = Character->Name.GetRawString() + "[]" + ((SDK::APalGuildInfo*)Actor)->Guild->GuildName.ToString();
|
||||
else
|
||||
name = Character->Name.GetRawString();
|
||||
ImGui::PushID(i);
|
||||
if (ImGui::Button("Kill"))
|
||||
{
|
||||
if (T[i]->IsA(SDK::APalCharacter::StaticClass()))
|
||||
Damage(Character, 99999999999);
|
||||
}
|
||||
ImGui::SameLine();
|
||||
if (ImGui::Button("TP"))
|
||||
{
|
||||
if (Config.GetPalPlayerCharacter() != NULL)
|
||||
{
|
||||
if (Character)
|
||||
{
|
||||
if (!Character) { continue; }
|
||||
SDK::FVector vector = Character->K2_GetActorLocation();
|
||||
AnyWhereTP(vector, Config.IsSafe);
|
||||
}
|
||||
}
|
||||
|
||||
if (Actor->IsA(SDK::APalCharacter::StaticClass())) {
|
||||
ImGui::SameLine();
|
||||
if (ImGui::Button(GetAsyncKeyState(VK_LSHIFT) ? "-99%" : "Kill"))
|
||||
Damage(Character, GetAsyncKeyState(VK_LSHIFT) ? (Character->CharacterParameterComponent->GetHP().Value - 1) / 1000 : 99999999999);
|
||||
}
|
||||
|
||||
/*if (Character->IsA(SDK::APalPlayerCharacter::StaticClass()))
|
||||
{
|
||||
if (Actor->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);
|
||||
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()))
|
||||
{
|
||||
ImGui::SameLine();
|
||||
if (ImGui::Button("MaskIt"))
|
||||
if (ImGui::Button("Steal Name"))
|
||||
{
|
||||
if (Config.GetPalPlayerCharacter() != NULL)
|
||||
{
|
||||
@ -644,31 +756,13 @@ 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::Text(name.c_str());
|
||||
|
||||
ImGui::PopID();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (Config.GetUWorld() != NULL)
|
||||
{
|
||||
}
|
||||
|
||||
ImGui::End();
|
||||
}
|
||||
|
||||
@ -795,6 +889,31 @@ namespace DX11_Base
|
||||
|
||||
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
|
||||
if ((GetAsyncKeyState(VK_F5) & 1))
|
||||
RespawnLocalPlayer(Config.IsSafe);
|
||||
@ -803,7 +922,18 @@ namespace DX11_Base
|
||||
if ((GetAsyncKeyState(VK_F6) & 1))
|
||||
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)
|
||||
SpeedHack(Config.SpeedModiflers);
|
||||
|
||||
@ -818,7 +948,14 @@ namespace DX11_Base
|
||||
//
|
||||
if (Config.IsInfStamina)
|
||||
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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user