I dislike being spoonfed and this post is solely to seek advice on where to start.
I’m looking to create a voice chat only server system for my game, similar to ERLC.
ERLC (by @mrfergie and @Shawnyg) is a free to play game with VC enabled, on their settings UI players have an option to join a game with only other VC enabled players.
Youd be required to create the experience with voice enabled, and an extra experience… Reason being that voice-enabled players would have to have the feature enabled first, then you check their properties… Voice enabled players can then be auto-teleported to the extra experience, after the server says they’ve got voice. The extra experience has to be locked so only teleported players can arrive there
You can only check if a player has VC through the client, so you can try using Remote events to fire a player’s client and teleport them to a VC server.
you can use :IsVoiceEnabledForUserIdAsync()
to check if the player has voice chat enabled, obviously you’d need to define the player you’re trying to teleport to use this function, for example:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local teleportEvent = ReplicatedStorage:FindFirstChild("Teleport")
local TeleportService = game:GetService("TeleportService")
local VCService = game:GetService("VoiceChatService")
teleportEvent.OnClientEvent:Connect(function()
local voiceChatEnabled = VCService:IsVoiceEnabledForUserIdAsync(player.UserId)
if voiceChatEnabled then
TeleportService:Teleport(placeId, player)
else
game.StarterGui:SetCore("SendNotification", {
Title = "Join Error";
Text = "You do not have voice chat enabled!";
Icon = "http://www.roblox.com/asset/?id=...";
Duration = 5;
})
end
end)