PDA

Просмотр полной версии : API SF | Урок 2 - Dialog hider


CleanLegend
08.08.2018, 12:36
Введение

Объясню поподробней назначение функции mainloop.

При загрузке плагина указатель на эту функцию сохраняется в памяти и затем вызывается в главном цикле игры, то есть эта функция исполняется, пока работает приложение gta_sa.exe. В итоге каждому плагину предоставляется цикличная функция, в которой желательно выполнять весь код.

Dialog Hider

Снова открываете файл main.cpp.

В тело функции mainloop после закрытия условного блока if( !init ) вставляем этот код:

C++:






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
)
;
// отключаем курсор, который мешает двигаться.
}
;
}




Компилируйте, заходите в игру, проверяйте.

Автор: urShadow