Chat

Pokaż przestarzałe

*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.

Brak możliwości tworzenia
Usługa
Bez replikacji

Usługa Chat przechowuje kod Luau odpowiedzialny za uruchomienie legacy systemu czatu.Podobnie jak StarterPlayerScripts , domyślne obiekty, takie jak Scripts i ModuleScripts , są wstawiane do usługi.

Podsumowanie

Właściwości

  • Odczyt równoległy

    Określa, czy wiadomości czatu gracza pojawią się powyżej ich awatara w grze.

  • Brak dostępu do zabezpieczeń
    Odczyt równoległy

    Przełącza, czy domyślny framework czatu powinien być automatycznie wczytywany, gdy gra się uruchamia.

Metody

Właściwości

BubbleChatEnabled

Odczyt równoległy

Jeśli prawda, wpisanie wiadomości w czacie spowoduje pojawienie się bąbelka czatu nad Player.Character graczem.Zachowanie to może być włączone bezpośrednio poprzez zaznaczenie tego pola wyboru w Studio, lub za pomocą LocalScript :


local ChatService = game:GetService("Chat")
ChatService.BubbleChatEnabled = true

Musi to zostać wykonane na klientzie, przełączając tę wartość na stronie serwera Script nie będzie miało żadnego wpływu.

LoadDefaultChat

Brak dostępu do zabezpieczeń
Odczyt równoległy

Przełącza, czy domyślny framework czatu powinien być automatycznie wczytywany, gdy gra się uruchamia.

Metody

Chat

()

Funkcja czatu uruchamia wydarzenie Chat.Chatted z parametrami określonymi w tej metodzie.

Domyślnie istnieje obiekt wewnątrz każdego gracza o nazwie BubbleChat , który powoduje pojawienie się tablicy dialogowej na górze części lub znaku , gdy uruchomiono wydarzenie czatu.

Uwaga: Ponieważ dialogi są kontrolowane przez lokalne skrypty, nie będziesz mógł zobaczyć żadnych dialogów utworzonych z tej metody, chyba że uruchamiasz w trybie Graj solo.

Parametry

partOrCharacter: Instance

Instancja, która jest częścią lub postacią, której dialog BubbleChat powinien pojawić się powyżej.

Wartość domyślna: ""
message: string

Sznurek wiadomości rozmawiany.

Wartość domyślna: ""

An Enum.ChatColor określający kolor wiadomośćczatu.

Wartość domyślna: "Blue"

Zwroty

()

Przykłady kodu

The below example would create a part in Workspace and cause it to exclaim "Blame John!"

Chat:Chat

local ChatService = game:GetService("Chat")
local part = Instance.new("Part")
part.Anchored = true
part.Parent = workspace
ChatService:Chat(part, "Blame John!", "Red")

InvokeChatCallback

Wezwanie funkcji ChatCallbackCall zostanie wywołane przez RegisterChatCallback , biorąc pod uwagę menu typu ChatCallbackType i argumenty do wysłania funkcji.Wróci wynik zarejestrowanej funkcji lub wywoła błąd, jeśli żadna funkcja nie została zarejestrowana.

Funkcja ta jest wywoływana przez system Luau Chat, aby chatowe wezwania mogły zostać zarejestrowane, aby zmienić zachowanie niektórych funkcji.Chyba że zastępujesz domyślny system czatu Luau posiadać, nie powinieneś potrzebować wezwania tej funkcji.Możesz przeczytać o różnych funkcjach powrotu w Chat:RegisterChatCallback().

Parametry

callbackType: Enum.ChatCallbackType

Typ powiadomienia do wywołania.

Wartość domyślna: ""
callbackArguments: Tuple

Argumenty, które zostaną wysłane do zarejestrowanej funkcji powrotnej.

Wartość domyślna: ""

Zwroty

Wartości zwracane przez funkcję zarejestrowaną w danym ChatCallbackType.

