RU/isEventHandlerAdded

From Multi Theft Auto: Wiki
Revision as of 21:56, 12 December 2020 by Dutchman101 (talk | contribs) (Mentioning author names on script examples isn't adopted practise on the MTA wiki, thanks for understanding)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Эта функция проверяет, добавлено ли событие или нет.

Синтаксис

bool isEventHandlerAdded( string eventName, element attachedTo, function handlerFunction )    

Аргументы

  • eventName: Название события.
  • attachedTo: Элемент на который будет срабатывать событие.
  • handlerFunction: Функция к которой прикреплено событие.

Возврат

Возвращает true если событие добавлено, false если нет.

Код

Click to collapse [-]
Для сервера и клиента
function isEventHandlerAdded( sEventName, pElementAttachedTo, func )
    if type( sEventName ) == 'string' and isElement( pElementAttachedTo ) and type( func ) == 'function' then
        local aAttachedFunctions = getEventHandlers( sEventName, pElementAttachedTo )
        if type( aAttachedFunctions ) == 'table' and #aAttachedFunctions > 0 then
            for i, v in ipairs( aAttachedFunctions ) do
                if v == func then
                    return true
                end
            end
        end
    end
    return false
end

Пример

Click to collapse [-]
Клиент
bindKey ("num_2", "down", function()
    if not isEventHandlerAdded( 'onClientRender', root, open) then --Если события onClientRender нет, то создаем его
	addEventHandler ("onClientRender", root, open)
    end
end)


Смотрите также

Функции таблиц

  • pairsByKeys » Эта функция сортирует pairs таблицы.

ACL фунции

  • aclGroupClone » Эта функция создает копию группы с другим названием с/буз ACL'ов и/или объектов.

События

  • isEventHandlerAdded » Эта функция проверяет, создано событие или нет.

Функции машины

  • getVehicleRPM » Эта функция получает кол-во оборотов машины.