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

kin4stat

mq-team
Всефорумный модератор
2,730
4,712
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,062
2,078
Plugin SDK смотрел? И зачем юзать АСМ, если можно спокойно вызвать функцию и без него.
 

trefa

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

Musaigen

abobusnik
Проверенный
1,583
1,302
Как получить угол поворота машины, через квантарион пробывал - не оч.
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
517
Как "скачать" сайт если он под защитой от ддос( типо подождать 5секунд )
 

traceattack

Известный
218
119
Есть ли у кого адрес указателя на угол трастеров гидры. Ну или название функи в SF, я чет не нашел 😢(Доступа к нормальному компу пока нет, а если на данном ведре запущу CE и запущу скан, хорошо будет если он хотя бы не расплавится)
 
Последнее редактирование:

kin4stat

mq-team
Всефорумный модератор
2,730
4,712
Назрело у меня пару вопросов
Первое:
Структура SAMP R3 Выглядит следующим образом:
1594506376030.png
Каким образом в ulPort попадает порт, у которого оффсет 1388?

Второе:
Как на хукнутом RakClientInterface реализовать перехват входящих RPC как в s0beit'е. Т.е. условно если сервер пытается сетнуть мне хп, у меня в чат вывелось, что сервер мне пытается поставить мне хп. Или например нопить входящие RPC.

Третье:
Почему-то при вызове addChatMessage в основном потоке, работает, а при вызове этой же функции в где-нибудь в другом месте крашит.
Потоки:
void test(char* szParams)
{
    pSAMP->addMessageToChat(0xFFFFFFFF, "addMessageToChat causes exception in gta_sa.exe(samp.dll)");
}

void mainThread(void *pvParams)
{
   
    if (pSAMP)
    {
        while (!pSAMP->tryInit())
        {
            Sleep(100);
        }
        pSAMP->addMessageToChat(0xFFFFFFFF, "addMessageToChatWorks here!");
        pSAMP->addClientCommand("test", test);
    }
}
addMessageToChat:
void SAMPFramework::addMessageToChat(D3DCOLOR cColor, const char* szMsg, ...)
{
    if (g_Chat == nullptr)
        return;

    void(__thiscall * AddToChatWindowBuffer) (const void* _this, int iType, char* szText, char* szPrefix, DWORD cColor, DWORD cPrefixColor) =
        (void(__thiscall*) (const void*, int, char*, char*, DWORD, DWORD)) (dwSAMPAddr + SAMP_FUNC_ADDTOCHATWND);

    if (szMsg == NULL)
        return;

    va_list ap;
    char tmp[512];
    memset(tmp, 0, 512);
    va_start(ap, szMsg);
    vsnprintf(tmp, sizeof(tmp) - 1, szMsg, ap);
    va_end(ap);

    return AddToChatWindowBuffer((void*)g_Chat, 8, tmp, NULL, cColor, 0x00);
}
Само исключение:
Вызвано исключение по адресу 0x0A279392 (samp.dll) в gta_sa.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00000007.
Стек вызовов пустой
 

reseller

Потрачен
33
8
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
в чем трабл а
1594915674293.png