RegisterChatCallback

()

Rejestracja powrotu wezwania czatu wiąże funkcję z jakimś wydarzeniem systemu czatu, aby wpłynąć na zachowanie systemu czatu Luau.Pierwszy argument określa wydarzenie (z wykorzystaniem enum Enum.ChatCallbackType ), do którego zostanie powiązany drugi argument, funkcja.Domyślny system czatu Luau używa InvokeChatCallback do wzywania zarejestrowanych funkcji.Próba rejestracji powrotu tylko serwerowego lub klienta na peerze, który nie jest serwerem lub klientem, spowoduje wystąpienie błędu.Następujące sekcje opisują w jaki sposób zarejestrowane funkcje będą używane.

Podczas tworzenia okna czatu

Tylko dla klienta.Wzywany przed tym, jak klient stworzy okno czatu.Musi zwrócić tabelę ustawień, które mają zostać połączone z informacjami zwrotnymi z modułu ChatSettings.

Wiadomość o formacie klienta

Tylko dla klienta.Wzywany przed wyświetleniem przez klient wiadomości (czy to jest wiadomość czatu gracza, wiadomość systemowa, czy polecenie /me).Funkcja ta jest wywoływana za pomocą obiektu wiadomości i może (lub nie może) zwrócić tabelę, którą należy połączyć z message.ExtraData.

Wysyłanie wiadomości przez klienta

Nie uruchamiano w tym czasie.

Na serwerze odbieranie wiadomości

Tylko serwer.Wzywany, gdy serwer otrzymuje wiadomość od mówcy (zauważ, że mówcy mogą niekoniecznie być rozmówcą Player czatu).Ta metoda powrotna jest wywoływana z obiektem wiadomości.Funkcja może dokonywać zmian w obiekcie wiadomości, aby zmienić sposób przetwarzania wiadomości. Obiekt wiadomości musi zostać zwrócony, aby ten powrót zrobił coś.: Ustawienie tego powrotu może pozwolić serwerowi na przykład:

  • Ustaw message.ShouldDeliver na fałsz, aby anulować dostarczanie wiadomości do graczy (przydatne do wdrożenia listy wykluczeń czatu)
  • Zdobądź/ustaw kolor nazwy głośnika ( message.ExtraData.NameColor , Color3) na podstawie wiadomości-na-wiadomość

Parametry

callbackType: Enum.ChatCallbackType

Wezwanie, do którego funkcja zostanie zarejestrowana (określa w jaki sposób funkcja jest nazywana).

Wartość domyślna: ""
callbackFunction: function

Funkcja do wezwania, gdy wezwany zostanie powrót za pomocą Czat:InvokeChatCallback.

Wartość domyślna: ""

Zwroty

()

SetBubbleChatSettings

()

Funkcja ta dostosowuje różne ustawienia czatu bąbelkowego w grze.

Zanim to użyjesz, upewnij się, że czat bąbelkowy jest włączony poprzez ustawienie Chat.BubbleChatEnabled na prawdę.

Argument 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.Zauważ, że nie musisz włączyć ich wszystkich w argumentach ustawień, pominięcie niektórych spowoduje, że zachowają swoją domyślną wartość.

Funkcja ta jest tylko po stronie klienta, próba wezwania jej na serwerze wywoła błąd.

Parametry

settings: Variant

Tabela ustawień.

Wartość domyślna: ""

Zwroty

()

Przykłady kodu

When run from a LocalScript, this snippet will make all the chat bubbles appear with bigger text under a different font and a light blue background. Note that all the other settings will keep their default value.

Customize visual aspects

local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({
BackgroundColor3 = Color3.fromRGB(180, 210, 228),
TextSize = 20,
Font = Enum.Font.Cartoon,
})

If you want to reset the bubble chat to its default look, you can call this function with an empty table, because any setting you omit from the argument will result in it returning to its default value:

