fixed database and added Quick TABs(Creadit:asashi)

This commit is contained in:
2200151533 2024-01-25 18:01:09 +08:00
parent bfcc01de50
commit af6cae88ce
4 changed files with 407 additions and 10 deletions

View File

@ -13,7 +13,9 @@ void config::Update(const char* filterText)
{
Config.db_filteredItems.clear();
for (const auto& itemName : database::db_items) {
const auto& itemsToSearch = Config.matchDbItems ? database::db_items : database::db_pals;
for (const auto& itemName : itemsToSearch) {
if (strstr(itemName.c_str(), filterText) != nullptr) {
Config.db_filteredItems.push_back(itemName);
}

View File

@ -25,6 +25,9 @@ public:
bool IsInfinAmmo = false;
bool IsToggledFly = false;
bool IsMuteki = false;
bool IsMonster = false;
bool IsQuick = false;
bool matchDbItems = true;
//def and value
float SpeedModiflers = 1.0f;
int DamageUp = 0;
@ -36,15 +39,22 @@ public:
char ItemName[255];
char PalName[255];
int PalLvL = 1;
int PalNum = 1;
char inputTextBuffer[255] = "";
SDK::APalPlayerCharacter* localPlayer = NULL;
SDK::TArray<SDK::APalPlayerCharacter*> AllPlayers = {};
SDK::UPalCharacterImportanceManager* UCIM = NULL;
SDK::UObject* WorldContextObject = NULL;
//Items
enum QuickItemSet
{
basic_items_stackable,
basic_items_single,
pal_unlock_skills,
spheres,
tools
};
//Filtered Items
std::vector<std::string> db_filteredItems;

View File

@ -824,4 +824,321 @@ namespace database
"FriedKelpie",
"Chowder",
};
static std::vector<std::string> db_pals =
{
"Alpaca",
"AmaterasuWolf",
"Anubis",
"BadCatgirl",
"Baphomet",
"Baphomet_Dark",
"Bastet",
"Bastet_Ice",
"BeardedDragon",
"BerryGoat",
"BirdDragon",
"BirdDragon_Ice",
"BlackCentaur",
"BlackFurDragon",
"BlackGriffon",
"BlackMetalDragon",
"BlueberryFairy",
"BlueDragon",
"BluePlatypus",
"Boar",
"BrownRabbit",
"CaptainPenguin",
"Carbunclo",
"CatBat",
"CatMage",
"CatVampire",
"ChickenPal",
"ColorfulBird",
"CowPal",
"CuteButterfly",
"CuteFox",
"CuteMole",
"DarkAlien",
"DarkCrow",
"DarkMechaDragon",
"DarkMutant",
"DarkScorpion",
"Deer",
"Deer_Ground",
"DreamDemon",
"DrillGame",
"Eagle",
"ElecCat",
"ElecLion",
"ElecPanda",
"FairyDragon",
"FairyDragon_Water",
"FeatherOstrich",
"FengyunDeeper",
"FireKirin",
"FireKirin_Dark",
"FlameBambi",
"FlameBuffalo",
"FlowerDinosaur",
"FlowerDinosaur_Electric",
"FlowerDoll",
"FlowerRabbit",
"FlyingManta",
"FoxMage",
"Ganesha",
"Garm",
"GhostBeast",
"GhostRabbit",
"GoldenHorse",
"Gorilla",
"GrassDragon",
"GrassMammoth",
"GrassMammoth_Ice",
"GrassPanda",
"GrassPanda_Electric",
"GrassRabbitMan",
"GuardianDog",
"HadesBird",
"HawkBird",
"Hedgehog",
"Hedgehog_Ice",
"HerculesBeetle",
"Horus",
"IceDeer",
"IceFox",
"IceHorse",
"IceHorse_Dark",
"JetDragon",
"Kelpie",
"Kelpie_Fire",
"KingAlpaca",
"KingAlpaca_Ice",
"KingBahamut",
"Kirin",
"Kitsunebi",
"LavaGirl",
"LazyCatfish",
"LazyDragon",
"LazyDragon_Electric",
"LeafPrincess",
"LilyQueen",
"LilyQueen_Dark",
"LittleBriarRose",
"LizardMan",
"LizardMan_Fire",
"Manticore",
"Manticore_Dark",
"Monkey",
"MopBaby",
"MopKing",
"Mutant",
"NaughtyCat",
"NegativeKoala",
"NegativeOctopus",
"NightBlueHorse",
"NightFox",
"NightLady",
"Penguin",
"PinkCat",
"PinkKangaroo",
"PinkLizard",
"PinkRabbit",
"PlantSlime",
"QueenBee",
"RaijinDaughter",
"RedArmorBird",
"RobinHood",
"RobinHood_Ground",
"Ronin",
"SaintCentaur",
"SakuraSaurus",
"SakuraSaurus_Water",
"ScorpionMan",
"Serpent",
"Serpent_Ground",
"SharkKid",
"SharkKid_Fire",
"SheepBall",
"SifuDog",
"SkyDragon",
"SoldierBee",
"Suzaku",
"Suzaku_Water",
"SweetsSheep",
"TentacleTurtle",
"ThunderBird",
"ThunderDog",
"ThunderDragonMan",
"Umihebi",
"Umihebi_Fire",
"VioletFairy",
"VolcanicMonster",
"VolcanicMonster_Ice",
"VolcanoDragon",
"WaterLizard",
"WeaselDragon",
"Werewolf",
"WhiteMoth",
"WhiteTiger",
"Windchimes",
"Windchimes_Ice",
"WingGolem",
"WizardOwl",
"WoolFox",
"Yeti",
"Yeti_Grass",
"GrassBoss",
"ForestBoss",
"DessertBoss",
"VolcanoBoss",
"SnowBoss",
};
static std::string basic_items_stackable[15] =
{
"Wood",
"Wool",
"Stone",
"ElectricOrgan",
"Venom",
"FireOrgan",
"IceOrgan",
"Bone",
"Sand",
"Silicon",
"Cement",
"CarbonFiber",
"Horn",
"Cake",
"Cheeseburger_2"
};
static std::string basic_items_single[12] =
{
"AutoMealPouch_Tier5",
"GrapplingGun_4",
"BowGun_5",
"StealArmor_5",
"StealArmorCold_5",
"StealArmorHeat_5",
"StealHelmet_5",
"HomingSphereLauncher",
"Pickaxe_Tier_02",
"Pickaxe_Tier_03",
"Axe_Tier_02",
"Axe_Tier_03",
};
static std::string tools[4] =
{
"Pickaxe_Tier_02",
"Pickaxe_Tier_03",
"Axe_Tier_02",
"Axe_Tier_03",
};
static std::string pal_unlock_skills[90] =
{
"SkillUnlock_Alpaca",
"SkillUnlock_AmaterasuWolf",
"SkillUnlock_Anubis",
"SkillUnlock_BadCatgirl",
"SkillUnlock_BirdDragon",
"SkillUnlock_BlackCentaur",
"SkillUnlock_BlackFurDragon",
"SkillUnlock_BlackGriffon",
"SkillUnlock_BlackMetalDragon",
"SkillUnlock_BlueDragon",
"SkillUnlock_Boar",
"SkillUnlock_CaptainPenguin",
"SkillUnlock_Carbunclo",
"SkillUnlock_ColorfulBird",
"SkillUnlock_DarkMutant",
"SkillUnlock_Deer",
"SkillUnlock_DreamDemon",
"SkillUnlock_DrillGame",
"SkillUnlock_Eagle",
"SkillUnlock_ElecLion",
"SkillUnlock_ElecPanda",
"SkillUnlock_FairyDragon",
"SkillUnlock_FeatherOstrich",
"SkillUnlock_FengyunDeeper",
"SkillUnlock_FireKirin",
"SkillUnlock_FlameBuffalo",
"SkillUnlock_FlowerDinosaur",
"SkillUnlock_FlowerRabbit",
"SkillUnlock_FlyingManta",
"SkillUnlock_Garm",
"SkillUnlock_GhostBeast",
"SkillUnlock_GoldenHorse",
"SkillUnlock_GrassMammoth",
"SkillUnlock_GrassPanda",
"SkillUnlock_GuardianDog",
"SkillUnlock_HadesBird",
"SkillUnlock_HawkBird",
"SkillUnlock_Hedgehog",
"SkillUnlock_HerculesBeetle",
"SkillUnlock_Horus",
"SkillUnlock_IceDeer",
"SkillUnlock_IceFox",
"SkillUnlock_IceHorse",
"SkillUnlock_JetDragon",
"SkillUnlock_KingAlpaca",
"SkillUnlock_KingBahamut",
"SkillUnlock_Kirin",
"SkillUnlock_Kitsunebi",
"SkillUnlock_LazyDragon",
"SkillUnlock_LilyQueen",
"SkillUnlock_Manticore",
"SkillUnlock_Monkey",
"SkillUnlock_MopKing",
"SkillUnlock_NaughtyCat",
"SkillUnlock_NegativeOctopus",
"SkillUnlock_Penguin",
"SkillUnlock_RaijinDaughter",
"SkillUnlock_RedArmorBird",
"SkillUnlock_SaintCentaur",
"SkillUnlock_SakuraSaurus",
"SkillUnlock_Serpent",
"SkillUnlock_SkyDragon",
"SkillUnlock_Suzaku",
"SkillUnlock_ThunderBird",
"SkillUnlock_ThunderDog",
"SkillUnlock_Umihebi",
"SkillUnlock_VolcanicMonster",
"SkillUnlock_WeaselDragon",
"SkillUnlock_WingGolem",
"SkillUnlock_WindChimes",
"SkillUnlock_Yeti",
"SkillUnlock_Umihebi_Fire",
"SkillUnlock_Deer_Ground",
"SkillUnlock_Hedgehog_Ice",
"SkillUnlock_FlowerDinosaur_Electric",
"SkillUnlock_GrassMammoth_Ice",
"SkillUnlock_LazyDragon_Electric",
"SkillUnlock_FireKirin_Dark",
"SkillUnlock_SakuraSaurus_Water",
"SkillUnlock_FairyDragon_Water",
"SkillUnlock_Manticore_Dark",
"SkillUnlock_Suzaku_Water",
"SkillUnlock_Serpent_Ground",
"SkillUnlock_VolcanicMonster_Ice",
"SkillUnlock_IceHorse_Dark",
"SkillUnlock_GrassPanda_Electric",
"SkillUnlock_Yeti_Grass",
"SkillUnlock_KingAlpaca_Ice",
"SkillUnlock_BirdDragon_Ice",
"SkillUnlock_WindChimes_Ice",
};
static std::string spheres[8] =
{
"PalSphere",
"PalSphere_Giga",
"PalSphere_Legend",
"PalSphere_Master",
"PalSphere_Mega",
"PalSphere_Tera",
"PalSphere_Robbery",
"PalSphere_Debug",
};
}

View File

@ -23,7 +23,7 @@ void AddItem(SDK::UPalPlayerInventoryData* data,char* itemName, int count)
//Call
data->RequestAddItem(Name, count, true);
}
void SpawnPal(char* PalName,int rank, int lvl = 1)
void SpawnPal(char* PalName, bool IsMonster, int rank=1, int lvl = 1, int count=1)
{
SDK::UKismetStringLibrary* lib = SDK::UKismetStringLibrary::GetDefaultObj();
@ -40,6 +40,11 @@ void SpawnPal(char* PalName,int rank, int lvl = 1)
{
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;
@ -98,6 +103,36 @@ void ExploitFly(bool IsFly)
}
return;
}
void Spawn_Multiple(config::QuickItemSet Set)
{
SDK::UPalPlayerInventoryData * InventoryData = Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->GetInventoryData();
switch (Set)
{
case 0:
for (int i = 0; i < IM_ARRAYSIZE(database::basic_items_stackable); i++) {
AddItem(InventoryData, _strdup(database::basic_items_stackable[i].c_str()), 100);
}
case 1:
for (int i = 0; i < IM_ARRAYSIZE(database::basic_items_single); i++)
{
AddItem(InventoryData, _strdup(database::basic_items_single[i].c_str()), 1);
}
case 2:
for (int i = 0; i < IM_ARRAYSIZE(database::pal_unlock_skills); i++) {
AddItem(InventoryData, _strdup(database::pal_unlock_skills[i].c_str()), 1);
}
case 3:
for (int i = 0; i < IM_ARRAYSIZE(database::spheres); i++) {
AddItem(InventoryData, _strdup(database::spheres[i].c_str()), 100);
}
case 4:
for (int i = 0; i < IM_ARRAYSIZE(database::tools); i++) {
AddItem(InventoryData, _strdup(database::tools[i].c_str()), 1);
}
default:
break;
}
}//Creadit:asashi
namespace DX11_Base {
@ -174,7 +209,10 @@ namespace DX11_Base {
void TABExploit()
{
//Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->RequestSpawnMonsterForPlayer(name, 5, 1);
ImGui::Checkbox("IsQuick", &Config.IsQuick);
ImGui::Checkbox("SafeTeleport", &Config.IsSafe);
//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));
@ -203,7 +241,8 @@ namespace DX11_Base {
}
}
ImGui::InputText("Pal Name", Config.PalName, sizeof(Config.PalName));
ImGui::InputInt("Pal Rank", &Config.PalRank);
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)))
{
@ -216,7 +255,7 @@ namespace DX11_Base {
if (Config.PalName != NULL)
{
g_Console->printdbg("\n\n[+] PalName: %s [+]\n\n", g_Console->color.green, Config.ItemName);
SpawnPal(Config.PalName,Config.PalRank,Config.PalLvL);
SpawnPal(Config.PalName,Config.IsMonster,Config.PalRank,Config.PalLvL,Config.PalNum);
}
}
}
@ -294,7 +333,6 @@ namespace DX11_Base {
}
}
}
//Creadit WoodgamerHD
if(ImGui::Button("Give exp", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20)))
{
@ -333,6 +371,8 @@ namespace DX11_Base {
}
void TABDatabase()
{
ImGui::Checkbox("IsItems", &Config.matchDbItems);
ImGui::InputText("Filter", Config.inputTextBuffer, sizeof(Config.inputTextBuffer), ImGuiInputTextFlags_CallbackCharFilter, InputTextCallback);
Config.Update(Config.inputTextBuffer);
@ -340,9 +380,33 @@ namespace DX11_Base {
const auto& filteredItems = Config.GetFilteredItems();
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());
continue;
}
strcpy_s(Config.PalName, itemName.c_str());
}
}
}
void TABQuick()//Creadit:asashi
{
if (ImGui::Button("Basic Items stack", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20))) {
Spawn_Multiple(config::QuickItemSet::basic_items_stackable);
}
if (ImGui::Button("Basic Items single", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20))) {
Spawn_Multiple(config::QuickItemSet::basic_items_single);
}
if (ImGui::Button("Unlock Pal skills", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20))) {
Spawn_Multiple(config::QuickItemSet::pal_unlock_skills);
}
if (ImGui::Button("Spheres", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20))) {
Spawn_Multiple(config::QuickItemSet::spheres);
}
if (ImGui::Button("Tools", ImVec2(ImGui::GetWindowContentRegionWidth() - 3, 20))) {
Spawn_Multiple(config::QuickItemSet::tools);
}
}
}
@ -413,7 +477,11 @@ namespace DX11_Base {
Tabs::TABConfig();
ImGui::EndTabItem();
}
if (Config.IsQuick && ImGui::BeginTabItem("Quick"))
{
Tabs::TABQuick();
ImGui::EndTabItem();
}
ImGui::EndTabBar();
}
ImGui::End();