Chat
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Służba Czat gromadzi kod Lua odpowiedzialny za uruchomienie legitimnego systemu czatu. Podobnie jak StarterPlayerScripts , domyślne obiekty, takie jak 2>Class.Script|Scripts2> i 5>Class.ModuleScript|ModuleScripts5>, są wstawione do usługi.
Podsumowanie
Właściwości
Określa, czy wiadomości czatu gracza pojawią się nad jego własnym w awatarw grze.
Przełącza czy domyślną ramę czatu należy ładować automatycznie, gdy gra się uruchamia.
Metody
Wykonuje wydarzenie Chat.Chatted z parami określonymi w tym metodzie.
Przywołaj funkcję zwrotu czatu zapisana przez RegisterChatCallback . Używana przez system Lua Chat.
Zarejestruj funkcję do wywołania pewnego zdarzenia systemu czatu ( InvokeChatCallback ).
Dostosuj różne ustawienia czatu bąbelkowego w grze.
Zwróci fałszywy, jeśli gracz z określonym Player.UserId nie może czatuć z powodu ustawień swojego konta.
Zwróci fałszywy, jeśli dwa użytkownicy nie mogą komunikować się, ponieważ ich ustawienia konta nie pozwalają na to.
Filtryuje stronę wysłaną przez gracza do innego gracza używając filtrowania, które jest odpowiednie do ustawień konta gracza.
Sfiltrowuje stronę wysłaną przez gracza do niezdefiniowanego celu. Bardziej ograniczające niż Chat:FilterStringAsync() .
Zdarzenia
Wystąpi, gdy Chat:Chat() zostanie wezwany.
Właściwości
BubbleChatEnabled
Jeśli tak, wpisanie wiadomości w czacie spowoduje, że pojawi się czat bąbel nad Player.Character gracza. Zachowanie to można włączyć poprzez bezpośrednie kliknięcie tego pola zaznaczenia w Studio lub używając LocalScript :
local ChatService = game:GetService("Chat")ChatService.BubbleChatEnabled = true
To musi być zrobione na klientach, włączając wartość tego wartości w Script serwerze nie będzie miał żadnego efektu.
LoadDefaultChat
Przełącza czy domyślną ramę czatu należy ładować automatycznie, gdy gra się uruchamia.
Metody
Chat
Funkcja czatu wysyła wydarzenie Chat.Chatted z parami określonymi w tym metodzie.
Domyślnie, istnieje LocalScript w każdym obiekcie gracza PlayerScripts z nazwą BubbleChat, co powoduje, że pojawia się bilboard dialogowy nad częścią 2> postać/ postać/ postać/ postać/ postać/ postać/ postać/ postać/ postać/ postać/ postać/ postać/ postać/ postać/ postać/ postać/
Uwaga:: Skoro dialogi są kontrolowane przez lokalny skrypt, nie będziesz w stanie zobaczyć żadnych utworzonych przez ten metodę dialogów, chyba że biegniesz w trybie Graj w Solo.
Parametry
Instancja, która jest częścią lub postacią, która powinna pojawić się w BubbleChat dialogu.
Ta wiadomość zostanie wysłana.
Entity.ChatColor określający kolor wiadomośćczatu.
Zwroty
Przykłady kodu
local ChatService = game:GetService("Chat")
local part = Instance.new("Part")
part.Anchored = true
part.Parent = workspace
ChatService:Chat(part, "Blame John!", "Red")
InvokeChatCallback
InvokeChatCallback będzie wzywać funkcję zarejestrowaną przez RegisterChatCallback , zgodnie z listą funkcji rejestrowanych i argumentami do wysłania funkcji. Wynik zarejestrowanej funkcji zostanie zwrócony lub wywołany błąd, jeśli funkcja nie została zarejestrowana.
Funkcja ta jest nazywana przez system czatu Lua, aby można było rejestrować wezwania do czatu, aby zmienić zachowanie niektórych funkcji. Chyba, że nie zastępujesz domyślnego systemu czatu Lua przez posiadać, nie powinieneś potrzebować wezwania do czatu. Możesz przeczytać o różnych funkcjach wezwania w Chat:RegisterChatCallback() .
Parametry
Typ wezwania do zapisu.
Argenty, które zostaną wysłane do zarejestrowanej funkcji zwrotnej.
Zwroty
Wartości zwracane przez funkcję zarejestrowaną w danej funkcji zwrotnej.
RegisterChatCallback
Zapisywanie na czacie może mieć wpływ na zachowanie systemu czatu Lua. Pierwszy argument określa wydarzenie (używając zapisu Enum.ChatCallbackType ) do którego będzie przypisowany drugi argument, funkcja. Domyślny system czatu
Podczas tworzenia okienka czatu
Tylko dla klienta. Zwraca tabelę ustawień, zanim klient zbuduje okienko czatu. Musi zwrócić tabelę ustawień, aby zostać połączony z informacjami z modułu ChatSettings.
Wiadomość OnClientFormatting
Tylko dla klienta. Zwywołany przed wyświetleniem przez klient wiadomości (czy to jest wiadomość czatu gracza, wiadomość systemu lub /me command). Ta funkcja jest wywołana z obiektu wiadomości i może (lub nie może) zwrócić tabeli do połączenia w message.ExtraData .
Wiadomość na żywo
Nie zostanie to zainicjowane w tym czasie.
Wiadomość na serwerze odbierania wiadomości
Tylko dla serwera. Zadzwoniono, gdy serwer otrzymał wiadomość od głośnika (uważaj, że głośniki mogą nie być koniecznie Player chating). Ta funkcja jest wezwywana z obiektu Message. Funkcja ta może dokonywać zmian w obiekcie Message, aby zmienić sposób przetwarzania wiadomości. Obie
- Ustaw message.ShouldDeliver na fałszywy, aby anulować dostarczenie wiadomości graczom (przydatny do wdrożenia listy wykluczenia czatu)
- Zdobądź/zdefiniuj kolor imienia głośnik( message.ExtraData.NameColor , Color3) na bazie wiadomości na wiadomość
Parametry
Zwrotka, do której funkcja będzie zarejestrowana (określa sposób, w jaki funkcja jest nazywana).
Funkcja do wywołania, gdy wzywana jest funkcja używając Czat:ExecuteChatCallback.
Zwroty
SetBubbleChatSettings
Funkcja ta dostosowuje różne ustawienia czatu bąbelkowego w grze.
Przed użyciem upewnij się, że czat bąbelkowy jest włączony poprzez ustawienie Chat.BubbleChatEnabled na prawdę.
Argumenty ustawień to tabela, w której klucze są nazwami ustawień, które chcesz edytować, a wartości są tym, co chcesz zmienić w tych ustawieniach. Uwaga, że nie musisz wszystkich włączyć w argumentach ustawień, omitując niektóre, będzie to skutkować tym, że zachowują one ich domyślną wartość.
Funkcja ta jest tylko strona klienta, próbując ją na serwerze spowoduje błąd.
Parametry
Tabela ustawień.
Zwroty
Przykłady kodu
local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({
BackgroundColor3 = Color3.fromRGB(180, 210, 228),
TextSize = 20,
Font = Enum.Font.Cartoon,
})
local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({})
CanUserChatAsync
Zwróci fałszywy, jeśli gracz z określonym Player.UserId nie może czatuć z powodu ustawień swojego konta.
Parametry
Zwroty
CanUsersChatAsync
Zwróci fałszywy, jeśli dwa użytkownicy nie mogą komunikować się, ponieważ ich ustawienia konta nie pozwalają na to.
Parametry
Zwroty
FilterStringAsync
Ostrze?enie o czę?nej deprecji : Wezwanie tej funkcji z klienta u?ywaj?c kod Class.LocalScript jest deprecji, i zostanie wyłączone w przyszło?ci. Filtrowanie tekstu powinno by? zrobione z kodu Class.Script na serwerze u?ywaj?cego podobnie nazywany Class.TextService:FilterStringAsync()
Gry, które nie właściwie filtrowały generowanego przez gracza tekstu, mogą być poddane akcjimoderacji. Proszę upewnić się, że gra poprawnie filtrowała tekst przed jego publikacją.
FilterStringAsync filtryuje strungę używając filtrowania, które jest odpowiednie dla wysyłania i otrzymywania gracza. Jeśli filtrowana strunga będzie używana do przesyłania trwałego wiadomość, takiego jak imię robić zakupy, pisania na płytce itp., to funkcja powinna zostać wywołana z autora jako zarówno nadawca, jak i odbiorca.
Ta funkcja powinna być używana za każdym razem , gdy gracz może wpisać niestandardowy tekst w dowolnym kontekście , najczęściej używając TextBox . Niektóre przykłady tekstu do filtrowania:
- Wiadomości czatu personalizowane
- Nazwa postaci użytkownika
- Nazwa dla sklepu w graw stylu tycoon
Parametry
Strunga brutto do filtrowania, dokładnie tak, jak została wpisana przez gracza.
Autor tekstu.
Odbiorca tekstu dostarczonego; użyj autora, jeśli tekst jest trwały (zobacz opis).
Zwroty
FilterStringForBroadcast
Sfiltrowuje stronę wysłaną z playerFrom dla transmisji do dowolnego celu. Filtrowany wiadomość ma więcej ograniczeń niż Chat:FilterStringAsync() .
Niektóre przykłady tego, gdzie ten metod może być używany:
- Ściany wiadomości
- Krzyki między serwerami
- Znaki użytkownika
Calling FilterString from LocalScripts is deprecated and will be disabled in the future. Text filtering should be done from server-side Scripts using FilterStringAsync.
Uwaga:: Gra, która nie używa tej funkcji filtra do czatu lub innego generowanego przez użytkownika tekstu, może być poddana akcjimoderacji.
Parametry
Treść wiadomości jest filtrowana.
Instancja gracza wysyłającego wiadomość.
Zwroty
Sfiltrowana wiadomość ciąg.
Przykłady kodu
local Players = game:GetService("Players")
local Chat = game:GetService("Chat")
local playerFrom = Players.LocalPlayer
local message = "Hello world!"
-- Filter the string and store the result in the 'FilteredString' variable
local filteredString = Chat:FilterStringForBroadcast(message, playerFrom)
print(filteredString)