Reworked some stuff, and tested an way to Print Steam ids of clients which joined.

Also changed that now an Gif is the Background of the Menu for Testing purposes. Looks kinda okay but sketchy
This commit is contained in:
Unknown 2024-05-09 22:05:24 +02:00
parent 915f2eefc1
commit 7200fcf4c1
6 changed files with 200 additions and 33 deletions

View File

@ -72,6 +72,7 @@ namespace Cheat {
SDK::UKismetStringLibrary* StringLib = 0x0; SDK::UKismetStringLibrary* StringLib = 0x0;
SDK::UKismetTextLibrary* TextLib = 0x0; SDK::UKismetTextLibrary* TextLib = 0x0;
SDK::UGameplayStatics* GPStatics = 0x0; SDK::UGameplayStatics* GPStatics = 0x0;
SDK::UKismetRenderingLibrary* RenderLib = 0x0;
SDK::AMP_PlayerController_C* PlayerController = 0x0; SDK::AMP_PlayerController_C* PlayerController = 0x0;
SDK::ULocalPlayer* LocalPlayer = 0x0; SDK::ULocalPlayer* LocalPlayer = 0x0;
SDK::ULevel* CurLevel = 0x0; SDK::ULevel* CurLevel = 0x0;
@ -168,6 +169,8 @@ namespace Cheat {
GPStatics = (SDK::UGameplayStatics*)SDK::UObject::FindClassFast("GameplayStatics")->DefaultObject; GPStatics = (SDK::UGameplayStatics*)SDK::UObject::FindClassFast("GameplayStatics")->DefaultObject;
RenderLib = (SDK::UKismetRenderingLibrary*)SDK::UObject::FindClassFast("KismetRenderingLibrary")->DefaultObject;
CWINGui::Font = SDK::UObject::FindObject<SDK::UFont>("Font Roboto.Roboto"); CWINGui::Font = SDK::UObject::FindObject<SDK::UFont>("Font Roboto.Roboto");
StaticConstructObject_Internal = (fStaticConstructObject_Internal)((uintptr_t)GetModuleHandle(0) + Offsets::StaticConstructObject_Internal); StaticConstructObject_Internal = (fStaticConstructObject_Internal)((uintptr_t)GetModuleHandle(0) + Offsets::StaticConstructObject_Internal);
@ -1322,6 +1325,29 @@ namespace Cheat {
//Esp shit, World needed obviously else crashes //Esp shit, World needed obviously else crashes
if (Ok || Stages >= 6) { if (Ok || Stages >= 6) {
#ifdef DEBUG //Will have to reverse some shit later. For now wont work
if (Settings::TestEvent_PrintSteamIDS) {
Settings::TestEvent_PrintSteamIDS = false;
auto Players = PlayerStuff::PlayerList;
for (size_t i = 0; i < Players.size(); i++)
{
auto Controller = (SDK::APlayerController*)Players[i].Pawn_->Controller;
if (Controller) {
auto NetConnection = Controller->NetConnection;
if (NetConnection) {
}
}
}
}
#endif
if (PlayerController->SpectatorPawn) { if (PlayerController->SpectatorPawn) {
} }
@ -1571,7 +1597,7 @@ namespace Cheat {
} }
#ifdef Gatekeep #ifdef DEBUG
//Spawn stuff inside your hand, that wasnt supposed to even Spawn in there (Exploit 1, Dangerous Exploit) //Spawn stuff inside your hand, that wasnt supposed to even Spawn in there (Exploit 1, Dangerous Exploit)
if (Settings::Spawner) { if (Settings::Spawner) {
@ -1698,7 +1724,7 @@ namespace Cheat {
} }
else else
{ {
Message("Couldnt Spawn Rope. Class Not Found"); Message("Couldnt Spawn Firework. Class Not Found");
} }
//BPCharacter->CustomTimeDilation = 0.001f; //BPCharacter->CustomTimeDilation = 0.001f;
} }
@ -1831,10 +1857,9 @@ namespace Cheat {
{ // Only works as Host { // Only works as Host
BPCharacter->CanJumpscare = false;
BPCharacter->CanKill = false;
if (BPCharacter->Climb) {
if (BPCharacter->Climb) { //Fast climb ladder
BPCharacter->Climb->TheTimeline.Length = 0.0f; BPCharacter->Climb->TheTimeline.Length = 0.0f;
} }
@ -1971,7 +1996,7 @@ namespace Cheat {
} }
#ifdef Gatekeep #ifdef DEBUG
//Spawn ropes anywhere you want, how often you want also. (Exploit 3, severe) //Spawn ropes anywhere you want, how often you want also. (Exploit 3, severe)
if (GetAsyncKeyState(VK_F2)& 1 && BPCharacter->CurrentItem_Rep) { if (GetAsyncKeyState(VK_F2)& 1 && BPCharacter->CurrentItem_Rep) {
@ -1985,7 +2010,7 @@ namespace Cheat {
} }
} }
#endif // Gatekeep #endif // No real Frontend implementation for this, for now
if (GetAsyncKeyState(VK_F3) & 1) if (GetAsyncKeyState(VK_F3) & 1)
@ -2226,7 +2251,7 @@ namespace Cheat {
} }
#ifdef Gatekeep #ifdef DEBUG //Debugging purposes
if (Settings::UnpossePawns) { if (Settings::UnpossePawns) {
Settings::UnpossePawns = false; Settings::UnpossePawns = false;
@ -2377,7 +2402,7 @@ namespace Cheat {
PlayerController->AcknowledgedPawn->K2_SetActorLocation(SDK::FVector(PlayerPos.X - UPVector.X, PlayerPos.Y - UPVector.Y, PlayerPos.Z - UPVector.Z), false, 0, true); PlayerController->AcknowledgedPawn->K2_SetActorLocation(SDK::FVector(PlayerPos.X - UPVector.X, PlayerPos.Y - UPVector.Y, PlayerPos.Z - UPVector.Z), false, 0, true);
} }
#ifdef Gatekeep #ifdef DEBUG //no real frontend for this yet
if (GetAsyncKeyState(VK_F1)) { if (GetAsyncKeyState(VK_F1)) {
BPCharacter->StartPushingActor_SERVER((SDK::ABP_Pushable_C*)PlayerController->AcknowledgedPawn, PlayerController->AcknowledgedPawn->K2_GetActorLocation(), PlayerController->ControlRotation); BPCharacter->StartPushingActor_SERVER((SDK::ABP_Pushable_C*)PlayerController->AcknowledgedPawn, PlayerController->AcknowledgedPawn->K2_GetActorLocation(), PlayerController->ControlRotation);
BPCharacter->StopPushingActor_SERVER((SDK::ABP_Pushable_C*)PlayerController->AcknowledgedPawn); BPCharacter->StopPushingActor_SERVER((SDK::ABP_Pushable_C*)PlayerController->AcknowledgedPawn);
@ -2523,7 +2548,7 @@ namespace Cheat {
} }
if (CurrentInteractable->IsUsable && !CurrentInteractable->WasUsed) { if (CurrentInteractable->IsUsable) {
SDK::FVector2D ScreenPos; SDK::FVector2D ScreenPos;
auto Location = CurrentInteractable->K2_GetActorLocation(); auto Location = CurrentInteractable->K2_GetActorLocation();
@ -2556,6 +2581,7 @@ namespace Cheat {
SDK::UClass* StaticSkinMf = nullptr; SDK::UClass* StaticSkinMf = nullptr;
SDK::UClass* StaticBacteriaMf = nullptr; SDK::UClass* StaticBacteriaMf = nullptr;
SDK::UClass* StaticHowlerMf = nullptr; SDK::UClass* StaticHowlerMf = nullptr;
SDK::UClass* StaticABPCharacter = SDK::ABPCharacter_Demo_C::StaticClass();
@ -2566,15 +2592,15 @@ namespace Cheat {
if (Settings::RandomName) if (Settings::RandomName)
srand(time(NULL)); srand(time(NULL));
for (size_t i = 0; i < EnemyArray.Num(); i++) for (size_t i = 0; i < EnemyArray.Num(); i++)
{ {
if (!EnemyArray.IsValidIndex(i) || !EnemyArray[i] || EnemyArray[i] == PlayerController->Character)continue; if (!EnemyArray.IsValidIndex(i) || !EnemyArray[i] || EnemyArray[i] == PlayerController->Character)continue;
auto CurrentEnemy = (SDK::ACharacter*)EnemyArray[i]; auto CurrentEnemy = (SDK::ACharacter*)EnemyArray[i];
auto Name = CurrentEnemy->Name.ToString(); if (CurrentEnemy->Class->IsA(StaticABPCharacter)) {
if (Name.find("BPCharacter_Demo_C") != std::string::npos) {
auto CharacterBP = (SDK::ABPCharacter_Demo_C*)CurrentEnemy; auto CharacterBP = (SDK::ABPCharacter_Demo_C*)CurrentEnemy;
auto StateBP = (SDK::AMP_PS_C*)CharacterBP->PlayerState; auto StateBP = (SDK::AMP_PS_C*)CharacterBP->PlayerState;
@ -2649,6 +2675,14 @@ namespace Cheat {
if (Settings::Godmode) { if (Settings::Godmode) {
if (!Settings::IniShitsPlayer[7]) {
Settings::IniShitsPlayer[7] = true;
BPCharacter->CanJumpscare = false;
BPCharacter->CanKill = false;
}
auto Name = CurrentEnemy->Class->Name; auto Name = CurrentEnemy->Class->Name;
if (StaticSkinMf && Name == StaticSkinMf->Name) { if (StaticSkinMf && Name == StaticSkinMf->Name) {
auto SkinSteala = (SDK::ABP_SkinStealer_C*)CurrentEnemy; auto SkinSteala = (SDK::ABP_SkinStealer_C*)CurrentEnemy;
@ -2673,7 +2707,15 @@ namespace Cheat {
// Howlerdude->CanAttack = false; // Howlerdude->CanAttack = false;
} }
} }
else
{
if (Settings::IniShitsPlayer[7]) {
Settings::IniShitsPlayer[7] = false;
BPCharacter->CanJumpscare = true;
BPCharacter->CanKill = true;
}
}
if (Settings::EnemyEsp) { if (Settings::EnemyEsp) {
UsefullFuncs::DrawBoxOnActor(Canvas, CurrentEnemy, UsefullFuncs::RGBATOFLinear(255, 0, 0, 255)); UsefullFuncs::DrawBoxOnActor(Canvas, CurrentEnemy, UsefullFuncs::RGBATOFLinear(255, 0, 0, 255));

View File

@ -91,6 +91,7 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<IncludePath>C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Include;$(IncludePath)</IncludePath> <IncludePath>C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Include;$(IncludePath)</IncludePath>
<LibraryPath>C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x64;$(LibraryPath)</LibraryPath> <LibraryPath>C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x64;$(LibraryPath)</LibraryPath>
<ExternalIncludePath>C:\Users\sonny\Downloads\backgroundpng\Out;$(ExternalIncludePath)</ExternalIncludePath>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
@ -183,6 +184,7 @@
</ClCompile> </ClCompile>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="C:\Users\sonny\Downloads\backgroundpng\Out\IncludeFile.h" />
<ClInclude Include="Cheat.h" /> <ClInclude Include="Cheat.h" />
<ClInclude Include="framework.h" /> <ClInclude Include="framework.h" />
<ClInclude Include="HostModifiers.h" /> <ClInclude Include="HostModifiers.h" />

View File

@ -22,6 +22,9 @@
<Filter Include="Quelldateien\SDK"> <Filter Include="Quelldateien\SDK">
<UniqueIdentifier>{53f1abc9-974e-496b-adbb-45a701a650ce}</UniqueIdentifier> <UniqueIdentifier>{53f1abc9-974e-496b-adbb-45a701a650ce}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="Headerdateien\Data">
<UniqueIdentifier>{af4a5384-604f-4524-93cc-ca60a54a5fb4}</UniqueIdentifier>
</Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="framework.h"> <ClInclude Include="framework.h">
@ -5754,6 +5757,9 @@
<ClInclude Include="HostModifiers.h"> <ClInclude Include="HostModifiers.h">
<Filter>Headerdateien</Filter> <Filter>Headerdateien</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="C:\Users\sonny\Downloads\backgroundpng\Out\IncludeFile.h">
<Filter>Headerdateien\Data</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="dllmain.cpp"> <ClCompile Include="dllmain.cpp">

View File

@ -383,7 +383,38 @@ namespace CWINGui
FVector2D dragPos; FVector2D dragPos;
void DrawThunder(FVector2D Size, FVector2D Pos); void DrawThunder(FVector2D Size, FVector2D Pos);
bool Window(const char* name, FVector2D* pos, FVector2D size, bool isOpen) struct GifData {
std::vector<SDK::UTexture2D*> TextureArray;
int CurrentIndex;
ULONGLONG Const_Delay;
ULONGLONG CurrentTickDelay;
GifData(std::vector<SDK::UTexture2D*> Array, ULONGLONG AnimationDelay) {
this->TextureArray = Array;
this->Const_Delay = AnimationDelay;
this->CurrentIndex = 0;
this->CurrentTickDelay = 0;
}
SDK::UTexture2D* GetCurrentImage() {
SDK::UTexture2D* Texture_ = TextureArray[CurrentIndex];
if (GetTickCount64() >= CurrentTickDelay) {
CurrentTickDelay = GetTickCount64() + Const_Delay;
if (CurrentIndex + 1 >= TextureArray.size())
CurrentIndex = 0;
else
CurrentIndex++;
}
return Texture_;
}
};
void DrawTexture(SDK::UTexture2D* texture, SDK::FVector2D ScreenPos, SDK::FVector2D ScreenSize, float rotation = 0.0f, SDK::FLinearColor color = {1.0f, 1.0f, 1.0f, 1.0f}, SDK::EBlendMode BlendMode = SDK::EBlendMode::BLEND_Masked);
bool Window(const char* name, FVector2D* pos, FVector2D size, bool isOpen, GifData* Gif = nullptr)
{ {
elements_count = 0; elements_count = 0;
@ -437,9 +468,21 @@ namespace CWINGui
current_element_pos = FVector2D{ 0, 0 }; current_element_pos = FVector2D{ 0, 0 };
current_element_size = FVector2D{ 0, 0 }; current_element_size = FVector2D{ 0, 0 };
//Bg
drawFilledRect(FVector2D{ pos->X, pos->Y }, size.X, size.Y, Colors::Window_Background); if (Gif) {
//drawFilledRect(FVector2D{ pos->X, pos->Y }, 122, size.Y, FLinearColor{ 0.006f, 0.006f, 0.006f, 1.0f });//My tabs bg auto Texture = Gif->GetCurrentImage();
drawFilledRect(FVector2D{ pos->X, pos->Y }, size.X, 25.0f, { 49 / 255, 49 / 255, 49 / 255, 1.0f});
DrawTexture(Texture, { pos->X, pos->Y }, { size.X, size.Y });
}
else
{
//Bg
drawFilledRect(FVector2D{ pos->X, pos->Y }, size.X, size.Y, Colors::Window_Background);
//drawFilledRect(FVector2D{ pos->X, pos->Y }, 122, size.Y, FLinearColor{ 0.006f, 0.006f, 0.006f, 1.0f });//My tabs bg
}
//Header //Header
drawFilledRect(FVector2D{ pos->X, pos->Y }, size.X, 25.0f, Colors::Window_Header); drawFilledRect(FVector2D{ pos->X, pos->Y }, size.X, 25.0f, Colors::Window_Header);
@ -740,6 +783,57 @@ namespace CWINGui
drawFilledRect(SDK::FVector2D{ RootPosition.X - (Width / 1.5f), RootPosition.Y - 10 + (Height / 6) }, (Width) * (Shield / 100), Height2, ShieldColor); drawFilledRect(SDK::FVector2D{ RootPosition.X - (Width / 1.5f), RootPosition.Y - 10 + (Height / 6) }, (Width) * (Shield / 100), Height2, ShieldColor);
} }
SDK::UTexture2D* LoadTexture(const wchar_t* Path) {
UTexture2D* LoadedTexture = nullptr;
auto RenderClass = SDK::UKismetRenderingLibrary::StaticClass();
if (RenderClass) {
auto RenderingLibrary = (SDK::UKismetRenderingLibrary*)RenderClass->DefaultObject;
if(RenderingLibrary)
LoadedTexture = RenderingLibrary->ImportFileAsTexture2D(SDK::UWorld::GetWorld(), SDK::FString(Path));
}
return LoadedTexture;
}
SDK::UTexture2D* LoadTexture(std::vector<byte> Texture) {
UTexture2D* LoadedTexture = nullptr;
auto RenderClass = SDK::UKismetRenderingLibrary::StaticClass();
if (RenderClass) {
auto RenderingLibrary = (SDK::UKismetRenderingLibrary*)RenderClass->DefaultObject;
if (RenderingLibrary) {
SDK::TArray<uint8> BufferArray = SDK::TArray<uint8>(Texture.size());
void** ptr = (void**)&BufferArray;
int* Size = (int*)( (uintptr_t)(&BufferArray) + 0x8);
std::memcpy(ptr[0], Texture.data(), sizeof(uint8) * Texture.size());
*Size = Texture.size();
LoadedTexture = RenderingLibrary->ImportBufferAsTexture2D(SDK::UWorld::GetWorld(), BufferArray);
delete[] ptr[0];
}
}
return LoadedTexture;
}
void DrawTexture(SDK::UTexture2D* texture, SDK::FVector2D ScreenPos, SDK::FVector2D ScreenSize, float rotation, SDK::FLinearColor color, SDK::EBlendMode BlendMode) {
if(texture)
canvas->K2_DrawTexture(texture, ScreenPos, ScreenSize, { 1.0f, 1.0f }, { 1.0f, 1.0f }, color, BlendMode, rotation, { 1.0f, 1.0f });
}
void Checkbox(const wchar_t* name, bool* value) void Checkbox(const wchar_t* name, bool* value)
{ {
elements_count++; elements_count++;

View File

@ -300,6 +300,7 @@ namespace Settings {
//Misc //Misc
bool ProtectCamServer = true; bool ProtectCamServer = true;
bool TestEvent_PrintSteamIDS = false;
bool UnlockPlayers = false; bool UnlockPlayers = false;
bool UnpossePawns = false; bool UnpossePawns = false;
bool ChangeNameEvent = false; bool ChangeNameEvent = false;
@ -340,7 +341,7 @@ namespace Settings {
bool AutoRespawnPlayers = true; bool AutoRespawnPlayers = true;
bool wtf_ = false; bool wtf_ = false;
bool IniShitsLevel[6]; bool IniShitsLevel[6];
bool IniShitsPlayer[7]; bool IniShitsPlayer[8];
bool SpawnItem = false; bool SpawnItem = false;
Items ItemToSpawn; Items ItemToSpawn;

View File

@ -3,8 +3,8 @@
#include <algorithm> #include <algorithm>
#include "Cheat.h" #include "Cheat.h"
#include <MinHook.h> #include <MinHook.h>
#include <IncludeFile.h>
#define Gatekeep
typedef void (*PostRender_t)(SDK::UObject* pObject, SDK::UCanvas* pCanvas); typedef void (*PostRender_t)(SDK::UObject* pObject, SDK::UCanvas* pCanvas);
PostRender_t origin_renderer; PostRender_t origin_renderer;
@ -13,6 +13,10 @@ typedef void(__stdcall* fnProcessEvent)(SDK::UObject* Object, SDK::UFunction* Fu
fnProcessEvent fnProcessEventOrigin; fnProcessEvent fnProcessEventOrigin;
fnProcessEvent fnProcessEventTarget; fnProcessEvent fnProcessEventTarget;
std::vector<ByteData> Datas;
CWINGui::GifData* GifBackground;
std::wstring stringToWideString(const std::string& str) std::wstring stringToWideString(const std::string& str)
{ {
std::wstring wstr(str.length(), L' '); std::wstring wstr(str.length(), L' ');
@ -177,7 +181,7 @@ void ProcessEventHook(SDK::UObject* Obj, SDK::UFunction* Function, void* Parms)
auto obj_ = (SDK::UW_Kicked_C*)Obj; auto obj_ = (SDK::UW_Kicked_C*)Obj;
auto params_ = (SDK::Params::UW_Kicked_C_Tick_Params*)Parms; auto params_ = (SDK::Params::UW_Kicked_C_Tick_Params*)Parms;
auto mssg = Cheat::TextLib->Conv_StringToText(SDK::FString(L"Host the Broke ass Nigga kicked you lmao")); auto mssg = Cheat::TextLib->Conv_StringToText(SDK::FString(L"Host the Broke ass fella kicked you lmao"));
obj_->TextBlock_Message->SetText(mssg); obj_->TextBlock_Message->SetText(mssg);
@ -190,6 +194,8 @@ void ProcessEventHook(SDK::UObject* Obj, SDK::UFunction* Function, void* Parms)
return fnProcessEventOrigin(Obj, Function, Parms); return fnProcessEventOrigin(Obj, Function, Parms);
} }
SDK::UTexture2D* ImageTexture = nullptr;
void MainRender(SDK::UObject* object, SDK::UCanvas* Canvas) { void MainRender(SDK::UObject* object, SDK::UCanvas* Canvas) {
@ -241,6 +247,7 @@ void MainRender(SDK::UObject* object, SDK::UCanvas* Canvas) {
Cheat::DrawTextRGBWithFString(Canvas, SDK::FString(L"Spectator List:"), SDK::FVector2D(10, SpectatorListPositionY), SDK::FLinearColor(0.0f, 1.0f, 0.0f, 1.0f), false, 1.1f); Cheat::DrawTextRGBWithFString(Canvas, SDK::FString(L"Spectator List:"), SDK::FVector2D(10, SpectatorListPositionY), SDK::FLinearColor(0.0f, 1.0f, 0.0f, 1.0f), false, 1.1f);
for (size_t i = 0; i < PlayerStuff::PlayerList.size(); i++) for (size_t i = 0; i < PlayerStuff::PlayerList.size(); i++)
{ {
if (PlayerStuff::PlayerList[i].IsSpectatingLocalPlayer(Cheat::PlayerController)) { if (PlayerStuff::PlayerList[i].IsSpectatingLocalPlayer(Cheat::PlayerController)) {
@ -252,7 +259,7 @@ void MainRender(SDK::UObject* object, SDK::UCanvas* Canvas) {
static SDK::FVector2D WindowSize = { 500.0f, 555.0f }; static SDK::FVector2D WindowSize = { 500.0f, 555.0f };
if (CWINGui::Window("Escape The Backrooms Internal", &Settings::WindowPos, WindowSize, Settings::Open)) if (CWINGui::Window("Escape The Backrooms Internal", &Settings::WindowPos, WindowSize, Settings::Open, GifBackground))
{ {
static int tab = 1; static int tab = 1;
if (CWINGui::ButtonTab(L"Game Shit", SDK::FVector2D{ 110, 35 }, tab == 0)) { tab = 0; WindowSize = { 500.0f, 640.0f }; } if (CWINGui::ButtonTab(L"Game Shit", SDK::FVector2D{ 110, 35 }, tab == 0)) { tab = 0; WindowSize = { 500.0f, 640.0f }; }
@ -297,7 +304,7 @@ void MainRender(SDK::UObject* object, SDK::UCanvas* Canvas) {
if (CWINGui::Button(L"Bring Tapes", SDK::FVector2D{ 110, 35 })) { if (CWINGui::Button(L"Bring Tapes", SDK::FVector2D{ 110, 35 })) {
Settings::BringAllItems = true; Settings::BringAllItems = true;
} }
#ifdef Gatekeep #ifdef DEBUG
if (CWINGui::Button(L"Unposses Pawn", SDK::FVector2D{ 110, 35 })) { if (CWINGui::Button(L"Unposses Pawn", SDK::FVector2D{ 110, 35 })) {
Settings::UnpossePawns = true; Settings::UnpossePawns = true;
} }
@ -311,6 +318,13 @@ void MainRender(SDK::UObject* object, SDK::UCanvas* Canvas) {
if (CWINGui::Button(L"Clear Items", SDK::FVector2D{ 110, 35 })) { if (CWINGui::Button(L"Clear Items", SDK::FVector2D{ 110, 35 })) {
Settings::ClearItems = true; Settings::ClearItems = true;
} }
#ifdef DEBUG
if (CWINGui::Button(L"Test Print", SDK::FVector2D{ 110, 35 })) {
Settings::TestEvent_PrintSteamIDS = true;
}
#endif // DEBUG
if (CWINGui::Button(L"Alloc Console", SDK::FVector2D{ 110, 35 })) { if (CWINGui::Button(L"Alloc Console", SDK::FVector2D{ 110, 35 })) {
Settings::wtf_ = true; Settings::wtf_ = true;
/*auto arrayAudio = Cheat::AudioData(std::vector<int8>{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}); /*auto arrayAudio = Cheat::AudioData(std::vector<int8>{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0});
@ -346,11 +360,9 @@ void MainRender(SDK::UObject* object, SDK::UCanvas* Canvas) {
CWINGui::Checkbox(L"GodMode (Host Only)(Works only on some Enemies)", &Settings::Godmode); CWINGui::Checkbox(L"GodMode (Host Only)(Works only on some Enemies)", &Settings::Godmode);
CWINGui::Checkbox(L"Speedhack", &Settings::SpeedHack); CWINGui::Checkbox(L"Speedhack", &Settings::SpeedHack);
CWINGui::Checkbox(L"Interactables always on", &Settings::InteractAll); CWINGui::Checkbox(L"Interactables always on", &Settings::InteractAll);
#ifdef Gatekeep
CWINGui::Checkbox(L"NameChanger", &Settings::NameChanger); CWINGui::Checkbox(L"NameChanger", &Settings::NameChanger);
/*CWINGui::Checkbox(L"NameChanger Random", &Settings::RandomName);*/ /*CWINGui::Checkbox(L"NameChanger Random", &Settings::RandomName);*/
CWINGui::Checkbox(L"Spawner", &Settings::Spawner); CWINGui::Checkbox(L"Spawner", &Settings::Spawner);
#endif
CWINGui::Checkbox(L"Fov Changer", &Settings::FovChanger); CWINGui::Checkbox(L"Fov Changer", &Settings::FovChanger);
CWINGui::SliderFloat(L"Fov", &Settings::Fov, 10.0f, 200.0f); CWINGui::SliderFloat(L"Fov", &Settings::Fov, 10.0f, 200.0f);
CWINGui::SliderFloat(L"Speed", &Settings::Speed, 100, 10000); CWINGui::SliderFloat(L"Speed", &Settings::Speed, 100, 10000);
@ -375,8 +387,6 @@ void MainRender(SDK::UObject* object, SDK::UCanvas* Canvas) {
// } // }
//} //}
#ifdef Gatekeep
if (Settings::NameChanger) if (Settings::NameChanger)
{ {
static bool hasfinishedConsole = false; static bool hasfinishedConsole = false;
@ -402,7 +412,7 @@ void MainRender(SDK::UObject* object, SDK::UCanvas* Canvas) {
} }
} }
#endif
break; break;
case 3: case 3:
CWINGui::Text(L"Item Spawner:"); CWINGui::Text(L"Item Spawner:");
@ -512,7 +522,6 @@ void MainRender(SDK::UObject* object, SDK::UCanvas* Canvas) {
case 6: case 6:
#ifdef Gatekeep
CWINGui::Text(std::wstring(L"Spoofed as Player: " + (Settings::PlayerPicked != -1 ? PlayerStuff::PlayerList[Settings::PlayerPicked].name : std::wstring(L"None")) ).c_str()); CWINGui::Text(std::wstring(L"Spoofed as Player: " + (Settings::PlayerPicked != -1 ? PlayerStuff::PlayerList[Settings::PlayerPicked].name : std::wstring(L"None")) ).c_str());
@ -588,9 +597,6 @@ void MainRender(SDK::UObject* object, SDK::UCanvas* Canvas) {
} }
#endif
break; break;
case 7: case 7:
@ -848,12 +854,11 @@ void MainRender(SDK::UObject* object, SDK::UCanvas* Canvas) {
Settings::UseItemEventPlayer = true; Settings::UseItemEventPlayer = true;
} }
#ifdef Gatekeep
if (CWINGui::Button(L"Collect Player info", SDK::FVector2D{ 110, 35 })) { if (CWINGui::Button(L"Collect Player info", SDK::FVector2D{ 110, 35 })) {
Settings::Event_PlayerID = player.PlayerID; Settings::Event_PlayerID = player.PlayerID;
Settings::EventCollectDataPlayer = true; Settings::EventCollectDataPlayer = true;
} }
#endif
} }
else else
{ {
@ -915,6 +920,8 @@ void MainRender(SDK::UObject* object, SDK::UCanvas* Canvas) {
std::cout << "[*] Unhooked Renderfunc\n[*] Freeing Console!\n"; std::cout << "[*] Unhooked Renderfunc\n[*] Freeing Console!\n";
ConsoleExit(); ConsoleExit();
delete GifBackground;
} }
} }
@ -960,6 +967,21 @@ void MainThread() {
std::cout << "Failed to get: " << renderError << processeventError << "" << "!\n"; std::cout << "Failed to get: " << renderError << processeventError << "" << "!\n";
ConsoleExit(); ConsoleExit();
} }
else
{
Datas = GetBytes();
std::vector<SDK::UTexture2D*> TexturesCopy;
for (size_t i = 0; i < Datas.size(); i++)
{
std::vector<byte> ByteData(Datas[i].ByteSize); std::memcpy(ByteData.data(), Datas[i].DataPointer, Datas[i].ByteSize);
TexturesCopy.push_back(CWINGui::LoadTexture(ByteData));
}
GifBackground = new CWINGui::GifData(TexturesCopy, 100);
}
return; return;
} }