Настраиваемые уведомления для FIVEM. Имитируют уведомления о Native GTAV, но позволяет больше настройки
css
в ui/css/custom.css
~r~
, ~b~
, ~h~
и т. Д.) exports . bulletin : Send ( message , timeout , position , progress , theme , exitAnim , flash )
-- or
exports . bulletin : Send ({
message = ' Message ' ,
timeout = 5000 ,
theme = ' success '
...
})
exports . bulletin : SendAdvanced ( message , title , subject , icon , timeout , position , progress , theme , exitAnim , flash )
-- or
exports . bulletin : SendAdvanced ({
message = ' Some Message ' ,
title = ' Some Title ' ,
subject = ' Some Subtitle ' ,
icon = ' CHAR_BANK_MAZE ' ,
...
})
local pinID = exports . bulletin : SendPinned ({
type = ' advanced ' , -- or 'standard'
message = ' This is pinned! ' ,
title = ' Title ' ,
subject = ' Subject ' ,
icon = ' CHAR_BANK_MAZE '
})
-- unpin
exports . bulletin : Unpin ( pinID )
-- unpin multiple
exports . bulletin : Unpin ({ pinID1 , pinID2 , pinID3 , ... })
-- unpin all
exports . bulletin : Unpin ()
-- update content
exports . bulletin : UpdatePinned ( pinID , options )
Это сокращенные методы отправки тематического уведомления. Они принимают те же параметры / таблицу, что и метод Send()
:
-- Send standard success notification
exports . bulletin : SendSuccess ( ... )
-- Send standard info notification
exports . bulletin : SendInfo ( ... )
-- Send standard warning notification
exports . bulletin : SendWarning ( ... )
-- Send standard error notification
exports . bulletin : SendError ( ... )
Все методы могут быть запускаются как с клиента, так и от сервера:
-- standard
TriggerClientEvent ( ' bulletin:send ' , source , ... )
-- advanced
TriggerClientEvent ( ' bulletin:sendAdvanced ' , source , ... )
Они передаются в виде отдельных параметров или в таблице:
парамет | тип | по умолчанию | параметры | необязательный | описание |
---|---|---|---|---|---|
message | string | НЕТ | Сообщение отправить. Может быть строка или действительный HTML | ||
timeout | integer | 5000 | ДА | Продолжительность в ms для отображения уведомления | |
position | string | "bottomleft" | "bottomleft" , "topleft" , "topright" , "bottomright" , "bottom" , "top" | ДА | Поставка уведомления |
progress | boolean | false | true , false | ДА | Отображать прогресс тайм -аута уведомления |
theme | string | "default" | "default" , "success" , "info" , "warning" , "error" | ДА | Тема уведомления |
exitAnim | string | "fadeOut" | Смотрите animate.css для вариантов | ДА | Анимация, используемая для скрытия уведомления |
flash | boolean | false | ДА | Делает уведомление мигает | |
title | string | НЕТ | Название уведомления (только продвижение) | ||
subject | string | НЕТ | Субъект / подзаголовок уведомления (только продвинутый) | ||
icon | string | НЕТ | Изображение для использования (только продвижение) |
Config . Timeout = 5000 -- Overridden by the `timeout` param
Config . Position = " bottomleft " -- Overridden by the `position` param
Config . Progress = false -- Overridden by the `progress` param
Config . Theme = " default " -- Overridden by the `theme` param
Config . Queue = 5 -- No. of notifications to show before queueing
Config . Stacking = true
Config . ShowStackedCount = true
Config . AnimationOut = " fadeOut " -- Default exit animation - overriden by the `exitAnim` param
Config . AnimationTime = 500 -- Entry / exit animation interval
Config . FlashCount = 5 -- No. of times the notification blinks when `flash` param is used
Config . SoundFile = false -- Sound file stored in ui/audio used for notification sound. Leave as false to disable.
Config . SoundVolume = 0.4 -- 0.0 - 1.0
Config . Pictures = {
-- advanced notification icons
}
Чтобы добавить свое собственное изображение, загрузите изображение 64x64
jpg
в каталог ui/images
и добавьте пользовательский код и имя файла в таблицу Config.Pictures
в config.lua
,
Загрузите my_custom_icon_image.jpg
в каталог ui/images
и используйте MY_CUSTOM_ICON_CODE
(без пробелов!) В качестве ключа.
Config . Pictures = {
...
MY_CUSTOM_ICON_CODE = " my_custom_icon_image.jpg " -- Add this
}
Затем используйте пользовательский код в вызове уведомлений:
exports . bulletin : SendAdvanced ( " Message " , " Title " , " Subject " , " MY_CUSTOM_ICON_CODE " )
Вы можете включить звук уведомлений, загрузив пользовательский звуковой файл в ui/audio
-каталог и отредактировав конфигурацию для его использования:
Config . SoundFile = ' my_notification_sound.mp3 '
Config . SoundVolume = 0.4
Допустимые аудиофайлы: .mp3
, .ogg
, .wav
Бюллетень поддерживает следующее форматирование:
n = new line
~ r ~ = Red
~ b ~ = Blue
~ g ~ = Green
~ y ~ = Yellow
~ p ~ = Purple
~ o ~ = Orange
~ u ~ = Black
~ w ~ = White
~ h ~ = Bold Text
Вы также можете использовать HTML для цветов:
exports . bulletin : Send ( " <span class='r'>I am red</span> and <span class='y'>I am yellow</span> " )
или любой HTML, который вам нравится
exports . bulletin : Send ( " <h1>Some Title</h1><p class='paragraph'>Some text</p><footer>Some footer text</footer> " )
Чтобы отправить закрепленное уведомление, вам нужно сохранить уведомление pin_id
, чтобы вы могли отключить его позже.
local pinID = exports . bulletin : SendPinned ({
type = ' advanced ' -- or 'standard'
message = ' This is pinned! '
})
Затем, чтобы освободить его, просто передайте сохраненное значение методу Unpin()
:
exports . bulletin : Unpin ( pinID )
Метод Unpin()
также принимает table
идентификаторов PIN:
exports . bulletin : Unpin ({ pinned1 , pinned2 , pinned3 })
или опустить парам, чтобы не отключить все:
exports . bulletin : Unpin ()
Вы также можете обновить содержание закрепленного уведомления:
-- Send pinned notification
local pinID = exports . bulletin : SendPinned ({
type = ' advanced ' ,
message = ' This is pinned! ' ,
title = ' Title ' ,
subject = ' Subject ' ,
icon = ' CHAR_BANK_MAZE ' ,
theme = ' success '
})
-- Update it's content
exports . bulletin : UpdatePinned ( pinID , {
message = ' Updated message! ' ,
title = ' Updated title ' ,
subject = ' Updated subject ' ,
icon = ' CHAR_TREVOR ' ,
theme = ' error ' ,
flash = true
})
Только message
, title
, subject
, icon
, theme
и flash
-параметры могут быть обновлены на данный момент.
Закрепленные уведомления не находятся в очереди, например, если вы установите Config.Queue
на 5
, и у вас есть 2
закрепленные уведомления, вы получите максимум из 7
уведомлений, показанных в любое время.
Если вы используете ESX
, вы можете получить bulletin
для переопределения уведомлений, редактируя соответствующие функции в es_extended/client/functions.lua
:
ESX . ShowNotification = function ( msg )
-- SetNotificationTextEntry('STRING')
-- AddTextComponentString(msg)
-- DrawNotification(0,1)
exports . bulletin : Send ( msg )
end
ESX . ShowAdvancedNotification = function ( sender , subject , msg , textureDict , iconType , flash , saveToBrief , hudColorIndex )
-- if saveToBrief == nil then saveToBrief = true end
-- AddTextEntry('esxAdvancedNotification', msg)
-- BeginTextCommandThefeedPost('esxAdvancedNotification')
-- if hudColorIndex then ThefeedNextPostBackgroundColor(hudColorIndex) end
-- EndTextCommandThefeedPostMessagetext(textureDict, textureDict, false, iconType, sender, subject)
-- EndTextCommandThefeedPostTicker(flash or false, saveToBrief)
exports . bulletin : SendAdvanced ( msg , sender , subject , textureDict )
end
Бюллетень Авторские права (C) 2021 Mobius1 Эта программа является бесплатным программным обеспечением: вы можете перераспределить его и/или изменить ее в соответствии с условиями общей публичной лицензии GNU, опубликованных Фондом Free Software, либо версией 3 лицензии, либо (по варианту) любой более поздней версии. Эта программа распространяется в надежде, что она будет полезна, но без каких -либо гарантий; даже без подразумеваемой гарантии торговой точки зрения или пригодности для определенной цели. Смотрите общую публичную лицензию GNU для получения более подробной информации. Вы должны были получить копию общей публичной лицензии GNU вместе с этой программой. |