Proksimiteye Dayalı Sohbet

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Bu örnek, 3D dünyada birbirine yakın olan kullanıcılar için özel bir sohbeti nasıl uygulayacağınızı gösterir. Mesaj alıcısı olabilecek bir kullanıcının konumlarını belirlemek için TextSource kullanan bir fonksiyonla geri çağrıyı uzatır. Bu fonksiyon false dönerse, kullanıcının mesaj göndericisinden önceden belirlenmiş geçerli aralık dışında olduğu anlamına gelir, bu yüzden sistem o kullanıcıya mesajı iletmez.

Aşağıdakileri ServerScriptService içinde bir Script'e ekleyin:

Server

local TextChatService = game:GetService("TextChatService")
local Players = game:GetService("Players")
-- Proksimiteye dayalı sohbet için sohbet kanalını alın
-- Bu genel kanalı özel bir kanal ile değiştirebilirsiniz
local generalChannel: TextChannel = TextChatService:WaitForChild("TextChannels").RBXGeneral
-- Bir kullanıcının karakterinin konumunu almak için fonksiyon
local function getPositionFromUserId(userId: number)
-- Verilen kullanıcı kimliği ile ilişkilendirilmiş oyuncuyu alın
local targetPlayer = Players:GetPlayerByUserId(userId)
-- Eğer oyuncu mevcutsa, karakterinin konumunu alın
if targetPlayer then
local targetCharacter = targetPlayer.Character
if targetCharacter then
return targetCharacter:GetPivot().Position
end
end
-- Eğer oyuncu veya karakter bulunamazsa, varsayılan bir konum döndür
return Vector3.zero
end
-- Genel kanal için mesaj iletimini kontrol etmek üzere geri çağrıyı ayarlayın
generalChannel.ShouldDeliverCallback = function(textChatMessage: TextChatMessage, targetTextSource: TextSource)
-- Mesaj gönderen ve hedefin konumlarını alın
local sourcePos = getPositionFromUserId(textChatMessage.TextSource.UserId)
local targetPos = getPositionFromUserId(targetTextSource.UserId)
-- Gönderen ile hedef arasındaki mesafe 50 birimden azsa mesaj ilet
return (targetPos - sourcePos).Magnitude < 50
end
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.