Sprach-Chat

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Sprach-Chat ist eine Funktion, die eine Echtzeit-Sprachkommunikation zwischen Ihnen und anderen Spielern ermöglicht. Sie ist nur für Orte verfügbar, die maximal 100 Spieler unterstützen.

Zwei Benutzer chatten mit Sprache innerhalb eines Spiels.

Sprach-Chat aktivieren

Der Sprach-Chat ist standardmäßig für verifizierte 13+ Benutzer in allen neuen Spielen mit maximal 100 Spielern aktiviert. Die Aktivierung des Sprach-Chats ist erforderlich, um die Sprach-zu-Text-API zu verwenden.

Um die Sprache für bestehende Spiele zu aktivieren oder sie für neue zu deaktivieren:

  1. Öffnen Sie Ihr Spiel im Studio.
  2. Öffnen Sie DateiErfahrungs-Einstellungen.
  3. Navigieren Sie zum Tab Kommunikation auf der linken Seite des Fensters.
  4. Schalten Sie Sprach-Chat aktivieren auf Ihre gewünschte Einstellung.
  5. OPTIONAL
    Für eine bessere Kommunikation unter den Spielern in Ihrem Spiel aktivieren Sie Kamera aktivieren, um berechtigten Spielern zu ermöglichen, ihren Avatar mit ihrer Bewegung zu animieren.
  6. Veröffentlichen Sie den Ort, um die Änderungen zu speichern.

Maximale Spieleranzahl festlegen

Wenn Sie zuvor die maximale Anzahl von Spielern in einem Ort auf mehr als 100 festgelegt haben, müssen Sie diese reduzieren, um den Sprach-Chat zu unterstützen.

  1. Wählen Sie das Spiel im Creator Dashboard aus und navigieren Sie dann zu KonfigurierenOrte.
  2. Wählen Sie den gewünschten Ort aus und navigieren Sie dann zu Zugriff in der linken Spalte.
  3. Geben Sie für Maximale Besucheranzahl eine Zahl ein, die kleiner oder gleich 100 ist.
  4. Klicken Sie auf die Schaltfläche Änderungen speichern.

Wenn Sie die maximale Anzahl von Spielern in einem Ort auf weniger als 100 aktualisieren, kann es bereits Server geben, die auf eine andere, höhere Zahl konfiguriert sind. Da diese Server den Sprach-Chat nicht unterstützen, wird empfohlen, die Server neu zu starten.

Sprachverhalten anpassen

Der Sprach-Chat ist standardmäßig abstandsabhängig, wobei die Lautstärke der Teilnehmer basierend auf der Nähe zueinander angepasst wird. Sie können jedoch UseAudioApi auf Enabled setzen, um die Kontrolle darüber zu übernehmen, wie Stimmen in Ihrem Spiel eingerichtet und verwendet werden.

Wenn VoiceChatService noch nicht angezeigt wird:

  1. Klicken Sie mit der rechten Maustaste im Explorer-Fenster und wählen Sie Dienste anzeigen… aus dem Kontextmenü.

  2. Wählen Sie VoiceChatService im Popup-Fenster aus und klicken Sie auf Einfügen. Der Dienst erscheint in der Explorer-Hierarchie.

    VoiceChatService in der Explorer-Hierarchie
  3. Stellen Sie sicher, dass UseAudioApi auf Enabled im Eigenschaften-Fenster gesetzt ist. Dies könnte bereits für Sie erledigt sein.

Team-basiert

Um einen Team-basierten Chat zu implementieren, bei dem nur Teamkollegen einander hören können, können Sie das folgende Script innerhalb von ServerScriptService verwenden:

