diff --git a/DX11-Base.vcxproj b/DX11-Base.vcxproj
index af53949..344ac63 100644
--- a/DX11-Base.vcxproj
+++ b/DX11-Base.vcxproj
@@ -175,6 +175,7 @@
+
diff --git a/DX11-Base.vcxproj.filters b/DX11-Base.vcxproj.filters
index 1ed375c..e6d2fda 100644
--- a/DX11-Base.vcxproj.filters
+++ b/DX11-Base.vcxproj.filters
@@ -123,6 +123,9 @@
Resource Files\SDK
+
+ Header Files
+
diff --git a/ItemList.hpp b/ItemList.hpp
new file mode 100644
index 0000000..1ab7dbd
--- /dev/null
+++ b/ItemList.hpp
@@ -0,0 +1,587 @@
+#pragma once
+#include "pch.h"
+
+namespace itemlist
+{
+ const auto accessories =
+ {
+ "Accessory_AT_1|Attack Pendant",
+ "Accessory_AT_2|Attack Pendant+1",
+ "Accessory_AT_3|Attack Pendant+2",
+ "Accessory_defense_1|Defense Pendant",
+ "Accessory_defense_2|Defense Pendant +1",
+ "Accessory_defense_3|Defense Pendant +2",
+ "Accessory_HeatResist_1|Heat Resistant Underwear",
+ "Accessory_HeatResist_2|Heat Resistant Underwear+1",
+ "Accessory_HeatResist_3|Heat Resistant Underwear+2",
+ "Accessory_HP_1|Life Pendant",
+ "Accessory_HP_2|Life Pendant+1",
+ "Accessory_HP_3|Life Pendant+2",
+ "Accessory_WorkSpeed_1|Pendant Of Diligence",
+ "Accessory_WorkSpeed_2|Pendant Of Diligence+1",
+ "Accessory_WorkSpeed_3|Pendant Of Diligence+2",
+ "Accessory_AquaResist_1|Ring Of Water Resistance",
+ "Accessory_AquaResist_2|Ring Of Water Resistance+1",
+ "Accessory_AquaResist_3|Ring Of Water Resistance+2",
+ "Accessory_DarkResist_1|Ring Of Dark Resistance",
+ "Accessory_DarkResist_2|Ring Of Dark Resistance+1",
+ "Accessory_DarkResist_3|Ring Of Dark Resistance+2",
+ "Accessory_DragonResist_1|Ring Of Dragon Resistance",
+ "Accessory_DragonResist_2|Ring Of Dragon Resistance+1",
+ "Accessory_DragonResist_3|Ring Of Dragon Resistance+2",
+ "Accessory_EarthResist_1|Ring Of Earth Resistance",
+ "Accessory_EarthResist_2|Ring Of Earth Resistance+1",
+ "Accessory_EarthResist_3|Ring Of Earth Resistance+2",
+ "Accessory_FireResist_1|Ring Of Flame Resistance",
+ "Accessory_FireResist_2|Ring Of Flame Resistance+1",
+ "Accessory_FireResist_3|Ring Of Flame Resistance+2",
+ "Accessory_IceResist_1|Ring Of Ice Resistance",
+ "Accessory_IceResist_2|Ring Of Ice Resistance+1",
+ "Accessory_IceResist_3|Ring Of Ice Resistance+2",
+ "Accessory_LeafResist_1|Ring Of Grass Resistance",
+ "Accessory_LeafResist_2|Ring Of Grass Resistance+1",
+ "Accessory_LeafResist_3|Ring Of Grass Resistance+2",
+ "Accessory_NormalResist_1|Ring Of Resistance",
+ "Accessory_NormalResist_2|Ring Of Resistance+1",
+ "Accessory_NormalResist_3|Ring Of Resistance+2",
+ "Accessory_ThunderResist_1|Ring Of Lightning Resistance",
+ "Accessory_ThunderResist_2|Ring Of Lightning Resistance+1",
+ "Accessory_ThunderResist_3|Ring Of Lightning Resistance+2",
+ "Accessory_CoolResist_1|Thermal Underwear",
+ "Accessory_CoolResist_2|Thermal Underwear+1",
+ "Accessory_CoolResist_3|Thermal Underwear+2"
+ };
+
+ const auto ammo =
+ {
+ "AssaultRifleBullet|Assault Rifle Ammo",
+ "Arrow|Arrow",
+ "RoughBullet|Coarse Ammo",
+ "InkBullet|Decal Ink",
+ "Arrow_Fire|Fire Arrow",
+ "HandgunBullet|Handgun Ammo",
+ "LaserBullet|Laser Ammo",
+ "MachingunBullet|Machine Gun Ammo",
+ "MagnumBullet|Magnum Ammo",
+ "Arrow_Poison|Poison Arrow",
+ "ExplosiveBullet|Rocket Ammo",
+ "RifleBullet|Rifle Ammo",
+ "ShotgunBullet|Shotgun Shells"
+ };
+
+ const auto armor =
+ {
+ "AutoMealPouch_Tier2|Average Feed Bag",
+ "ClothArmor|Cloth Outfit(Common)",
+ "ClothArmor_2|Cloth Outfit(Uncommon)",
+ "ClothArmor_3|Cloth Outfit(Rare)",
+ "ClothArmor_4|Cloth Outfit(Epic)",
+ "ClothArmor_5|Cloth Outfit(Legendary)",
+ "CopperArmorCold|Cold Resistant Metal Armor(Common)",
+ "CopperArmorCold_2|Cold Resistant Metal Armor(Uncommon)",
+ "CopperArmorCold_3|Cold Resistant Metal Armor(Rare)",
+ "CopperArmorCold_4|Cold Resistant Metal Armor(Epic)",
+ "CopperArmorCold_5|Cold Resistant Metal Armor(Legendary)",
+ "FurArmorCold|Cold Resistant Pelt Armor(Common)",
+ "FurArmorCold_2|Cold Resistant Pelt Armor(Uncommon)",
+ "FurArmorCold_3|Cold Resistant Pelt Armor(Rare)",
+ "FurArmorCold_4|Cold Resistant Pelt Armor(Epic)",
+ "FurArmorCold_5|Cold Resistant Pelt Armor(Legendary)",
+ "IronArmorCold|Cold Resistant Refined Metal Armor(Common)",
+ "IronArmorCold_2|Cold Resistant Refined Metal Armor(Uncommon)",
+ "IronArmorCold_3|Cold Resistant Refined Metal Armor(Rare)",
+ "IronArmorCold_4|Cold Resistant Refined Metal Armor(Epic)",
+ "IronArmorCold_5|Cold Resistant Refined Metal Armor(Legendary)",
+ "StealArmorCold|Cold Resistant Pal Metal Armor(Common)",
+ "StealArmorCold_2|Cold Resistant Pal Metal Armor(Uncommon)",
+ "StealArmorCold_3|Cold Resistant Pal Metal Armor(Rare)",
+ "StealArmorCold_4|Cold Resistant Pal Metal Armor(Epic)",
+ "StealArmorCold_5|Cold Resistant Pal Metal Armor(Legendary)",
+ "FurHelmet|Feathered Hair Band(Common)",
+ "FurHelmet_2|Feathered Hair Band(Uncommon)",
+ "FurHelmet_3|Feathered Hair Band(Rare)",
+ "FurHelmet_4|Feathered Hair Band(Epic)",
+ "FurHelmet_5|Feathered Hair Band(Legendary)",
+ "AutoMealPouch_Tier5|Giant Feed Bag",
+ "CopperArmorHeat|Heat Resistant Metal Armor(Common)",
+ "CopperArmorHeat_2|Heat Resistant Metal Armor(Uncommon)",
+ "CopperArmorHeat_3|Heat Resistant Metal Armor(Rare)",
+ "CopperArmorHeat_4|Heat Resistant Metal Armor(Epic)",
+ "CopperArmorHeat_5|Heat Resistant Metal Armor(Legendary)",
+ "FurArmorHeat|Heat Resistant Pelt Armor(Common)",
+ "FurArmorHeat_2|Heat Resistant Pelt Armor(Uncommon)",
+ "FurArmorHeat_3|Heat Resistant Pelt Armor(Rare)",
+ "FurArmorHeat_4|Heat Resistant Pelt Armor(Epic)",
+ "FurArmorHeat_5|Heat Resistant Pelt Armor(Legendary)",
+ "AutoMealPouch_Tier4|Huge Feed Bag",
+ "IronArmorHeat|Heat Resistant Refined Metal Armor(Common)",
+ "IronArmorHeat_2|Heat Resistant Refined Metal Armor(Uncommon)",
+ "IronArmorHeat_3|Heat Resistant Refined Metal Armor(Rare)",
+ "IronArmorHeat_4|Heat Resistant Refined Metal Armor(Epic)",
+ "IronArmorHeat_5|Heat Resistant Refined Metal Armor(Legendary)",
+ "StealArmorHeat|Heat Resistant Pal Metal Armor(Common)",
+ "StealArmorHeat_2|Heat Resistant Pal Metal Armor(Uncommon)",
+ "StealArmorHeat_3|Heat Resistant Pal Metal Armor(Rare)",
+ "StealArmorHeat_4|Heat Resistant Pal Metal Armor(Epic)",
+ "StealArmorHeat_5|Heat Resistant Pal Metal Armor(Legendary)",
+ "AutoMealPouch_Tier3|Large Feed Bag",
+ "CopperArmor|Metal Armor(Common)",
+ "CopperArmor_2|Metal Armor(Uncommon)",
+ "CopperArmor_3|Metal Armor(Rare)",
+ "CopperArmor_4|Metal Armor(Epic)",
+ "CopperArmor_5|Metal Armor(Legendary)",
+ "CopperHelmet|Metal Helm(Common)",
+ "CopperHelmet_2|Metal Helm(Uncommon)",
+ "CopperHelmet_3|Metal Helm(Rare)",
+ "CopperHelmet_4|Metal Helm(Epic)",
+ "CopperHelmet_5|Metal Helm(Legendary)",
+ "FurArmor|Pelt Armor(Common)",
+ "FurArmor_2|Pelt Armor(Uncommon)",
+ "FurArmor_3|Pelt Armor(Rare)",
+ "FurArmor_4|Pelt Armor(Epic)",
+ "FurArmor_5|Pelt Armor(Legendary)",
+ "StealArmor|Pal Metal Armor(Common)",
+ "StealArmor_2|Pal Metal Armor(Uncommon)",
+ "StealArmor_3|Pal Metal Armor(Rare)",
+ "StealArmor_4|Pal Metal Armor(Epic)",
+ "StealArmor_5|Pal Metal Armor(Legendary)",
+ "StealHelmet|Pal Metal Helm(Common)",
+ "StealHelmet_2|Pal Metal Helm(Uncommon)",
+ "StealHelmet_3|Pal Metal Helm(Rare)",
+ "StealHelmet_4|Pal Metal Helm(Epic)",
+ "StealHelmet_5|Pal Metal Helm(Legendary)",
+ "IronArmor|Refined Metal Armor(Common)",
+ "IronArmor_2|Refined Metal Armor(Uncommon)",
+ "IronArmor_3|Refined Metal Armor(Rare)",
+ "IronArmor_4|Refined Metal Armor(Epic)",
+ "IronArmor_5|Refined Metal Armor(Legendary)",
+ "IronHelmet|Refined Metal Helm(Common)",
+ "IronHelmet_2|Refined Metal Helm(Uncommon)",
+ "IronHelmet_3|Refined Metal Helm(Rare)",
+ "IronHelmet_4|Refined Metal Helm(Epic)",
+ "IronHelmet_5|Refined Metal Helm(Legendary)",
+ "AutoMealPouch_Tier1|Small Feed Bag",
+ "ClothArmorCold|Tundra Outfit(Common)",
+ "ClothArmorCold_2|Tundra Outfit(Uncommon)",
+ "ClothArmorCold_3|Tundra Outfit(Rare)",
+ "ClothArmorCold_4|Tundra Outfit(Epic)",
+ "ClothArmorCold_5|Tundra Outfit(Legendary)",
+ "ClothArmorHeat|Tropical Outfit(Common)",
+ "ClothArmorHeat_2|Tropical Outfit(Uncommon)",
+ "ClothArmorHeat_3|Tropical Outfit(Rare)",
+ "ClothArmorHeat_4|Tropical Outfit(Epic)",
+ "ClothArmorHeat_5|Tropical Outfit(Legendary)",
+ };
+
+ const auto craftingmaterials =
+ {
+ "PalCrystal_Ex|Ancient Civilization Parts",
+ "Bone|Bone",
+ "Poppy|Beautiful Flowers",
+ "CrudeOil|Crude Oil",
+ "Claws|Claws",
+ "Cloth|Cloth",
+ "Coal|Coal",
+ "Cement|Cement",
+ "Charcoal|Charcoal",
+ "CarbonFiber|Carbon Fiber",
+ "MachineParts2|Circuit Board",
+ "ElectricOrgan|Electric Organ",
+ "Flour|Flour",
+ "Fiber|Fiber",
+ "FireOrgan|Flame Organ",
+ "GunPowder2|Gunpowder",
+ "PalItem_PlantSlime|Gumoss Leaf",
+ "Cloth2|High Quality Cloth",
+ "PalOil|High Quality Pal Oil",
+ "Horn|Horn",
+ "CopperIngot|Ingot",
+ "IceOrgan|Ice Organ",
+ "PalItem_CatMage|Katress Hair",
+ "Leather|Leather",
+ "MachineParts|Nails",
+ "CopperOre|Ore",
+ "PalFluid|Pal Fluids",
+ "Polymer|Polymer",
+ "Pal_crystal_L|Paldium Clump",
+ "Pal_crystal_S|Paldium Fragment",
+ "StealIngot|Pal Metal Ingot",
+ "Quartz|Pure Quartz",
+ "PalItem_CaptainPenguin|Punking Plume",
+ "IronIngot|Refined Ingot",
+ "Stone|Stone",
+ "Sulfur|Sulfur",
+ "PalItem_ColorfulBird|Tocotoco Feather",
+ "Venom|Venom Gland",
+ "Wood|Wood",
+ "Wool|Wool"
+ };
+
+ const auto eggs =
+ {
+ "PalEgg_Dark_01|Dark Egg",
+ "PalEgg_Dark_02|Dark Egg(2)",
+ "PalEgg_Dark_03|Large Dark Egg",
+ "PalEgg_Dark_04|Large Dark Egg(2)",
+ "PalEgg_Dark_05|Huge Dark Egg",
+ "PalEgg_Dragon_01|Dragon Egg",
+ "PalEgg_Dragon_02|Dragon Egg(2)",
+ "PalEgg_Dragon_03|Large Dragon Egg",
+ "PalEgg_Dragon_04|Large Dragon Egg(2)",
+ "PalEgg_Dragon_05|Huge Dragon Egg",
+ "PalEgg_Earth_01|Rocky Egg",
+ "PalEgg_Earth_02|Rough Egg(2)",
+ "PalEgg_Earth_03|Large Rocky Egg",
+ "PalEgg_Earth_04|Large Rocky Egg(2)",
+ "PalEgg_Earth_05|Huge Rocky Egg",
+ "PalEgg_Electricity_01|Electric Egg",
+ "PalEgg_Electricity_02|Electric Egg(2)",
+ "PalEgg_Electricity_03|Large Electric Egg",
+ "PalEgg_Electricity_04|Large Electric Egg(2)",
+ "PalEgg_Electricity_05|Huge Electric Egg",
+ "PalEgg_Fire_01|Scorching Egg",
+ "PalEgg_Fire_02|Scorching Egg(2)",
+ "PalEgg_Fire_03|Large Scorching Egg",
+ "PalEgg_Fire_04|Large Scorching Egg",
+ "PalEgg_Fire_05|Huge Scorching Egg",
+ "PalEgg_Ice_01|Frozen Egg",
+ "PalEgg_Ice_02|Frozen Egg(2)",
+ "PalEgg_Ice_03|Large Frozen Egg",
+ "PalEgg_Ice_04|Large Frozen Egg(2)",
+ "PalEgg_Ice_05|Huge Frozen Egg",
+ "PalEgg_Leaf_01|Verdant Egg",
+ "PalEgg_Leaf_02|Verdant Egg(2)",
+ "PalEgg_Leaf_03|Large Verdant Egg",
+ "PalEgg_Leaf_04|Large Verdant Egg(2)",
+ "PalEgg_Leaf_05|Huge Verdant Egg",
+ "PalEgg_Normal_01|Common Egg",
+ "PalEgg_Normal_02|Common Egg(2)",
+ "PalEgg_Normal_03|Large Common Egg",
+ "PalEgg_Normal_04|Large Common Egg(2)",
+ "PalEgg_Normal_05|Huge Common Egg",
+ "PalEgg_Water_01|Damp Egg",
+ "PalEgg_Water_02|Damp Egg(2)",
+ "PalEgg_Water_03|Large Damp Egg",
+ "PalEgg_Water_04|Large Damp Egg(2)",
+ "PalEgg_Water_05|Huge Damp Egg"
+ };
+
+ const auto food =
+ {
+ "BLT|Burrito",
+ "BakedMeat_LazyCatfish|Broiled Dumund",
+ "BakedMeat_SakuraSaurus|Broncherry Rib Roast",
+ "BakedMushroom|Baked Mushrooms",
+ "Baked_Berries|Baked Berries",
+ "MeatSauce|Bolognese Sauce",
+ "Meat_SakuraSaurus|Broncherry Meat",
+ "Pan|Bread",
+ "Cake|Cake",
+ "CheeseBurger|Cheeseburger",
+ "ChickenSaute|Chikipi Sauté",
+ "Carbonara|Carbonara",
+ "Meat_BerryGoat|Caprity Meat",
+ "Meat_ChickenPal|Chikipi Poultry",
+ "Sweet|Cotton Candy",
+ "Chowder|Dumund Chowder",
+ "Egg|Egg",
+ "DeerLocoMoco|Eikthyrdeer Loco Moco",
+ "DeerStew|Eikthyrdeer Stew",
+ "Meat_Deer|Eikthyrdeer Venison",
+ "FriedChicken|Fried Chikipi",
+ "FriedEggs|Fried Eggs",
+ "FriedKelpie|Fried Kepsea",
+ "BakedMeat_ChickenPal|Grilled Chikipi",
+ "BakedMeat_Eagle|Grilled Galeclaw",
+ "BakedMeat_Kelpie|Grilled Kelpsea",
+ "Meat_Eagle|Galeclaw Poultry",
+ "GrilledMeat|Grilled Meat",
+ "GenghisKhan|Grilled Lamball",
+ "BakedMeat_BerryGoat|Herb Roasted Caprity",
+ "Honey|Honey",
+ "HotDog|Hot Dog",
+ "HotMilk|Hot Milk",
+ "GrilledSheepHerbs|Herb Roasted Lamball",
+ "Hamburger|Hamburger",
+ "JamBun|Jam-filled Bun",
+ "BakedMeat_SheepBall|Lamball Kebab",
+ "Meat_SheepBall|Lamball Mutton",
+ "Lettuce|Lettuce",
+ "BakedMeat_CowPal|Moazzarina Steak",
+ "BakedMeat_GrassMammoth|Mammorest Steak",
+ "CheeseBurger_2|Mozzarina Cheeseburger",
+ "Meat_CowPal|Mozzarina Meat",
+ "Meat_GrassMammoth|Mammorest Meat",
+ "Hamburger_2|Mozzarina Hamburger",
+ "Milk|Milk",
+ "MarinatedMushrooms|Marinated Mushrooms",
+ "MushroomSoup|Mushroom Soup",
+ "Mushroom|Mushroom",
+ "Omelet|Omelet",
+ "Pancake|Pancake",
+ "Pizza|Pizza",
+ "BaconEggs|Rushoar Bacon 'n' Eggs",
+ "BakedMeat_Boar|Roast Rushoar",
+ "BakedMeat_Deer|Roast Eikthyrdeer",
+ "BakedMeat_IceDeer|Roast Reindrix",
+ "Meat_Boar|Roshoar Pork",
+ "Meat_IceDeer|Reindrix Venison",
+ "Meat_Kelpie|Raw Kelpsea",
+ "Meat_LazyCatfish|Raw Dumund",
+ "Meat|Raw Meat",
+ "HotDog_2|Rushoar Hot Dog",
+ "StewedIceDeer|Reindrix Stew",
+ "Berries|Red Wild Berries",
+ "Eaglestew|Stewed Galeclaw",
+ "FriedVegetables|Stir-fried Veggies",
+ "Salad|Salad",
+ "MushroomStew|Stewed Mushrooms",
+ "Tomato|Tomato",
+ "Wheat|Wheat"
+ };
+
+ const auto hats =
+ {
+ "Head012|Bowler Hat(Common)",
+ "Head012_2|Bowler Hat(Uncommon)",
+ "Head012_3|Bowler Hat(Rare)",
+ "Head012_4|Bowler Hat(Epic)",
+ "Head012_5|Bowler Hat(Legendary)",
+ "Head009|Explorer Cap(Common)",
+ "Head009_2|Explorer Cap(Uncommon)",
+ "Head009_3|Explorer Cap(Rare)",
+ "Head009_4|Explorer Cap(Epic)",
+ "Head009_5|Explorer Cap(Legendary)",
+ "Head011|Farming Hat(Common)",
+ "Head011_2|Farming Hat(Uncommon)",
+ "Head011_3|Farming Hat(Rare)",
+ "Head011_4|Farming Hat(Epic)",
+ "Head011_5|Farming Hat(Legendary)",
+ "Head002|Golden Crown(Common)",
+ "Head002_2|Golden Crown(Uncommon)",
+ "Head002_3|Golden Crown(Rare)",
+ "Head002_4|Golden Crown(Epic)",
+ "Head002_5|Golden Crown(Legendary)",
+ "Head010|Graduation Cap(Common)",
+ "Head010_2|Graduation Cap(Uncommon)",
+ "Head010_3|Graduation Cap(Rare)",
+ "Head010_4|Graduation Cap(Epic)",
+ "Head010_5|Graduation Cap(Legendary)",
+ "Head014|Grinning Tocotoco Cap(Common)",
+ "Head014_2|Grinning Tocotoco Cap(Uncommon)",
+ "Head014_3|Grinning Tocotoco Cap(Rare)",
+ "Head014_4|Grinning Tocotoco Cap(Epic)",
+ "Head014_5|Grinning Tocotoco Cap(Legendary)",
+ "Head015|Gusmoss Cap(Common)",
+ "Head015_2|Gusmoss Cap(Uncommon)",
+ "Head015_3|Gusmoss Cap(Rare)",
+ "Head015_4|Gusmoss Cap(Epic)",
+ "Head015_5|Gusmoss Cap(Legendary)",
+ "Head006|Helmet(Common)",
+ "Head006_2|Helmet(Uncommon)",
+ "Head006_3|Helmet(Rare)",
+ "Head006_4|Helmet(Epic)",
+ "Head006_5|Helmet(Legendary)",
+ "Head017|Katress Cap(Common)",
+ "Head017_2|Katress Cap(Uncommon)",
+ "Head017_3|Katress Cap(Rare)",
+ "Head017_4|Katress Cap(Epic)",
+ "Head017_5|Katress Cap(Legendary)",
+ "Head003|Long-eared Headband(Common)",
+ "Head003_2|Long-eared Headband(Uncommon)",
+ "Head003_3|Long-eared Headband(Rare)",
+ "Head003_4|Long-eared Headband(Epic)",
+ "Head003_5|Long-eared Headband(Legendary)",
+ "Head001|Monarch's Crown(Common)",
+ "Head001_2|Monarch's Crown(Uncommon)",
+ "Head001_3|Monarch's Crown(Rare)",
+ "Head001_4|Monarch's Crown(Epic)",
+ "Head001_5|Monarch's Crown(Legendary)",
+ "Head016|Penking Cap(Common)",
+ "Head016_2|Penking Cap(Uncommon)",
+ "Head016_3|Penking Cap(Rare)",
+ "Head016_4|Penking Cap(Epic)",
+ "Head016_5|Penking Cap(Legendary)",
+ "Head005|Soft Hat(Common)",
+ "Head005_2|Soft Hat(Uncommon)",
+ "Head005_3|Soft Hat(Rare)",
+ "Head005_4|Soft Hat(Epic)",
+ "Head005_5|Soft Hat(Legendary)",
+ "Head007|Silk Hat(Common)",
+ "Head007_2|Silk Hat(Uncommon)",
+ "Head007_3|Silk Hat(Rare)",
+ "Head007_4|Silk Hat(Epic)",
+ "Head007_5|Silk Hat(Legendary)",
+ "Head008|Tricorne(Common)",
+ "Head008_2|Tricorne(Uncommon)",
+ "Head008_3|Tricorne(Rare)",
+ "Head008_4|Tricorne(Epic)",
+ "Head008_5|Tricorne(Legendary)",
+ "Head013|Tocotoco Cap(Common)",
+ "Head013_2|Tocotoco Cap(Uncommon)",
+ "Head013_3|Tocotoco Cap(Rare)",
+ "Head013_4|Tocotoco Cap(Epic)",
+ "Head013_5|Tocotoco Cap(Legendary)",
+ "Head004|Witch Hat(Common)",
+ "Head004_2|Witch Hat(Uncommon)",
+ "Head004_3|Witch Hat(Rare)",
+ "Head004_4|Witch Hat(Epic)",
+ "Head004_5|Witch Hat(Legendary)"
+ };
+
+ const auto medicine =
+ {
+ "LuxuryMedicines|High Grade Medical Supplies",
+ "Herbs|Low Quality Medical Supplies",
+ "Medicines|Medical Supplies",
+ "MindControlDrug|Mind Control Meds",
+ "StatusPointResetSan|Memory Wiping Medicine",
+ "Narcotic|Strange Juice",
+ "Opium|Suspicious Juice"
+ };
+
+ const auto other =
+ {
+ "Unko_S|Dung",
+ "TechnologyBook_G3|Future Technical Manual",
+ "TechnologyBook_G1|High Grade Technical Manual",
+ "Unko_L|Huge Dung Pile",
+ "TechnologyBook_G2|Innovative Technical Manual",
+ "PalUpgradeStone3|Large Pal Soul",
+ "Relic|Lifmunk Effigy",
+ "PalUpgradeStone2|Medium Pal Soul",
+ "PalItem_ToSell_01|Precious Dragon Stone",
+ "PalItem_ToSell_02|Precious Plume",
+ "PalItem_ToSell_03|Precious Entrails",
+ "PalItem_ToSell_04|Precious Claw",
+ "PalItem_ToSell_05|Precious Pelt",
+ "PalUpgradeStone|Small Pal Soul"
+ };
+
+ const auto palspheres =
+ {
+ "PalSphere_Giga|Giga Sphere",
+ "PalSphere_Tera|Hyper Sphere",
+ "PalSphere_Legend|Legendary Sphere",
+ "PalSphere_Mega|Mega Sphere",
+ "PalSphere|Pal Sphere",
+ "PalSphere_Robbery|Radar Sphere",
+ "PalSphere_Master|Ultra Sphere",
+ };
+
+ const auto seeds =
+ {
+ "BerrySeeds|Berry Seeds",
+ "LettuceSeeds|Lettuce Seeds",
+ "TomatoSeeds|Tomato Seeds",
+ "WheatSeeds|Wheat Seeds",
+ };
+
+ const auto tools =
+ {
+ "Shield_01|Common Shield",
+ "TreasureBoxKey01|Copper Key",
+ "Glider_Super|Giga Glider",
+ "Shield_03|Giga Shield",
+ "TreasureBoxKey03|Golden Key",
+ "Glider_Legendary|HyperGlider",
+ "Lantern|Hip Lantern",
+ "Shield_04|HyperShield",
+ "Torch|Hand-held Torch",
+ "Axe_Tier_01|Metal Ax",
+ "Pickaxe_Tier_01|Metal Pickaxe",
+ "Glider_Good|Mega Glider",
+ "Shield_02|Mega Shield",
+ "MeatCutterKnife|Meat Cleaver",
+ "Glider_Old|Normal Parachute",
+ "Axe_Tier_02|Refined Metal Ax",
+ "Pickaxe_Tier_02|Refined Metal Pickaxe",
+ "RepairKit|Repair Kit",
+ "Axe_Tier_00|Stone Ax",
+ "Pickaxe_Tier_00|Stone Pickaxe",
+ "TreasureBoxKey02|Silver Key"
+ };
+
+ const auto weapons =
+ {
+ "AssaultRifle_Default1|Assault Rifle(Common)",
+ "AssaultRifle_Default2|Assault Rifle(Uncommon)",
+ "AssaultRifle_Default3|Assault Rifle(Rare)",
+ "AssaultRifle_Default4|Assault Rifle(Epic)",
+ "AssaultRifle_Default5|Assault Rifle(Legendary)",
+ "Bat2|Bat",
+ "Spear_SoldierBee|Beegarde's Spear",
+ "BowGun|Crossbow(Common)",
+ "BowGun_2|Crossbow(Uncommon)",
+ "BowGun_3|Crossbow(Rare)",
+ "BowGun_4|Crossbow(Epic)",
+ "BowGun_5|Crossbow(Legendary)",
+ "DecalGun_1|Decal Gun 1",
+ "DecalGun_2|Decal Gun 2",
+ "DecalGun_3|Decal Gun 3",
+ "DecalGun_4|Decal Gun 4",
+ "DecalGun_5|Decal Gun 5",
+ "DoubleBarrelShotgun|Double-barreled Shotgun",
+ "Spear_QueenBee|Elizabee's Staff",
+ "BowGun_Fire|Fire Arrow Crossbow",
+ "Bow_Fifth|Five Shot Bow",
+ "Bow_Fire|Fire Bow",
+ "FragGrenade|Frag Grenade",
+ "GrapplingGun|Grappling Gun",
+ "GrapplingGun2|Mega Grappling Gun",
+ "GrapplingGun3|Giga Grappling Gun",
+ "GrapplingGun4|Hyper Grappling Gun",
+ "HomingSphereLauncher|Homing Sphere Launcher",
+ "FragGrenade_Fire|Incendiary Grenade",
+ "FragGrenade_Ice|Ice Grenade",
+ "MakeshiftHandgun|Inferior Handgun",
+ "LaserRifle|Laser Rifle",
+ "Spear_ForestBoss|Lily's Spear",
+ "Musket|Musket",
+ "Spear_2|Metal Spear",
+ "WeakerBow|Old Bow(Common)",
+ "WeakerBow_2|Old Bow(Uncommon)",
+ "WeakerBow_3|Old Bow(Rare)",
+ "WeakerBow_4|Old Bow(Epic)",
+ "WeakerBow_5|Old Bow(Legendary)",
+ "BowGun_Poison|Poison Arrow Crossbow",
+ "Bow_Poison|Poison Bow",
+ "HandGun_Default|Pistol(Common)",
+ "HandGun_Default_2|Pistol(Uncommon)",
+ "HandGun_Default_3|Pistol(Rare)",
+ "HandGun_Default_4|Pistol(Epic)",
+ "HandGun_Default_5|Pistol(Legendary)",
+ "PumpActionShotgun|Pump Action Shotgun(Common)",
+ "PumpActionShotgun_2|Pump Action Shotgun(Uncommon)",
+ "PumpActionShotgun_3|Pump Action Shotgun(Rare)",
+ "PumpActionShotgun_4|Pump Action Shotgun(Epic)",
+ "PumpActionShotgun_5|Pump Action Shotgun(Legendary)",
+ "Launcher_Default|Rocket Launcher(Common)",
+ "Launcher_Default_2|Rocket Launcher(Uncommon)",
+ "Launcher_Default_3|Rocket Launcher(Rare)",
+ "Launcher_Default_4|Rocket Launcher(Epic)",
+ "Launcher_Default_5|Rocket Launcher(Legendary)",
+ "RecurveBow|RecurveBow",
+ "Spear_3|Refined Metal Spear",
+ "FragGrenade_Elec|Shock Grenade",
+ "ElecBaton|Stun Baton",
+ "SingleShotRifle|Single-shot Rifle",
+ "SniperRifle_Default|Sniper Rifle",
+ "Spear|Stone Spear",
+ "SphereLauncher|Scatter Sphere Launcher",
+ "SphereLauncher_Once|Single-shot Sphere Launcher",
+ "Sword|Sword",
+ "Bow_triple|Triple Shot Bow",
+ "Bat|Wooden Club",
+ };
+
+ const auto money =
+ {
+ "Diamond|Diamond",
+ "Eemerald|Emerald",
+ "Money|Gold Coin",
+ "Quartz|Pure Quartz",
+ "Ruby|Ruby",
+ "Sapphire|Sapphire"
+ };
+}
\ No newline at end of file
diff --git a/config.cpp b/config.cpp
index c005ace..d32d242 100644
--- a/config.cpp
+++ b/config.cpp
@@ -1,6 +1,7 @@
#include "pch.h"
#include "config.h"
#include
+#include "include/Menu.hpp"
config Config;
@@ -29,6 +30,7 @@ bool DetourTick(SDK::APalPlayerCharacter* m_this, float DeltaSecond)
if (m_this->GetPalPlayerController()->IsLocalPlayerController())
{
Config.localPlayer = m_this;
+ DX11_Base::g_Menu->Loops();
}
}
return OldTickFunc(m_this, DeltaSecond);
diff --git a/config.h b/config.h
index 7589f5b..d89ae0c 100644
--- a/config.h
+++ b/config.h
@@ -3,6 +3,7 @@
#include "libs/utils/memory.h"
#include "SDK.hpp"
#include "database.h"
+#include "ItemList.hpp"
typedef bool(*Tick)(SDK::APalPlayerCharacter* m_this, float DeltaSecond);
diff --git a/feature.cpp b/feature.cpp
index 6b51bd8..4cd82fa 100644
--- a/feature.cpp
+++ b/feature.cpp
@@ -304,8 +304,9 @@ void ReviveLocalPlayer()
return;
FFixedPoint newHealthPoint = FFixedPoint(99999999);
+ if (Config.GetPalPlayerCharacter()->CharacterParameterComponent->IsDying())
+ Config.GetPalPlayerCharacter()->CharacterParameterComponent->ReviveFromDying();
pPalPlayerCharacter->ReviveCharacter_ToServer(newHealthPoint);
-
}
//
diff --git a/initialize.hpp b/initialize.hpp
index 0e587b1..6b45456 100644
--- a/initialize.hpp
+++ b/initialize.hpp
@@ -7,14 +7,6 @@
#include "include/D3D11Window.hpp"
#include "include/Hooking.hpp"
using namespace DX11_Base;
-void ClientBGThread()
-{
- while (g_Running) {
- g_Menu->Loops();
- std::this_thread::sleep_for(1ms);
- std::this_thread::yield();
- }
-}
DWORD WINAPI MainThread_Initialize()
{
@@ -37,7 +29,6 @@ DWORD WINAPI MainThread_Initialize()
g_Console->printdbg("Main::Initialized\nUWorld:\t0x%llX\n", Console::Colors::green, Config.gWorld);
#endif
- std::thread WCMUpdate(ClientBGThread); // Initialize Loops Thread
/// RENDER LOOP
g_Running = TRUE;
while (g_Running)
@@ -51,7 +42,6 @@ DWORD WINAPI MainThread_Initialize()
}
/// EXIT
- WCMUpdate.join(); // Exit Loops Thread
FreeLibraryAndExitThread(g_hModule, EXIT_SUCCESS);
return EXIT_SUCCESS;
}
\ No newline at end of file
diff --git a/src/Menu.cpp b/src/Menu.cpp
index 5297e2a..0138f4c 100644
--- a/src/Menu.cpp
+++ b/src/Menu.cpp
@@ -2,6 +2,7 @@
#include "../include/Menu.hpp"
#include "SDK.hpp"
#include "config.h"
+#include
std::string rand_str(const int len)
{
std::string str;
@@ -251,6 +252,105 @@ namespace DX11_Base
}
}
+ void TABItemSpawner()
+ {
+ static int num_to_add = 1;
+ static int category = 0;
+
+ ImGui::InputInt("Num To Add", &num_to_add);
+
+ ImGui::Combo("Item Category", &category, "Accessories\0Ammo\0Armor\0Crafting Materials\0Eggs\0Food\0Hats\0\Medicine\0Money\0Other\0Pal Spheres\0Seeds\0Tools\0Weapons\0");
+
+ std::initializer_list list = itemlist::accessories;
+
+ switch (category)
+ {
+ case 1:
+ list = itemlist::ammo;
+ break;
+ case 2:
+ list = itemlist::armor;
+ break;
+ case 3:
+ list = itemlist::craftingmaterials;
+ break;
+ case 4:
+ list = itemlist::eggs;
+ break;
+ case 5:
+ list = itemlist::food;
+ break;
+ case 6:
+ list = itemlist::hats;
+ break;
+ case 7:
+ list = itemlist::medicine;
+ break;
+ case 8:
+ list = itemlist::money;
+ break;
+ case 9:
+ list = itemlist::other;
+ break;
+ case 10:
+ list = itemlist::palspheres;
+ break;
+ case 11:
+ list = itemlist::seeds;
+ break;
+ case 12:
+ list = itemlist::tools;
+ break;
+ case 13:
+ list = itemlist::weapons;
+ break;
+ default:
+ list = itemlist::accessories;
+ }
+
+ int cur_size = 0;
+
+ static char item_search[100];
+
+ ImGui::InputText("Search", item_search, IM_ARRAYSIZE(item_search));
+
+ for (const auto& item : list) {
+ std::istringstream ss(item);
+ std::string left_text, right_text;
+
+ std::getline(ss, left_text, '|');
+ std::getline(ss, right_text);
+
+ auto right_to_lower = right_text;
+ std::string item_search_to_lower = item_search;
+
+ std::transform(right_to_lower.begin(), right_to_lower.end(), right_to_lower.begin(), ::tolower);
+ std::transform(item_search_to_lower.begin(), item_search_to_lower.end(), item_search_to_lower.begin(), ::tolower);
+
+ if (item_search[0] != '\0' && (right_to_lower.find(item_search_to_lower) == std::string::npos))
+ continue;
+
+ if (cur_size != 0 && cur_size < 20)
+ {
+ ImGui::SameLine();
+ }
+ else if (cur_size != 0)
+ {
+ cur_size = 0;
+ }
+
+ cur_size += right_text.length();
+
+ ImGui::PushID(item);
+ if (ImGui::Button(right_text.c_str()))
+ {
+ SDK::UPalPlayerInventoryData* InventoryData = Config.GetPalPlayerCharacter()->GetPalPlayerController()->GetPalPlayerState()->GetInventoryData();
+ AddItemToInventoryByName(InventoryData, (char*)left_text.c_str(), num_to_add);
+ }
+ ImGui::PopID();
+ }
+ }
+
void TABQuick()
{
if (ImGui::Button("Basic Items stack", ImVec2(ImGui::GetContentRegionAvail().x - 3, 20)))
@@ -492,6 +592,11 @@ namespace DX11_Base
Tabs::TABDatabase();
ImGui::EndTabItem();
}
+ if (ImGui::BeginTabItem("Item Spawner"))
+ {
+ Tabs::TABItemSpawner();
+ ImGui::EndTabItem();
+ }
if (ImGui::BeginTabItem("CONFIG"))
{
Tabs::TABConfig();