Add project files.
This commit is contained in:
25
GmodCheatx64.sln
Normal file
25
GmodCheatx64.sln
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.7.34221.43
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GmodCheatx64", "GmodCheatx64\GmodCheatx64.csproj", "{E85B52B7-DA98-424F-8EFC-178DC1860B77}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{E85B52B7-DA98-424F-8EFC-178DC1860B77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E85B52B7-DA98-424F-8EFC-178DC1860B77}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E85B52B7-DA98-424F-8EFC-178DC1860B77}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E85B52B7-DA98-424F-8EFC-178DC1860B77}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {F45257D9-92A2-47A3-9971-6F2E117E0F52}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
21
GmodCheatx64/GmodCheatx64.csproj
Normal file
21
GmodCheatx64/GmodCheatx64.csproj
Normal file
@@ -0,0 +1,21 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ClickableTransparentOverlay" Version="9.1.0" />
|
||||
<PackageReference Include="ImGui.NET" Version="1.90.1.1" />
|
||||
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.4" />
|
||||
<PackageReference Include="swed64" Version="1.0.5" />
|
||||
<PackageReference Include="System.Net.Http" Version="4.3.4" />
|
||||
<PackageReference Include="Veldrid.ImGui" Version="5.72.0" />
|
||||
<PackageReference Include="Vortice.Mathematics" Version="1.7.8" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
152
GmodCheatx64/Program.cs
Normal file
152
GmodCheatx64/Program.cs
Normal file
@@ -0,0 +1,152 @@
|
||||
using Swed64;
|
||||
using System.Runtime.InteropServices;
|
||||
using GmodCheatx64;
|
||||
using System.Threading;
|
||||
using System;
|
||||
using ClickableTransparentOverlay;
|
||||
using ImGuiNET;
|
||||
using System.Numerics;
|
||||
using Vortice.Mathematics;
|
||||
using System.Diagnostics;
|
||||
|
||||
|
||||
namespace GmodCheatx64s
|
||||
{
|
||||
internal class Program
|
||||
{
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
|
||||
static extern short GetAsyncKeyState(int vkey);
|
||||
|
||||
//Game
|
||||
|
||||
#region Offsets
|
||||
const int entitybase = 0x0901DB8;
|
||||
const int localPlayer = 0x08DF820;
|
||||
|
||||
const int viewangleX = 0x5D5370; //yaw rechts links
|
||||
const int viewangleY = 0x5D536C; //pitch oben unten
|
||||
|
||||
const int hp = 0xC8;
|
||||
const int x = 0x308;
|
||||
const int y = 0x30C;
|
||||
const int z = 0x310;
|
||||
|
||||
#endregion
|
||||
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
|
||||
Swed swed = new Swed("gmod");
|
||||
|
||||
entity player = new entity();
|
||||
List<entity> entityList = new List<entity>();
|
||||
|
||||
var moduleBase = swed.GetModuleBase("client.dll");
|
||||
var enginebase = swed.GetModuleBase("engine.dll");
|
||||
|
||||
Console.WriteLine("Starting ImGui");
|
||||
renderer renderer = new renderer();
|
||||
renderer.Start().Wait();
|
||||
|
||||
while (true)
|
||||
{
|
||||
//Console.Write(swed.ReadFloat(enginebase, viewangleX));
|
||||
//Console.Write(swed.ReadFloat(enginebase, viewangleY));
|
||||
//Console.Write("\n");
|
||||
if (GetAsyncKeyState(0x56) < 0)
|
||||
{
|
||||
//var EntityObj = swed.ReadPointer(moduleBase, entitybase + 0x20);
|
||||
//Console.WriteLine(swed.ReadFloat(EntityObj, 0x308));
|
||||
|
||||
updatelocal();
|
||||
updateEntities();
|
||||
entityList = entityList.OrderBy(o => o.mag).ToList();
|
||||
if (entityList.Count > 0)
|
||||
{
|
||||
//Console.WriteLine(entityList[0].health);
|
||||
aim(entityList[0]);
|
||||
}
|
||||
Thread.Sleep(1);
|
||||
}
|
||||
|
||||
void updatelocal()
|
||||
{
|
||||
var buffer = swed.ReadPointer(moduleBase, localPlayer);
|
||||
var positionX = swed.ReadFloat(buffer, x);
|
||||
var positionY = swed.ReadFloat(buffer, y);
|
||||
var positionZ = swed.ReadFloat(buffer, z);
|
||||
var healthLoc = swed.ReadInt(buffer, hp);
|
||||
player.x = positionX;
|
||||
player.y = positionY;
|
||||
player.z = positionZ;
|
||||
player.health = healthLoc;
|
||||
}
|
||||
|
||||
float calcMag(entity entity)
|
||||
{
|
||||
return (float)Math.Sqrt(Math.Pow(entity.x - player.x, 2) + Math.Pow(entity.y - player.y, 2) + Math.Pow(entity.z - player.z, 2));
|
||||
}
|
||||
|
||||
void updateEntities()
|
||||
{
|
||||
entityList.Clear();
|
||||
|
||||
for (int i = 0; i < 64; i++)
|
||||
{
|
||||
var buffer = swed.ReadPointer(moduleBase, entitybase + 0x20 + i * 0x20);
|
||||
|
||||
var posx = swed.ReadFloat(buffer, x);
|
||||
var posy = swed.ReadFloat(buffer, y);
|
||||
var posz = swed.ReadFloat(buffer, z);
|
||||
var healthEnt = swed.ReadInt(buffer, hp);
|
||||
|
||||
var ent = new entity
|
||||
{
|
||||
x = posx,
|
||||
y = posy,
|
||||
z = posz,
|
||||
health = healthEnt
|
||||
};
|
||||
|
||||
if(renderer.enableHealthCheck == true )
|
||||
{
|
||||
if (healthEnt > 0)
|
||||
{
|
||||
ent.mag = calcMag(ent);
|
||||
entityList.Add(ent);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ent.mag = calcMag(ent);
|
||||
entityList.Add(ent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void aim(entity entity)
|
||||
{
|
||||
//Console.WriteLine("New");
|
||||
//Console.WriteLine(entity.health);
|
||||
|
||||
float deltaX = entity.x - player.x;
|
||||
float deltaY = entity.y - player.y;
|
||||
|
||||
float X = (float)(Math.Atan2(deltaY, deltaX) * 180 / Math.PI);
|
||||
float deltaZ = entity.z - 5 - player.z;
|
||||
|
||||
double dist = Math.Sqrt(Math.Pow(deltaX, 2) + Math.Pow(deltaY, 2));
|
||||
|
||||
float Y = -(float)(Math.Atan2(deltaZ, dist) * 180 / Math.PI);
|
||||
|
||||
var buffer = swed.ReadPointer(moduleBase, localPlayer);
|
||||
|
||||
swed.WriteFloat(enginebase, viewangleX, X);
|
||||
swed.WriteFloat(enginebase, viewangleY, Y);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
16
GmodCheatx64/entity.cs
Normal file
16
GmodCheatx64/entity.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Swed64;
|
||||
|
||||
namespace GmodCheatx64
|
||||
{
|
||||
internal class entity
|
||||
{
|
||||
public int health;
|
||||
public float x, y, z;
|
||||
public float mag;
|
||||
}
|
||||
}
|
||||
65
GmodCheatx64/renderer.cs
Normal file
65
GmodCheatx64/renderer.cs
Normal file
@@ -0,0 +1,65 @@
|
||||
using ClickableTransparentOverlay;
|
||||
using GmodCheatx64s;
|
||||
using ImGuiNET;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Veldrid.OpenGLBinding;
|
||||
|
||||
namespace GmodCheatx64
|
||||
{
|
||||
public class renderer : Overlay
|
||||
{
|
||||
bool checkBoxValue= false;
|
||||
int loveMeter = 0;
|
||||
string input = "";
|
||||
string input2 = "";
|
||||
|
||||
bool enableOverlay = false;
|
||||
public bool enableHealthCheck = false;
|
||||
Vector2 screenSize = new Vector2(2560, 1440);
|
||||
Vector2 drawPosition = new Vector2(150, 150);
|
||||
|
||||
|
||||
protected override void Render()
|
||||
{
|
||||
DrawMenu();
|
||||
DrawOverlay();
|
||||
}
|
||||
|
||||
void DrawMenu()
|
||||
{
|
||||
ImGui.Begin("Gmod x64 Made by Finn");
|
||||
ImGui.Checkbox("Draw Overlay", ref enableOverlay);
|
||||
ImGui.BeginChild("Aimbot");
|
||||
ImGui.Checkbox("CheckIfEntityHealth 0", ref enableHealthCheck);
|
||||
ImGui.EndChild();
|
||||
ImGui.End();
|
||||
}
|
||||
|
||||
void DrawOverlay()
|
||||
{
|
||||
if (enableOverlay)
|
||||
{
|
||||
ImGui.SetNextWindowSize(screenSize);
|
||||
ImGui.SetNextWindowPos(new Vector2(0, 0));
|
||||
ImGui.Begin("Overlayxx", ImGuiWindowFlags.NoDecoration
|
||||
| ImGuiWindowFlags.NoBackground
|
||||
| ImGuiWindowFlags.NoBringToFrontOnFocus
|
||||
| ImGuiWindowFlags.NoMove
|
||||
| ImGuiWindowFlags.NoInputs
|
||||
| ImGuiWindowFlags.NoCollapse
|
||||
| ImGuiWindowFlags.NoScrollbar
|
||||
| ImGuiWindowFlags.NoScrollWithMouse
|
||||
);
|
||||
|
||||
ImDrawListPtr drawList = ImGui.GetWindowDrawList();
|
||||
|
||||
drawList.AddCircle(drawPosition, 50,ImGui.ColorConvertFloat4ToU32(new Vector4(1,0,0,1))); //Red
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user