Team-Chat
local Teams = game:GetService("Teams")
local function findAudioInput(forPlayer : Player) : AudioDeviceInput?
-- Geht davon aus, dass es nur ein AudioDeviceInput pro Spieler gibt, das dem Spielerobjekt zugeordnet ist
-- Dies wird für Sie bereitgestellt, wenn VoiceChatService.EnableDefaultVoice true ist
-- Möglicherweise muss es für Allgemeinheit umgearbeitet werden, wenn Ihr Ort AudioDeviceInput-Objekte anderswo platziert
return forPlayer:FindFirstChildWhichIsA("AudioDeviceInput")
end
local function onTeamChanged(player : Player)
local team = player.Team
if not team then return end
local device = findAudioInput(player)
if not device then return end
-- Nur Teamkollegen erlauben, einander zu hören
device.AccessType = Enum.AccessModifierType.Allow
local allowed = {}
for _, player : Player in team:GetPlayers() do
table.insert(allowed, player.UserId)
end
device:SetUserIdAccessList(allowed)
end
local function onTeamAdded(team : Team)
team.PlayerAdded:Connect(onTeamChanged)
team.PlayerRemoved:Connect(onTeamChanged)
end
for _, team : Team in Teams:GetTeams() do
onTeamAdded(team)
end
Teams.ChildAdded:Connect(function(child : Instance)
if child:IsA("Team") then
onTeamAdded(child)
end
end)

Nicht-räumlich

Je nach den Bedürfnissen Ihres Spiels kann es sinnvoller sein, andere mit gleicher Lautstärke zu hören, unabhängig von ihrem geografischen Standort. Wenn Sie den Standard-Sprach-Chat deaktivieren, können Sie dann nicht-räumlichen Sprach-Chat durch das folgende Script innerhalb von ServerScriptService implementieren:

Nicht-Proximitäts-Chat
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local function wireUp(source : Instance, target : Instance)
local wire = Instance.new("Wire")
wire.SourceInstance = source
wire.TargetInstance = target
wire.Parent = source
end
-- Richten Sie einen globalen Lautstärkeregler für die Stimmen aller ein
local volumeSlider = Instance.new("AudioFader", Workspace)
local output = Instance.new("AudioDeviceOutput", Workspace)
wireUp(volumeSlider, output)
local function onPlayerAdded(player : Player)
local device = Instance.new("AudioDeviceInput", player)
device.Player = player
-- Leiten Sie den Mikrofoneingang jedes neuen Spielers zum globalen Lautstärkeregler
wireUp(device, volumeSlider)
end
for _, player in Players:GetPlayers() do
onPlayerAdded(player)
end
Players.PlayerAdded:Connect(onPlayerAdded)
LocalScript
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local function onDescendantAdded(descendant : Instance)
if descendant:IsA("Wire") then
descendant:Destroy()
end
end
for _, descendant in player:GetDescendants() do
onDescendantAdded(descendant)
end
player.DescendantAdded:Connect(onDescendantAdded)

Pro Ort deaktivieren

Wenn Sie den Sprach-Chat nicht für jeden Ort innerhalb Ihres Spiels aktivieren möchten, können Sie ihn in bestimmten Orten deaktivieren, die ansonsten für den Sprach-Chat berechtigt wären.

Um den Sprach-Chat für einen bestimmten Ort innerhalb eines Spiels zu deaktivieren:

  1. Klicken Sie mit der rechten Maustaste im Explorer-Fenster und wählen Sie Dienste anzeigen… aus dem Kontextmenü.

  2. Wählen Sie VoiceChatService im Popup-Fenster aus und klicken Sie auf Einfügen. Der Dienst erscheint in der Explorer-Hierarchie.

    VoiceChatService in der Explorer-Hierarchie
  3. Deaktivieren Sie mit VoiceChatService die Einstellung EnableDefaultVoice im Eigenschaften-Fenster.

  4. Veröffentlichen Sie den Ort, um die Änderungen zu speichern, und starten Sie die Server neu, um sicherzustellen, dass die Änderung für alle Server, die Ihr Spiel derzeit ausführen, wirksam wird.

Status überprüfen

Sie können überprüfen, ob ein Spieler den Sprach-Chat aktiviert hat, indem Sie IsVoiceEnabledForUserIdAsync() in einem LocalScript oder in einem Script mit RunContext, das auf Enum.RunContext.Client gesetzt ist, aufrufen.

Client-Skript - Sprach-Chat-Status überprüfen
local Players = game:GetService("Players")
local VoiceChatService = game:GetService("VoiceChatService")
local localPlayer = Players.LocalPlayer
local success, enabled = pcall(function()
return VoiceChatService:IsVoiceEnabledForUserIdAsync(localPlayer.UserId)
end)
if success and enabled then
print("Sprach-Chat aktiviert!")
end
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.