Kullanıcılar ve oyuncular

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

Bir Roblox kullanıcısı bir oyuna katıldığında, Player olarak DataModel içinde temsil edilir. Bu Player nesnesi, kullanıcı adı, arkadaş listesi ve kaydedilmiş avatar karakteri gibi oyunlar arasında evrensel olan kullanıcı bilgilerini içerir. Ayrıca, bir kullanıcının oyuna katılması ve oyunundan ayrılması arasındaki yaşam döngüsünü etkileyen özellikler, yöntemler ve olaylar içerir. Her Player nesnesi, kullanıcının deneyimini özelleştirmek için kullanabileceğiniz dört önemli konteyneri de barındırır: Backpack, StarterGear, PlayerGui ve PlayerScripts.

Her Player, kullanıcının mevcut oyun içindeki alanına özgü kimliğini temsil eden bir User değeri olan Player.User özelliğini de açığa çıkarır. Kullanıcı kimliğinin nasıl çalıştığına dair daha fazla bilgi için, alan kaynaklı kullanıcı kimlikleri ve User türü hakkında daha fazla bilgi için Kullanıcılar ve alan kaynaklı kullanıcı kimlikleri sayfasına bakın.

Yaşam döngüsü

Players servisi, bir oyundaki tüm Player örneklerini içerir. Hem istemci hem de sunucu tarafındaki betikler, Players.PlayerAdded ve Players.PlayerRemoved olaylarına bağlanarak bir Player nesnesinin yaşam döngüsüne yanıt olarak işlemler gerçekleştirebilir. Betikler, karakterin doğması veya yok olması durumunda oyunla ilgili işlemler gerçekleştirmek için Player.CharacterAdded ve Player.CharacterRemoving olaylarına da bağlanabilir.

Kullanıcı katılması

Bir kullanıcı istemcisi bir oyuna bağlandığında, Players.PlayerAdded olayı tetiklenir ve katılan kullanıcının Player nesnesini geçirir; bu nesneyi, kullanıcı verilerini bir veri deposundan yüklemek veya oyuncuyu bir takıma atamak gibi çeşitli amaçlar için kullanabilirsiniz.

Örneğin, bir kullanıcının oyuna katıldığında verilerini yüklemek için PlayerAdded olayını bir Script içinde kullanarak, kullanıcı kimliğine göre veri deposunda saklanan kullanıcı verilerini alabilirsiniz:

ServerScriptService içinde Betik

local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
Players.PlayerAdded:Connect(function(player)
local userId = player.UserId
-- Veri deposu anahtarını oku
local getSuccess, currentData = pcall(function()
return playerDataStore:GetAsync(userId)
end)
if getSuccess then
print(currentData)
end
-- currentData ile daha fazla işlem yap
end)

Karakter doğması

Varsayılan olarak, bir kullanıcının Player.Character modeli, platform avatarını temsil eder ve Players.CharacterAutoLoads true olarak ayarlanmıştır. Bu, karakter modelinin kullanıcı oyuna katıldığında otomatik olarak doğacağı anlamına gelir.

Bir kullanıcının Player.Character'ı doğduğunda, StarterCharacterScripts içindeki Scripts ve LocalScripts karakter modeline kopyalanır ve Player.CharacterAdded olayı tetiklenir. Bu olay, dinleyicilerine yeni karakter modelini geçerek, karakterin Humanoid nesnesini bulup davranışını değiştirmek için kullanılabilir. Örneğin, avatarın kıyafetini değiştirmek için Humanoid:ApplyDescription() metodunu kullanabilirsiniz.

Karakterin yok olması

Oyuncunun Humanoid'i öldüğünde, sunucu otomatik olarak, Players.RespawnTime tarafından belirlenen süre kadar bekledikten sonra karakter modelini kaldırır. O zaman Player.CharacterRemoving olayını kullanarak diğer nesneleri sıfırlayabilir veya karakterle ilişkili verileri güncelleyebilirsiniz.

Kullanıcı çıkışı

Bir kullanıcı istemcisi bir oyundan ayrıldığında, sunucu, Players servisi içindeki ilişkili Player nesnesini yok eder. Bu noktada, Players.PlayerRemoving olayı tetiklenir ve kullanıcıyı ayıran Player nesnesini geçirir. Bunu, kullanıcı verilerini kaydetmek, bir puan tablosundan oyuncu istatistiklerini kaldırmak veya oyundaki oyuncu tarafından oluşturulmuş modelleri yok etmek gibi çeşitli amaçlar için kullanabilirsiniz.

Aşağıdaki örnek Script, PlayerRemoving olayını dinler ve kullanıcının verilerini kullanıcı kimliği altında bir veri deposuna kaydetmeye çalışır:

ServerScriptService içinde Betik

local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
Players.PlayerRemoving:Connect(function(player)
local userId = player.UserId
-- Oyundaki oyuncunun veri durumunu al
local currentData = getCurrentData(player)
-- Veri deposuna kaydet
local setSuccess, errorMessage = pcall(function()
playerDataStore:SetAsync(userId, currentData)
end)
if not setSuccess then
warn(errorMessage)
end
end)

Konteynerler

