Players
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Players hizmeti, mevcut olarak Roblox sunucusuna bağlanan geleneksel veya şimdiki klienler için Player nesneleri içerir. Ayrıca, bir dünyayapılandırması hakkında bilgi sağlar, böylece karakter görünümleri, arkadaşlar ve avatar başlığı gibi oyuncular bağlantısı olmayan görüntüleri gö
Özet
Özellikler
Players üç metodunu (BanAsync() , UnbanAsync() ve 1> Class.Players:GetBanHistoryAsync()|GetBanHistoryAsync()1> ) ban API'sini oluşturur. Bu özellik kodlanabilir ve s
Balon sohbetinin etkinleştirilip etkinleştirilmediğini gösterir. Bu, Players:SetChatStyle() metoduyla ayarlanır.
Class.Character|Characters 'in otomatik olarak yeniden doğacağını gösterir.
Klasik sohbetin etkinleştirilip etkinleştirilmediğini gösterir; Players:SetChatStyle() yöntemi tarafından ayarlanır.
Class.LocalScript için çalışan LocalScript ile.
Bir sunucuda olabilecek maksimum oyuncu sayısı.
Bir sunucunun tercih edilen oyuncu sayısı.
Bir oyuncu karakterinin yeniden doğması için alınan süreyi kontrol eder.
Yöntemler
Yerel oyuncu sohbetini verilen mesaj yapar.
Eğer oyun içindeyse Player ile birlikte verilen UserId ile döndürür.
Class.Player whose Character 1>nil1> if 4> 7>kullanılamaz.
Mevcut olarak bağlantılı tüm Player nesnelerin bir tablosunu iade eder.
BubbleChat ve ClassicChat'in kullanıldığını ayarlar ve TeamChat'e ve Chat ne yapacağını söyler.
LocalPlayer sohbetini verilen mesajı gösterir, bu sadece aynı takımda olan kullanıcılar tarafından görüntülenebilir.
Kullanıcıları deneyiminizden yasaklar, özellikleri uzunluk, neden, yasağın tüm evren veya sadece mevcut dünyaiçin uygulanıp uygulanmadığını gibi seçeneklerle kullanıcıları yasaklar. Bu yöntem Players.BanningEnabled özelliği tarafından etkinleştirilir ve devre dışı bırakılır, bu da Studio'da değiştirilebilir.
- CreateHumanoidModelFromDescription(description : HumanoidDescription,rigType : Enum.HumanoidRigType,assetTypeVerification : Enum.AssetTypeVerification):Model
HumanoidDescription'ta belirtilen her şeyi içeren bir karakter Modeli döndürür ve R6 veya R15 olarak RigType tarafından belirtilmiştir.
Geçerli kullanıcının belirttiği avatar ile eşleşen bir karakter Model oluşturur.
Denetleyici alanındaki kullanıcının ban ve unban tarihini alır. Bu yöntem Players.BanningEnabled özelliği tarafından etkinleştirilmiş ve deaktif edilmiştir, bu da Studio'da değiştirilebilir.
Verilen bir kullanıcının karakter görünümü hakkında bilgi iade eder.
Tüm verilen oyuncunun arkadaşları için bilgi içeren bir FriendPages nesnemi içerir.
Belirli bir kıyafet için HumanoidDescription döndürür, bu kıyafetin parçaları/renkleri/Animasyonları vb. ile ayarlanacaktır.
Yazılır kullanıcının belirttiği avatar için tüm donanımları belirtir bir HumanoidDescription döndürür.
Verilen bir UserId ile kullanıcının hesabının kullanıcı adını Roblox sitesine gönderir.
Bir kullanıcının belirli bir kullanıcı adı ile sahip olduğu hesabın userId ına bir sorgu gönderir.
- GetUserThumbnailAsync(userId : number,thumbnailType : Enum.ThumbnailType,thumbnailSize : Enum.ThumbnailSize):Tuple
Bir oyuncu başlığının boyutunu ve yazaçıklayan bir oyuncu miniaturasının içeriğini iade eder, ayrıca resmin kullanılabilir olup olmadığını tanımlayan bir boşluk.
Class.Players:BanAsync() veya Players.BanningEnabled'den yasaklanan oyuncuların yasağını kaldır. Bu yöntem Class.Players.BanningEnabled özelliği tarafından etkinleştirilir ve deaktif edilir, bu da Studio'da 1>Kullanıcı Sınırlama Açık Bulut API'si1> yapılandırılır.
Etkinlikler
Bir oyuncu oyuna girdiğinde ateş eder.
Oyun sunucusu, bir oyuncunun üyeliğinin değiştiğini algıladığında ateş eder.
Bir oyuncu oyundan ayrılmaya hazırken ateş eder.
Oyun sunucusu, belli bir abonelik için kullanıcının durumunu değiştirdiğinde ateş eder.
Özellikler
BanningEnabled
Players üç metodunu (BanAsync() , UnbanAsync() ve 1> Class.Players:GetBanHistoryAsync()|GetBanHistoryAsync()1> ) ban API'sini oluşturur. Bu özellik kodlanabilir ve s
BubbleChat
The BubbleChat özelliği, balon sohbetinin etkinleştirilip etkinleştirilmediğini gösterir. Bu, Players:SetChatStyle() metodu kullanılarak ayarlanır.
Bu sohbet modu aktifleştirildiğinde, oyun sohbetleri ekranın sol üst köşesindeki sohbet kullanıcı arayüzünde görüntüler.
Ayrıca iki diğer sohbet modu var, Players.ClassicChat ve hem klasik hem de balon sohbeti etkinleştirilen bir sohbet modu.
CharacterAutoLoads
CharacterAutoLoads özelliği, Class.Character|Characters 'in otomatik olarak yeniden doğacağını gösterir.Varsayılan değer true'dir.
Bu özellik devre dışı bırakılmışsa (ya da false), oyuncu Class.Character|Characters ortaya çıkmayacak tane kadar Player:LoadCharacter() işlevi çağrılana kadar, oyuncular deneyime katılana kadar.
Bu, oyuncuların sonsuz hayatları olmayan deneyimlerde yararlı olabilir, tıpkı rekabetçi oyunlarda oyuncuların bir oyun turu sona erene kadar yeniden doğum yapmadığı gibi.
Kod Örnekleri
local Players = game:GetService("Players")
-- Set CharacterAutoLoads to false
Players.CharacterAutoLoads = false
-- Remove player's character from workspace on death
Players.PlayerAdded:Connect(function(player)
while true do
local char = player.CharacterAdded:Wait()
char.Humanoid.Died:Connect(function()
char:Destroy()
end)
end
end)
-- Respawn all dead players once every 10 seconds
while true do
local players = Players:GetChildren()
-- Check if each player is dead by checking if they have no character, if dead load that player's character
for _, player in pairs(players) do
if not workspace:FindFirstChild(player.Name) then
player:LoadCharacter()
end
end
-- Wait 10 seconds until next respawn check
task.wait(10)
end
ClassicChat
Klasik sohbetin etkinleştirilip etkinleştirilmediğini gösterir. Bu özellik Players:SetChatStyle() metodu kullanılarak ayarlanır Enum.ChatStyle kütüphanesi.
Bu sohbet modu aktifleştirildiğinde, oyun sohbetleri gönderenin kafasının üzerinde bir balon gösterir.
Ayrıca iki diğer sohbet modu var, Players.BubbleChat ve hem klasik hem de baloncuk sohbeti etkinleştiren bir sohbet modu.
LocalPlayer
LocalPlayer özelliği, deneyimin yürütücüsü olan Player için okunur bir özelliktir.
Bu özellik sadece LocalScripts ve ModuleScripts gerektiği için tanımlanır, çünkü onlar kliende çalışır. sunucuiçin, Script nesnelerin kodunu çalıştırmak için bu özellik 1> nil1> dir.
MaxPlayers
The MaxPlayers özelliği, bir sunucuda olabilecek maksimum oyuncu sayısını belirler. Bu özellik yalnızca Yaratıcı Dashboard'ındaki özel bir dünyaveya Oyun Ayarları üzerindeki belirli bir yerin ayarlarının üzerinden ayarlanabilir.
PreferredPlayers
The PreferredPlayers özelliği, Roblox'un maç yapıcının sunucularını dolduracağı oyuncuların sayısını gösterir. Bu sayı deneyimin desteklediği maksimum oyuncu sayısından daha düşük olacaktır ( Players.MaxPlayers ) .
RespawnTime
RespawnTime özelliği, oyuncunun yeniden doğması için alınan süreyi, saniye olarak kontrol eder. Players.CharacterAutoLoads doğruysa, varsayılan 5.0 saniye olur.
Bu, deneyiminizin türüne bağlı olarak yeniden doğma süresini değiştirmek istediğinizde yararlıdır, ancak oyuncuları bireysel olarak oluşturmak istemez.
Bu özellik Script içinden ayarlanabilir, ancak Studio'nun Players penceresindeki Oyuncular nesnesine daha kolay ayarlanabilir.
UseStrafingAnimations
Yöntemler
Chat
Bu işlev, lokal oyuncunun verilen mesajı yapar. Bu öğe koruma altında olduğundan, bunu bir Script veya LocalScript kullanmaya çalışmak bir hata yaratacaktır.
Bunun yerine, özel bir sohbet sistemi oluştururken, sohbete erişen gerektiren bir sistem için Chat hizmetinin Class.Sohbet:Sohbet() fonksiyonunu kullanabilirsiniz.
Parametreler
Mesaj sohbet edildi.
Dönüşler
Kod Örnekleri
-- Command bar
game:GetService("Players"):Chat("Hello, world!") --Results in 'Hello, world!' appearing in the Chat log under your Player's name.
-- Script
local Players = game:GetService("Players")
Players:Chat("Hello, world!") --Errors
GetPlayerByUserId
Bu işlev her player i Players içindeki herhangi birinin Player.UserId ile eşleşen kullanıcı için arar. Eğer böyle bir oyuncu yoksa, 1> nil1> ı döndürür. Bu işlevle aşağıdaki işlevle eşdeğer:
local Players = game:GetService("Players")
local function getPlayerByUserId(userId)
for _, player in Players:GetPlayers() do
if player.UserId == userId then
return player
end
end
end
Bu yöntem, bir geliştirici ürününün satıcısını bulmak için MarketplaceService.ProcessReceipt kullanır, bu da satıcının KullanıcıId'ini içeren bir tablo sağlar. Çoğu oyun, ürünleri vermek için oyuncuya bir referans gerektirir.
Parametreler
Oyuncunun belirtilen Player.UserId ı.
Dönüşler
Kod Örnekleri
local Players = game:GetService("Players")
local player = Players:GetPlayerByUserId(1)
if player then
print("Player with userId 1 is in this server! Their name is: " .. player.Name)
else
print("Player with userId 1 is not in this server!")
end
local MarketplaceService = game:GetService("MarketplaceService")
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
-- Data store for tracking purchases that were successfully processed
local purchaseHistoryStore = DataStoreService:GetDataStore("PurchaseHistory")
-- Table setup containing product IDs and functions for handling purchases
local productFunctions = {}
-- ProductId 123123 for a full heal
productFunctions[123123] = function(_receipt, player)
-- Logic/code for player buying a full heal (may vary)
if player.Character and player.Character:FindFirstChild("Humanoid") then
-- Heal the player to full health
player.Character.Humanoid.Health = player.Character.Humanoid.MaxHealth
-- Indicate a successful purchase
return true
end
end
-- ProductId 456456 for 100 gold
productFunctions[456456] = function(_receipt, player)
-- Logic/code for player buying 100 gold (may vary)
local stats = player:FindFirstChild("leaderstats")
local gold = stats and stats:FindFirstChild("Gold")
if gold then
gold.Value = gold.Value + 100
-- Indicate a successful purchase
return true
end
end
-- The core 'ProcessReceipt' callback function
local function processReceipt(receiptInfo)
-- Determine if the product was already granted by checking the data store
local playerProductKey = receiptInfo.PlayerId .. "_" .. receiptInfo.PurchaseId
local purchased = false
local success, result, errorMessage
success, errorMessage = pcall(function()
purchased = purchaseHistoryStore:GetAsync(playerProductKey)
end)
-- If purchase was recorded, the product was already granted
if success and purchased then
return Enum.ProductPurchaseDecision.PurchaseGranted
elseif not success then
error("Data store error:" .. errorMessage)
end
-- Determine if the product was already granted by checking the data store
local playerProductKey = receiptInfo.PlayerId .. "_" .. receiptInfo.PurchaseId
local success, isPurchaseRecorded = pcall(function()
return purchaseHistoryStore:UpdateAsync(playerProductKey, function(alreadyPurchased)
if alreadyPurchased then
return true
end
-- Find the player who made the purchase in the server
local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
if not player then
-- The player probably left the game
-- If they come back, the callback will be called again
return nil
end
local handler = productFunctions[receiptInfo.ProductId]
local success, result = pcall(handler, receiptInfo, player)
-- If granting the product failed, do NOT record the purchase in datastores.
if not success or not result then
error("Failed to process a product purchase for ProductId: " .. tostring(receiptInfo.ProductId) .. " Player: " .. tostring(player) .. " Error: " .. tostring(result))
return nil
end
-- Record the transaction in purchaseHistoryStore.
return true
end)
end)
if not success then
error("Failed to process receipt due to data store error.")
return Enum.ProductPurchaseDecision.NotProcessedYet
elseif isPurchaseRecorded == nil then
-- Didn't update the value in data store.
return Enum.ProductPurchaseDecision.NotProcessedYet
else
-- IMPORTANT: Tell Roblox that the game successfully handled the purchase
return Enum.ProductPurchaseDecision.PurchaseGranted
end
end
-- Set the callback; this can only be done once by one script on the server!
MarketplaceService.ProcessReceipt = processReceipt
GetPlayerFromCharacter
Bu işlev, Player ile verilen Player.Character veya nil ile ilişkili geri döndüğünü gösterir. Aynı işleve eşdeğer olarak, 2>nil2> ifadesi için şu işlev gösterilir:
local function getPlayerFromCharacter(character)
for _, player in game:GetService("Players"):GetPlayers() do
if player.Character == character then
return player
end
end
end
Bu yöntem genellikle oyuncunun karakterinin bir etkinliği başladığında kullanılır (örneğin, onların Class.Humanoid``Class.Humanoid.Died|dying ). Bu tür bir etkinliğin Oyuncu nesneyine doğrudan erişim sağlamaz, ancak bu yöntem kolay erişim sağlar. Bu iş
Parametreler
Oyuncudan almak istediğiniz bir karakter istanzi.
Dönüşler
Kod Örnekleri
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local PLAYER_NAME = "Nightriff"
local character = Workspace:FindFirstChild(PLAYER_NAME)
local player = Players:GetPlayerFromCharacter(character)
if player then
print(`Player {player.Name} ({player.UserId}) is in the game`)
else
print(`Player {PLAYER_NAME} is not in the game!`)
end
GetPlayers
Bu yöntem, mevcut olarak bağlantılı tüm Player nesnelerin bir tablosunu iade eder. Aynı şekilde işler Instance:GetChildren() ile aynıdır, ancak sadece Player nesneleri 1> Class.Players</
local Players = game:GetService("Players")for _, player in Players:GetPlayers() doprint(player.Name)end
Class.Players.PlayerAdded'e bağlanan kodlar genellikle her oyuncuyu oyuna işlemek istiyor. Bu yöntem, mevcut oyuncuların PlayerAdded ın ateşlenmesini itermek için kullanışlıdır! Bu yöntemi kullanmak, her oyuncuyu kaçırmayı önler!
local Players = game:GetService("Players")
local function onPlayerAdded(player)
print("Player: " .. player.Name)
end
for _, player in Players:GetPlayers() do
onPlayerAdded(player)
end
Players.PlayerAdded:Connect(onPlayerAdded)
Dönüşler
sunucu'da bulunan tüm oyuncuları içeren bir tablo.
Kod Örnekleri
local Players = game:GetService("Players")
local function onCharacterAdded(character)
-- Give them sparkles on their head if they don't have them yet
if not character:FindFirstChild("Sparkles") then
local sparkles = Instance.new("Sparkles")
sparkles.Parent = character:WaitForChild("Head")
end
end
local function onPlayerAdded(player)
-- Check if they already spawned in
if player.Character then
onCharacterAdded(player.Character)
end
-- Listen for the player (re)spawning
player.CharacterAdded:Connect(onCharacterAdded)
end
Players.PlayerAdded:Connect(onPlayerAdded)
SetChatStyle
Bu, BubbleChat ve ClassicChat'in kullanıldığını ayarlar ve TeamChat ve Chat'in Enum.ChatStyle kütüphanesini kullanarak ne yapacağını söyler. Bu öğe koruma altındadır, bu nedenle bir Script veya LocalScript içinde kullanmaya çalışmak bir hata yaratacaktır.
Bu işlev, oyun tarafından sohbet modu ayarlandığında içeride kullanılır.
Parametreler
Belirlenen sohbet stilinin ayarlanması.
Dönüşler
Kod Örnekleri
-- Command bar
game.Players:SetChatStyle(Enum.ChatStyle.Classic) -- Set's chat style to Classic
-- LocalScript
local Players = game:GetService("Players")
Players:SetChatStyle(Enum.ChatStyle.Classic) -- Errors
TeamChat
Bu işlev, Players.LocalPlayer sohbetini verilen mesajı gösterir, bu sadece aynı takımda olan kullanıcılar tarafından görüntülenebilir. Bu öğe koruma altında olduğundan, Script veya LocalScript ile göndermeyi denemek bir hata yapacaktır.
Bu işlev, Players.LocalPlayer bir takıma bir mesaj gönderdiğinde içeride kullanılır.
Parametreler
Mesaj sohbet ediliyor.
Dönüşler
Kod Örnekleri
-- Command bar
game.Players:TeamChat("Hello World") -- Sends a "Hello World" message to all players on the local player's team
-- LocalScript
local Players = game:GetService("Players")
Players:TeamChat("Hello World") -- Errors
BanAsync
The Players:BanAsync() method allows you to easily ban users who violate your experience's guidelines. You can specify the ban duration, enable the ban to propagate to suspected alternative accounts, and provide a message to the banned user in accordance with the Kullanım Kılavuzu . You should also post your experience rules somewhere accessible to all users and
Ban ve Mesajlaşma
Yasaklanmış kullanıcılar derhal yerlerinden uzaklaştırılacak ve tekrar deneyiminize katılmalarını engelleyecek. Onlar, yasaklama zamanını ve DisplayReason ile ilgili hata modunu gösteren bir hata filtreile sunulacak. Roblox
Yerler ve Evren
Varsayılan olarak, yasaklar o evrenin herhangi bir yerine uzanır. Ban'ın bu API'nin çağrıldığı yere sınırlı olması için ApplyToUniverse ile false arasında yapılandırın. Ancak, kullanıcı, kullanıcının yerini kullanıcının evrenin tü
Alternatif Hesaplar
Kullanıcılar genellikle farklı hesapların altında oynar, bunlara alternatif hesaplar veya alt hesaplar olarak bilinir, bu bazen hesap yasağını çevirmeye kullanılır. Banlamak için kullanıcıların bir kaynağını kapatmak için yapılandırmak ile bütün alternatif hesapları kapat
Yasağın Süresi
Tüm ihlaller aynı değildir, bu yüzden tü
Hatalar ve Hızlandırma
Bu yöntem, bir HTTP çağrısını arka plan hizmetlerine çağırır, bu da sınırlama veya başarısızlık içindedir. Eğer bu API'yi birden fazla UserId ile çağırırsanız, bu yö
HTTP failure for UserId 2: Timedout, HTTP 504 (Service unavailable) failure for UserId 4: Service exception
Mesaj her zaman bir HTTP hata olması durumunda failure for UserId {} içerir.
Müşteri-Taraflı Gereksinim
Kullanıcıların yasaklanmasıyla ilgili riskler nedeniyle, bu yöntem sadece üst düzey deneyim sunucusu (klien tarafı çağrıları bir hata yoluyla sonuçlanacaktır) üzerinde çağrılabilir (kullanıcıların yasaklanmasıyla ilgili riskler Studio'da, çalışma yaratımsırasında veya üretimde uygulanmayan t
Bu API, Kullanıcı Sınırları Açık Bulut API kullanır. Bu API'leri, yasaklarınızı üçüncü parti uygulamalarda yönetmek için kullanabilirsiniz.
Parametreler
UserIds (gerekli; mat阵) — Oyuncuların yasaklanacak UserIds — Maximum boyutu 50 dir.
ApplyToUniverse (isteğe bağlı; booleto) — Ban'ın deneyim evrenindeki tüm yerlere yayılmasına izin verin.Varsayılan şu ki true.
Duration (gerekli; sayı) — yasak'ın süresi, saniye olarak. Kalıcı birbanların değeri -1 olmalıdır. 0 ve tüm diğer olumsuz değerler geçersizdir.
DisplayReason (gerekli; dizi) — Deneyimlere katılmaya çalışırken kullanıcılara gösterilecek mesaj. Maksimum uzunluk 400 dir.
PrivateReason (gerekli; dizi) — Kullanıcının ban geçmişini sorgulandığında döndürülen iç mesaj. Maksimum uzunluk 1000 .
ExcludeAltAccounts (isteğe bağlı; değer) — Roblox, alt hesapları yasaklamaya çalışmaz.Varsayılan değer true .
Dönüşler
Kod Örnekleri
local Players = game:GetService("Players")
if shouldBeBanned(player: Player) then
local banHistoryPages = Players:GetBanHistoryAsync(player.UserId)
local duration = getNextBanDuration(banHistoryPages) -- Creator-implemented logic
local config: BanConfigType = {
UserIds = {player.UserId},
Duration = duration,
DisplayReason = "You violated community guideline #5",
PrivateReason = "Put anything here that the user should not know but is helpful for your records",
ExcludeAltAccounts = false,
ApplyToUniverse = true
}
local success, err = pcall(function()
return Players:BanAsync(config)
end)
print(success, err)
end
CreateHumanoidModelFromDescription
HumanoidDescription'ta belirtilen her şeyi içeren bir karakter Modeli döndürür ve R6 veya R15 olarak RigType tarafından belirtilmiştir.
Parametreler
Döndürülen karakterin görünümünü belirtir.
Döndürülen karakterin R6 veya R15 olacağını belirtir.
Varlık türü doğrulaması, bu işlevin modelleri yükleyip yüklememesini belirler (yüklemeyi istemiyorsanız).
Dönüşler
Bir Humanoid karakter Modeli.
Kod Örnekleri
game.Players:CreateHumanoidModelFromDescription(Instance.new("HumanoidDescription"), Enum.HumanoidRigType.R15).Parent = game.Workspace
CreateHumanoidModelFromUserId
Geçerli kullanıcının belirttiği avatar ile eşleşen bir karakter Model oluşturur. Bu, o karakterin R6 veya R15 olup olmadığını içerir.
Parametreler
Roblox kullanıcısının kimliği. (Kullanıcı kimliği profilindeki numaradır, örneğin www.roblox.com/users/1/ profile).
Dönüşler
Bir Humanoid karakter Modeli.
Kod Örnekleri
game.Players:CreateHumanoidModelFromUserId(1).Parent = game.Workspace
GetBanHistoryAsync
Deneyin evrenindeki herhangi bir kullanıcının yasaklama ve unban işlemlerini alır. Bu yöntem, BanHistoryPages örneğini döndürür, Pages kullanıcısından miras alır. Bu yöntem, Players.BanningEnabled özelliği tarafından etkinleştirilmiş ve deaktif
Bu işlev çağrısı sadece üretim oyun sunucularında başarılı olacak ve müşteri cihazlarında veya Studio'da başarısız olacak.
Bu API, Kullanıcı Sınırları Açık Bulut API kullanır. Bu API'leri, yasaklarınızı üçüncü parti uygulamalarda yönetmek için kullanabilirsiniz.
Parametreler
Dönüşler
Dönüş referansı için BanHistoryPages görün.
GetCharacterAppearanceInfoAsync
Bu işlev, bir oyuncunun avatar'ının (teçhizatının etkisizleştirilmesi) Roblox sitesindeki Roblox dictionaire şeklinde bilgi verir. GetCharacterAppearanceAsync ile aynı yöntemin kullanılan yükleri yüklemek için
<tr><td><code>varlıklar)</code></td><td>tabl (aşağıda görüntülenir)</td><td>Takılan varlıkları tarif eder (şapkalar, vücut bilezikleri vb)</td></tr><tr><td><code>bedenRenkleri</code></td><td>tabl (aşağıda görüntülenir)</td><td>Her bir kol için BrickColor değerlerini açıklar</td></tr><tr><td><code>boyut3s</code></td><td>tabl (aşağıda görüntülenir)</td><td>BodyColors ile mükemmel olmayan her bir kol için Color3 istemcisini açıklar</td></tr><tr><td><code>defaultPantsApplied</code></td><td>boolean</td><td>Varsayılan pantolonların uygulandığını açıklar</td></tr><tr><td><code>Varsayılan Gömlek Uygulandı</code></td><td>boolean</td><td>Varsayılan gömleğin uygulandığını gösterir</td></tr><tr><td><code>duygularınız</code></td><td>tabl (aşağıda görüntülenir)</td><td>Takılan emote animasyonlarını açıklar</td></tr><tr><td><code>OyuncuAvatarıTürü</code></td><td>dizi</td><td>Either "R15" or "R6"</td></tr><tr><td><code>ölçekleri</code></td><td>tabl (aşağıda görüntülenir)</td><td>Çeşitli beden ölçeği faktörlerini açıklar</td></tr>
İsim | Tür | Açıklama |
---|
Alt Masalar
asyas tabelesi, oyuncunun mevcut donanımlarını tarif eden aşağıdaki anahtarları içeren bir matematiksel tabloyu içerir:
<tr><td><code>kimlik</code></td><td>sayı</td><td>Takılan varlığın ID'si</td></tr><tr><td><code>资产类型</code></td><td>masa</td><td>Bir tabloyla, <code>İsim</code> ve <code>Kimlik</code> alanlarıyla, her biri türünü açıklayan bir varlık türü ekipmanı ("Şapka", "Yüz", vb.)</td></tr><tr><td><code>isim</code></td><td>dizi</td><td>Takılan varlığın adı</td></tr>
İsim | Tür | Açıklama |
---|
Sub-Table'i Ölçer
scales tabelasının Humanoid ölçeği için her bir bodyType, 1> head1>, 4> height4>, 7> proportion7>, scales0>, 3> width3> .
Beden Renkleri Sub-Table
bodyColors tabelasının BrickColor numaralı kayıtları vardır, her biri BrickColor.new(id) kullanıl
Parametreler
Belirlenen oyuncunun * kimliği
Dönüşler
Verilen bir kullanıcının karakter görünümü hakkında bilgi içeren bir sözlük.
Kod Örnekleri
local result = {
playerAvatarType = "R15",
defaultPantsApplied = false,
defaultShirtApplied = false,
scales = {
bodyType = 0,
head = 1,
height = 1.05,
proportion = 0,
depth = 0.92,
width = 0.85,
},
bodyColors = {
leftArmColorId = 1030,
torsoColorId = 1001,
rightArmColorId = 1030,
headColorId = 1030,
leftLegColorId = 1001,
rightLegColorId = 1001,
},
assets = {
{
id = 1031492,
assetType = {
name = "Hat",
id = 8,
},
name = "Striped Hat",
},
{
id = 13062491,
assetType = {
name = "Face Accessory",
id = 42,
},
name = "Vision Française ",
},
{
id = 16598440,
assetType = {
name = "Neck Accessory",
id = 43,
},
name = "Red Bow Tie",
},
{
id = 28999228,
assetType = {
name = "Face",
id = 18,
},
name = "Joyous Surprise",
},
{
id = 86896488,
assetType = {
name = "Shirt",
id = 11,
},
name = "Expensive Red Tuxedo Jacket",
},
{
id = 86896502,
assetType = {
name = "Pants",
id = 12,
},
name = "Expensive Red Tuxedo Pants",
},
{
id = 376530220,
assetType = {
name = "Left Arm",
id = 29,
},
name = "ROBLOX Boy Left Arm",
},
{
id = 376531012,
assetType = {
name = "Right Arm",
id = 28,
},
name = "ROBLOX Boy Right Arm",
},
{
id = 376531300,
assetType = {
name = "Left Leg",
id = 30,
},
name = "ROBLOX Boy Left Leg",
},
{
id = 376531703,
assetType = {
name = "Right Leg",
id = 31,
},
name = "ROBLOX Boy Right Leg",
},
{
id = 376532000,
assetType = {
name = "Torso",
id = 27,
},
name = "ROBLOX Boy Torso",
},
},
}
print(result)
GetFriendsAsync
GetFriends Players işlevi, verilen kullanıcının tüm arkadaşları için bilgi içeren bir FriendPages nesneyi döndürür. İçindeki öğeler FriendPages nesnesinin alanlarıyla aşağıdaki gibidir:
<tr><td>Kimlik</td><td>int64</td><td>arkadaşKullanıcı Kimliği</td></tr><tr><td>Kullanıcı Adı</td><td>dizi</td><td>arkadaşkullanıcı adı</td></tr><tr><td>Görüntü Adı</td><td>dizi</td><td>arkadaş<code>Class.Player.DisplayName|display name</code></td></tr>
İsim | Tür | Açıklama |
---|
Tüm bir oyuncunun arkadaşlarını itzinin kolay bir yolunu görmek için kod örneklerine bakın.
Parametreler
Belirlenen oyuncunun kimliği.
Dönüşler
Kod Örnekleri
local Players = game:GetService("Players")
local USERNAME = "Cozecant"
local function iterPageItems(pages)
return coroutine.wrap(function()
local pagenum = 1
while true do
for _, item in ipairs(pages:GetCurrentPage()) do
coroutine.yield(item, pagenum)
end
if pages.IsFinished then
break
end
pages:AdvanceToNextPageAsync()
pagenum = pagenum + 1
end
end)
end
-- First, get the user ID of the player
local userId = Players:GetUserIdFromNameAsync(USERNAME)
-- Then, get a FriendPages object for their friends
local friendPages = Players:GetFriendsAsync(userId)
-- Iterate over the items in the pages. For FriendPages, these
-- are tables of information about the friend, including Username.
-- Collect each username in a table
local usernames = {}
for item, _pageNo in iterPageItems(friendPages) do
table.insert(usernames, item.Username)
end
print("Friends of " .. USERNAME .. ": " .. table.concat(usernames, ", "))
GetHumanoidDescriptionFromOutfitId
Belirli bir kıyafet ID'si için HumanoidDescription döndürür, which will be set with the parts/angles/Animations vs. bununla birlikte bir kıyafetin kıyafet olabilir. bir kıyafet kullanıcı tarafından oluşturulmuş olabilir veya Roblox tarafından oluşturulmuş bir kıyafet olabilir.
Parametreler
HumanoidDescription'ın aranan kıyafetin kimliği.
Dönüşler
İnşa edilen kıyafetId'i için geçerli özelliklerle başlatıldı.
Kod Örnekleri
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local function getOutfitId(bundleId)
if bundleId <= 0 then
return
end
local info = game.AssetService:GetBundleDetailsAsync(bundleId)
if not info then
return
end
for _, item in pairs(info.Items) do
if item.Type == "UserOutfit" then
return item.Id
end
end
return nil
end
local function getHumanoidDescriptionBundle(bundleId)
local itemId = getOutfitId(bundleId)
if itemId and itemId > 0 then
return Players:GetHumanoidDescriptionFromOutfitId(itemId)
end
return nil
end
local humanoidDescription = getHumanoidDescriptionBundle(799)
local humanoidModel = Players:CreateHumanoidModelFromDescription(humanoidDescription, Enum.HumanoidRigType.R15)
humanoidModel.Parent = Workspace
GetHumanoidDescriptionFromUserId
Kullanıcının belirttiği kullanıcı avatarı için tüm donanımları belirtir. Ayrıca ölçekleri ve vücut rengini de içerir.
Parametreler
Roblox kullanıcısının kimliği. (Kullanıcı kimliği profilindeki numaradır, örneğin www.roblox.com/users/1/ profile).
Dönüşler
İnsanoidDescription, kullanıcının avatar özelliğiyle verilen başarımla başlatıldı.
Kod Örnekleri
game.Players:CreateHumanoidModelFromDescription(game.Players:GetHumanoidDescriptionFromUserId(1), Enum.HumanoidRigType.R15).Parent = game.Workspace
GetNameFromUserIdAsync
GetNameFromUserIdAsync Players işlevi, kullanıcının hesabının verilen UserId ile ilgili kullanıcı adını gönderecek.
Bu yöntem verilen UserId ile hiçbir hesap mevcut değilse hata alır. Eğer böyle bir hesabın varlığından emin değilseniz, pcall ile çağrıları bu işlevin içine yazmanız önerilir. Ayrıca, gelecekteki çağrıları aynı UserId ile hızlı bir şekilde yapmak için manuel olarak sonuçları bu işlevin üzerine yazabilir
Parametreler
Oyuncunun belirtilen Player.UserId ı.
Dönüşler
Belirli Player.UserId ile kullanıcının adı.
Kod Örnekleri
local Players = game:GetService("Players")
-- Example Data:
-- UserId: 118271 Name: "RobloxRulez"
-- UserId: 131963979 Name: "docsRule"
local nameOne = Players:GetNameFromUserIdAsync(118271)
local nameTwo = Players:GetNameFromUserIdAsync(131963979)
print(nameOne, nameTwo)
-- prints: "RobloxRulez docsRule"
local Players = game:GetService("Players")
-- Create a table called 'cache' to store each 'Name' as they are found.
-- If we lookup a 'Name' using the same 'UserId', the 'Name' will come
-- from cache (fast) instead of GetNameFromUserIdAsync() (yields).
local cache = {}
function getNameFromUserId(userId)
-- First, check if the cache contains 'userId'
local nameFromCache = cache[userId]
if nameFromCache then
-- if a value was stored in the cache at key 'userId', then this 'nameFromCache'
-- is the correct Name and we can return it.
return nameFromCache
end
-- If here, 'userId' was not previously looked up and does not exist in the
-- cache. Now we need to use GetNameFromUserIdAsync() to look up the name
local name
local success, _ = pcall(function()
name = Players:GetNameFromUserIdAsync(userId)
end)
if success then
-- if 'success' is true, GetNameFromUserIdAsync() successfully found the
-- name. Store this name in the cache using 'userId' as the key so we
-- never have to look this name up in the future. Then return name.
cache[userId] = name
return name
end
-- If here, 'success' was false, meaning GetNameFromUserIdAsync()
-- was unable to find the 'name' for the 'userId' provided. Warn the user
-- this happened and then return nothing, or nil.
warn("Unable to find Name for UserId:", userId)
return nil
end
-- Example Data:
-- UserId: 118271 Name: "RobloxRulez"
-- UserId: 131963979 Name: "docsRule"
-- The first time a UserId is used, GetNameFromUserIdAsync() will be called
local nameOne = getNameFromUserId(118271)
local nameTwo = getNameFromUserId(131963979)
-- Because 118271 was previously used, get its Name from the cache
local nameOneQuick = getNameFromUserId(118271)
print(nameOne, nameTwo, nameOneQuick)
-- prints: "RobloxRulez docsRule RobloxRulez"
GetUserIdFromNameAsync
Bu işlev Roblox web sitesine bir soru gönderecek, hesabın Player.UserId ile belirlenen Player ismiyle ne olduğunu soracak.
Bu yöntem, verilen kullanıcı adımevcut olmadığı durumda hata verir. Eğer böyle bir kullanıcının mevcut olduğundan emin değilseniz, pcall ile çağrıları bu işlevin etrafında yazılır. Ayrıca, gelecekteki çağrıları aynı kullanıcı adıile hızlı bir şekilde yapmak için manuel olarak sonuçları bu i
Parametreler
Belirlenen oyuncunun kullanıcısı.
Dönüşler
Bir kullanıcının ismi belirtilmiş olan Player.UserId 'i.
Kod Örnekleri
local Players = game:GetService("Players")
-- Example Data:
-- UserId: 118271 Name: "RobloxRulez"
-- UserId: 131963979 Name: "docsRule"
local userIdOne = Players:GetUserIdFromNameAsync("RobloxRulez")
local userIdTwo = Players:GetUserIdFromNameAsync("docsRule")
print(userIdOne, userIdTwo)
-- prints: "118271 131963979"
local Players = game:GetService("Players")
-- Create a table called 'cache' to store each 'UserId' as they are found.
-- If we lookup a 'UserId' using the same 'Name', the 'UserId' will come
-- from cache (fast) instead of GetUserIdFromNameAsync() (yields).
local cache = {}
function getUserIdFromName(name)
-- First, check if the cache contains 'name'
local userIdFromCache = cache[name]
if userIdFromCache then
-- if a value was stored in the cache at key 'name', then this 'userIdFromCache'
-- is the correct UserId and we can return it.
return userIdFromCache
end
-- If here, 'name' was not previously looked up and does not exist in the
-- cache. Now we need to use GetUserIdFromNameAsync() to look up the userId
local userId
local success, _ = pcall(function()
userId = Players:GetUserIdFromNameAsync(name)
end)
if success then
-- if 'success' is true, GetUserIdFromNameAsync() successfully found the
-- userId. Store this userId in the cache using 'name' as the key so we
-- never have to look this userId up in the future. Then return userId.
cache[name] = userId
return userId
end
-- If here, 'success' was false, meaning GetUserIdFromNameAsync()
-- was unable to find the 'userId' for the 'name' provided. We can warn the
-- user this happened and then return nothing, or nil.
warn("Unable to find UserId for Name:", name)
return nil
end
-- Example Data:
-- UserId: 118271 Name: "RobloxRulez"
-- UserId: 131963979 Name: "docsRule"
-- The first time a Name is used, GetUserIdFromNameAsync() will be called
local userIdOne = getUserIdFromName("RobloxRulez")
local userIdTwo = getUserIdFromName("docsRule")
-- Because "RobloxRulez" was previously used, get its UserId from the cache
local userIdOneQuick = getUserIdFromName("RobloxRulez")
print(userIdOne, userIdTwo, userIdOneQuick)
-- prints: "118271 131963979 118271"
GetUserThumbnailAsync
Bu işlev, bir oyuncunun avatarının UserId , istediğiniz görüntü büyüklüğünü bir Enum.ThumbnailSize enlemi olarak ve istediğiniz türü bir Enum.ThumbnailType enlemi olarak iade eder. Ayrıca, görüntünün kullanılabilir olup olmadığ
En sık kullanılan bu yöntem, ImageLabel.Image veya Decal.Texture ile kullanıcı avatar resimlerini bir deneyimde görüntülemek için kullanılır.
Parametreler
Oyuncunun belirtilen Player.UserId ı.
Bir Enum.ThumbnailType küçük resim'in türünü açıklayan.
Bir Enum.ThumbnailSize özelliği, minyatürün büyüklüğünü belirtir.
Dönüşler
Bir kullanıcının miniaturasının belirli parametrelerle bağlantısını içeren bir tupla veya kullanımınızın hazır olup olmadığını gösteren bir booldan oluşur.A tuple containing the content URL of a user thumbnail based on the specified parameters, and a bool describing if the image is ready to be used or not.
Kod Örnekleri
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local PLACEHOLDER_IMAGE = "rbxassetid://0" -- replace with placeholder image
-- fetch the thumbnail
local userId = player.UserId
local thumbType = Enum.ThumbnailType.HeadShot
local thumbSize = Enum.ThumbnailSize.Size420x420
local content, isReady = Players:GetUserThumbnailAsync(userId, thumbType, thumbSize)
-- set the ImageLabel's content to the user thumbnail
local imageLabel = script.Parent
imageLabel.Image = (isReady and content) or PLACEHOLDER_IMAGE
imageLabel.Size = UDim2.new(0, 420, 0, 420)
UnbanAsync
Class.Players:BanAsync() veya Kullanıcı Sınırları Açık Bulut API . Bu yöntem Players.BanningEnabled özelliği tarafından etkinleştirilmiş ve deaktif edilmiştir.
Like Players:BanAsync() , bu yöntem bir config sözlüğü alır, böylece kullanıcıları toplu olarak unbanlayabilirsiniz. Bu, unbanlanmış kullanıcıları ve unbanlanma noktasının kapsamını yapılandırır.
Unbans sadece aynı ApplyToUniverse kapsamındaki yasaklar üzerinde etkili olacaktır. Örneğin, aynı ApplyToUniverse setiyle bir unban, true ile bir önceki yasaklama ile geçersiz değildir.
Bu yöntem, HTTP arka plan hizmetlerine bir HTTP çağrısı çağırır, bu da sınırlandırılır ve başarısız olabilir. Eğer bu API'yi birkaç <
Kullanıcıların yasaklanmasıyla ilgili riskler nedeniyle, bu yöntem sadece üst sunucu oyun sunucusunda çağrılabilir. Client tarafı çağrıları, üretimdeki API'ler için bir hata oluşturur. Bu API'yi Studio'da, Takım Oluşturma ve Takım Testi'nde test etmeniz mümkündür, ancak yasaklar üretim için geçerli değ
Bu API, Kullanıcı Sınırları Açık Bulut API kullanır. Bu API'leri, yasaklarınızı üçüncü parti uygulamalarda yönetmek için kullanabilirsiniz.
Parametreler
<tbody><tr><td><code>Kullanıcı Kimlikleri</code></td><td>ematik</td><td>Kullanıcı kimlikleri deneyimlere zorla içeri alınacak. Maksimum boyutu <code>50</code> dir.</td></tr><tr><td><code>宇宙'aUygula</code></td><td>boo</td><td>Bu evrenin içindeki tüm yerlerin yasağını kaldırır.</td></tr></tbody>
İsim | Tür | Açıklama |
---|
Dönüşler
Kod Örnekleri
local Players = game:GetService("Players")
if shouldBeUnbanned(player: Player) then
local config: UnbanConfigType = {
UserIds = {player.UserId, 789},
ApplyToUniverse = false
}
local success, err = pcall(function()
return Players:UnbanAsync(config)
end)
print(success, err)
end
Etkinlikler
PlayerAdded
Oyuna bir oyuncu girdiğinde etkinleştirilen PlayerAdded etkinliği başlar. Bu, bir oyuncu bir oyuna katıldığında bir etkinliği başlatır, tıpkı oyuncunun kaydedilen GlobalDataStore verilerini yükleme gibi.
Bu, oyunu terk etmeye hazırlanan bir oyuncunun mesajını her oyundan ayrıldığında göndereceğiniz Players.PlayerRemoving etkinliği ile birlikte kullanılabilir. durum, yeni bir oyuncu oyundan ayrılırken her sefer yazdırmak istediğiniz bir mesajı yazdırabilirsiniz:
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
print(player.Name .. " joined the game!")
end)
Players.PlayerRemoving:Connect(function(player)
print(player.Name .. " left the game!")
end)
Bir oyuncunun karakteri oyundan eklenirse veya kaldırılırsa (yeniden doğması veya ölmesi gibi), Player.CharacterAdded ve Player.CharacterRemoving işlevlerini kullanabilirsiniz.
Bu olay Oyna modunda beklenen gibi çalışmaz çünkü oyuncu PlayerAdded ile bağlanan kodlar tarafından oluşturuldu. Bu durumu ele almak için, bir oyuncunun girişini işleyen onPlayerAdded() işlevini oluşturun, bir oyuncu girişini işleyen 1> onPlayerAdded</
Parametreler
Oyuna katılan oyuncunun bir instansı.
Kod Örnekleri
local Players = game:GetService("Players")
local function onPlayerAdded(player)
print("A player has entered: " .. player.Name)
end
Players.PlayerAdded:Connect(onPlayerAdded)
PlayerMembershipChanged
Bu olay oyun sunucusu, bir oyuncunun üyeliğinin değiştirildiğini algıladığında tetiklenir. Ancak, Premium modülünü kapatmış olduğunuz Premium'u arttır ile oynarken kullanıcının Premium satın almasını istedi
Premium'ı deneyiminize entegre etmeye ve para kazanma sistemiyle monetize etmeye ilişkin daha fazla bilgi için, Engagement-Based Payouts bakın.
Ayrıca bakınız:
- MarketplaceService:PromptPremiumPurchase() , Premium satın almak için bir kullanıcıyı talep eder
- MarketplaceService.PromptPremiumPurchaseFinished , Premium satın alma UI'i kapandığında başlar
Parametreler
Kod Örnekleri
local Players = game:GetService("Players")
local function grantPremiumBenefits(player)
-- Grant the player access to Premium-only areas, items, or anything you can imagine!
print("Giving", player, "premium benefits!")
end
local function playerAdded(player)
if player.MembershipType == Enum.MembershipType.Premium then
grantPremiumBenefits(player)
end
end
local function playerMembershipChanged(player)
print("Received event PlayerMembershipChanged. New membership = " .. tostring(player.MembershipType))
if player.MembershipType == Enum.MembershipType.Premium then
grantPremiumBenefits(player)
end
end
Players.PlayerAdded:Connect(playerAdded)
Players.PlayerMembershipChanged:Connect(playerMembershipChanged)
PlayerRemoving
Oyuncu kaldırma etkinliği, bir Player oyunundan çıkmadan önce sağ taraftan ateşlenir. Bu etkinlik, ChildRemoved ile ortaya çı
Bu, bir oyuncu oyuna katıldığında başlayan Player.PlayerAdded etkinliği ile birlikte kullanılabilir. durum, bir oyuncu oyundan ayrıldığında her seferinde bir mesaj yazdırmak için:
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
print(player.Name .. " joined the game!")
end)
Players.PlayerRemoving:Connect(function(player)
print(player.Name .. " left the game!")
end)
Bir oyuncunun karakteri oyundan eklenirse veya kaldırılırsa (yeniden doğması veya ölmesi gibi), Player.CharacterAdded ve Player.CharacterRemoving işlevlerini kullanabilirsiniz.
Parametreler
Oyundan ayrılan oyuncunun bir instansı.
Kod Örnekleri
local Players = game:GetService("Players")
local function onPlayerRemoving(player)
print("A player has left: " .. player.Name)
end
Players.PlayerRemoving:Connect(onPlayerRemoving)
UserSubscriptionStatusChanged
Bu olay oyun sunucusu, belli bir abonementin durumunun değiştiğini algıladığında tetiklenir. Not edin ki, sunucu sadece abonement satın alma modunun kapandığından sonra durumu kontrol ve güncelleme after abonement satın alma modunu kapat
Not: Sadece sunucu kodları bu etkinliği alır.
Parametreler
Abonelik durumu değiştirilen kullanıcı.
Durum değişikliği olan abonemenin ID'si.