dontasktoask
Uzman Üye
- Katılım
- 15 Kas 2024
- Mesajlar
- 751
- Beğeniler
- 136
- İletişim
Merhaba Arkadaşlar Projeyi Size Bırakıyorum Geliştirilebilecek hatalar azda olsa mevcut mesela uzaktaki amber renginede kitlenir x y kordinati orada ise düzeltip satabilirsiniz böylede kullanabilirsiniz herhangi bir paylaşımda izin alarak paylaşabilirsiniz
insert tusu ile ac kapa yapabilirsiniz
GÜNCEL BİR NOT AMD EKRAN KARTLARINDA CALIŞMAZ SADECE TİTLECHANGER CALIŞIR
hazirsource:
rarvt:
password:cg
insert tusu ile ac kapa yapabilirsiniz
GÜNCEL BİR NOT AMD EKRAN KARTLARINDA CALIŞMAZ SADECE TİTLECHANGER CALIŞIR
hazirsource:
Linkleri görebilmek için kayıt olmanız gerekmektedir
rarvt:
Linkleri görebilmek için kayıt olmanız gerekmektedir
// Lizenzinformationen
//
// Diese Software wurde von **DontAskToAsk** entwickelt. Das unbefugte Teilen, Verbreiten, Kopieren oder Modifizieren ist verboten.
// Diese Software darf nur mit ausdrücklicher schriftlicher Genehmigung von **DontAskToAsk** verwendet werden.
// Die kommerzielle Nutzung, Verbreitung oder Veröffentlichung modifizierter Versionen ist nicht gestattet.
// Bei unbefugter Nutzung können rechtliche Schritte eingeleitet werden.
//
// Jede unbefugte Nutzung, Verbreitung oder der Verkauf dieser Software wird von **DontAskToAsk** verfolgt und rechtliche Schritte werden eingeleitet.
//
// Durch die Nutzung dieser Software stimmen Sie den oben genannten Bedingungen zu.
#include <Windows.h>
#include <list>
#include <thread>
#include <chrono>
#include <cmath>
#include <gl/GL.h>
#pragma comment(lib, "OpenGL32.lib")
#include "minhook/include/MinHook.h"
#include "glm/glm.hpp"
#include "glm/gtc/type_ptr.hpp"
struct Object
{
enum Type
{
Entity,
Villager,
};
Type m_type;
glm::mat4 m_projection;
glm::mat4 m_modelview;
bool isVanish;
bool isVillager;
Object(Type type) : m_type{ type }, isVanish(false), isVillager(false)
{
glGetFloatv(GL_PROJECTION_MATRIX, glm::value_ptr(m_projection));
glGetFloatv(GL_MODELVIEW_MATRIX, glm::value_ptr(m_modelview));
}
};
std::list<Object> objects;
decltype(&glOrtho) fn_glOrtho = glOrtho;
decltype(&glScalef) fn_glScalef = glScalef;
decltype(&glTranslatef) fn_glTranslatef = glTranslatef;
bool isGlowEnabled = true;
bool isMouseLocked = false;
void drawGlow(glm::vec4 color)
{
glColor4f(color.r, color.g, color.b, color.a);
glBegin(GL_TRIANGLE_STRIP);
for (float theta = 0.0f; theta < 2.0f * 3.141592f; theta += 0.1f) {
for (float phi = -3.141592f / 2; phi < 3.141592f / 2; phi += 0.1f) {
float x = cosf(phi) * cosf(theta);
float y = cosf(phi) * sinf(theta);
float z = sinf(phi);
glVertex3f(x, y, z);
}
}
glEnd();
}
bool GetEntityScreenPosition(const glm::mat4& modelview, const glm::mat4& projection, glm::vec3 entityPosition, glm::vec2& screenPos)
{
glm::vec4 clipSpacePos = projection * modelview * glm::vec4(entityPosition, 1.0f);
if (clipSpacePos.w == 0.0f)
return false;
glm::vec3 ndc = glm::vec3(clipSpacePos.x / clipSpacePos.w, clipSpacePos.y / clipSpacePos.w, clipSpacePos.z / clipSpacePos.w);
// Convert from NDC to screen space
screenPos.x = (ndc.x + 1.0f) * 0.5f * GetSystemMetrics(SM_CXSCREEN);
screenPos.y = (1.0f - ndc.y) * 0.5f * GetSystemMetrics(SM_CYSCREEN);
return true;
}
float CalculateDistance(const glm::vec2& point1, const glm::vec2& point2)
{
return sqrtf(powf(point2.x - point1.x, 2) + powf(point2.y - point1.y, 2));
}
void WINAPI hk_glOrtho(double left, double right, double bottom, double top, double zNear, double zFar)
{
if (zNear == 1000.0 && zFar == 3000.0)
{
glPushAttrib(GL_ALL_ATTRIB_BITS);
glPushMatrix();
glDisable(GL_TEXTURE_2D);
glDisable(GL_CULL_FACE);
glDisable(GL_LIGHTING);
glDisable(GL_DEPTH_TEST);
glEnable(GL_LINE_SMOOTH);
glLineWidth(2.0f);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
if (isGlowEnabled)
{
glm::vec2 targetPos(960.0f, 527.0f);
float closestDistance = FLT_MAX;
glm::vec2 closestEntityPos;
for (auto& object : objects)
{
if (object.m_type == Object::Entity && !object.isVanish && !object.isVillager)
{
glm::mat4& modelview = object.m_modelview;
glm::mat4& projection = object.m_projection;
glm::vec4 color = glm::vec4(1.0f, 0.75f, 0.0f, 0.7f);
glm::vec3 translate = glm::vec3(0.0f, -1.0f, 0.0f);
glm::vec3 scale = glm::vec3(0.5f, 1.0f, 0.5f);
modelview = glm::translate(modelview, translate);
modelview = glm::scale(modelview, scale);
glMatrixMode(GL_PROJECTION);
glLoadMatrixf(glm::value_ptr(projection));
glMatrixMode(GL_MODELVIEW);
glLoadMatrixf(glm::value_ptr(modelview));
drawGlow(color);
glm::vec2 screenPos;
glm::vec3 entityPos = glm::vec3(0.0f, 0.0f, 0.0f);
if (GetEntityScreenPosition(modelview, projection, entityPos, screenPos))
{
float distance = CalculateDistance(targetPos, screenPos);
if (distance < closestDistance)
{
closestDistance = distance;
closestEntityPos = screenPos;
}
}
}
}
//cheatglobal ailesi <3
if (closestDistance < 100.0f)
{
SetCursorPos((int)closestEntityPos.x, (int)closestEntityPos.y);
}
}
objects.clear();
glPopAttrib();
glPopMatrix();
}
fn_glOrtho(left, right, bottom, top, zNear, zFar);
}
void WINAPI hk_glScalef(float x, float y, float z)
{
if (x == 0.9375f && y == 0.9375f && z == 0.9375f)
objects.push_back(Object::Entity);
if (x == 1.0f && y == 1.0f && z == 1.0f)
{
Object villager(Object::Villager);
villager.isVillager = true;
objects.push_back(villager);
}
fn_glScalef(x, y, z);
}
void ChangeWindowTitle()
{
const wchar_t* targetTitle = L"RoeakWare";
HWND hwnd = FindWindow(NULL, L"CraftRise");
if (hwnd)
{
SetWindowText(hwnd, targetTitle);
}
}
void MonitorWindowTitle()
{
while (true)
{
HWND hwnd = FindWindow(NULL, L"CraftRise");
if (hwnd)
{
SetWindowText(hwnd, L"RoeakWare");
}
std::this_thread::sleep_for(std::chrono::seconds(1));
}
}
void MonitorKeyPress()
{
while (true)
{
if (GetAsyncKeyState(VK_INSERT) & 0x8000)
{
isGlowEnabled = !isGlowEnabled;
std::this_thread::sleep_for(std::chrono::milliseconds(500));
}
if (GetAsyncKeyState(VK_F12) & 0x8000)
{
// Toggle mouse lock
isMouseLocked = !isMouseLocked;
if (isMouseLocked)
{
HWND hwnd = FindWindow(NULL, L"CraftRise");
if (hwnd)
{
RECT rect;
GetClientRect(hwnd, &rect);
ClientToScreen(hwnd, reinterpret_cast<LPPOINT>(&rect.left));
ClientToScreen(hwnd, reinterpret_cast<LPPOINT>(&rect.right));
ClipCursor(&rect);
}
}
else
{
ClipCursor(NULL);
}
std::this_thread::sleep_for(std::chrono::milliseconds(500));
}
std::this_thread::sleep_for(std::chrono::milliseconds(100));
}
}
BOOL APIENTRY DllMain(HINSTANCE hInstance, DWORD reason, LPVOID lpReserved)
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
MH_Initialize();
MH_CreateHook(glOrtho, hk_glOrtho, reinterpret_cast<void**>(&fn_glOrtho));
MH_CreateHook(glScalef, hk_glScalef, reinterpret_cast<void**>(&fn_glScalef));
if (MH_EnableHook(MH_ALL_HOOKS) == MH_OK)
{
std::thread(MonitorWindowTitle).detach();
std::thread(MonitorKeyPress).detach();
}
return TRUE;
case DLL_PROCESS_DETACH:
MH_Uninitialize();
break;
}
return TRUE;
}
Son düzenleme: