Merge pull request #190 from Taiga74164/master

Added VacuumLoot, DialogSkip changes, Akebi Logo
This commit is contained in:
Callow 2022-07-01 11:32:49 +03:00 committed by GitHub
commit e445029c06
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 184 additions and 26 deletions

View File

@ -1,7 +1,17 @@
<h1 align="center">Akebi GC</h1>
The great software for some anime game which is for exploiting with girls (and boys).
<p align="center">
<a href="#"><img width="500" height="500" src="https://user-images.githubusercontent.com/67109235/176832758-7089defd-0edd-4c7a-bd69-60eeef99dca7.png"></a>
<a href="#"><img width="690" height="133" src="https://user-images.githubusercontent.com/67109235/176832764-471a6bd5-405f-43dd-97ec-c11997880993.png"></a>
</p>
<p align="center">
<a href="https://github.com/Akebi-Group/Akebi-GC/releases/latest"><img src="https://img.shields.io/github/v/release/Akebi-Group/Akebi-GC?style=for-the-badge"></a>
<a href="https://github.com/Akebi-Group/Akebi-GC/releases"><img src="https://img.shields.io/github/downloads/Akebi-Group/Akebi-GC/total.svg?style=for-the-badge"></a>
<a href="https://github.com/Akebi-Group/Akebi-GC/graphs/contributors"><img src="https://img.shields.io/github/contributors/Akebi-Group/Akebi-GC?style=for-the-badge&color=red"></a>
<a href="https://discord.gg/MmV8hNZB9S"><img src="https://img.shields.io/discord/440536354544156683?label=Discord&logo=discord&style=for-the-badge&color=blueviolet"></a>
</p>
---
We opened a [Discord server](https://discord.gg/MmV8hNZB9S)
<h1 align="center">Getting Started</h1>
## Building from source
@ -17,8 +27,8 @@ As well as setting up **`cheat-library`** as startup project.
1. Download the latest binaries
### Requirements
- [Visual C++ Redistributable packages for Visual Studio 2015, 2017, 2019, 2022](https://aka.ms/vs/17/release/vc_redist.x64.exe) (x64)
- [Visual C++ Redistributable packages for Visual Studio 2015, 2017, 2019, 2022](https://aka.ms/vs/17/release/vc_redist.x86.exe) (x86)
- [Visual C++ Redistributable packages for Visual Studio 2015-2022](https://aka.ms/vs/17/release/vc_redist.x64.exe) (x64)
- [Visual C++ Redistributable packages for Visual Studio 2015-2022](https://aka.ms/vs/17/release/vc_redist.x86.exe) (x86)
### Usage
(1-2 are optional if you didn't build from source)
@ -26,7 +36,7 @@ As well as setting up **`cheat-library`** as startup project.
1. Open Compiled version (debug, release)
1. Insure that `CLibrary.dll` is in the same folder that `injector.exe`.
1. Ensure that `CLibrary.dll` is in the same folder that `injector.exe`.
1. Run `injector.exe`.
<h1 align="center">Features</h1>
@ -39,18 +49,25 @@ As well as setting up **`cheat-library`** as startup project.
#### Player
- Invincible
- Unlimited Stamina
- Dumb Enemies
- Attack Modifier
- No Cooldown Skill/Ultimate/Sprint
- Unlimited Stamina
- No Clip
#### World
- Auto Loot
- Auto Talk
- Killaura
- Auto Tree Farm
- Mob Vacuum
- Auto Seelie
- Vacuum Loot
- Dumb Enemies
- Auto Destroy Objects
- Auto Loot
- Pickup Range
- Auto Talk
- Auto Tree Farm
- Auto Cook
- Fake Time
- Auto Fish
- Kill Aura
- Mob Vacuum
- Music Event (temporary)
#### Teleport
@ -62,11 +79,15 @@ As well as setting up **`cheat-library`** as startup project.
- ESP
- Interactive Map
- Elemental Sight
- Profile Changer
- In-game Embedded Browser
- Hide UI
- Camera Zoom
- No Fog
- FPS Unlock
- Camera Zoom
- Chest Indicator
- Hide UI
- In-game Embedded Browser
- Enable Peaking
- Profile Changer
- Texture Changer
#### Debugging
- Entities Manager
@ -102,7 +123,7 @@ As well as setting up **`cheat-library`** as startup project.
<img src="https://github.com/CallowBlack/gif-demos/blob/main/genshin-cheat/auto-talk-demo.gif"/>
</details>
# Bugs
<h1 align="center">Bugs</h1>
Welcome to the short explanation for bug reporting
1. You Found a bug.

View File

@ -111,6 +111,7 @@
<ClInclude Include="src\user\cheat\world\KillAura.h" />
<ClInclude Include="src\user\cheat\world\MobVacuum.h" />
<ClInclude Include="src\user\cheat\world\MusicEvent.h" />
<ClInclude Include="src\user\cheat\world\VacuumLoot.h" />
<ClInclude Include="src\user\main.h" />
</ItemGroup>
<ItemGroup>
@ -211,6 +212,7 @@
<ClCompile Include="src\user\cheat\world\KillAura.cpp" />
<ClCompile Include="src\user\cheat\world\MobVacuum.cpp" />
<ClCompile Include="src\user\cheat\world\MusicEvent.cpp" />
<ClCompile Include="src\user\cheat\world\VacuumLoot.cpp" />
<ClCompile Include="src\user\main.cpp" />
</ItemGroup>
<PropertyGroup>

View File

@ -240,6 +240,9 @@
<ClInclude Include="src\user\cheat\world\AutoSeelie.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\user\cheat\world\VacuumLoot.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Font Include="res\Ruda-Bold.ttf" />
@ -438,6 +441,9 @@
<ClCompile Include="src\user\cheat\world\AutoSeelie.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\user\cheat\world\VacuumLoot.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="res\res.rc">

View File

@ -28,6 +28,7 @@
#include <cheat/world/AutoDestroy.h>
#include <cheat/world/FakeTime.h>
#include <cheat/world/AutoSeelie.h>
#include <cheat/world/VacuumLoot.h>
#include <cheat/teleport/ChestTeleport.h>
#include <cheat/teleport/MapTeleport.h>
@ -85,6 +86,7 @@ namespace cheat
FEAT_INST(AutoTreeFarm),
FEAT_INST(AutoDestroy),
FEAT_INST(AutoSeelie),
FEAT_INST(VacuumLoot),
FEAT_INST(DialogSkip),
FEAT_INST(DumbEnemies),
FEAT_INST(ElementalSight),

View File

@ -10,7 +10,6 @@ namespace cheat::feature
{
AutoSeelie::AutoSeelie() : Feature(),
NF(f_Enabled, "Auto follow seelie", "AutoSeelie", false)
{
events::GameUpdateEvent += MY_METHOD_HANDLER(AutoSeelie::OnGameUpdate);
}
@ -22,7 +21,7 @@ namespace cheat::feature
void AutoSeelie::DrawMain()
{
ConfigWidget("Auto seelie", f_Enabled, "Auto follow seelie to it home");
ConfigWidget("Auto seelie", f_Enabled, "Auto follow seelie to its home");
ImGui::SameLine();
ImGui::TextColored(ImColor(255, 165, 0, 255), "Don't work with Electro Seelies");
}
@ -58,7 +57,6 @@ namespace cheat::feature
return false;
}
void AutoSeelie::OnGameUpdate()
{
if (!f_Enabled)

View File

@ -1,4 +1,4 @@
#include "pch-il2cpp.h"
#include "pch-il2cpp.h"
#include "DialogSkip.h"
#include <helpers.h>
@ -13,7 +13,7 @@ namespace cheat::feature
DialogSkip::DialogSkip() : Feature(),
NF(f_Enabled, "Auto talk", "AutoTalk", false),
NF(f_AutoSelectDialog, "Auto select dialog", "AutoTalk", true),
NF(f_ExcludeImportant, "Exclude Katheryne/Tubby", "AutoTalk", true),
NF(f_ExcludeImportant, "Exclude Katheryne/Tubby/Wagner", "AutoTalk", true),
NF(f_FastDialog, "Fast dialog", "AutoTalk", false),
NF(f_CutsceneUSM, "Skip Cutscenes", "AutoTalk", false),
NF(f_TimeSpeedup, "Time Speed", "AutoTalk", 5.0f)
@ -36,7 +36,7 @@ namespace cheat::feature
if (f_AutoSelectDialog)
{
ImGui::Indent();
ConfigWidget("Exclude Katheryne/Tubby", f_ExcludeImportant, "Exclude Kath/Tubby from auto-select.");
ConfigWidget("Exclude Katheryne/Tubby/Wagner", f_ExcludeImportant, "Exclude Kath/Tubby/Wagner from auto-select.");
ImGui::Unindent();
}
ConfigWidget("Fast Dialog", f_FastDialog, "Speeds up Time");
@ -94,7 +94,8 @@ namespace cheat::feature
// speeding up dialog on.
std::vector<std::string> impEntitiesNames = {
"Djinn",
"Katheryne"
"Katheryne",
"Wagner"
};
auto dialogPartnerID = context->fields._inteeID;
auto& manager = game::EntityManager::instance();
@ -114,7 +115,9 @@ namespace cheat::feature
{
int32_t value = 0;
auto object = il2cpp_value_box((Il2CppClass*)*app::Int32__TypeInfo, &value);
auto notify = app::Notify_CreateNotify_1(app::MoleMole_NotifyTypes__Enum::DialogSelectItemNotify, (app::Object*)object, nullptr);
app::Notify notify{};
notify.type = app::MoleMole_NotifyTypes__Enum::DialogSelectNotify;
notify.body = (app::Object*)object;
app::MoleMole_TalkDialogContext_OnDialogSelectItem(talkDialog, &notify, nullptr);
}
else if (!talkDialog->fields._inSelect)

View File

@ -0,0 +1,93 @@
#include "pch-il2cpp.h"
#include "VacuumLoot.h"
#include <helpers.h>
#include <cheat/events.h>
#include <cheat/game/EntityManager.h>
#include <cheat/game/util.h>
namespace cheat::feature
{
VacuumLoot::VacuumLoot() : Feature(),
NF(f_Enabled, "Vacuum Loot", "VacuumLoot", false)
{
events::GameUpdateEvent += MY_METHOD_HANDLER(VacuumLoot::OnGameUpdate);
}
const FeatureGUIInfo& VacuumLoot::GetGUIInfo() const
{
static const FeatureGUIInfo info{ "", "World", true };
return info;
}
void VacuumLoot::DrawMain()
{
ConfigWidget("Vacuum Loot", f_Enabled, "Vacuum Loot drops");
}
bool VacuumLoot::NeedStatusDraw() const
{
return f_Enabled;
}
void VacuumLoot::DrawStatus()
{
ImGui::Text ("VacuumLoot");
}
VacuumLoot& VacuumLoot::GetInstance()
{
static VacuumLoot instance;
return instance;
}
bool VacuumLoot::IsEntityForVac(game::Entity* entity)
{
auto& manager = game::EntityManager::instance();
auto distance = manager.avatar()->distance(entity);
float radius = 100.0f;
// TODO: Add more on the filter list in the future
static std::vector<std::string> dropList
{
"SceneObj_DropItem",
"SceneObj_Ore_Drop",
"_Thundercrystaldrop",
"Meat",
"Fishmeat",
"Equip_Sword",
"Equip_Pole",
"Equip_Bow",
"Equip_Catalyst",
"Equip_Claymore",
"Eff_Animal"
};
for (auto& dropListNames : dropList)
if (entity->name().find(dropListNames) != std::string::npos)
return distance <= radius;
return false;
}
void VacuumLoot::OnGameUpdate()
{
if (!f_Enabled)
return;
auto currentTime = util::GetCurrentTimeMillisec();
if (currentTime < nextTime)
return;
auto& manager = game::EntityManager::instance();
auto avatarEntity = manager.avatar();
for (const auto& entity : manager.entities())
{
if (!IsEntityForVac(entity))
continue;
entity->setRelativePosition(avatarEntity->relativePosition());
}
nextTime = currentTime + 1000;
}
}

View File

@ -0,0 +1,33 @@
#pragma once
#include <cheat-base/cheat/Feature.h>
#include <cheat-base/config/config.h>
#include <cheat/game/Entity.h>
#include <cheat/game/filters.h>
#include <il2cpp-appdata.h>
namespace cheat::feature
{
class VacuumLoot : public Feature
{
public:
config::Field<config::Toggle<Hotkey>> f_Enabled;
static VacuumLoot& GetInstance();
const FeatureGUIInfo& GetGUIInfo() const override;
void DrawMain() override;
virtual bool NeedStatusDraw() const override;
void DrawStatus() override;
void OnGameUpdate();
private:
std::vector<game::IEntityFilter*> m_Filters;
VacuumLoot();
int nextTime{};
bool IsEntityForVac(cheat::game::Entity* entity);
};
}