mirror of
https://github.com/swordbluesword/PalWorld-NetCrack.git
synced 2025-04-29 02:47:17 +09:00
Merge branch 'master' into master
This commit is contained in:
commit
574ffdbdc4
14
config.cpp
14
config.cpp
@ -20,9 +20,9 @@ void config::Update(const char* filterText)
|
||||
}
|
||||
std::sort(Config.db_filteredItems.begin(), Config.db_filteredItems.end());
|
||||
}
|
||||
const std::vector<std::string>& config::GetFilteredItems(){ return Config.db_filteredItems; }
|
||||
const std::vector<std::string>& config::GetFilteredItems() { return Config.db_filteredItems; }
|
||||
|
||||
bool DetourTick(SDK::APalPlayerCharacter* m_this,float DeltaSecond)
|
||||
bool DetourTick(SDK::APalPlayerCharacter* m_this, float DeltaSecond)
|
||||
{
|
||||
if (m_this->GetPalPlayerController() != NULL)
|
||||
{
|
||||
@ -31,7 +31,7 @@ bool DetourTick(SDK::APalPlayerCharacter* m_this,float DeltaSecond)
|
||||
Config.localPlayer = m_this;
|
||||
}
|
||||
}
|
||||
return OldTickFunc(m_this, DeltaSecond);
|
||||
return OldTickFunc(m_this, DeltaSecond);
|
||||
}
|
||||
SDK::UWorld* config::GetUWorld()
|
||||
{
|
||||
@ -52,8 +52,8 @@ SDK::UPalCharacterImportanceManager* config::GetCharacterImpManager()
|
||||
if (!pWorld)
|
||||
return nullptr;
|
||||
|
||||
SDK::UGameInstance* pGameInstance = pWorld->OwningGameInstance;
|
||||
if (!pGameInstance)
|
||||
SDK::UGameInstance* pGameInstance = pWorld->OwningGameInstance;
|
||||
if (!pGameInstance)
|
||||
return nullptr;
|
||||
|
||||
return static_cast<SDK::UPalGameInstance*>(pGameInstance)->CharacterImportanceManager;
|
||||
@ -172,7 +172,7 @@ bool config::GetAllActorsofType(SDK::UClass* mType, std::vector<SDK::AActor*>* o
|
||||
if (!pActor || !pActor->RootComponent || (pActor == pLocalPlayer && bSkipLocalPlayer))
|
||||
continue;
|
||||
|
||||
if (!pActor->IsA(mType))
|
||||
if (!pActor->IsA(mType))
|
||||
continue;
|
||||
|
||||
result.push_back(pActor);
|
||||
@ -191,7 +191,7 @@ void config::Init()
|
||||
{
|
||||
//register hook
|
||||
Config.ClientBase = (DWORD64)GetModuleHandleA("PalWorld-Win64-Shipping.exe");
|
||||
|
||||
|
||||
TickFunc = (Tick)(Config.ClientBase + Config.offset_Tick);
|
||||
|
||||
MH_CreateHook(TickFunc, DetourTick, reinterpret_cast<void**>(&OldTickFunc));
|
||||
|
23
config.h
23
config.h
@ -1,11 +1,10 @@
|
||||
#pragma once
|
||||
#include <Windows.h>
|
||||
#include "libs/utils/memory.h"
|
||||
#include "database.h"
|
||||
#include "SDK.hpp"
|
||||
#include "database.h"
|
||||
|
||||
typedef bool(*Tick)(SDK::APalPlayerCharacter* m_this,float DeltaSecond);
|
||||
typedef void(*AddStatus)(SDK::UPalNetworkIndividualComponent* p_this, SDK::FPalInstanceID* ID, SDK::TArray<SDK::FPalGotStatusPoint>* AddStatusPointArray);
|
||||
typedef bool(*Tick)(SDK::APalPlayerCharacter* m_this, float DeltaSecond);
|
||||
|
||||
class config
|
||||
{
|
||||
@ -28,20 +27,21 @@ public:
|
||||
bool IsMonster = false;
|
||||
bool IsQuick = false;
|
||||
bool matchDbItems = true;
|
||||
bool isEq = false;
|
||||
bool isDebugESP = false;
|
||||
float mDebugESPDistance = 5.0f;
|
||||
|
||||
//def and value
|
||||
bool bisOpenManager = false;
|
||||
bool filterPlayer = false;
|
||||
bool bisRandomName = false;
|
||||
bool bisTeleporter = false;
|
||||
float SpeedModiflers = 1.0f;
|
||||
//def and value
|
||||
float mDebugESPDistance = 5.0f;
|
||||
int DamageUp = 0;
|
||||
int DefuseUp = 0;
|
||||
int EXP = 0;
|
||||
int Item = 0;
|
||||
float Pos[3] = {0,0,0};
|
||||
float Pos[3] = { 0,0,0 };
|
||||
char ItemName[255];
|
||||
char inputTextBuffer[255] = "";
|
||||
int EqModifiler = 1;
|
||||
SDK::UWorld* gWorld = nullptr;
|
||||
SDK::APalPlayerCharacter* localPlayer = NULL;
|
||||
SDK::TArray<SDK::APalPlayerCharacter*> AllPlayers = {};
|
||||
@ -53,7 +53,7 @@ public:
|
||||
enum QuickItemSet
|
||||
{
|
||||
basic_items_stackable,
|
||||
basic_items_single,
|
||||
basic_items_single,
|
||||
pal_unlock_skills,
|
||||
spheres,
|
||||
tools
|
||||
@ -69,12 +69,11 @@ public:
|
||||
static SDK::APalPlayerState* GetPalPlayerState();
|
||||
static SDK::UPalPlayerInventoryData* GetInventoryComponent();
|
||||
static SDK::APalWeaponBase* GetPlayerEquippedWeapon();
|
||||
static SDK::TArray<SDK::APalPlayerCharacter*> GetTAllPlayers();
|
||||
static bool GetTAllPlayers(SDK::TArray<class SDK::APalCharacter*>* outResult);
|
||||
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 GetAllActorsofType(SDK::UClass* mType, std::vector<SDK::AActor*>* outArray, bool bLoopAllLevels = false , bool bSkipLocalPlayer = false);
|
||||
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);
|
||||
static const std::vector<std::string>& GetFilteredItems();
|
||||
|
41
database.h
41
database.h
@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#include "pch.h"
|
||||
#include <map>
|
||||
|
||||
namespace database
|
||||
{
|
||||
@ -1141,4 +1142,44 @@ namespace database
|
||||
"PalSphere_Robbery",
|
||||
"PalSphere_Debug",
|
||||
};
|
||||
|
||||
static std::map<std::string, std::vector<float>>locationMap = {
|
||||
{"Anubis", { -170269, 94163.7, -1527.83 }},
|
||||
{"Azurobe", { -300596, 136090, -2033.13 }},
|
||||
{"Beakon", { -237981, 2559.41, 8413.65 }},
|
||||
{"BroncherryAqua", { -330059.98, 81386.99, -1929.8 }},
|
||||
{"Broncherry", { -430777.18, 56266.50, -1774.57 }},
|
||||
{"Bushi", { -349079.05, 104564.46, -121.11 }},
|
||||
{"Chillet", { -315195, 236714, 2452.12 }},
|
||||
{"DinossomLux", { 125311, 318722, 266.384 }},
|
||||
{"Elizabee", { -197627, 167101, -1964.75 }},
|
||||
{"Felbat", { -149024, -30562.7, -1291.73 }},
|
||||
{"Fenglope", { -332470, 40256.4, 1333.93 }},
|
||||
{"Frostallion", { 111978, -6394.85, 21940.2 }},
|
||||
{"Grintale", { -234807, 321166, -1826.19 }},
|
||||
{"Gumoss", { -409885.46, 108120.6, -1949.58 }},
|
||||
{"Jetragon", { -270762, -205837, 3834.92 }},
|
||||
{"Jormuntide2", { -163184, 314483, -2100.13 }},
|
||||
{"Jormuntide", { -244207, 74851.5, -1157.08 }},
|
||||
{"Katress", { -276223, 268992, -1209.67 }},
|
||||
{"Kingpaca", { -336105, 181639, 901.022 }},
|
||||
{"Lunaris", { -426589.48, 90677.8, 215.90 }},
|
||||
{"Mammorest", { -341702, 243628, -533.76 }},
|
||||
{"Menasting", { -77943, 393182, 665.51 }},
|
||||
{"MossandaLux", { -208233, 364318, 1167.46 }},
|
||||
{"Nitewing", { -157475, 30628.2, -1894.64 }},
|
||||
{"Paladius", { 187235, 349924, 2563.07 }},
|
||||
{"Penking", { -285343.94, 210129.58, 854.23 }},
|
||||
{"Petallia", { -245440, 149098, 913.216 }},
|
||||
{"Quivern", { -183795, 40661.4, 8547.3 }},
|
||||
{"RelaxasaurusLux", { -282860, 64923.7, 5357.72 }},
|
||||
{"Siblex", { -92023.6, 273762, 18967.3 }},
|
||||
{"Suzaku", { -4320.07, 340927, 205.005 }},
|
||||
{"Univolt", { -372419.57, 102508.29, -392 }},
|
||||
{"Vaelet", { -147042, 217357, 2857.45 }},
|
||||
{"Verdash", { -119349, 288954, 3186.98 }},
|
||||
{"Warsect", { -226359, 231970, -1807.45 }},
|
||||
{"WumpoBotan", { -148826, 364859, -1831.33 }},
|
||||
};
|
||||
|
||||
}
|
@ -23,6 +23,7 @@ namespace DX11_Base {
|
||||
// FORWARD DECLARE FUNCTIONS
|
||||
void Draw();
|
||||
void MainMenu();
|
||||
void ManagerMenu();
|
||||
void HUD(bool* p_open);
|
||||
void Loops();
|
||||
|
||||
|
305
src/Menu.cpp
305
src/Menu.cpp
@ -2,48 +2,39 @@
|
||||
#include "../include/Menu.hpp"
|
||||
#include "SDK.hpp"
|
||||
#include "config.h"
|
||||
|
||||
AddStatus Equi;
|
||||
AddStatus OldEqui;
|
||||
|
||||
void DetourEqui(SDK::UPalNetworkIndividualComponent* p_this, SDK::FPalInstanceID* ID, SDK::TArray<SDK::FPalGotStatusPoint>* AddStatusPointArray)
|
||||
std::string rand_str(const int len)
|
||||
{
|
||||
if(AddStatusPointArray->IsValid())
|
||||
std::string str;
|
||||
char c;
|
||||
int idx;
|
||||
for (idx = 0; idx < len; idx++)
|
||||
{
|
||||
for (int i = 0; i < AddStatusPointArray->Count(); i++)
|
||||
{
|
||||
(*AddStatusPointArray)[i].StatusPoint = -1 * Config.EqModifiler;
|
||||
}
|
||||
c = 'a' + rand() % 26;
|
||||
str.push_back(c);
|
||||
}
|
||||
return;
|
||||
return str;
|
||||
}
|
||||
void Damage(SDK::APalCharacter* character, int32 damage)
|
||||
{
|
||||
SDK::FPalDamageInfo info = SDK::FPalDamageInfo();
|
||||
info.AttackElementType = SDK::EPalElementType::Normal;
|
||||
info.Attacker = Config.GetPalPlayerCharacter();
|
||||
info.AttackerGroupID = Config.GetPalPlayerState()->IndividualHandleId.PlayerUId;
|
||||
info.AttackerLevel = 50;
|
||||
info.AttackType = SDK::EPalAttackType::Weapon;
|
||||
info.bApplyNativeDamageValue = true;
|
||||
info.bAttackableToFriend = true;
|
||||
info.IgnoreShield = true;
|
||||
info.NativeDamageValue = damage;
|
||||
Config.GetPalPlayerState()->SendDamage_ToServer(character, info);
|
||||
}
|
||||
|
||||
int InputTextCallback(ImGuiInputTextCallbackData* data) {
|
||||
char inputChar = data->EventChar;
|
||||
|
||||
Config.Update(Config.inputTextBuffer);
|
||||
|
||||
return 0;
|
||||
}
|
||||
void ToggleEqui(bool isEq)
|
||||
{
|
||||
if (isEq)
|
||||
{
|
||||
if (Equi = NULL)
|
||||
{
|
||||
Equi = (AddStatus)(Config.ClientBase + Config.offset_AddStatus);
|
||||
MH_CreateHook(Equi, DetourEqui, reinterpret_cast<void**>(OldEqui));
|
||||
MH_EnableHook(Equi);
|
||||
return;
|
||||
}
|
||||
MH_EnableHook(Equi);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
MH_DisableHook(Equi);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
//SDK::FPalDebugOtomoPalInfo palinfo = SDK::FPalDebugOtomoPalInfo();
|
||||
//SDK::TArray<SDK::EPalWazaID> EA = { 0U };
|
||||
@ -203,6 +194,24 @@ namespace DX11_Base {
|
||||
|
||||
ImGui::Checkbox("InfStamina", &Config.IsInfStamina);
|
||||
|
||||
|
||||
if (ImGui::Button("RandomName", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
|
||||
{
|
||||
if (Config.GetPalPlayerCharacter() != NULL)
|
||||
{
|
||||
if (Config.GetPalPlayerCharacter()->GetPalPlayerController() != NULL)
|
||||
{
|
||||
SDK::UKismetStringLibrary* lib = SDK::UKismetStringLibrary::GetDefaultObj();
|
||||
std::string s = rand_str(20);
|
||||
|
||||
wchar_t ws[255];
|
||||
swprintf(ws, 255, L"%hs", s.c_str());
|
||||
|
||||
Config.GetPalPlayerCharacter()->GetPalPlayerController()->Transmitter->NetworkIndividualComponent->UpdateCharacterNickName_ToServer(Config.GetPalPlayerCharacter()->CharacterParameterComponent->IndividualHandle->ID, SDK::FString(ws));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Creadit Mokobake
|
||||
//ImGui::Checkbox("MuteKiGodmode", &Config.IsMuteki);
|
||||
|
||||
@ -233,11 +242,11 @@ namespace DX11_Base {
|
||||
void TABExploit()
|
||||
{
|
||||
//Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->RequestSpawnMonsterForPlayer(name, 5, 1);
|
||||
ImGui::Checkbox("IsQuick", &Config.IsQuick);
|
||||
ImGui::Checkbox("SafeTeleport", &Config.IsSafe);
|
||||
ImGui::Checkbox("Show Quick Tab", &Config.IsQuick);
|
||||
ImGui::Checkbox("Open Manager Menu", &Config.bisOpenManager);
|
||||
ImGui::Checkbox("Show Teleporter Tab", &Config.bisTeleporter);
|
||||
//creadit
|
||||
//ImGui::Checkbox("PalIsMonster", &Config.IsMonster);
|
||||
ImGui::InputFloat3("Pos:", Config.Pos);
|
||||
ImGui::InputInt("EXP:", &Config.EXP);
|
||||
ImGui::InputText("Item Name", Config.ItemName,sizeof(Config.ItemName));
|
||||
ImGui::InputInt("Item Num", &Config.Item);
|
||||
@ -280,64 +289,6 @@ namespace DX11_Base {
|
||||
{
|
||||
UnlockAllEffigies();
|
||||
}
|
||||
|
||||
////ImGui::InputText("Pal Name", Config.PalName, sizeof(Config.PalName));
|
||||
// //if (!Config.IsMonster){ImGui::InputInt("Pal Rank", &Config.PalRank);}
|
||||
// //if (Config.IsMonster) { ImGui::InputInt("Pal Count", &Config.PalNum); }
|
||||
// ImGui::InputInt("Pal lvl", &Config.PalLvL);
|
||||
/*if (ImGui::Button("Spawn Pal", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20)))
|
||||
{
|
||||
if (Config.GetPalPlayerCharacter() != NULL)
|
||||
{
|
||||
if (Config.GetPalPlayerCharacter()->GetPalPlayerController() != NULL)
|
||||
{
|
||||
if (Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState() != NULL)
|
||||
{
|
||||
if (Config.PalName != NULL)
|
||||
{
|
||||
g_Console->printdbg("\n\n[+] PalName: %s [+]\n\n", g_Console->color.green, Config.ItemName);
|
||||
SpawnPal(Config.PalName,Config.IsMonster,Config.PalRank,Config.PalLvL,Config.PalNum);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
if (ImGui::Button("HomeTP", 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)
|
||||
{
|
||||
if (Config.IsSafe)
|
||||
{
|
||||
Config.GetPalPlayerCharacter()->GetPalPlayerController()->TeleportToSafePoint_ToServer();
|
||||
}
|
||||
else
|
||||
{
|
||||
Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->RequestRespawn();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/* if (ImGui::Button("AnywhereTP", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20)))
|
||||
{
|
||||
if (Config.GetPalPlayerCharacter()!= NULL)
|
||||
{
|
||||
if (Config.GetPalPlayerCharacter()->GetPalPlayerController() != NULL)
|
||||
{
|
||||
if (Config.Pos != NULL)
|
||||
{
|
||||
SDK::FVector vector = { Config.Pos[0],Config.Pos[1],Config.Pos[2] };
|
||||
AnyWhereTP(vector,Config.IsSafe);
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
if (ImGui::Button("ToggleFly", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
|
||||
{
|
||||
Config.IsToggledFly = !Config.IsToggledFly;
|
||||
@ -392,17 +343,12 @@ namespace DX11_Base {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ImGui::Button("Equivalent", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
|
||||
{
|
||||
Config.isEq = !Config.isEq;
|
||||
ToggleEqui(Config.isEq);
|
||||
}
|
||||
ImGui::InputInt("EquiModifiler", &Config.EqModifiler);
|
||||
}
|
||||
void TABConfig()
|
||||
{
|
||||
|
||||
ImGui::Text("PalWorld Menu");
|
||||
ImGui::Text("VERSION: v1.1");
|
||||
ImGui::Text("VERSION: v1.2.3");
|
||||
|
||||
ImGui::Spacing();
|
||||
ImGui::Separator();
|
||||
@ -435,6 +381,46 @@ namespace DX11_Base {
|
||||
}
|
||||
}
|
||||
}
|
||||
void TABTeleporter()
|
||||
{
|
||||
ImGui::Checkbox("SafeTeleport", &Config.IsSafe);
|
||||
if (ImGui::Button("Home", 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)
|
||||
{
|
||||
if (Config.IsSafe)
|
||||
{
|
||||
Config.GetPalPlayerCharacter()->GetPalPlayerController()->TeleportToSafePoint_ToServer();
|
||||
}
|
||||
else
|
||||
{
|
||||
Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->RequestRespawn();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ImGui::InputFloat3("Pos",Config.Pos);
|
||||
ImGui::SameLine();
|
||||
if (ImGui::Button("TP", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
|
||||
{
|
||||
SDK::FVector vector = { Config.Pos[0],Config.Pos[1],Config.Pos[2] };
|
||||
AnyWhereTP(vector, Config.IsSafe);
|
||||
}
|
||||
for (const auto& pair : database::locationMap) {
|
||||
const std::string& locationName = pair.first;
|
||||
if (ImGui::Button(locationName.c_str())) {
|
||||
SDK::FVector location = SDK::FVector(pair.second[0], pair.second[1], pair.second[2]);
|
||||
AnyWhereTP(location, Config.IsSafe);
|
||||
}
|
||||
}
|
||||
}
|
||||
void TABQuick()//Creadit:asashi
|
||||
{
|
||||
if (ImGui::Button("Basic Items stack", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20))) {
|
||||
@ -463,6 +449,10 @@ namespace DX11_Base {
|
||||
}
|
||||
if (g_GameVariables->m_ShowMenu)
|
||||
MainMenu();
|
||||
if (Config.bisOpenManager && g_GameVariables->m_ShowMenu)
|
||||
{
|
||||
ManagerMenu();
|
||||
}
|
||||
|
||||
if (g_GameVariables->m_ShowHud)
|
||||
HUD(&g_GameVariables->m_ShowHud);
|
||||
@ -473,7 +463,117 @@ namespace DX11_Base {
|
||||
if (Config.isDebugESP)
|
||||
ESP_DEBUG(Config.mDebugESPDistance, ImVec4(0,1,0,1));
|
||||
}
|
||||
void Menu::ManagerMenu()
|
||||
{
|
||||
if (ImGui::Begin("Manager", &g_GameVariables->m_ShowMenu, 96))
|
||||
{
|
||||
if (Config.GetUWorld() != NULL)
|
||||
{
|
||||
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] != NULL)
|
||||
{
|
||||
if (T[i]->IsA(SDK::APalCharacter::StaticClass()))
|
||||
{
|
||||
SDK::APalCharacter* Character = (SDK::APalCharacter*)T[i];
|
||||
SDK::FString name;
|
||||
if (Config.filterPlayer)
|
||||
{
|
||||
if (!T[i]->IsA(SDK::APalPlayerCharacter::StaticClass()))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (T[i]->IsA(SDK::APalPlayerCharacter::StaticClass()))
|
||||
{
|
||||
if (!Character) { continue; }
|
||||
Character->CharacterParameterComponent->GetNickname(&name);
|
||||
}
|
||||
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);
|
||||
}
|
||||
wchar_t ws[255];
|
||||
swprintf(ws, 255, L"%hs", result);
|
||||
name = SDK::FString(ws);
|
||||
}
|
||||
}
|
||||
ImGui::Text(name.ToString().c_str());
|
||||
ImGui::SameLine();
|
||||
ImGui::PushID(i);
|
||||
if (ImGui::Button("Kill"))
|
||||
{
|
||||
if (T[i]->IsA(SDK::APalCharacter::StaticClass()))
|
||||
{
|
||||
Damage(Character, 99999999999);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
ImGui::SameLine();
|
||||
if (ImGui::Button("TP"))
|
||||
{
|
||||
if (Config.GetPalPlayerCharacter() != NULL)
|
||||
{
|
||||
if (!Character) { continue; }
|
||||
SDK::FVector vector = Character->K2_GetActorLocation();
|
||||
AnyWhereTP(vector, Config.IsSafe);
|
||||
}
|
||||
}
|
||||
|
||||
/*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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
if (Character->IsA(SDK::APalPlayerCharacter::StaticClass()))
|
||||
{
|
||||
ImGui::SameLine();
|
||||
if (ImGui::Button("MaskIt"))
|
||||
{
|
||||
if (Config.GetPalPlayerCharacter() != NULL)
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ImGui::PopID();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
void Menu::MainMenu()
|
||||
{
|
||||
if (!g_GameVariables->m_ShowDemo)
|
||||
@ -526,6 +626,11 @@ namespace DX11_Base {
|
||||
{
|
||||
Tabs::TABQuick();
|
||||
ImGui::EndTabItem();
|
||||
}
|
||||
if (Config.bisTeleporter && ImGui::BeginTabItem("Teleporter"))
|
||||
{
|
||||
Tabs::TABTeleporter();
|
||||
ImGui::EndTabItem();
|
||||
}
|
||||
ImGui::EndTabBar();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user