Anpassbare Benachrichtigungen für FIVEM. Nachahmt native GTAV -Benachrichtigungen nach, ermöglicht jedoch mehr Anpassung
css
-Überschreibungen zu ui/css/custom.css
hinzufügen.~r~
, ~b~
, ~h~
, usw.) 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 )
Dies sind Kurzmethoden zum Senden von Themenbenachrichtigungen. Sie nehmen dieselben Parameter / Tabelle wie die Send()
-Methode:
-- 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 ( ... )
Alle Methoden können sowohl vom Client als auch vom Server ausgelöst werden:
-- standard
TriggerClientEvent ( ' bulletin:send ' , source , ... )
-- advanced
TriggerClientEvent ( ' bulletin:sendAdvanced ' , source , ... )
Diese werden entweder als individuelle Parameter oder in einer Tabelle übergeben:
Param | Typ | Standard | Optionen | optional | Beschreibung |
---|---|---|---|---|---|
message | string | NEIN | Die zu senden zur Nachricht. Kann eine Zeichenfolge oder eine gültige HTML sein | ||
timeout | integer | 5000 | JA | Die Dauer in ms um die Benachrichtigung anzuzeigen | |
position | string | "bottomleft" | "bottomleft" , "topleft" , "topright" "bottomright" , "bottom" , "top" | JA | Die Position der Benachrichtigung |
progress | boolean | false | true , false | JA | Ob Sie den Fortschritt der Benachrichtigungszeitüberschreitung zeigen sollen |
theme | string | "default" | "default" , "success" , "info" , "warning" , "error" | JA | Das Thema der Benachrichtigung |
exitAnim | string | "fadeOut" | Siehe animate.css für die Optionen | JA | Die Animation, mit der die Benachrichtigung verbergt wurde |
flash | boolean | false | JA | Lässt die Benachrichtigung blinken | |
title | string | NEIN | Der Titel der Benachrichtigung (nur fortgeschritten) | ||
subject | string | NEIN | Das Subjekt / Untertitel der Benachrichtigung (nur fortgeschritten) | ||
icon | string | NEIN | Das zu verwendende Bild (nur erweitert) |
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
}
So fügen Sie Ihr eigenes benutzerdefiniertes Bild hinzu, laden Sie ein 64x64
jpg
-Bild in das ui/images
-Verzeichnis hoch und fügen Sie den benutzerdefinierten Code und den Dateinamen in die Tabelle Config.Pictures
in config.lua
hinzu.
Laden Sie my_custom_icon_image.jpg
in das ui/images
-Verzeichnis hoch und verwenden Sie MY_CUSTOM_ICON_CODE
(keine Leerzeichen!) Als Schlüssel.
Config . Pictures = {
...
MY_CUSTOM_ICON_CODE = " my_custom_icon_image.jpg " -- Add this
}
Verwenden Sie dann den benutzerdefinierten Code im Benachrichtigungsaufruf:
exports . bulletin : SendAdvanced ( " Message " , " Title " , " Subject " , " MY_CUSTOM_ICON_CODE " )
Sie können einen Benachrichtigungs -Sound aktivieren, indem Sie eine benutzerdefinierte Tondatei in das ui/audio
-Verzeichnis hochladen und die Konfiguration bearbeiten, um sie zu verwenden:
Config . SoundFile = ' my_notification_sound.mp3 '
Config . SoundVolume = 0.4
Gültige Audio -Dateien: .mp3
, .ogg
, .wav
Bulletin unterstützt die folgende Formatierung:
n = new line
~ r ~ = Red
~ b ~ = Blue
~ g ~ = Green
~ y ~ = Yellow
~ p ~ = Purple
~ o ~ = Orange
~ u ~ = Black
~ w ~ = White
~ h ~ = Bold Text
Sie können auch HTML für Farben verwenden:
exports . bulletin : Send ( " <span class='r'>I am red</span> and <span class='y'>I am yellow</span> " )
oder irgendwelche HTML, die Sie mögen
exports . bulletin : Send ( " <h1>Some Title</h1><p class='paragraph'>Some text</p><footer>Some footer text</footer> " )
Um eine festgehaltene Benachrichtigung zu senden, müssen Sie die pin_id
speichern, damit Sie sie später entfalten können.
local pinID = exports . bulletin : SendPinned ({
type = ' advanced ' -- or 'standard'
message = ' This is pinned! '
})
Dann übergeben Sie den gespeicherten Wert einfach an die Unpin()
-Methode:
exports . bulletin : Unpin ( pinID )
Die Unpin()
-Methode akzeptiert auch eine table
mit Pin -IDs:
exports . bulletin : Unpin ({ pinned1 , pinned2 , pinned3 })
Oder lassen Sie den Param aus, um alle zu entfalten:
exports . bulletin : Unpin ()
Sie können auch den Inhalt einer festgehaltenen Benachrichtigung aktualisieren:
-- 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
})
Nur die Optionen message
, title
, subject
, icon
, theme
und flash
können derzeit aktualisiert werden.
Pinte Benachrichtigungen werden nicht in die Warteschlange gestellt. Wenn Sie beispielsweise Config.Queue
auf 5
festlegen und 2
festgestellte Benachrichtigungen haben, erhalten Sie zu irgendeinem Zeitpunkt eine 7
Benachrichtigung.
Wenn Sie ESX
verwenden, können Sie bulletin
dazu bringen, die Benachrichtigungen zu überschreiben, indem Sie die entsprechenden Funktionen in es_extended/client/functions.lua
bearbeiten:
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
Bulletin Copyright (C) 2021 MOBIUS1 Dieses Programm ist kostenlose Software: Sie können es neu verteilt und/oder unter den Bestimmungen der GNU General Public Lizenz wie von der Free Software Foundation, entweder Version 3 der Lizenz veröffentlicht, oder (nach Ihrer Option) jede spätere Version ändern. Dieses Programm wird in der Hoffnung verteilt, dass es nützlich sein wird, jedoch ohne Garantie; Ohne die implizite Garantie für Handelsfähigkeit oder Eignung für einen bestimmten Zweck. Weitere Informationen finden Sie in der GNU General Public Lizenz. Sie hätten zusammen mit diesem Programm eine Kopie der GNU General Public Lizenz erhalten haben. |