ччбчлчлчъ ччччшчьпьппзвжв
Потрачен
- 557
- 271
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
я хочу глобально хукать функцию LoadLibraryWа в чем смысл? ты же в своем приложении хукаешь
я хочу глобально хукать функцию LoadLibraryWа в чем смысл? ты же в своем приложении хукаешь
драйвер делай тогдая хочу глобально хукать функцию LoadLibraryW
TheCameraКак получить указатель на CCamera в p-sdk
while(!GetAsyncKeyState(ид клавишы))Как через plugin sdk + sampapi от blast.hk отправить нажатие\зажатие кнопки в игру, через стандартные C++ штучки по типу sendimput keybd персонаж ходит но не обрабатывает нажатие на e ( Использовать )
Вопрос все еще актуален 0.owhile(!GetAsyncKeyState(ид клавишы))
Вопрос все еще актуален 0.o
только сейчас понял, что за хуйню я написалВопрос все еще актуален 0.o
ImGuiStyle& ImGui::GetStyle()
{
IM_ASSERT(GImGui != NULL && "No current context. Did you call ImGui::CreateContext() and ImGui::SetCurrentContext() ?"); // <== ВОТ ЭТА
return GImGui->Style;
}
Вероятнее всего ты не вызываешь ImGui::CreateContext(); при инициализации.Вопрос знат0кам imgui
После запуска компа, и первого запуска сампа вылетает эта ошибка
И конечно же стиль не подгружается, но на второй запуск сампа и дальнейшие ошибка больше не вылезает и стиль нормально грузитсяC++:ImGuiStyle& ImGui::GetStyle() { IM_ASSERT(GImGui != NULL && "No current context. Did you call ImGui::CreateContext() and ImGui::SetCurrentContext() ?"); // <== ВОТ ЭТА return GImGui->Style; }
Кто знает че за магия ? )
Вопрос знатокам сф апи 551
Как сделать антиафк? (Включение/отключение плагином)
#include <Windows.h>
#include "SAMPFUNCS_API.h"
#include "game_api.h"
SAMPFUNCS* SF = new SAMPFUNCS( );
bool bafk = false, init = false;
void __stdcall mainloop( )
{
if ( GAME && GAME->GetSystemState( ) == eSystemState::GS_PLAYING_GAME && SF->getSAMP( )->IsInitialized( ) && !init )
{
SF->getSAMP( )->registerChatCommand( "afk", []( std::string params ) {
bafk ^= true;
*(std::uint8_t*)0x747FB6 = bafk;
*(std::uint8_t*)0x74805A = bafk;
std::memcpy( (void*)0x74542B, bafk ? "\x90\x90\x90\x90\x90\x90\x90\x90" : "\x50\x51\xFF\x15\x00\x83\x85\x00", 8 );
std::memcpy( (void*)0x53EA88, bafk ? "\x90\x90\x90\x90\x90\x90" : "\x0F\x84\x7B\x01\x00\x00", 6 );
SF->getSAMP( )->getChat( )->AddChatMessage( 0xFFFFFFFFF, std::to_string( bafk ).c_str( ) );
} );
init = true;
}
}
bool __stdcall DllMain( HMODULE hModule, DWORD dwReasonForCall, void* )
{
if ( dwReasonForCall == DLL_PROCESS_ATTACH )
SF->initPlugin( mainloop, hModule );
return true;
}
всмысле, че за хуйню ты советуешь? зачем отключать ассерты там же дальше чтение идет GImGui->Style и просто крашить будетВероятнее всего ты не вызываешь ImGui::CreateContext(); при инициализации.
Если же ты вызываешь эту функцию, то можешь отключить ассерты имгуи в настройках (imconfig.h) для этого нужно раскомментировать строчку
//#define IM_ASSERT(_EXPR) ((void)(_EXPR))
И как тогда решить, потому что если только createcontext включать он при первой загрузке загружает что нужно а потом начинает грузить не стиль из конфига. Мб ImGui::SetCurrentContext() надо, но я не шарю как его правильно использоватьвсмысле, че за хуйню ты советуешь? зачем отключать ассерты там же дальше чтение идет GImGui->Style и просто крашить будет
Типо )адреса кнопок открытия чата, помогите пж...
0x54 | Клавиша T |
VK_F6 | 0x75 | Клавиша F6 |
if (SUCCEEDED(SF->getRender()->BeginRender()))
{
// RENDER
rVisual->Render();
// RENDER
// IMGUI
if (rConfig->imgui_active) {
ImGui_ImplDX9_NewFrame();
ImGui_ImplWin32_NewFrame();
ImGui::NewFrame();
// DRAW
SF->getSAMP()->getMisc()->ToggleCursor(true);
ImGui::SetNextWindowSize(ImVec2(651.f, 296.f));
ImGui::SetNextWindowPos(ImVec2(rConfig->ScreenResolution[0] * 0.5f, rConfig->ScreenResolution[1] * 0.5f), ImGuiCond_Always, ImVec2(0.5f, 0.5f));
ImGui::Begin("", &rConfig->imgui_active, ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse);
ImGui::End();
// DRAW
ImGui::EndFrame();
ImGui::Render();
ImGui_ImplDX9_RenderDrawData(ImGui::GetDrawData());
IDirect3DDevice9* device = SF->getRender()->getD3DDevice();
device->SetRenderState(D3DRS_ZENABLE, FALSE);
device->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE);
device->SetRenderState(D3DRS_SCISSORTESTENABLE, FALSE);
}
// IMGUI
SF->getRender()->EndRender();
}
LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
bool CALLBACK Present(CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion);
HRESULT CALLBACK Reset(D3DPRESENT_PARAMETERS* pPresentationParameters) {
ImGui_ImplDX9_InvalidateDeviceObjects();
return true;
}
bool CALLBACK WndProcHandler(HWND hwd, UINT msg, WPARAM wParam, LPARAM lParam) {
ImGui_ImplWin32_WndProcHandler(hwd, msg, wParam, lParam);
return true;
}
void CALLBACK PluginFree() {
ImGui_ImplDX9_Shutdown();
ImGui_ImplWin32_Shutdown();
ImGui::DestroyContext();
}
void set_style() {
ImGuiStyle& style = ImGui::GetStyle();
ImGuiIO& io = ImGui::GetIO();
style.WindowPadding = ImVec2(2, 2);
style.WindowRounding = 1;
style.ChildRounding = 2;
style.FramePadding = ImVec2(3, 3);
style.FrameRounding = 1;
style.ItemSpacing = ImVec2(2, 2);
style.TouchExtraPadding = ImVec2(0, 0);
style.IndentSpacing = 21;
style.ScrollbarSize = 9;
style.ScrollbarRounding = 1;
style.GrabMinSize = 10;
style.GrabRounding = 1;
style.WindowTitleAlign = ImVec2(0.5, 0.5);
style.ButtonTextAlign = ImVec2(0.5, 0.5);
style.Colors[ImGuiCol_FrameBg] = ImVec4(0.16, 0.29, 0.48, 0.54);
style.Colors[ImGuiCol_FrameBgHovered] = ImVec4(0.26, 0.59, 0.98, 0.40);
style.Colors[ImGuiCol_FrameBgActive] = ImVec4(0.26, 0.59, 0.98, 0.67);
style.Colors[ImGuiCol_TitleBg] = ImVec4(0.16, 0.29, 0.48, 1.00);
style.Colors[ImGuiCol_TitleBgActive] = ImVec4(0.16, 0.29, 0.48, 1.00);
style.Colors[ImGuiCol_TitleBgCollapsed] = ImVec4(0.16, 0.29, 0.48, 1.00);
style.Colors[ImGuiCol_CheckMark] = ImVec4(0.26, 0.59, 0.98, 1.00);
style.Colors[ImGuiCol_SliderGrab] = ImVec4(0.24, 0.52, 0.88, 1.00);
style.Colors[ImGuiCol_SliderGrabActive] = ImVec4(0.26, 0.59, 0.98, 1.00);
style.Colors[ImGuiCol_Button] = ImVec4(0.26, 0.59, 0.98, 0.40);
style.Colors[ImGuiCol_ButtonHovered] = ImVec4(0.26, 0.59, 0.98, 1.00);
style.Colors[ImGuiCol_ButtonActive] = ImVec4(0.06, 0.53, 0.98, 1.00);
style.Colors[ImGuiCol_Header] = ImVec4(0.26, 0.59, 0.98, 0.31);
style.Colors[ImGuiCol_HeaderHovered] = ImVec4(0.26, 0.59, 0.98, 0.80);
style.Colors[ImGuiCol_HeaderActive] = ImVec4(0.26, 0.59, 0.98, 1.00);
style.Colors[ImGuiCol_Separator] = style.Colors[ImGuiCol_Border];
style.Colors[ImGuiCol_SeparatorHovered] = ImVec4(0.26, 0.59, 0.98, 0.78);
style.Colors[ImGuiCol_SeparatorActive] = ImVec4(0.26, 0.59, 0.98, 1.00);
style.Colors[ImGuiCol_ResizeGrip] = ImVec4(0.26, 0.59, 0.98, 0.25);
style.Colors[ImGuiCol_ResizeGripHovered] = ImVec4(0.26, 0.59, 0.98, 0.67);
style.Colors[ImGuiCol_ResizeGripActive] = ImVec4(0.26, 0.59, 0.98, 0.95);
style.Colors[ImGuiCol_TextSelectedBg] = ImVec4(0.26, 0.59, 0.98, 0.35);
style.Colors[ImGuiCol_Text] = ImVec4(1.00, 1.00, 1.00, 1.00);
style.Colors[ImGuiCol_TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00);
style.Colors[ImGuiCol_WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94);
style.Colors[ImGuiCol_ChildBg] = ImVec4(1.00, 1.00, 1.00, 0.00);
style.Colors[ImGuiCol_PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94);
//style.Colors[ImGuiCol_ComboBg] = style.Colors[ImGuiCol_PopupBg]; ImGuiCol_Bg
style.Colors[ImGuiCol_Border] = ImVec4(0.43, 0.43, 0.50, 0.50);
style.Colors[ImGuiCol_BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00);
style.Colors[ImGuiCol_MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00);
style.Colors[ImGuiCol_ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53);
style.Colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00);
style.Colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00);
style.Colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00);
//style.Colors[ImGuiCol_CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50);
//style.Colors[ImGuiCol_CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00);
//style.Colors[ImGuiCol_CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00);
style.Colors[ImGuiCol_PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00);
style.Colors[ImGuiCol_PlotLinesHovered] = ImVec4(1.00, 0.43, 0.35, 1.00);
style.Colors[ImGuiCol_PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00);
style.Colors[ImGuiCol_PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00);
style.Colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.80, 0.80, 0.80, 0.35);
}
void ImGuiInizialization::Load() {
ImGui::CreateContext();
ImGui_ImplWin32_Init(GetActiveWindow());
ImGui_ImplDX9_Init(SF->getRender()->getD3DDevice());
ImGui::GetIO().Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\Arial.ttf", 16.5f, NULL, ImGui::GetIO().Fonts->GetGlyphRangesCyrillic());
child_font = ImGui::GetIO().Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\Arial.ttf", 17.f, NULL, ImGui::GetIO().Fonts->GetGlyphRangesCyrillic());
set_style();
SF->getRender()->registerD3DCallback(eDirect3DDeviceMethods::D3DMETHOD_PRESENT, Present);
SF->getRender()->registerD3DCallback(eDirect3DDeviceMethods::D3DMETHOD_RESET, Reset);
SF->getGame()->registerWndProcCallback(SFGame::MEDIUM_CB_PRIORITY, WndProcHandler);
SF->getGame()->registerGameDestructorCallback(PluginFree);
}