- 307
- 218
Надо указать Windows SDK в свойствах проектаПоставил,комп релонул, но проблема осталась
Посмотреть вложение 34112
код прикрепи где рисуешь
if (SUCCEEDED(SF->getRender()->BeginRender()))
{
ImGui_ImplDX9_NewFrame();
ImGui_ImplWin32_NewFrame();
ImGui::NewFrame();
static bool bAimbot;
ImGui::Begin("Test", NULL, ImVec2(300, -1), 1,
ImGuiWindowFlags_NoCollapse |
ImGuiWindowFlags_NoSavedSettings |
ImGuiWindowFlags_NoResize);
ImGui::Checkbox("Aimbot", &bAimbot);
ImGui::End;
ImGui::EndFrame();
ImGui::Render();
ImGui_ImplDX9_RenderDrawData(ImGui::GetDrawData());
SF->getRender()->EndRender();
}
C++:if (SUCCEEDED(SF->getRender()->BeginRender())) { ImGui_ImplDX9_NewFrame(); ImGui_ImplWin32_NewFrame(); ImGui::NewFrame(); static bool bAimbot; ImGui::Begin("Test", NULL, ImVec2(300, -1), 1, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoResize); ImGui::Checkbox("Aimbot", &bAimbot); ImGui::End; ImGui::EndFrame(); ImGui::Render(); ImGui_ImplDX9_RenderDrawData(ImGui::GetDrawData()); SF->getRender()->EndRender(); }
bool window = false;
if (SUCCEEDED(SF->getRender()->BeginRender())) {
ImGui_ImplDX9_NewFrame();
ImGui_ImplWin32_NewFrame();
ImGui::NewFrame();
if (window) {
ImGui::Begin(u8"", &activew, ImVec2(305, 160), 0.8f); {
}
ImGui::End();
}
ImGui::EndFrame();
ImGui::Render();
ImGui_ImplDX9_RenderDrawData(ImGui::GetDrawData());
SF->getRender()->EndRender();
}
У меня вот так всё норм работаетC++:bool window = false; if (SUCCEEDED(SF->getRender()->BeginRender())) { ImGui_ImplDX9_NewFrame(); ImGui_ImplWin32_NewFrame(); ImGui::NewFrame(); if (window) { ImGui::Begin(u8"", &activew, ImVec2(305, 160), 0.8f); { } ImGui::End(); } ImGui::EndFrame(); ImGui::Render(); ImGui_ImplDX9_RenderDrawData(ImGui::GetDrawData()); SF->getRender()->EndRender(); }
typedef void(__stdcall* _PrintChatMsg)(DWORD chat_info, wchar_t* message);
void mainThread(PVOID)
{
MessageBoxW(NULL, L"WAIT", L"WAIT", MB_OK);
DWORD dwSamp = (DWORD)GetModuleHandle(L"samp.dll");
_PrintChatMsg print_char_msg = (_PrintChatMsg)(dwSamp + 0x64520);
DWORD chat_info = (DWORD)(dwSamp + 0x21A0E4);
print_char_msg(chat_info, (wchar_t*)L"Hello world!");
}
1. Второй аргумент функции имеет типПочему эта херня крашиииит? Адреса все правильные, проверял. Где-то ошибка в определении функции? Перепробовал уже все что можно
C++:typedef void(__stdcall* _PrintChatMsg)(DWORD chat_info, wchar_t* message); void mainThread(PVOID) { MessageBoxW(NULL, L"WAIT", L"WAIT", MB_OK); DWORD dwSamp = (DWORD)GetModuleHandle(L"samp.dll"); _PrintChatMsg print_char_msg = (_PrintChatMsg)(dwSamp + 0x64520); DWORD chat_info = (DWORD)(dwSamp + 0x21A0E4); print_char_msg(chat_info, (wchar_t*)L"Hello world!"); }
char *
, а не wchar_t *
.Пробовал с char - не помогает, Компилирую с набором символов Юникод, написал же выше, что адреса проверил, все правильно1. Второй аргумент функции имеет типchar *
, а неwchar_t *
.
2. В какой кодировке идет компиляция? Есть подозрение, что компилируешь с набором символов ANSI. В этом случае макрос GetModuleHandle заменяется на функцию GetModuleHandleA, принимает твою Юникод-строку, возвращает NULL и далее идет попытка вызова функции по адресу NULL + 0x64520 с ошибкой доступа.
Эта функция имеет переменное количество аргументовПочему эта херня крашиииит? Адреса все правильные, проверял. Где-то ошибка в определении функции? Перепробовал уже все что можно
C++:typedef void(__stdcall* _PrintChatMsg)(DWORD chat_info, wchar_t* message); void mainThread(PVOID) { MessageBoxW(NULL, L"WAIT", L"WAIT", MB_OK); DWORD dwSamp = (DWORD)GetModuleHandle(L"samp.dll"); _PrintChatMsg print_char_msg = (_PrintChatMsg)(dwSamp + 0x64520); DWORD chat_info = (DWORD)(dwSamp + 0x21A0E4); print_char_msg(chat_info, (wchar_t*)L"Hello world!"); }
typedef void(__stdcall* _PrintChatMsg)(DWORD chat_info, const char* message, ...);
Эта функция имеет переменное количество аргументов
Сделай такой прототип функции
C++:typedef void(__stdcall* _PrintChatMsg)(DWORD chat_info, const char* message, ...);
фигню говоришьstdcall
переменное количество аргументов
у тя прототип не правильный. а ещё ты берешь не указатель на структуру чата, а указатель на указатель на структуру чата. исправляйПочему эта херня крашиииит? Адреса все правильные, проверял. Где-то ошибка в определении функции? Перепробовал уже все что можно
C++:typedef void(__stdcall* _PrintChatMsg)(DWORD chat_info, wchar_t* message); void mainThread(PVOID) { MessageBoxW(NULL, L"WAIT", L"WAIT", MB_OK); DWORD dwSamp = (DWORD)GetModuleHandle(L"samp.dll"); _PrintChatMsg print_char_msg = (_PrintChatMsg)(dwSamp + 0x64520); DWORD chat_info = (DWORD)(dwSamp + 0x21A0E4); print_char_msg(chat_info, (wchar_t*)L"Hello world!"); }
Точно! Теперь заработало, спасибо!фигню говоришь
у тя прототип не правильный. а ещё ты берешь не указатель на структуру чата, а указатель на указатель на структуру чата. исправляй