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

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,733
4,730
CLEO/Собейт снимает защиту со всей GTA.
Ничего из этого не стоит. Гта вообще чистая(Хотя не факт, это же родмер). Просто записываю в память и ничего не крашит. В принципе на говнодмир(Радмир) ничего из этого не ставится. Поэтому приходится экстерналы делать :D

Кстати пытался перевести коордмастер с луа на c++. Но чет он в другую сторону летит. Может кто тыкнет, где у меня ошыпка

CoordMaster:
float angle = getHeadingFromVector2d(endPosX - x, endPosY - y);
    while (getDistanceBetweenCoords2d(endPosX, endPosY, x, y) > delta)
    {
        x = x - delta * sin(radians(angle));
        y = y + delta * cos(radians(angle));
        setCharCoordinates(processHandle, point, x, y);
        getCharCoordinates(processHandle, point, &x, &y);
        angle = getHeadingFromVector2d(endPosX - x, endPosY - y);
        Sleep(1500);
    }

getHeadingFromVector2d:
float getHeadingFromVector2d(float x, float y) {
    float deg = atan2(y, x) * (180 / PI);
    return (deg >= 0) ? deg : deg + 360;
}

getDistanceBetweenCoords2d:
float getDistanceBetweenCoords2d(float x, float y, float x1, float y1)
{
    return sqrt(((x1 - x) * (x1 - x)) + ((y1 - y) * (y1 - y)));
}
UPD:
Починил, нужно было в функции получения направления вектора,минусовать 90 градусов. Может кому в будущем поможет
getHeadingFromVector2d:
float getHeadingFromVector2d(float x, float y) {
    float deg = atan2(y, x) * (180 / PI) - 90;
    return (deg > 0) ? deg : deg + 360;
}
 
Последнее редактирование:
  • Нравится
Реакции: AndroSamp и Angr

trefa

Известный
Всефорумный модератор
2,097
1,233
Как получить указатель на транспорт локального игрока, нашёл только получение ID транспорта.
 

imring

Ride the Lightning
Всефорумный модератор
2,355
2,518

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,733
4,730
Как можно починить транспорт в экстернале. В плане восстановить сломанные части типа бампера, фар и т.п.
Восстанавливать хп научился, предотвращать от ломания машину тоже. А как восстанавливать еще не понял. По адресам памяти не нашел
 

manukhov

Известный
125
128
Как можно починить транспорт в экстернале. В плане восстановить сломанные части типа бампера, фар и т.п.
Восстанавливать хп научился, предотвращать от ломания машину тоже. А как восстанавливать еще не понял. По адресам памяти не нашел
Если ты про визуал, то в экстернале это вряд-ли возможно. Хотя мб и можно какой нибудь фэйк paynspray сделать, но чет я сомневаюсь.
 

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,733
4,730
Если ты про визуал, то в экстернале это вряд-ли возможно. Хотя мб и можно какой нибудь фэйк paynspray сделать, но чет я сомневаюсь.
В Lua вроде есть штука типа fixCar. Она только локально показывается?
Если ты имеешь ввиду визуал в плане внешних частей авто, то я именно про них говорю. Т.е. я врезался в здание, у меня отвалился бампер. Мне надо чтобы он на место вставал
Еще вопрос, как можно сделать AirBrake?
 

manukhov

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

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,733
4,730
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
128
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,733
4,730
Опять я со своими тупыми вопросами. Можно ли через память сделать гидравлику машине? По идее же игра хранит где-то информацию о наличии гидравлики у машины