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
1229d6262c
26
config.cpp
26
config.cpp
@ -7,13 +7,11 @@ config Config;
|
|||||||
Tick TickFunc;
|
Tick TickFunc;
|
||||||
Tick OldTickFunc;
|
Tick OldTickFunc;
|
||||||
|
|
||||||
GetAllPlayer GetAllPlayerFunc;
|
|
||||||
GetAllPlayer OldGetAllPlayerFunc;
|
|
||||||
void config::Update(const char* filterText)
|
void config::Update(const char* filterText)
|
||||||
{
|
{
|
||||||
Config.db_filteredItems.clear();
|
Config.db_filteredItems.clear();
|
||||||
|
|
||||||
const auto& itemsToSearch = Config.matchDbItems ? database::db_items : database::db_pals;
|
const auto& itemsToSearch = database::db_items;
|
||||||
|
|
||||||
for (const auto& itemName : itemsToSearch) {
|
for (const auto& itemName : itemsToSearch) {
|
||||||
if (strstr(itemName.c_str(), filterText) != nullptr) {
|
if (strstr(itemName.c_str(), filterText) != nullptr) {
|
||||||
@ -23,15 +21,7 @@ void config::Update(const char* filterText)
|
|||||||
std::sort(Config.db_filteredItems.begin(), Config.db_filteredItems.end());
|
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; }
|
||||||
void DetourPlayers(SDK::UPalCharacterImportanceManager* i_this, SDK::TArray<SDK::APalCharacter*>* OutArray)
|
|
||||||
{
|
|
||||||
Config.UCIM = i_this;
|
|
||||||
if(i_this->PlayerList.IsValid())
|
|
||||||
{
|
|
||||||
Config.AllPlayers = i_this->PlayerList_ForOutsideGet;
|
|
||||||
}
|
|
||||||
return OldGetAllPlayerFunc(i_this, OutArray);
|
|
||||||
}
|
|
||||||
bool DetourTick(SDK::APalPlayerCharacter* m_this,float DeltaSecond)
|
bool DetourTick(SDK::APalPlayerCharacter* m_this,float DeltaSecond)
|
||||||
{
|
{
|
||||||
if (m_this->GetPalPlayerController() != NULL)
|
if (m_this->GetPalPlayerController() != NULL)
|
||||||
@ -64,14 +54,7 @@ SDK::APalPlayerCharacter* config::GetPalPlayerCharacter()
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
SDK::TArray<SDK::APalPlayerCharacter*> config::GetTAllPlayers()
|
|
||||||
{
|
|
||||||
if (Config.AllPlayers.IsValid())
|
|
||||||
{
|
|
||||||
return Config.AllPlayers;
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
void config::Init()
|
void config::Init()
|
||||||
{
|
{
|
||||||
@ -79,10 +62,9 @@ void config::Init()
|
|||||||
Config.ClientBase = (DWORD64)GetModuleHandleA("PalWorld-Win64-Shipping.exe");
|
Config.ClientBase = (DWORD64)GetModuleHandleA("PalWorld-Win64-Shipping.exe");
|
||||||
|
|
||||||
TickFunc = (Tick)(Config.ClientBase + Config.offset_Tick);
|
TickFunc = (Tick)(Config.ClientBase + Config.offset_Tick);
|
||||||
GetAllPlayerFunc = (GetAllPlayer)(Config.ClientBase + Config.offset_GetAllPlayers);
|
|
||||||
|
|
||||||
MH_CreateHook(TickFunc, DetourTick, reinterpret_cast<void**>(&OldTickFunc));
|
MH_CreateHook(TickFunc, DetourTick, reinterpret_cast<void**>(&OldTickFunc));
|
||||||
MH_CreateHook(GetAllPlayerFunc, DetourPlayers, reinterpret_cast<void**>(&OldGetAllPlayerFunc));
|
|
||||||
//init database
|
//init database
|
||||||
ZeroMemory(&Config.db_filteredItems, sizeof(Config.db_filteredItems));
|
ZeroMemory(&Config.db_filteredItems, sizeof(Config.db_filteredItems));
|
||||||
}
|
}
|
||||||
|
12
config.h
12
config.h
@ -5,15 +5,15 @@
|
|||||||
#include "SDK.hpp"
|
#include "SDK.hpp"
|
||||||
|
|
||||||
typedef bool(*Tick)(SDK::APalPlayerCharacter* m_this,float DeltaSecond);
|
typedef bool(*Tick)(SDK::APalPlayerCharacter* m_this,float DeltaSecond);
|
||||||
typedef void(*GetAllPlayer)(SDK::UPalCharacterImportanceManager* i_this, SDK::TArray<SDK::APalCharacter*>* OutArray);
|
typedef void(*AddStatus)(SDK::UPalNetworkIndividualComponent* p_this, SDK::FPalInstanceID* ID, SDK::TArray<SDK::FPalGotStatusPoint>* AddStatusPointArray);
|
||||||
|
|
||||||
class config
|
class config
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
//offsets
|
//offsets
|
||||||
DWORD64 ClientBase = 0;
|
DWORD64 ClientBase = 0;
|
||||||
DWORD64 offset_Tick = 0x2AB44D0;//APalPlayerCharacter::Tick
|
DWORD64 offset_Tick = 0x2A9E9D0;//APalPlayerCharacter::Tick
|
||||||
DWORD64 offset_GetAllPlayers = 0x2962330;// UPalCharacterImportanceManager::GetAllPlayer
|
DWORD64 offset_AddStatus = 0x2B0E960; //UPalNetworkIndividualComponent::AddPlayerCharacterStatusPoint_ToServer
|
||||||
//check
|
//check
|
||||||
bool IsESP = false;
|
bool IsESP = false;
|
||||||
bool IsAimbot = false;
|
bool IsAimbot = false;
|
||||||
@ -28,19 +28,17 @@ public:
|
|||||||
bool IsMonster = false;
|
bool IsMonster = false;
|
||||||
bool IsQuick = false;
|
bool IsQuick = false;
|
||||||
bool matchDbItems = true;
|
bool matchDbItems = true;
|
||||||
|
bool isEq = false;
|
||||||
//def and value
|
//def and value
|
||||||
float SpeedModiflers = 1.0f;
|
float SpeedModiflers = 1.0f;
|
||||||
int DamageUp = 0;
|
int DamageUp = 0;
|
||||||
int DefuseUp = 0;
|
int DefuseUp = 0;
|
||||||
int EXP = 0;
|
int EXP = 0;
|
||||||
int Item = 0;
|
int Item = 0;
|
||||||
int PalRank = 0;
|
|
||||||
float Pos[3] = {0,0,0};
|
float Pos[3] = {0,0,0};
|
||||||
char ItemName[255];
|
char ItemName[255];
|
||||||
char PalName[255];
|
|
||||||
int PalLvL = 1;
|
|
||||||
int PalNum = 1;
|
|
||||||
char inputTextBuffer[255] = "";
|
char inputTextBuffer[255] = "";
|
||||||
|
int EqModifiler = 1;
|
||||||
SDK::APalPlayerCharacter* localPlayer = NULL;
|
SDK::APalPlayerCharacter* localPlayer = NULL;
|
||||||
SDK::TArray<SDK::APalPlayerCharacter*> AllPlayers = {};
|
SDK::TArray<SDK::APalPlayerCharacter*> AllPlayers = {};
|
||||||
SDK::UPalCharacterImportanceManager* UCIM = NULL;
|
SDK::UPalCharacterImportanceManager* UCIM = NULL;
|
||||||
|
@ -824,7 +824,7 @@ namespace database
|
|||||||
"FriedKelpie",
|
"FriedKelpie",
|
||||||
"Chowder",
|
"Chowder",
|
||||||
};
|
};
|
||||||
static std::vector<std::string> db_pals =
|
/*static std::vector<std::string> db_pals =
|
||||||
{
|
{
|
||||||
"Alpaca",
|
"Alpaca",
|
||||||
"AmaterasuWolf",
|
"AmaterasuWolf",
|
||||||
@ -992,7 +992,7 @@ namespace database
|
|||||||
"DessertBoss",
|
"DessertBoss",
|
||||||
"VolcanoBoss",
|
"VolcanoBoss",
|
||||||
"SnowBoss",
|
"SnowBoss",
|
||||||
};
|
};*/
|
||||||
static std::string basic_items_stackable[15] =
|
static std::string basic_items_stackable[15] =
|
||||||
{
|
{
|
||||||
"Wood",
|
"Wood",
|
||||||
|
163
src/Menu.cpp
163
src/Menu.cpp
@ -2,6 +2,21 @@
|
|||||||
#include "../include/Menu.hpp"
|
#include "../include/Menu.hpp"
|
||||||
#include "SDK.hpp"
|
#include "SDK.hpp"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
AddStatus Equi;
|
||||||
|
AddStatus OldEqui;
|
||||||
|
|
||||||
|
void DetourEqui(SDK::UPalNetworkIndividualComponent* p_this, SDK::FPalInstanceID* ID, SDK::TArray<SDK::FPalGotStatusPoint>* AddStatusPointArray)
|
||||||
|
{
|
||||||
|
if(AddStatusPointArray->IsValid())
|
||||||
|
{
|
||||||
|
for (int i = 0; i < AddStatusPointArray->Num(); i++)
|
||||||
|
{
|
||||||
|
(*AddStatusPointArray)[i].StatusPoint = -1 * Config.EqModifiler;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
int InputTextCallback(ImGuiInputTextCallbackData* data) {
|
int InputTextCallback(ImGuiInputTextCallbackData* data) {
|
||||||
char inputChar = data->EventChar;
|
char inputChar = data->EventChar;
|
||||||
|
|
||||||
@ -9,9 +24,63 @@ int InputTextCallback(ImGuiInputTextCallbackData* data) {
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
SDK::FPalDebugOtomoPalInfo palinfo = SDK::FPalDebugOtomoPalInfo();
|
void ToggleEqui(bool isEq)
|
||||||
SDK::TArray<SDK::EPalWazaID> EA = { 0U };
|
{
|
||||||
|
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 };
|
||||||
|
//void SpawnPal(char* PalName, bool IsMonster, int rank=1, int lvl = 1, int count=1)
|
||||||
|
//{
|
||||||
|
// SDK::UKismetStringLibrary* lib = SDK::UKismetStringLibrary::GetDefaultObj();
|
||||||
|
//
|
||||||
|
// //Convert FNAME
|
||||||
|
// wchar_t ws[255];
|
||||||
|
// swprintf(ws, 255, L"%hs", PalName);
|
||||||
|
// SDK::FName Name = lib->Conv_StringToName(SDK::FString(ws));
|
||||||
|
// //Call
|
||||||
|
// if (Config.GetPalPlayerCharacter() != NULL)
|
||||||
|
// {
|
||||||
|
// if (Config.GetPalPlayerCharacter()->GetPalPlayerController() != NULL)
|
||||||
|
// {
|
||||||
|
// if (Config.GetPalPlayerCharacter()->GetPalPlayerController())
|
||||||
|
// {
|
||||||
|
// if (Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState())
|
||||||
|
// {
|
||||||
|
// if (IsMonster)
|
||||||
|
// {
|
||||||
|
// Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->RequestSpawnMonsterForPlayer(Name, count, lvl);
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// EA[0] = SDK::EPalWazaID::AirCanon;
|
||||||
|
// palinfo.Level = lvl;
|
||||||
|
// palinfo.Rank = rank;
|
||||||
|
// palinfo.PalName.Key = Name;
|
||||||
|
// palinfo.WazaList = EA;
|
||||||
|
// palinfo.PassiveSkill = NULL;
|
||||||
|
// Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->Debug_CaptureNewMonsterByDebugOtomoInfo_ToServer(palinfo);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//}
|
||||||
void AddItem(SDK::UPalPlayerInventoryData* data,char* itemName, int count)
|
void AddItem(SDK::UPalPlayerInventoryData* data,char* itemName, int count)
|
||||||
{
|
{
|
||||||
SDK::UKismetStringLibrary* lib = SDK::UKismetStringLibrary::GetDefaultObj();
|
SDK::UKismetStringLibrary* lib = SDK::UKismetStringLibrary::GetDefaultObj();
|
||||||
@ -23,44 +92,8 @@ void AddItem(SDK::UPalPlayerInventoryData* data,char* itemName, int count)
|
|||||||
//Call
|
//Call
|
||||||
data->RequestAddItem(Name, count, true);
|
data->RequestAddItem(Name, count, true);
|
||||||
}
|
}
|
||||||
void SpawnPal(char* PalName, bool IsMonster, int rank=1, int lvl = 1, int count=1)
|
|
||||||
{
|
|
||||||
SDK::UKismetStringLibrary* lib = SDK::UKismetStringLibrary::GetDefaultObj();
|
|
||||||
|
|
||||||
//Convert FNAME
|
|
||||||
wchar_t ws[255];
|
|
||||||
swprintf(ws, 255, L"%hs", PalName);
|
|
||||||
SDK::FName Name = lib->Conv_StringToName(SDK::FString(ws));
|
|
||||||
//Call
|
|
||||||
if (Config.GetPalPlayerCharacter() != NULL)
|
|
||||||
{
|
|
||||||
if (Config.GetPalPlayerCharacter()->GetPalPlayerController() != NULL)
|
|
||||||
{
|
|
||||||
if (Config.GetPalPlayerCharacter()->GetPalPlayerController())
|
|
||||||
{
|
|
||||||
if (Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState())
|
|
||||||
{
|
|
||||||
if (IsMonster)
|
|
||||||
{
|
|
||||||
Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->RequestSpawnMonsterForPlayer(Name, count, lvl);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
EA[0] = SDK::EPalWazaID::AirCanon;
|
|
||||||
palinfo.Level = lvl;
|
|
||||||
palinfo.Rank = rank;
|
|
||||||
palinfo.PalName.Key = Name;
|
|
||||||
palinfo.WazaList = EA;
|
|
||||||
palinfo.PassiveSkill = NULL;
|
|
||||||
Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->Debug_CaptureNewMonsterByDebugOtomoInfo_ToServer(palinfo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
void AnyWhereTP(SDK::FVector& vector,bool IsSafe)
|
void AnyWhereTP(SDK::FVector& vector,bool IsSafe)
|
||||||
{
|
{
|
||||||
if (!IsSafe)
|
|
||||||
{
|
|
||||||
if (Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState() != NULL)
|
if (Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState() != NULL)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -69,15 +102,6 @@ void AnyWhereTP(SDK::FVector& vector,bool IsSafe)
|
|||||||
Config.GetPalPlayerCharacter()->GetPalPlayerController()->Transmitter->Player->RegisterRespawnLocation_ToServer(guid, vector);
|
Config.GetPalPlayerCharacter()->GetPalPlayerController()->Transmitter->Player->RegisterRespawnLocation_ToServer(guid, vector);
|
||||||
Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->RequestRespawn();
|
Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->RequestRespawn();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (Config.GetPalPlayerCharacter()->GetPalPlayerController())
|
|
||||||
{
|
|
||||||
vector = { vector.X,vector.Y + 100,vector.Z };
|
|
||||||
Config.GetPalPlayerCharacter()->GetPalPlayerController()->Debug_Teleport2D(vector);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
void ExploitFly(bool IsFly)
|
void ExploitFly(bool IsFly)
|
||||||
@ -212,7 +236,7 @@ namespace DX11_Base {
|
|||||||
ImGui::Checkbox("IsQuick", &Config.IsQuick);
|
ImGui::Checkbox("IsQuick", &Config.IsQuick);
|
||||||
ImGui::Checkbox("SafeTeleport", &Config.IsSafe);
|
ImGui::Checkbox("SafeTeleport", &Config.IsSafe);
|
||||||
//creadit
|
//creadit
|
||||||
ImGui::Checkbox("PalIsMonster", &Config.IsMonster);
|
//ImGui::Checkbox("PalIsMonster", &Config.IsMonster);
|
||||||
ImGui::InputFloat3("Pos:", Config.Pos);
|
ImGui::InputFloat3("Pos:", Config.Pos);
|
||||||
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));
|
||||||
@ -240,11 +264,11 @@ namespace DX11_Base {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ImGui::InputText("Pal Name", Config.PalName, sizeof(Config.PalName));
|
////ImGui::InputText("Pal Name", Config.PalName, sizeof(Config.PalName));
|
||||||
if (!Config.IsMonster){ImGui::InputInt("Pal Rank", &Config.PalRank);}
|
// //if (!Config.IsMonster){ImGui::InputInt("Pal Rank", &Config.PalRank);}
|
||||||
if (Config.IsMonster) { ImGui::InputInt("Pal Count", &Config.PalNum); }
|
// //if (Config.IsMonster) { ImGui::InputInt("Pal Count", &Config.PalNum); }
|
||||||
ImGui::InputInt("Pal lvl", &Config.PalLvL);
|
// ImGui::InputInt("Pal lvl", &Config.PalLvL);
|
||||||
if (ImGui::Button("Spawn Pal", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
|
/*if (ImGui::Button("Spawn Pal", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20)))
|
||||||
{
|
{
|
||||||
if (Config.GetPalPlayerCharacter() != NULL)
|
if (Config.GetPalPlayerCharacter() != NULL)
|
||||||
{
|
{
|
||||||
@ -260,8 +284,8 @@ namespace DX11_Base {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
if (ImGui::Button("HomeTP", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
|
if (ImGui::Button("HomeTP", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20)))
|
||||||
{
|
{
|
||||||
SDK::APalPlayerCharacter* p_appc = Config.GetPalPlayerCharacter();
|
SDK::APalPlayerCharacter* p_appc = Config.GetPalPlayerCharacter();
|
||||||
if (p_appc != NULL)
|
if (p_appc != NULL)
|
||||||
@ -283,7 +307,7 @@ namespace DX11_Base {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ImGui::Button("AnywhereTP", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
|
/* if (ImGui::Button("AnywhereTP", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20)))
|
||||||
{
|
{
|
||||||
if (Config.GetPalPlayerCharacter()!= NULL)
|
if (Config.GetPalPlayerCharacter()!= NULL)
|
||||||
{
|
{
|
||||||
@ -296,13 +320,13 @@ namespace DX11_Base {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
if (ImGui::Button("ToggleFly", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
|
if (ImGui::Button("ToggleFly", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20)))
|
||||||
{
|
{
|
||||||
Config.IsToggledFly = !Config.IsToggledFly;
|
Config.IsToggledFly = !Config.IsToggledFly;
|
||||||
ExploitFly(Config.IsToggledFly);
|
ExploitFly(Config.IsToggledFly);
|
||||||
}
|
}
|
||||||
if (ImGui::Button("DeleteSelf", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
|
/*if (ImGui::Button("DeleteSelf", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20)))
|
||||||
{
|
{
|
||||||
SDK::APalPlayerCharacter* p_appc = Config.GetPalPlayerCharacter();
|
SDK::APalPlayerCharacter* p_appc = Config.GetPalPlayerCharacter();
|
||||||
if (p_appc != NULL)
|
if (p_appc != NULL)
|
||||||
@ -315,8 +339,8 @@ namespace DX11_Base {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
if (ImGui::Button("GodHealth", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
|
if (ImGui::Button("GodHealth", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20)))
|
||||||
{
|
{
|
||||||
SDK::APalPlayerCharacter* p_appc = Config.GetPalPlayerCharacter();
|
SDK::APalPlayerCharacter* p_appc = Config.GetPalPlayerCharacter();
|
||||||
if (p_appc != NULL)
|
if (p_appc != NULL)
|
||||||
@ -351,7 +375,12 @@ namespace DX11_Base {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (ImGui::Button("Equivalent", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20)))
|
||||||
|
{
|
||||||
|
Config.isEq = !Config.isEq;
|
||||||
|
ToggleEqui(Config.isEq);
|
||||||
|
}
|
||||||
|
ImGui::InputInt("EquiModifiler", &Config.EqModifiler);
|
||||||
}
|
}
|
||||||
void TABConfig()
|
void TABConfig()
|
||||||
{
|
{
|
||||||
@ -371,7 +400,7 @@ namespace DX11_Base {
|
|||||||
}
|
}
|
||||||
void TABDatabase()
|
void TABDatabase()
|
||||||
{
|
{
|
||||||
ImGui::Checkbox("IsItems", &Config.matchDbItems);
|
//ImGui::Checkbox("IsItems", &Config.matchDbItems);
|
||||||
|
|
||||||
ImGui::InputText("Filter", Config.inputTextBuffer, sizeof(Config.inputTextBuffer), ImGuiInputTextFlags_CallbackCharFilter, InputTextCallback);
|
ImGui::InputText("Filter", Config.inputTextBuffer, sizeof(Config.inputTextBuffer), ImGuiInputTextFlags_CallbackCharFilter, InputTextCallback);
|
||||||
|
|
||||||
@ -382,12 +411,10 @@ namespace DX11_Base {
|
|||||||
for (const auto& itemName : filteredItems) {
|
for (const auto& itemName : filteredItems) {
|
||||||
if (ImGui::Button(itemName.c_str()))
|
if (ImGui::Button(itemName.c_str()))
|
||||||
{
|
{
|
||||||
if (Config.matchDbItems)
|
|
||||||
{
|
|
||||||
strcpy_s(Config.ItemName, itemName.c_str());
|
strcpy_s(Config.ItemName, itemName.c_str());
|
||||||
continue;
|
continue;
|
||||||
}
|
//if (Config.matchDbItems) {}
|
||||||
strcpy_s(Config.PalName, itemName.c_str());
|
//strcpy_s(Config.PalName, itemName.c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user