Bir kullanıcının istemcisini temsil eden her Player nesnesi, birkaç önemli konteyneri saklar: Backpack, StarterGear, PlayerGui ve PlayerScripts. Oyun çalışırken, "düzenleme" veri modelindeki birkaç konteyner, bunların içeriğini bu Player konteynerlerine kopyalar; StarterGui, PlayerGui'ya, StarterPack, Backpack'e ve StarterPlayerScripts'i PlayerScripts'e kopyalar.

Düzenleme ve çalışma veri modelleri arasındaki nesneleri eşleyen bir diyagram.

Tool nesneleri Backpack içinde oyuncunun envanterini oluşturur ve ekranın alt kısmında simge butonları olarak görüntülenir. Daha fazla bilgi için oyun içi araçlar sayfasına bakın.

Yukarıda gösterildiği gibi, StarterPack içeriği ve oyuncunun StarterGear'i, oyuncunun Character doğarken Backpack'e kopyalanır. Karakter öldüğünde, istemci Backpack'i yok eder ve yeni bir tane ile değiştirir.

Varsayılan Roblox envanter arayüzünü devre dışı bırakmak ve kendi arayüzünüzle değiştirmek için, varsayılan UI’yi devre dışı bırakma kılavuzunda belirtildiği gibi bir LocalScript içinde StarterGui:SetCoreGuiEnabled() çağrısını gerçekleştirin.

Kullanıcıları Yasaklama

Oyunlarınızda saygı ve adil oyun sağlamak için, kuralları veya topluluk yönergelerini ihlal eden kullanıcıları yasaklayabilirsiniz. Yasaklama sürelerini, yasak mesajlarını değiştirebilir ve hatta potansiyel alternatif hesaplara yasaklamayı uzatabilirsiniz. Bu özelliği kullanırken, yasaklama yönergelerine ve mesajlaşmaya uymalısınız.

Yasaklarla çalışmak için birkaç seçeneğiniz vardır:

Cihaz engelleme

Bir hesabı yasaklamanın yanı sıra, Players:BanAsync(), yapılandırma tablosundaki ApplyDeviceBlock alanı aracılığıyla cihaz engelleme desteği sağlar. ApplyDeviceBlock true olarak ayarlandığında, oyununuzda şu anda bağlı olan bir kullanıcıyı yasakladığınızda, o kullanıcıya ait olan cihaz da 24 saat boyunca tekrar katılmak üzere engellenir. Bu seçenek, yasaklardan kaçınmayı zorlaştırır; yasaklanan oyuncular aynı cihazdan yeni bir hesapla hemen oyuna katılamazlar.

  • Cihaz engelleme, yalnızca masaüstü (Windows ve macOS) oyuncularına uygulanır. Mobil cihazlar veya konsollara uygulanmaz.
  • Cihaz engeli, cihazı kullanmış herhangi bir diğer hesaba yasak olarak geçmez.
  • Etkilenen kullanıcı üzerindeki yasak kaldırma API'sini çağırmak, o kullanıcının cihazına bağlı her etkin cihaz engelini hemen kaldırır ve böylece tekrar oyuna katılmalarına izin verilmiş olur.

Yasaklama yönergeleri

Oyunlarınızda yasakları uygularken, aşağıdaki yönergelere uyun:

  • Oyun kuralları Roblox'un Topluluk Standartları ve Kullanım Şartları ile çelişmemelidir. Örneğin, cinsiyetleri nedeniyle birisini dışlayan bir oyun kuralı oluşturamazsınız, bu Roblox'un Ayrımcılık, Hakaret ve Nefret Söylemi politikası ihlali olur.
  • Oluşturucular oyun kurallarını tüm kullanıcılar için erişilebilir bir yere açıkça belirtmelidir.
  • Oluşturucular oyun kurallarını adil bir şekilde uygulamalı ve belirli kullanıcıları keyfi bir şekilde hedef almamalıdır.
  • Kullanıcılar yasaklarının yanlış olduğu inancındaysalar doğrudan oluşturuculara itiraz edebilirler. Roblox, yalnızca kullanıcının oluşturucunun oyun kurallarının veya bu kuralların uygulanmasının Topluluk Standartları ihlal ettiğini düşündüğü durumlarda bu itirazları ara buluculuğunu yapmaz.
  • Roblox, bir oluşturucunun oyun kurallarının veya kuralların uygulanmasının Topluluk Standartları ihlal ettiğine dair bir neden varsa bir oyunu moderasyon yapabilir.

Mesaj yönergeleri

Bir kullanıcı yasaklandığında, yasak süresi ve nedeni gibi bilgileri içeren bir hata modalı alır. Metin filtrelenmiş mesaj alanında, ek bilgi olarak itiraz veya iletişim bilgilerini dahil edebilirsiniz, yeter ki Roblox'un Topluluk Standartları ile uyumlu olun.

Örneğin, yasak mesajlarınızda marka isimleri ve platform adlarına atıfta bulunmanıza izin verilmektedir:

  • "Grup/oyun sayfamda Discord'u ziyaret edin"
  • "Bana Twitter veya X üzerinden mesaj atın"

Bu mesaj alanında kişisel bilgiler veya doğrudan bağlantılar yer alamaz. Bu, özel bir kullanıcı adı veya kullanıcı adı paylaşmayı ya da bir Discord sunucusuna veya X hesabına doğrudan bir bağlantı sağlamayı içerir.

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.