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

Savchik Blazer

Но я, мечту свою лелея...
Проверенный
668
294
а если без stoi че выводит
если ты имеешь ввиду
C++:
char* readInt(std::string Section, std::string Key)
{
    char str[300];
    GetPrivateProfileStringA(Section.c_str(), Key.c_str(), NULL, str, sizeof(str), "C:\\one.ini");
    return str;
}

то выведет просто копии первой строки
 

Dark_Knight

Me, me and me.
Друг
4,078
2,095
если ты имеешь ввиду
C++:
char* readInt(std::string Section, std::string Key)
{
    char str[300];
    GetPrivateProfileStringA(Section.c_str(), Key.c_str(), NULL, str, sizeof(str), "C:\\one.ini");
    return str;
}

то выведет просто копии первой строки
Оставь ини в покое. Особенно через вин апи функции. Используй json
https://github.com/nlohmann/json
 
  • Нравится
Реакции: loganhackerdff и ARMOR

jenees.21

Участник
73
8
C++:
#include <kthook/kthook.hpp>

bool state = false;
kthook::kthook_simple<unsigned(__stdcall*)(void*, unsigned, unsigned, unsigned)> hook{
    0x747EB0,
    [](const auto& hook, void* hwnd, unsigned umsg, unsigned wparam, unsigned lparam) {
        if (uMsg == WM_KEYDOWN && wparam == VK_F2 && !(lparam & KF_REPEAT)) {
            state = !state;
            for (auto value : {0x5109AC, 0x5109C5, 0x5231A6, 0x52322D, 0x5233BA}) {
                unsigned old;
                VirtualProtect(reinterpret_cast<void*>(value), 1, PAGE_READWRITE, &old);
                if (state) *reinterpret_cast<unsigned char*>(value) = 0xEB;
                else *reinterpret_cast<unsigned char*>(value) = (value <= 0x5109C5) ? 0x7A : 0x75;
                VirtualProtect(reinterpret_cast<void*>(value), 1, old, &old);
            }
        }
        return hook.get_trampoline()(hwnd, umsg, wparam, lparam);
    }
}
как можно сделать фикс камеры при респавне (чтобы она была в стандартном положении)
 

loganhackerdff

Известный
868
519
Как применить шейдер на текстуру? типо вот тут я поставил хук на RpClumpRender четотам, и ставил шейдер перед этой функцией, так мне всё, кроме того что надо зарисовало, кароче мне надо хукать рендер текстуры, проверять её название и ставить на неё шейдер
помогите ПОЖАЛУЙСТА)
1660745143491.png
 
  • Нравится
Реакции: Dark_Knight

profgold

Известный
30
1
Как получить входящий анимфлаг в ApplyAnimation? Как я понял он генерируется с значений fDelta, loop, lockx, locky, freeze, time.
Есть готовый алгоритм генерации?
 

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,744
4,808
Как применить шейдер на текстуру? типо вот тут я поставил хук на RpClumpRender четотам, и ставил шейдер перед этой функцией, так мне всё, кроме того что надо зарисовало, кароче мне надо хукать рендер текстуры, проверять её название и ставить на неё шейдер
помогите ПОЖАЛУЙСТА)
Посмотреть вложение 163317
Ну я делал так:

0x534310 - CEntity::Render

Тут проверяешь, что происходит рендер нужного тебе энтити(машина)

Потом в 0x7FDE70 - RwSetTexture
И потом texture->name сравниваешь с нужным тебе названием

Потом можно захукать SetPixelShader, что скорее всего необязательно, но я сделал так, и выставляешь нужный тебе

А список материалов можно найти как

RpClumpForAllAtomics - if rwObject->type == rpCLUMP
rpClump->geometry.matList
else
rpClump->geometry.matList
 

Savchik Blazer

Но я, мечту свою лелея...
Проверенный
668
294
Как можно поймать действие другой dll в процессе? Условно имеется две dll, первая изменяет память процесса, а вторая должна поймать это изменнение
 

Dark_Knight

Me, me and me.
Друг
4,078
2,095
Как можно поймать действие другой dll в процессе? Условно имеется две dll, первая изменяет память процесса, а вторая должна поймать это изменнение
Хук по адресу. От кинча есть хорошие либы для подобного. Хотя лично сам ими не пользовался.
 

loganhackerdff

Известный
868
519
снова здрасте, теперь мне нужна помощь с созданием шейдера, я не хочу создавать дохуя шейдеров, можно же просто выставлять ему цвет

тоесть мне не подходит вот это, что всё используют
C++:
static HRESULT generateShader(IDirect3DPixelShader9** pShader, float alpha, float red, float green, float blue)
{
    char szShader[256];
    ID3DXBuffer* pShaderBuffer = nullptr;
    sprintf_s(szShader, sizeof(szShader), "ps.1.1\ndef c0, %f, %f, %f, %f\nmov r0,c0", red, green, blue, alpha);
    if (FAILED(D3DXAssembleShader(szShader, sizeof(szShader), NULL, NULL, 0, &pShaderBuffer, NULL)))
        return E_FAIL;

    if (FAILED(DEVICE->CreatePixelShader((const DWORD*)pShaderBuffer->GetBufferPointer(), pShader)))
        return E_FAIL;

    return S_OK;
}

я пытался сделать, но шейдер не компилируеться, типа вроде правильно всё, хз, уроки посмотрел, гайды почитал, чертовщина
C++:
static HRESULT generateShader(IDirect3DPixelShader9** pShader)
{
    char szShader[UINT16_MAX];

    ID3DXBuffer* pShaderBuffer = nullptr;
    LPD3DXCONSTANTTABLE table;
    strcpy(szShader, "float4 value; float4 main() : COLOR { return value; }");

    if (FAILED(D3DXCompileShader(szShader, sizeof(szShader), 0, 0, "main", "ps_3_0", 0, &pShaderBuffer, 0, &table)))
    {
        std::cout << "fail\n"; // -- тут фейл!
        return E_FAIL;
    }

    if (FAILED(DEVICE->CreatePixelShader((const DWORD*)pShaderBuffer->GetBufferPointer(), pShader)))
        return E_FAIL;

    return S_OK;
}

Ебать ахуеть блять заебало уже, хуйню какую-то изменил, заработало
смотрите, кому надо
C++:
static HRESULT generateShader(IDirect3DPixelShader9** pShader)
{
    char szShader[512];

    ID3DXBuffer* pShaderBuffer = nullptr;
    strcpy(szShader, "float4 value; float4 main() : COLOR { return value; }");

    if (FAILED(D3DXCompileShader(szShader, strlen(szShader), 0, 0, "main", D3DXGetPixelShaderProfile(DEVICE), D3DXSHADER_DEBUG, &pShaderBuffer, 0, 0)))
        return E_FAIL;
 
    if (FAILED(DEVICE->CreatePixelShader((const DWORD*)pShaderBuffer->GetBufferPointer(), pShader)))
        return E_FAIL;

    return S_OK;
}

Кто бы мог подумать блять, на видеокарте AMD не работает нахуй! только nvidia
 
Последнее редактирование:

Savchik Blazer

Но я, мечту свою лелея...
Проверенный
668
294
Как можно реализовать рисования текста в окне игры, не имгуи?