merhaba dostum son zamanlar bu opengl ile hile kodlamaya calisiyorum AI yardimiyla fakat ai nin bile takildigi kisim su sonoyuncuda fln esp npc lerde calisirken normal oyuncularda calismiyor veya bozuk oluyor goremiyor bu yuzdende aimbot veya triggerbot gibi modullerde calismiyor esp kismini sonoyuncuda denedigin ve calisan varsa src atarsan sevinirim
amacim gidip noise veya laze gibi guvensiz dlll lerdense kendim yapmaya calismam
Merhaba kardeşim bu konu benim değil ama mesajını görüp cevap vermek istedim. Aşağıdaki kod benim kendi clientime ait OpenGl altyapısı ile yazılan bir entity chams kodu alıp kendi projene entegre edebilirsin. (Düzenleyip atmaya üşendim gerekli değerler var zaten) Eğer fazla bilgin yoksada zaten ai'a atarsın sana çalıştırman için düzenleyip gönderir. Yine takıldığın bir konu olursa yardımcı olurum
#include "EntityChams.hpp"
#include "../../../GUI/GUI.hpp"
#include "../../../Utils/Keybind.hpp"
#include <Windows.h>
#include <gl/GL.h>
#include <cmath>
namespace EntityChams {
bool g_enabled = false;
bool g_colorSettingsEnabled = false;
int g_colorMode = ColorMode_Distance;
float g_rgbSpeed = 1.0f;
ImVec4 g_customColor = ImVec4(0.00f, 0.85f, 1.00f, 1.00f);
int g_toggleKey = Keybind::Key_None;
bool g_waitingForKey = false;
namespace {
constexpr float kEpsilon = 0.0001f;
bool g_toggleKeyWasDown = false;
unsigned long long g_keybindCaptureStartedAt = 0;
enum ActiveTarget {
Target_None,
Target_Player
};
ActiveTarget g_currentTarget = Target_None;
int g_modelStackDepth = 0;
bool g_depthRangeModified = false;
bool g_colorStateModified = false;
bool NearlyEqual(float a, float b, float epsilon = kEpsilon) {
return std::fabs(a - b) <= epsilon;
}
bool IsCharacterScale(float x, float y, float z) {
return
(NearlyEqual(x, -1.0f) && NearlyEqual(y, -1.0f) && NearlyEqual(z, 1.0f)) ||
(NearlyEqual(x, 0.9375f) && NearlyEqual(y, 0.9375f) && NearlyEqual(z, 0.9375f));
}
void ResetRenderState() {
if (g_depthRangeModified) {
glDepthRange(0.0, 1.0);
g_depthRangeModified = false;
}
if (g_colorStateModified) {
glEnable(GL_LIGHTING);
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
g_colorStateModified = false;
}
g_currentTarget = Target_None;
g_modelStackDepth = 0;
}
void ApplyDistanceColor() {
float modelView[16] = {};
glGetFloatv(GL_MODELVIEW_MATRIX, modelView);
const float distance = std::sqrt(
modelView[12] * modelView[12] +
modelView[13] * modelView[13] +
modelView[14] * modelView[14]
);
if (distance < 6.0f) {
glColor4f(1.0f, 0.12f, 0.12f, 1.0f);
}
else if (distance < 18.0f) {
glColor4f(1.0f, 0.85f, 0.05f, 1.0f);
}
else {
glColor4f(0.10f, 1.0f, 0.35f, 1.0f);
}
}
void ApplyRgbColor() {
const float t = static_cast<float>(GetTickCount64()) * 0.001f * g_rgbSpeed;
const float r = std::sinf(t) * 0.5f + 0.5f;
const float g = std::sinf(t + 2.09439f) * 0.5f + 0.5f;
const float b = std::sinf(t + 4.18879f) * 0.5f + 0.5f;
glColor4f(r, g, b, 1.0f);
}
void ApplyCustomColor() {
glColor4f(
g_customColor.x,
g_customColor.y,
g_customColor.z,
g_customColor.w
);
}
}
bool IsEnabled() {
return g_enabled;
}
bool IsColorSettingsEnabled() {
return g_colorSettingsEnabled;
}
int GetColorMode() {
return g_colorMode;
}
const char* GetColorModeName() {
switch (g_colorMode) {
case ColorMode_Distance:
return "Mesafe";
case ColorMode_RGB:
return "RGB";
case ColorMode_Custom:
return "Özel";
default:
return "Bilinmiyor";
}
}
void UpdateKeybind(bool allowToggle) {
if (!allowToggle || g_waitingForKey) {
return;
}
if (g_toggleKey == Keybind::Key_None) {
g_toggleKeyWasDown = false;
return;
}
if (Keybind::WasPressed(g_toggleKey, g_toggleKeyWasDown)) {
g_enabled = !g_enabled;
if (!g_enabled) {
ResetRenderState();
}
}
}
static void RenderColorModeRadio(const char* label, int mode) {
if (ImGui::RadioButton(label, g_colorMode == mode)) {
g_colorMode = mode;
}
}
void RenderMenu() {
GUI::RenderCustomSwitch("ENTITY CHAMS", &g_enabled);
ImGui::Spacing();
if (Keybind::RenderPicker("Kısayol Tuşu", g_toggleKey, g_waitingForKey, g_keybindCaptureStartedAt)) {
g_toggleKeyWasDown = Keybind::IsKeyDown(g_toggleKey);
}
if (!g_enabled) {
return;
}
if (GUI::BeginModuleSettings("ENTITY CHAMS", &g_enabled)) {
GUI::RenderCustomSwitch("Renk Ayarları", &g_colorSettingsEnabled);
if (g_colorSettingsEnabled) {
ImGui::Spacing();
ImGui::TextDisabled("Renk Modu");
RenderColorModeRadio("Mesafeye Göre Renk", ColorMode_Distance);
RenderColorModeRadio("RGB Modu", ColorMode_RGB);
if (g_colorMode == ColorMode_RGB) {
ImGui::Indent(18.0f);
ImGui::TextDisabled("RGB Hızı");
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
ImGui::SliderFloat("##EntityChamsRgbSpeed", &g_rgbSpeed, 0.10f, 5.00f, "%.2f");
ImGui::Unindent(18.0f);
}
RenderColorModeRadio("Özel Renk", ColorMode_Custom);
if (g_colorMode == ColorMode_Custom) {
ImGui::Indent(18.0f);
ImGui::TextDisabled("Varlık Rengi");
ImGui::ColorEdit4(
"##EntityChamsCustomColor",
reinterpret_cast<float*>(&g_customColor),
ImGuiColorEditFlags_NoInputs | ImGuiColorEditFlags_AlphaBar
);
ImGui::Unindent(18.0f);
}
}
GUI::EndModuleSettings();
}
}
void OnGlPushMatrix() {
if (g_modelStackDepth > 0) {
++g_modelStackDepth;
}
}
void OnGlPopMatrix() {
if (g_modelStackDepth <= 0) {
return;
}
--g_modelStackDepth;
if (g_modelStackDepth == 0 && g_currentTarget == Target_Player) {
ResetRenderState();
}
}
void OnGlScalef(float& x, float& y, float& z) {
if (!g_enabled) {
return;
}
if (g_modelStackDepth != 0 || g_currentTarget != Target_None) {
return;
}
if (!IsCharacterScale(x, y, z)) {
return;
}
g_currentTarget = Target_Player;
g_modelStackDepth = 1;
glDepthRange(0.0, 0.01);
g_depthRangeModified = true;
if (!g_colorSettingsEnabled) {
return;
}
glDisable(GL_LIGHTING);
g_colorStateModified = true;
switch (g_colorMode) {
case ColorMode_Distance:
ApplyDistanceColor();
break;
case ColorMode_RGB:
ApplyRgbColor();
break;
case ColorMode_Custom:
ApplyCustomColor();
break;
default:
break;
}
}
void OnGlTranslatef(float& x, float& y, float& z) {
(void)x;
(void)y;
(void)z;
}
void OnGlOrtho(double& left, double& right, double& bottom, double& top, double& zNear, double& zFar) {
(void)left;
(void)right;
(void)bottom;
(void)top;
if (zNear == 1000.0 && zFar == 3000.0) {
ResetRenderState();
}
}
}