Karakter Adı / Sağlık Gösterimi

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

Class.Humanoid instansı, kullanıcı avatarları ve NPC'ler için karakter modelleri oluşturmak için kullanılır. Bir Humanoid içinde bir Model isimli bölüm varsa, Roblox, bu bölümün üzerinde bir isim ve/veya sağlık çubuğu görüntüler.

Character display information above an in-experience avatar

Çeşitli Humanoid özellikleri aracılığıyla takip edilendeğiştirebilirsiniz:

  • Kullanıcıların kendi karakterlerinin insanoidi ile ilgili olarak diğer insanoidlerin isimlerini / sağlıklarını görebileceği mesafe.
  • insanoid adını gösteren gösterim adı şu.
  • Bir insanoid'in sağlık çubuğu her zaman görünür, hiç görünmez veya sadece hasar gördüğünde görünür.
  • Kamera ve başka bir insanoid arasındaki hizalama şeridi kapatıldığında isimler ve sağlık çubukları kapalı (gizli) olup olmadığı.

Görünüm Özellikleri

Ekran mesafesi türü

The Humanoid.DisplayDistanceType özelliği, kullanıcıların kendi karakterleriyle ilgili olarak diğer karakterlerin isimlerini/sağlıklarını gördüğünü ayarlar.

Gösterici

Bir insanoid'in Class.Humanoid.DisplayDistanceType|DisplayDistanceType``Enum.HumanoidDisplayDistanceType|HumanoidDisplayDistanceType.Viewer ve Class.H

Aşağıdaki senaryoda, kullanıcının karakteri ( Gösterici ) daha büyük bir NameDisplayDistance sahip olur, göstergelerin gösterdiği gibi. sonuçolarak, kullanıcı

Konu

Bir insanoid'in Class.Humanoid.DisplayDistanceType|DisplayDistanceType``Enum.HumanoidDisplayDistanceType|HumanoidDisplayDistanceType.Subject ve Class.H

Aşağıdaki senaryoda, hem Watchman hem de OctaviaSubject ve onların 2> Class.Humanoid.NameDisplayDistance|NameDisplayDistance2> menzilleri kürelerle gösterilir. Sadece 5> Octavia5> ismi kullanıcının karakterinin men

Hiçbiri

Bir humanoid'in Class.Humanoid.DisplayDistanceType|DisplayDistanceType``Enum.HumanoidDisplayDistanceType|HumanoidDisplayDistanceType.None olarak ayarlandığında, ismi ve sağlık çubuğu herhangi bir durumda görünmez. Aşağıd

Sağlık Ekranı Türü

Class.Humanoid.HealthDisplayType özelliği, karakterin sağlık çubuğunun görünürlüğü üzerinde daha fazla kontrol sağlar. Bar, karakterin sağlık çubuğunun görünürlüğünü Health olarak faktör olarak değiştirir ve sağlık çubuğ

Her Zaman Açık

Bir insanoid'in Class.Humanoid.HealthDisplayType|HealthDisplayType``Enum.HumanoidHealthDisplayType|HumanoidHealthDisplayType.AlwaysOn olarak ayarlandığında, sağlık çubuğu her zaman görünür.

Hasarlandığında Göster

A humanoid with HealthDisplayType set to HumanoidHealthDisplayType.DisplayWhenDamaged only shows a health bar when

Her zaman kapalı

Bir insanoid'in Class.Humanoid.HealthDisplayType|HealthDisplayType``Enum.HumanoidHealthDisplayType|HumanoidHealthDisplayType.AlwaysOff olarak ayarlandığında, sağlık çubuğu herhangi bir durumda görünmez.

Kapaşma

Duvarlar veya diğer nesnelerin arkasındaki insanoid isimlerinin gizlenmesi, karakterin Humanoid.NameOcclusion özelliği tarafından kontrol edilir.

NoOcclusion

Bir insanoid, görünür bir nesnenin arkasında saklı olduğunda ve onun Class.Humanoid.NameOcclusion|NameOcclusion``Enum.NameOcclusion|NameOcclusion.NoOcclusion olarak ayarlandığında, onun ismi ve sağlığı insanoidleri görüntülerken asla insanoidlerin görüntülenemediğinden kaynaklanmaz.

Aşağıdaki senaryoda, hem Watchman hem de Octavia NoOcclusion olarak ayarlandı. Her ikisi de yeterince taş sütunların arkasında gizlenmiş olsa da, görüntülenen insanoid hala isimlerini/sağlıklarını görür.

Hepsini Gizle

Bir insanoid, görünür bir nesnenin arkasında saklı olduğunda ve onun Class.Humanoid.NameOcclusion|NameOcclusion``Enum.NameOcclusion|NameOcclusion.OccludeAll olarak ayarlandığında, ismi ve sağlığı insanoidleri görüntülerken hep insanoidlerin görüntüsünden kapatılır.

Aşağıdaki senaryoda, hem Watchman hem de Octavia taş sütunların arkasında yeterince gizlenmiştir. Watchman2> OccludeAll2> , bu yüzden ismi ve sağlığı görüntülenen insanoidden gizlenmiştir.

