Пользовательские дополнения
На главную
common.RegisterEventHandler( eventFunction, sysEventName, filter, registerPersonal )
Подписывает обработчик аддона на указанное событие. На одно событие может быть несколько обработчиков. Функция-обработчик обязана соответствовать шаблону
Также обработчику можно сопоставить таблицу filter. Когда инициируется скриптовое сообщение, и обработка доходит до данного зарегистрированного обработчика, то проверяется, что в инициированном сообщении имеются точно такие же поля, точно с такими же значениями, что и в фильтре. И только в этом случае управление передаётся обработчику.
Допустимые типы ключей в filter: number(int), string.
Допустимые типы значений в filter: number, string, boolean, wstring, indexable_userdata.
filter - необязательный параметр, то есть его можно вообще не указывать. В этом случае поля сообщения не будут проверяться на соответствие для такого обработчика и управление перейдёт в него в любом случае, при любых параметрах сообщения.
Существует ряд событий для которых используется система персональных событий (personalEvents). Для формирования такого события для конкретной игровой сущности (objectId) необходимо включить для нее данное событие. Это можно сделать двумя способами: автоматически при регистрации события с надлежащим фильтром при registerPersonal == true (по умолчанию) или вручную через common.EnablePersonalEvent( sysEventName, objectId ) . Список таких событий можно посмотреть в описании данной функции.
Для common.RegisterEventHandler() есть обратный метод common.UnRegisterEventHandler(). Если от обработчика сообщения необходимо отказаться, то необходимо передать параметры идентичные таковым при регистрации.
-- библиотека:
common
-- объявление:
function RegisterEventHandler( eventFunction, sysEventName, filter, registerPersonal )
-- параметры:
eventFunction: function - функция-обработчик, должна соответствовать шаблону
sysEventName: string - название события
filter: table or nil - фильтр сообщения или nil (по умолчанию, без фильтрации)
registerPersonal: bool or nil - автоматически активировать personalEvents если это применимо (по умолчанию true).
-- возвращаемые значения:
нет
-- примеры:
function OnEventSample( params )
end
function OnEventSampleMainPlayer( params )
end
common.RegisterEventHandler( OnEventSample, "EVENT_SAMPLE" )
common.RegisterEventHandler( OnEventSampleMainPlayer, "EVENT_SAMPLE", { unitId = avatar.GetId() } ) -- обрабатывать сообщения только от главного игрока
Search: "CategoryLuaApi" "CategoryCommon"
CategoryCommon
EnumAddonState
EnumGoalState
EventAddonLoadStateChanged
EventAllodsGoalAdded
EventAllodsGoalChanged
EventAllodsGoalCompleted
EventFullscreenChanged
EventLocaleChanged
EventPosConverterChanged
EventUserScreenshot
FunctionApitype
FunctionCommonCreateValuedObject
FunctionCommonCreateValuedText
FunctionCommonDisablePersonalEvent
FunctionCommonEnablePersonalEvent
FunctionCommonEnableUIRender
FunctionCommonFormatFloat
FunctionCommonFormatInt
FunctionCommonFormatNumber
FunctionCommonGetAbsTimeMs
FunctionCommonGetAddonInfo
FunctionCommonGetAddonMainForm
FunctionCommonGetAddonName
FunctionCommonGetAddonSysName
FunctionCommonGetAllodsGoals
FunctionCommonGetAllodsGoalsOnLoadingScreen
FunctionCommonGetApiType
FunctionCommonGetApiVersion
FunctionCommonGetClientArch
FunctionCommonGetCredits
FunctionCommonGetCSSList
FunctionCommonGetDateTimeFromMs
FunctionCommonGetEmptyWstring
FunctionCommonGetFatalityPhraseLimits
FunctionCommonGetFirstPaymentBonusInfo
FunctionCommonGetFPSData
FunctionCommonGetLocalDateTime
FunctionCommonGetLocalDateTimeMs
FunctionCommonGetLocale
FunctionCommonGetLocaleList
FunctionCommonGetLocalization
FunctionCommonGetMks
FunctionCommonGetMsFromDateTime
FunctionCommonGetPosConverterParams
FunctionCommonGetRandFloat
FunctionCommonGetRandInt
FunctionCommonGetScriptCfgVar
FunctionCommonGetSetBonusInfo
FunctionCommonGetShortString
FunctionCommonGetSpecialStatInfo
FunctionCommonGetStateManagedAddons
FunctionCommonGetStateName
FunctionCommonGetTerritoryInfo
FunctionCommonGetTextureInfo
FunctionCommonGetTextureSize
FunctionCommonHitFrameHandler
FunctionCommonIsAvatarNameValid
FunctionCommonIsCapsLockEnabled
FunctionCommonIsEmptyValuedText
FunctionCommonIsEmptyWstring
FunctionCommonIsEqualStats
FunctionCommonIsFatalityPhraseFiltered
FunctionCommonIsKeyEnabled
FunctionCommonIsOnPayToPlayShard
FunctionCommonIsSoundEnabled
FunctionCommonIsSubstring
FunctionCommonIsSubstringEx
FunctionCommonIsTextFiltered
FunctionCommonIsUIRenderEnabled
FunctionCommonIsValidText
FunctionCommonIsValuedObject
FunctionCommonIsValuedText
FunctionCommonIsWidget
FunctionCommonIsWString
FunctionCommonLogError
FunctionCommonLogInfo
FunctionCommonLogWarning
FunctionCommonMakeUserScreenshot
FunctionCommonOnEvent
FunctionCommonOnFrame
FunctionCommonOnReaction
FunctionCommonQuitGame
FunctionCommonRegisterEventHandler
FunctionCommonRegisterFrameHandler
FunctionCommonRegisterReactionHandler
FunctionCommonSendEvent
FunctionCommonSendUserModsEvent
FunctionCommonSetCursor
FunctionCommonSetIconFlash
FunctionCommonSetLocale
FunctionCommonStateLoadManagedAddon
FunctionCommonStateReloadManagedAddon
FunctionCommonStateUnloadManagedAddon
FunctionCommonUnRegisterEvent
FunctionCommonUnRegisterEventHandler
FunctionCommonUnRegisterFrameHandler
FunctionCommonUnRegisterReaction
FunctionCommonUnRegisterReactionHandler
FunctionCompareWString
FunctionCompareWStringEx
FunctionEscapeWString
FunctionGlobal
FunctionIsIndexableUdata
GoalId
CategoryLuaApi
CategoryFunction
CategoryCommon
На главную