Другое С/С++ Вопрос - Ответ

0x73616D

Активный
140
43
Is it possible to make an http post request for a message on a discord website without using libraries like CURL?
preferably using windows libs, such as Wininet, winhttp or other native windows. (It would be nice if you give an example)

Можно ли сделать HTTP-запрос на публикацию сообщения на веб-сайте Discord без использования таких библиотек, как CURL?
желательно использовать библиотеки Windows, такие как Wininet, winhttp или другие собственные окна. (Было бы здорово, если бы вы привели пример)
 

Lqst31

Новичок
8
1
я не знаю туда ли я пишу но вот вопрос, как мне пофиксить проблему с ImGui когда я закрываю меню у меня игра зависает но звуки кнопок и музика игры идёт но когда картинка зависает игра всеровно роботает типо если нажать на инвентарь например и нажать на кнопку открытия меню то в игре картинка поменяеться я взял обычний хук киеро 11direct x и рисовал меню вот код (и еще не роботают флаги) и не применяються темы когда я пишу ImGui::StyleColorLight все билдиться нормально но при открытии меню игра крашиться или не применяеться
C++:
#include "includes.h"
#include "offsets.h"

extern LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);




Present oPresent;
HWND window = NULL;
WNDPROC oWndProc;
ID3D11Device* pDevice = NULL;
ID3D11DeviceContext* pContext = NULL;
ID3D11RenderTargetView* mainRenderTargetView;

void InitImGui()
{
    ImGui::CreateContext();
    ImGuiIO& io = ImGui::GetIO();
    static ImGuiWindowFlags winFlags = {
        ImGuiWindowFlags_NoResize |
        ImGuiWindowFlags_NoSavedSettings |
        ImGuiWindowFlags_NoMove |
        ImGuiWindowFlags_NoCollapse };
    ImGui_ImplWin32_Init(window);
    ImGui_ImplDX11_Init(pDevice, pContext);
}

LRESULT __stdcall WndProc(const HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {

    if (true && ImGui_ImplWin32_WndProcHandler(hWnd, uMsg, wParam, lParam))
        return true;

    return CallWindowProc(oWndProc, hWnd, uMsg, wParam, lParam);
}

bool init = false;
bool menu = false;

HRESULT __stdcall hkPresent(IDXGISwapChain* pSwapChain, UINT SyncInterval, UINT Flags)
{
    if (!init)
    {
        if (SUCCEEDED(pSwapChain->GetDevice(__uuidof(ID3D11Device), (void**)& pDevice)))
        {
            ImGui::StyleColorsLight;
            pDevice->GetImmediateContext(&pContext);
            DXGI_SWAP_CHAIN_DESC sd;
            pSwapChain->GetDesc(&sd);
            window = sd.OutputWindow;
            ID3D11Texture2D* pBackBuffer;
            pSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)& pBackBuffer);
            pDevice->CreateRenderTargetView(pBackBuffer, NULL, &mainRenderTargetView);
            pBackBuffer->Release();
            oWndProc = (WNDPROC)SetWindowLongPtr(window, GWLP_WNDPROC, (LONG_PTR)WndProc);
            InitImGui();
            init = true;
        }

        else
            return oPresent(pSwapChain, SyncInterval, Flags);
    }

    if (GetAsyncKeyState(VK_INSERT) & 1)
    {
        menu = !menu;
    }


    if (menu)
    {
        ImGui_ImplDX11_NewFrame();
        ImGui_ImplWin32_NewFrame();
        ImGui::NewFrame();

        ImGui::Begin("я гей но об этом никто не узнает");
        ImGui::End();

        ImGui::Render();

        pContext->OMSetRenderTargets(1, &mainRenderTargetView, NULL);
        ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData());
        return oPresent(pSwapChain, SyncInterval, Flags);
    }
}

DWORD WINAPI MainThread(LPVOID lpReserved)
{
    bool init_hook = false;
    do
    {
        if (kiero::init(kiero::RenderType::D3D11) == kiero::Status::Success)
        {
            kiero::bind(8, (void**)& oPresent, hkPresent);
            init_hook = true;
        }
    } while (!init_hook);
    return TRUE;
}

