diff --git a/config.cpp b/config.cpp index 138d516..eff577f 100644 --- a/config.cpp +++ b/config.cpp @@ -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); } diff --git a/config.h b/config.h index 5a3ed71..56b14f8 100644 --- a/config.h +++ b/config.h @@ -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 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 db_filteredItems; diff --git a/database.h b/database.h index 0ebfc85..99f54f3 100644 --- a/database.h +++ b/database.h @@ -824,4 +824,321 @@ namespace database "FriedKelpie", "Chowder", }; + static std::vector 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", + }; } \ No newline at end of file diff --git a/src/Menu.cpp b/src/Menu.cpp index 60c084f..acaf167 100644 --- a/src/Menu.cpp +++ b/src/Menu.cpp @@ -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,11 +380,35 @@ namespace DX11_Base { const auto& filteredItems = Config.GetFilteredItems(); for (const auto& itemName : filteredItems) { - if (ImGui::Button(itemName.c_str())) { - strcpy_s(Config.ItemName, 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); + } + } } void Menu::Draw() @@ -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();