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

#Rin

Известный
Всефорумный модератор
1,214
1,044
Да, в любом случае все переменные названы хуй знает как, много капса, всё в духе ебаных плюсов
=> Хуй разберешь
Че сложного в спидхаке?
0xBA18FC // Vehicle CPED Pointer
0x44 // Vehicle Speed X
0x48 // Vehicle Speed Y

Читаешь значение из Vehicle CPED Pointer.
И это значение плюс Vehicle Speed X/Y - будет скорость т/c.
Плюсуешь к ним сколько-то или умножаешь.
И все это в цикле.
 
Последнее редактирование:
  • Нравится
Реакции: checkdasound и nt_qwark

132113123

Известный
7
0
Недавно начал пробовать сделать какой-нибудь чит на С++ для crmp(samp 0.3e). Столкнулся с такой проблемой, не могу сделать активацию функций чита командой. На легке сделал активацию комбинацией клавиш, а вот командой не знаю как. В гугле и на форумах ничего толкового не нашел. Может кто-то подскажет, как сделать такое или скинет простенький исходник такого чита/обучающий урок по этой теме(сам не нашел). Пробовал копаться в исходнике собейта, ничего из этого не вышло, слишком много функций, не понятно что откуда и зачем.
P.S. делаю так:
else if (GetAsyncKeyState(VK_MENU)) {
if (GetAsyncKeyState(VK_DOWN)) *reinterpret_cast<unsigned char *>(SA_Memory::eWeather) += 1;
} Альт+стрелочка вниз = меняется погода.
Хочу сделать чтобы была команда допустим /sweath и id погоды.
Заранее спасибо :)
 

itsOkke

Потрачен
86
38
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Недавно начал пробовать сделать какой-нибудь чит на С++ для crmp(samp 0.3e). Столкнулся с такой проблемой, не могу сделать активацию функций чита командой. На легке сделал активацию комбинацией клавиш, а вот командой не знаю как. В гугле и на форумах ничего толкового не нашел. Может кто-то подскажет, как сделать такое или скинет простенький исходник такого чита/обучающий урок по этой теме(сам не нашел). Пробовал копаться в исходнике собейта, ничего из этого не вышло, слишком много функций, не понятно что откуда и зачем.
P.S. делаю так:
else if (GetAsyncKeyState(VK_MENU)) {
if (GetAsyncKeyState(VK_DOWN)) *reinterpret_cast<unsigned char *>(SA_Memory::eWeather) += 1;
} Альт+стрелочка вниз = меняется погода.
Хочу сделать чтобы была команда допустим /sweath и id погоды.
Заранее спасибо :)
Регистрация SA-MP 0.3.7 R1 команд без использования SAMPFUNCS

CLEO:
// samp 0.3.7 R1
{$cleo .cs}
hex
    00 00
end
wait 5000

if 8AA2: 0@ = load_library "samp.dll" // IF and SET
then 0A93: end_custom_thread
end

var
    0@: integer
end
0AC6: 1@ = label @callback offset
0AC6: 2@ = label @cmdname offset

// write 31@ address to assembly code
1@ += 2
0AC7: 3@ = var 31@ offset                        
0A8C: write_memory 1@ size 4 value 3@ virtual_protect 1
1@ -= 2
31@ = 0 // zeroing 31 var
0AB1: call_scm_func @registerClientCommand 3 dwSAMPHandle: 0@ szCommandName: 2@ CallBack: 1@

while true
    wait 0
    if 31@ == 1
    then
        print "Enable" 1000  
    else
        print "Disable" 1000
    end
end

:callback
hex
    83 35 11 11 11 11 01 // xor     [11111111], 01
    C3 // retn
end

:cmdname
hex
    "test" 0
end

:registerClientCommand // unsigned long dwSAMPHandle, char szCommandName[], CMDPROC CallBack
var
    3@: integer
    4@: integer
end

3@ = 0@ // dwSAMPHandle
3@ += 0x21A0E8 // struct
0A8D: 3@ = read_memory 3@ size 4 virtual_protect 1
4@ = 0@ // dwSAMPHandle
4@ += 0x65AD0 // function

0AA6: call_method 4@ struct 3@ num_params 2 pop 0 2@ 1@
0AB2: ret 0

upd
CLEO:
1@ += 9
0AC7: 3@ = var 30@ offset                        
0A8C: write_memory 1@ size 4 value 3@ virtual_protect 1
1@ -= 9

1@ += 15
0AC7: 3@ = var 31@ offset                        
0A8C: write_memory 1@ size 4 value 3@ virtual_protect 1
1@ -= 15


:callback
hex
    51                      // push     ecx
    56                      // push     esi
    8B 74 24 0C             // mov     esi, [esp+0Ch]
    89 34 25 11 11 11 11    // mov     [11111111], esi
    83 35 11 11 11 11 01    // xor     [11111111], 01
    5E                      // pop     esi
    59                      // pop     ecx
    C3 // retn
end

просто адреса меняешь и всё готово
 

Dark_Knight

Me, me and me.
Друг
4,083
2,110
Зачем samp.dll вообще юзать? :facepalm2:
Локального хендла кара хватит для работы с головой.
 

iAmerican

Известный
Друг
612
260
Да, в любом случае все переменные названы хуй знает как, много капса, всё в духе ебаных плюсов
=> Хуй разберешь
Ну если ты его открывал 1 раз , то конечно хуй разберешь. Там достаточно всё понятно и по полочкам как раз.
Смотри сурс сф в моей тебе по сх и переводи куда тебе там надо.
Там как раз и есть движение по направлению машины
 

DEsTR0Y

Новичок
14
0
Появились некоторые вопросы, чтобы не создавать кучу тем на каждый из них, распишу всё в этой теме.
1) Какие существуют дополнения для С++ под samp 0.3e? Слышал о SF API, ASI Plugin, какие есть ещё?
2) Как я понял, эти дополнения добавляют новые возможности(к примеру чтение строки из чата), которые без дополнений реализовать нельзя. Правильно ли я понял?
3) Будут ли работать эти дополнения в CRMP(дело в том, что в крмп нельзя использовать Cleo, Asi Loader, Moonloader, SampFuncs и т.д.)?
4) Возможно ли будет потом скомпилировать всё это дело в .dll, как без дополнений?
5) Где можно найти уроки по с++(ИМЕННО ПОД GTA_SA), какие существуют функции и так далее? Или кроме чтения/записи данных в адрес памяти без дополнений сделать нельзя?
6) Как сделать отправку какого-либо сообщения в чат на С++, желательно без каких-либо дополнений?
7) Как сделать свою команду(к примеру чтобы при вводе команды /hp уровень хп становился равным 50? Чтобы стало 50хп я сделать смогу, но как сделать так, чтобы это активировалось при вводе команды?), желательно без дополнений? Нашел на форуме урок, но там добавляется в собейт, функций собейта у меня в коде нет, поэтому у меня оно не работает.
Пока вроде бы всё, если вспомню что-то ещё, потом добавлю.
Заранее спасибо)
 
Последнее редактирование:

MakiaSo

Потрачен
5
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Что такое колбек функции ?