API SF | Урок 2 - Dialog hider
Введение
Объясню поподробней назначение функции mainloop.
При загрузке плагина указатель на эту функцию сохраняется в памяти и затем вызывается в главном цикле игры, то есть эта функция исполняется, пока работает приложение gta_sa.exe. В итоге каждому плагину предоставляется цикличная функция, в которой желательно выполнять весь код.
Dialog Hider
Снова открываете файл main.cpp.
В тело функции mainloop после закрытия условного блока if( !init )
вставляем этот код:
if( SF->getGame()->isKeyPressed( 'H' ) ) // если нажата клавиша H (англ) { int &iDialogStatus = SF->getSAMP()->getDialog()->iIsActive; // сохраняем ссылку на переменную, в которой хранится текущий статус диалога. iDialogStatus ^= true; // меняем значение на обратное, т.е. если был true, то станет false, а если был false — то true. if( !iDialogStatus ) // если статус был сменен на false (то есть закрылся диалог) SF->getSAMP()->getMisc()->ToggleCursor( false ); // отключаем курсор, который мешает двигаться. }; }
Компилируйте, заходите в игру, проверяйте.
by urShadow