DüşmanOcклю

Bir humanoid, görünür bir nesnenin arkasında saklı olduğunda ve onun Class.Humanoid.NameOcclusion|NameOcclusion``Enum.NameOcclusion|NameOcclusion.EnemyOcclusion olarak ayarlandığında, onun ismi ve sağlığı sadece düşman humanoidlerinden (oyuncular bir farklı Class.Team

Aşağıdaki senaryoda, hem Watchman hem de Octavia taş sütunların arkasında yeterince gizlenmiştir ve ikisi de EnemyOcclusion içindir. Görüntü insanoid ve 1> Watchman1> , aynı 4> Class

Karakter Görüntülerini Değiştirme

Kullanıcı Avatarları

Bir deneyimdeki her gelen avatarın ismini veya sağlık göstergelerini değiştirmek için, Players.PlayerAdded ve Player.CharacterAdded etkinliklerini bir Script ve 2>Class.Humanoid2> içinde bağlayın ve karakterinizin 5>Class.Humanoid5> üzer

Kullanıcı - Küresel Özelleştirme

local Players = game:GetService("Players")
local function onPlayerAdded(player)
player.CharacterAdded:Connect(function(character)
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
-- Her küreğin isim/sağlık gösterge mesafesinde tam kontrolü verin
humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.Subject
-- İsim gösterim mesafasını 20 stud'a ayarla
humanoid.NameDisplayDistance = 20
-- Sağlık çubuğu gösterge mesafasını 15 mil olarak ayarla
humanoid.HealthDisplayDistance = 15
-- Sadece insanoid hasar gördüğünde sağlık çubuğunu göster
humanoid.HealthDisplayType = Enum.HumanoidHealthDisplayType.DisplayWhenDamaged
end
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)

Ayrıca, bir oyuncunun Team özelliklerini özelleştirebilirsiniz, örneğin tüm "gardiyan" oyuncuları genel bir isme ayarlayabilir ve tüm "ninja" oyuncularını gizleyebilirsiniz.

Kılavuz - Takım Özelleştirmesi

local Players = game:GetService("Players")
local function onPlayerAdded(player)
player.CharacterAdded:Connect(function(character)
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
-- Tüm korumaların adını genel koruma olarak belirtin
if player.Team.Name == "Guards" then
humanoid.DisplayName = "Guard"
-- Tüm ninjalar için adı gizle
elseif player.Team.Name == "Ninjas" then
humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
end
end
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)

NPC Karakterleri

Zaten 3D dünyasına yerleştirilen NPC karakterleri için, ismi/sağlığı doğrudan Humanoid nesneyine Properties pencereden düzenleyebilirsiniz.

Görüntü İsimlerini Geçersiz Kılma

Varsayılan olarak, bir humanoid'in görüntü adı, kullanıcının Roblox hesabını Görüntü Adı ile eşleştirir, bu da kullanıcının hesabından ayrı ve benzersizdir. Kullanıcı Adı . Kullanıcının hesapilişkin olmayan bir ismi göstermek için, Class

Doğrudan Ayarlama

Eğer bir DisplayName öğesi üzerinde referans aldığınız herhangi bir Humanoid instansının özelliğini ayarlayabilirsiniz, bunun gibi bir Script örneği veya doğrudan bir 1>NPC

Kullanıcının Girişiyle Ayarlanıyor

Rol yapma veya dövüşgibi bazı yerlerde, kullanıcıların kendi karakter adını, evcil hayvan karakter adını,v.b. girmesine izin vermek isteyebilirsiniz. Bu, deneyimin ve hesabınızın görünen adbağlantısı değil. Bu, TextBox isim girdişi aracılığıyla toplanabilir.

Giriş gönderildiğinde, bir uzaktan etkinlik aracılığıyla sunucuya gönderilebilir ve ardından, sunucu tarafından dinlenebilir ve kullanıcı karakterinin Class.Humanoid adına atanabilir.

Yerel Kod - Uzaktan Etkinlik

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local changeNameEvent = ReplicatedStorage:WaitForChild("ChangeNameEvent")
changeNameEvent:FireServer("Amory")
Kript - Sansürlenmiş Adı Atama

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TextService = game:GetService("TextService")
-- Filtre için müşteriden metin almak için uzaktaki olay oluştur
local changeNameEvent = Instance.new("RemoteEvent")
changeNameEvent.Name = "ChangeNameEvent"
changeNameEvent.Parent = ReplicatedStorage
local function onRequestNameChange(player, newName)
local character = player.Character
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
local filterResult
local success, errorMessage = pcall(function()
filterResult = TextService:FilterStringAsync(newName, player.UserId)
end)
if success then
local filteredName
local success, errorMessage = pcall(function()
filteredName = filterResult:GetNonChatStringForBroadcastAsync()
end)
if success and humanoid then
humanoid.DisplayName = filteredName
end
end
end
changeNameEvent.OnServerEvent:Connect(onRequestNameChange)