BOOL WINAPI DllMain(HMODULE hMod, DWORD dwReason, LPVOID lpReserved)
{
    switch (dwReason)
    {
    case DLL_PROCESS_ATTACH:
        DisableThreadLibraryCalls(hMod);
        CreateThread(nullptr, 0, MainThread, hMod, 0, nullptr);
        break;
    case DLL_PROCESS_DETACH:
        kiero::shutdown();
        break;
    }
    return TRUE;
}
 
Последнее редактирование модератором:

g305noobo

Известный
Модератор
363
659
Is it possible to make an http post request for a message on a discord website without using libraries like CURL?
preferably using windows libs, such as Wininet, winhttp or other native windows. (It would be nice if you give an example)

Можно ли сделать HTTP-запрос на публикацию сообщения на веб-сайте Discord без использования таких библиотек, как CURL?
желательно использовать библиотеки Windows, такие как Wininet, winhttp или другие собственные окна. (Было бы здорово, если бы вы привели пример)
 

Bramble

Известный
1,208
194
как сделать такое имгуи окно?
1706545834749.png
 

Bramble

Известный
1,208
194
подскажите, как за пару кликов подключить АТБ? все что мне нужно, это выведенная меню
 

Dark_Knight

Me, me and me.
Друг
4,080
2,112
имгуи не так смотрится, как АТБ. где найти пример?
Сделай такой же визуальный стиль. Имуги гибок. Пример тебе уже дали. На офф сайте. Дальше думай сам. Там все просто и глупо одновременно.
 
Последнее редактирование:

manukhov

Известный
122
129
имгуи не так смотрится, как АТБ. где найти пример?
странный фетиш)

полно собейтов на этом ATB, тот же оверлайт:
1) https://gitlab.com/RcKoid/mod-s0beit-overlight/-/tree/master/src?ref_type=heads
2) https://github.com/grimesfive/overlight_fork

статейки:
1) https://www.blast.hk/threads/1062/
2) https://ugbase.eu/threads/tutorial-add-anttweakbar-into-your-sobeit.9988/
p.s. если тебе просто хочется уникальное и стильное меню, чтобы наяривать на него каждый раз когда оно открывается, то лучше yougame глянуть, там люди постят исходники готовых дизайнов на имгуи
 
  • Влюблен
Реакции: Bramble

Grisha2307

Новичок
18
4
Помогите пожалуйста, при получении любого пакета игра закрывается.
код:
#include <Windows.h>
#include "main.h"
#include <string>
#include <thread>
#include <chrono>
#include "fstream"

using namespace std;

SAMPFUNCS* SF = new SAMPFUNCS();
void __stdcall initScript(string);
void logSF(char);

static bool isActive = false;

static bool CALLBACK incomingPacket(stRakNetHookParams *params) {

    return true;
}

static void __stdcall mainloop() {
    static bool initialized = false;
    if (!initialized) {
        if (GAME && GAME->GetSystemState() == eSystemState::GS_PLAYING_GAME && SF->getSAMP()->IsInitialized()) {
            initialized = true;
            SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_PACKET, incomingPacket);
            SF->getSAMP()->registerChatCommand("stallSkip", initScript);
        }
    }
}

void __stdcall initScript(string) {
    string text;
    int color;
    if (!isActive) {
        color = D3DCOLOR_ARGB(255, 0, 255, 0);
        text = "[******] Активирован";
    } else {
        color = D3DCOLOR_ARGB(255, 255, 0, 0);
        text = "[******] Деактивирован";
    }
    isActive ^= true;
    SF->getSAMP()->getChat()->AddChatMessage(color, "%s", text);
}

void logSF(char text) {
    ofstream outputFile("SAMPFUNCS/logs.txt");
    if (outputFile.is_open()) {
        outputFile << text;
        outputFile.close();
    }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved) {
    if (dwReasonForCall == DLL_PROCESS_ATTACH)
        SF->initPlugin(mainloop, hModule);
    return TRUE;
}
 

Dark_Knight

Me, me and me.
Друг
4,080
2,112
AddChatMessage не поддерживает форматирование со стрингами. юзай std::tring::data() или std::string::c_str();
 
  • Нравится
Реакции: Z3roKwq