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

manukhov

Известный
125
131
В Lua вроде есть штука типа fixCar. Она только локально показывается?
Если ты имеешь ввиду визуал в плане внешних частей авто, то я именно про них говорю. Т.е. я врезался в здание, у меня отвалился бампер. Мне надо чтобы он на место вставал
Еще вопрос, как можно сделать AirBrake?
А Lua что? Lua интернал. Я вроде юзал клео-починку когда-то и там вместе со здоровьем восстанавливались и запчасти, думаю это было не локально.
 

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,744
4,808
Wndproc хук на экстернале работает? Я вроде все правильно сделал, и нихера не работает.
wndProc:
WNDPROC        g_origWndProc = NULL;



LRESULT CALLBACK WndProcHook(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    std::cout << "kek" << "\n";
    switch (uMsg)
    {
        case WM_KEYUP:
        {
            switch (wParam)
            {
            case VK_SHIFT:
            {
                std::cout << "Here. This phrase is the best debugger";
                break;
            }
            }
        }
    }
    return CallWindowProc(g_origWndProc, hwnd, uMsg, wParam, lParam);
}



g_origWndProc = (WNDPROC)SetWindowLongA(FindWindowA(NULL, "GTA:SA:MP"), GWL_WNDPROC, (LONG)WndProcHook);

Даже kek не выводит. Тыкните где ошибка. Запускаю от имени одмена
 

manukhov

Известный
125
131
Wndproc хук на экстернале работает? Я вроде все правильно сделал, и нихера не работает.
wndProc:
WNDPROC        g_origWndProc = NULL;



LRESULT CALLBACK WndProcHook(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    std::cout << "kek" << "\n";
    switch (uMsg)
    {
        case WM_KEYUP:
        {
            switch (wParam)
            {
            case VK_SHIFT:
            {
                std::cout << "Here. This phrase is the best debugger";
                break;
            }
            }
        }
    }
    return CallWindowProc(g_origWndProc, hwnd, uMsg, wParam, lParam);
}



g_origWndProc = (WNDPROC)SetWindowLongA(FindWindowA(NULL, "GTA:SA:MP"), GWL_WNDPROC, (LONG)WndProcHook);

Даже kek не выводит. Тыкните где ошибка. Запускаю от имени одмена
Нет. Тебе нужно перехватывать события клавиатуры. Когда твоё окно не в фокусе винда не будет реагировать на его события.
 
Последнее редактирование:

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,744
4,808
Опять я со своими тупыми вопросами. Можно ли через память сделать гидравлику машине? По идее же игра хранит где-то информацию о наличии гидравлики у машины
 

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,744
4,808
gtamodding.ru поищи там
Полностью облазил пункты cVehicle и cAutomobile в адресах памяти, Пробовал через поиск по странице разные упоминания тюнинга/гидравлики. Нашел upgrade[15], но как работает так и не понял. Адреса памяти функций тоже облазил полностью, там такого тоже нет. В клео есть такой опкод, но на радмир клео не совсем нормально работает.
UPD: Порывшись в обычной гта, выяснил, что когда ставишь собейтом гидравлику, в upgrade[0](cVehicle + 0x43A) записывается 1087. Но когда вручную туда записываешь 1087, гидравлика не появляется, а при добавлении ее через собейт, 1087 записывается в следующую ячейку(upgrade[1])
UPD2: В исходниках собейта нашел такую штуку
call FUNC_cVehcile_AddVehicleUpgrade
как я понял эта функция задейфайнена как адрес в памяти. Найти бы теперь его еще :D
UPD3:
Нашел адрес функции, осталось только найти способ выполнять ASM внутри другого процесса.
 
Последнее редактирование:

Dark_Knight

Me, me and me.
Друг
4,078
2,096
Plugin SDK смотрел? И зачем юзать АСМ, если можно спокойно вызвать функцию и без него.
 

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,744
4,808
Plugin SDK смотрел? И зачем юзать АСМ, если можно спокойно вызвать функцию и без него.
Не знал даже о такой штуке лол. Потом гляну.
Насчет вызова. Как можно в External вызвать функцию?
 

trefa

3d print
Всефорумный модератор
2,107
1,264
Как получить угол поворота машины, через квантарион пробывал - не оч.
 

Musaigen

abobusnik
Проверенный
1,607
1,365
Как получить угол поворота машины, через квантарион пробывал - не оч.
C++:
// Вроде так.
void CPlaceable::SetHeading(float fHeading)
{
    reinterpret_cast<void(__thiscall*)(CPlaceable*, float)>(0x43E0C0)(this, fHeading);
}

float CPlaceable::GetHeading()
{
    return reinterpret_cast<float(__thiscall*)(CPlaceable*)>(0x441DB0)(this);
}
 

_!danek!_

Новичок
9
3
всем привет есть 2 вопроса:
1. как узнать ид/имя текущей анимации (не нашел этого на сайте с адресами)
2. возможно ли как то узнать отключить определенные анимации (к примеру cowboy или DAM_armL_frmFT).
Вроде так можно узнать ид анимации.
C++:
int animationid = SF->getSAMP()->getPlayers()->pLocalPlayer->sCurrentAnimID;
SF->getSAMP()->getChat()->AddChatMessage(-1, "AnimationID: %d", animationid);
 

loganhackerdff

Известный
868
519
Как "скачать" сайт если он под защитой от ддос( типо подождать 5секунд )