Другое SAMPFUNCS | API C++

SR_team

like pancake
BH Team
4,707
6,347
C++:
if (SF->getGame()->isKeyPressed(65)) // клавиша A
{
    KakoyToCheat ^= true;
    if(KakoyToCheat)
    {
        SF->getSAMP()->getChat()->AddChatMessage( D3DCOLOR_XRGB( 0, 0xAA, 0 ), "test" );
    }
}
color = KakoyToCheat ? D3DCOLOR_ARGB( 255, 255, 0, 0 ) : D3DCOLOR_ARGB( 255, 0, 0, 0 );
pFont->Print( "Какой то чит", color, 500, 500, false );
помню в ВУЗе на VBA написал bActive = bActive Xor true, и препод меня потом тапками пиздил, потому что запись bActive = Not bActive короче :D
 
  • Нравится
Реакции: 777qwerty777

SR_team

like pancake
BH Team
4,707
6,347
Я читал, что emulateGTAKey пофиксили... В изменениях... Это то, что я жду уже полгода. Послать /q я и без опкодов могу... Мне бы выход на паузу и эмуляцию клавиш...
У меня она GTA_KEY_W, так как я нажимаю W, чтобы идти вперёд, ведь так?
Эмуляцию пофиксили. Для эмуляции используются игровые коды клавишь. В справке SB можешь их глянуть или в классах MTA поискать вперед/назад вроде 1, а лево/право 0
 

Harch

Новичок
40
0
Эмуляцию пофиксили. Для эмуляции используются игровые коды клавишь. В справке SB можешь их глянуть или в классах MTA поискать вперед/назад вроде 1, а лево/право 0

А как эмулировать нажатия этих игровых кодов клавиш?
 

Harch

Новичок
40
0
Нашёл. меньше нуля в одну сторону, больше - в другую.

А как уйти/выйти с паузы? Последнее, что мне нужно :)

Просто как-то справки по SF, кроме уроков, я не нашёл :(

На пеший ход работает эмуляция, а на транспорт - нет :( Где узнать, какие коды для транспорта?
 
Последнее редактирование модератором:

SR_team

like pancake
BH Team
4,707
6,347
Нашёл. меньше нуля в одну сторону, больше - в другую.

А как уйти/выйти с паузы? Последнее, что мне нужно :)

Просто как-то справки по SF, кроме уроков, я не нашёл :(

На пеший ход работает эмуляция, а на транспорт - нет :( Где узнать, какие коды для транспорта?
все там же. На транспорте не сильно отличаются кнопки. А вообще у машин есть еще такая залупа

0xB73458 - Start of controls block.

  • +0x20 = [word] Accelerate:
    • 0 = off
    • 255 = on
  • +0x22 = [word] Brake
 

kemperrr

Известный
104
2
Как обнулить статус нажатия клавиши, что бы сразу после нажатия обнулился статус?

Поправочка, не сразу а через пол секунды
 
Последнее редактирование модератором:

Harch

Новичок
40
0
Методом тыка нашёл, что назад/вперёд для транспорта это 14. Осталось узнать про паузу. Метод тыка не помог. Как уйти или выйти на/с паузу/ы?

Поправочка, не сразу а через пол секунды

Запускаешь таймер, весь этот таймер "нажимаешь" на кнопку, потом прекращаешь нажимать.
 
Последнее редактирование:

kemperrr

Известный
104
2
Чет какая то херня, юзаю SF->getGame()->emulateGTAKey(11, true) клавиша нажимается 1 раз, для того что бы нажалась еще раз нужно обнулить, SF->getGame()->emulateGTAKey(11, false), в теории если еще раз должна нажаться, но она не нажимается, то есть она не обнуляется, help me pls
 

SR_team

like pancake
BH Team
4,707
6,347
Чет какая то херня, юзаю SF->getGame()->emulateGTAKey(11, true) клавиша нажимается 1 раз, для того что бы нажалась еще раз нужно обнулить, SF->getGame()->emulateGTAKey(11, false), в теории если еще раз должна нажаться, но она не нажимается, то есть она не обнуляется, help me pls
клавиши сами обнуляются при смене фрейма
 

AWRage

Активный
642
141
Как я понял, эта функция возвращает позицию прицела и его статус (on/off). Обычно такие функции требуют указатель на переменную, но в моем случае компилятор ругается.

C++:
bool Active;
float CrossX, CrossY;

GAME->GetPlayerInfo()->GetCrossHair(&Active, &CrossX, &CrossY);
SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(255, 255, 255), "%i, %f and %f", Active, CrossX, CrossY);
 

MISTER_GONWIK

Всефорумный гонщик
Всефорумный модератор
1,259
1,737
Как я понял, эта функция возвращает позицию прицела и его статус (on/off). Обычно такие функции требуют указатель на переменную, но в моем случае компилятор ругается.

C++:
bool Active;
float CrossX, CrossY;

GAME->GetPlayerInfo()->GetCrossHair(&Active, &CrossX, &CrossY);
SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(255, 255, 255), "%i, %f and %f", Active, CrossX, CrossY);
убери & везде
 

AWRage

Активный
642
141
Убрал. Скомпилил, но не работает.
lUTgNVL.png