Restore default settings

local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({})

CanUserChatAsync

Wynik

Zwróci fałsz, jeśli gracz z określonym Player.UserId nie może rozmawiać z powodu ustawień konta.

Parametry

userId: number
Wartość domyślna: ""

Zwroty

CanUsersChatAsync

Wynik

Zwróci fałsz, jeśli dwaj użytkownicy nie mogą się komunikować, ponieważ ich ustawienia konta nie pozwalają na to.

Parametry

userIdFrom: number
Wartość domyślna: ""
userIdTo: number
Wartość domyślna: ""

Zwroty

FilterStringAsync

Wynik

Ostrzeżenie o częściowej deprecacji : Wezwanie tej funkcji z klienta za pomocą LocalScript jest przestarzałe i zostanie wyłączone w przyszłości.Filtrowanie tekstu powinno być wykonywane z Script na serwerze za pomocą podobnie nazywanego TextService:FilterStringAsync(), który używa innego zestawu parametrów i wpisywaćzwrotu.

Gry, które nie filtrują właściwie tekstu generowanego przez gracza, mogą być przedmiotem akcjimoderacji.Upewnij się, że gra prawidłowo filtruje tekst przed jego opublikowaniem.

FilterStringAsync filtruje strunę za pomocą filtrowania odpowiedniego dla nadawcy i gracz.Jeśli filtrowany ciąg ma być używany do trwałej wiadomość, takiej jak nazwa robić zakupy, pisania na tablicy itp., to funkcja powinna być wywołana z autorem jako zarówno nadawcą, jak i odbiorcą.

Funkcja ta powinna być używana za każdym razem , gdy gracz może wprowadzić niestandardowy tekst w dowolnym kontekście , najczęściej za pomocą >.Niektóre przykłady tekstu, które mają być filtrowane:

  • Niestandardowe wiadomości czatu
  • Niestandardowe nazwy postaci
  • Nazwy dla sklepu w graw stylu tycoon

Parametry

stringToFilter: string

Surowa struna, która ma być przefiltrowana, dokładnie tak, jak wpisana przez gracza.

Wartość domyślna: ""
playerFrom: Player

Autor tekstu.

Wartość domyślna: ""
playerTo: Player

Planowany odbiorca przekazanego tekstu; skorzystaj z autora, jeśli tekst jest trwały (patrz opis).

Wartość domyślna: ""

Zwroty

FilterStringForBroadcast

Wynik

Filtruje strunę wysłaną z graczaOd do transmisji do żadnego konkretnego celu. W przefiltrowanej wiadomości jest więcej ograniczeń niż Chat:FilterStringAsync() .

Niektóre przykłady tego, gdzie można użyć tej metody:

  • Ściany wiadomości
  • Krzyki międzyserwerowe
  • Znaki utworzone przez użytkownika

Wezwanie FilterString z LocalScripts jest przestarzałe i zostanie wyłączone w przyszłości.Filtrowanie tekstu powinno być wykonywane ze strony serwera Scripts za pomocą FilterStringAsync.

Uwaga: Gra nie wykorzystująca funkcji filtrowania do niestandardowej czatu lub innego tekstu generowanego przez użytkownika może być poddana akcjimoderacji.

Parametry

stringToFilter: string

Struna wiadomości jest filtrowana.

Wartość domyślna: ""
playerFrom: Player

Instancja gracza wysyłającego wiadomość.

Wartość domyślna: ""

Zwroty

Filtrowana ciąg wiadomości.

Przykłady kodu

The following example shows a simple way to use the FilterStringForBroadcast function. The example uses the message variable as the stringToFilter argument and the local player as the playerFrom argument.

The example then prints the result of the filtering function, FilteredString.

Chat:FilterStringForBroadcast

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)

Zdarzenia

Chatted

Wypala się, gdy Chat:Chat() jest wzywany.

Parametry

part: Instance
message: string