корбус
Известный
- 434
- 108
а как блятьпоставь DirectX SDK и поставь в настройках проектах пути до хидеров и либ
а как блятьпоставь DirectX SDK и поставь в настройках проектах пути до хидеров и либ
если я не ошибаюсь, то вот так. к сожаленую проверить не могу.Как получить свои координаты?
DWORD CPed = *reinterpret_cast<DWORD*>(0xB6F5F0);
if (CPed != NULL) {
DWORD CPed_stPos = *reinterpret_cast<DWORD*>(CPed + 0x14);
float CPed_X = *reinterpret_cast<float*>(CPed_stPos + 0x30);
float CPed_Y = *reinterpret_cast<float*>(CPed_stPos + 0x34);
float CPed_Z = *reinterpret_cast<float*>(CPed_stPos + 0x38);
}
Мудрецы, как сделать приколюху выше из луа в сф плагине? При телепорте под землёй появляюсь
auto cStreaming::loadScene(const class cVector3D *pPos) -> void {
reinterpret_cast<void(__cdecl *)(const class cVector3D *pPos)>(0x40EB70)(pPos);
return;
}
auto cStreaming::loadSceneCollision(const class cVector3D *pPos) -> void {
reinterpret_cast<void(__cdecl *)(const class cVector3D *pPos)>(0x40ED80)(pPos);
return;
}
а как блять
Зачем использовать auto ... -> type вне лямбд?Загрузка сцены по позиции:auto cStreaming::loadScene(const class cVector3D *pPos) -> void { reinterpret_cast<void(__cdecl *)(const class cVector3D *pPos)>(0x40EB70)(pPos); return; }
Загрузка коллизии сцены по позиции:auto cStreaming::loadSceneCollision(const class cVector3D *pPos) -> void { reinterpret_cast<void(__cdecl *)(const class cVector3D *pPos)>(0x40ED80)(pPos); return; }
Гуглится по переменной среды DXSDK_DIRWhere is the DirectX SDK? - Win32 apps
Describes the DirectX SDK's inclusion in the Windows SDK and provides a list of technologies and tools that are now included in the Windows SDK.docs.microsoft.com
Конкретно пятый абзац.
Тупо чтобы везде придерживаться одного стиляЗачем использовать auto ... -> type вне лямбд?
__declspec(naked) void _stdcall printSomeShit(int a, char* b, char* c, int d)
{
char bb[256];
char cc[256];
printf("\n");
std::cin >> bb;
b = bb;
printf("\n");
std::cin >> cc;
c = cc;
printf("\n%d || %s || %s || %d", a, b, c, d);
_asm ret;
}
ну у тебя как минимум __declspec(naked) а ты объявляешь переменные внутри функцииРебят, меня тралит компилятор, помогите
Есть функция, чья задача, это при вызове получить аргументы, отправленные в MessageBoxA, и позволить их изменить
Эта функция корректно отображает аргументы, т.е. всё перехватывается
C++:__declspec(naked) void _stdcall printSomeShit(int a, char* b, char* c, int d) { char bb[256]; char cc[256]; printf("\n"); std::cin >> bb; b = bb; printf("\n"); std::cin >> cc; c = cc; printf("\n%d || %s || %s || %d", a, b, c, d); _asm ret; }
Однако же попытки присваивания не меняют значение аргументов, хотя если в отладчике студии свапнуть адреса, то всё сработает
Я решил посмотреть, что делает в этом случае компилятор, и вот:
Посмотреть вложение 85221
То-есть, он вообще ничего не делает. Он буквально проигнорировал b = bb и не прописал ей инструкций. В смысле? Почему?
Если же попытаться написать &b == &bb, то он даже компилировать программу откажется.
Я не понимаю, что тут происходит ,_,
можно, я так и делаю в своих хукахМожно ли как-то подменинить функцию хука на пустышку которая вызывает трамплин, чтобы не прервать цепочку вызовов и не поломать чужие хуки и игру?
RakSAMPЗдравствуйте, прошу прощения за оффтоп, это самая близкая по смыслу тема. Хочу сделать что-то типа ракбота, только для другой цели. Есть ли на C#/C/C++ библиотека, позволяющая имитировать клиент сампа и заходить в него?)
void functions()
{
if (Mouse_Fix)
{
float x;
float y;
ReadProcessMemory(handle, (PBYTE*)0xB6EC1C, &x, 4, 0);
ReadProcessMemory(handle, (PBYTE*)0xB6EC18, &y, 4, 0);
{
WriteProcessMemory(handle, (LPVOID)0xB6EC18, &x, 4, 0);
}
}
}