Karakter adı/sağlık göstergesi

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

Humanoid örneği, hem kullanıcı avatarları hem de NPC'ler için karakter modelleri oluşturmak için kullanılır. Model içinde Baş adında bir parça bulunduğunda, bu parçanın üzerinde Roblox bir isim ve/veya sağlık çubuğu görüntüler.

Bir oyun avatarının üzerinde karakter gösterim bilgisi

Çeşitli Humanoid özellikleri aracılığıyla, aşağıdakileri değiştirebilirsiniz:

  • Kullanıcıların, kendi karakterlerinin humanoidine yönelik diğer humanoidlerin isim/sağlıklarını görebileceği mesafeyi.
  • Bir humanoid üzerinde görüntülenen görüntü adı.
  • Bir humanoidin sağlık çubuğunun her zaman görünüp görünmeyeceğini, asla görünmeyeceğini veya sadece humanoid hasar aldığında görünüp görünmeyeceğini.
  • İsimlerin ve sağlık çubuklarının, kamera ile diğer bir humanoid arasında doğrudan görüş engellenmişken gizlenip gizlenmeyeceğini.

Gösterim özellikleri

Gösterim mesafe türü

Humanoid.DisplayDistanceType özelliği, kullanıcıların kendi karakterleri ile olan ilişkileri doğrultusunda diğer karakterlerin isim/sağlıklarını nasıl göreceğini ayarlar.

Görüntüleyici

Bir humanoidin DisplayDistanceType değeri HumanoidDisplayDistanceType.Viewer olarak ayarlandığında, o humanoid diğer humanoidlerin isim/sağlıklarını, kendi NameDisplayDistance ve HealthDisplayDistance değerlerine göre görür. Bu durumu diğer humanoidlerin özne veya hiçbiri olarak ayarlandığı durumlarda dikkate alınmadığı için en düşük öncelikli olarak düşünebilirsiniz.

Aşağıdaki senaryoda, kullanıcının karakteri (Görüntüleyici) daha büyük bir NameDisplayDistance değerine sahiptir, bu da HealthDisplayDistance değerine göre daha büyüktür ve bu, dairelerle gösterilmiştir. Sonuç olarak, kullanıcı hem Watchman hem de Octavia için karakter isimlerini görür, ancak sadece Watchman için sağlık çubuğunu görür.

Özne

Bir humanoidin DisplayDistanceType değeri HumanoidDisplayDistanceType.Subject olarak ayarlandığında, kendi isim ve sağlık gösterimlerinin kontrolünü tam olarak sağlar; bu değerler NameDisplayDistance ve HealthDisplayDistance olarak sıralanır. Diğer humanoidler sadece öznenin ismini/sağlığını, özne humanoide olan o mesafelerde görür.

Aşağıdaki senaryoda, hem Watchman hem de Octavia Özne olarak ayarlandı ve onların NameDisplayDistance aralıkları dairelerle gösterilmiştir. Kullanıcının karakteri, yalnızca Octavia'nın aralığı içinde durmakta olup Watchman humanoidinin aralığı dışında olduğundan, yalnızca isim Octavia görünmektedir.

Hiçbiri

Bir humanoidin DisplayDistanceType değeri HumanoidDisplayDistanceType.None olarak ayarlandığında, ismi ve sağlık çubuğu hiçbir koşul altında görünmez. Aşağıdaki senaryoda, hem Watchman hem de Octavia Hiçbiri olarak ayarlandığı için, diğer karakter isimlerini veya sağlıklarını göremez, hatta mesafede bulunsalar bile.

Sağlık gösterim türü

Humanoid.HealthDisplayType özelliği, karakterin sağlık çubuğunun görünürlüğünü daha fazla kontrol etmenizi sağlar. Çubuk, humanoidin Health değerini, MaxHealth değerine göre gösterir ve humanoidin sağlığı azaldıkça yeşilden sarıya ve sonra kırmızıya döner.

Her Zaman Açık

Bir humanoidin HealthDisplayType değeri HumanoidHealthDisplayType.AlwaysOn olarak ayarlandığında, sağlık çubuğu her zaman görünür.

Zarar Görünce Görüntüle

HealthDisplayType değeri HumanoidHealthDisplayType.DisplayWhenDamaged olarak ayarlandığında, yalnızca sağlık değeri Health değeri MaxHealth değerinden daha az olduğunda sağlık çubuğunu gösterir. Aşağıdaki senaryoda, Watchman tam sağlık durumundadır ve sağlık çubuğunu görüntülemez, ancak Octavia %50 hasar görmüş olup sarı bir sağlık çubuğu görüntüler.

Her Zaman Kapalı

Bir humanoidin HealthDisplayType değeri HumanoidHealthDisplayType.AlwaysOff olarak ayarlandığında, sağlık çubuğu hiçbir koşul altında görünmez.

Gizleme

Humanoid isimlerinin duvarların veya diğer nesnelerin arkasında gizlenmesi, karakterin Humanoid.NameOcclusion özelliği tarafından kontrol edilir.

Gizleme Yok

Bir humanoid, görünür bir nesnenin arkasında gizlendiğinde ve NameOcclusion değeri NameOcclusion.NoOcclusion olarak ayarlandığında, ismi ve sağlıkları diğer humanoidlerden asla gizlenmez.

Aşağıdaki senaryoda, hem Watchman hem de Octavia Gizleme Yok olarak ayarlandı. Her ikisi de taş direklerin arkasında yeterince gizlenmiş olsalar da, görüntüleyen humanoid hala isim/sağlık gösterimlerini görmektedir.

Her Şeyi Gizle

Bir humanoid, görünür bir nesnenin arkasında gizlendiğinde ve NameOcclusion değeri NameOcclusion.OccludeAll olarak ayarlandığında, ismi ve sağlıkları, görüntüleyen humanoidlerden her zaman gizlenir.

Aşağıdaki senaryoda, hem Watchman hem de Octavia taş direklerin arkasında yeterince gizli. Watchman Her Şeyi Gizle olarak ayarlandığı için ismi ve sağlık görüntüleyen humanoidden gizlenmektedir. Ancak Octavia, Gizleme Yok olarak ayarlandığı için ismi/sağlığı görüntüleyen humanoide görünür kalmaktadır.

Düşman Gizleme

Bir humanoid görünür bir nesnenin arkasında gizlendiğinde ve NameOcclusion değeri NameOcclusion.EnemyOcclusion olarak ayarlandığında, ismi ve sağlıkları yalnızca düşman humanoidlerden (farklı bir Team üzerindeki oyuncular) gizlenir.

Aşağıdaki senaryoda, hem Watchman hem de Octavia taş direklerin arkasında yeterince gizlenmiş olup, her ikisi de Düşman Gizleme olarak ayarlandı. Görüntüleyen humanoid ve Watchman aynı Team üzerinde olduğundan, isim/sağlık gizlenmesi gerçekleşmez. Ancak, karşı takımda bulunan Octavia'nın ismi ve sağlığı gizlenmektedir.

Karakter gösterimlerini değiştirme

Kullanıcı avatarları

Bir oyundaki her gelen avatarın adını veya sağlık gösterimini değiştirmek için, bir Script içinde Players.PlayerAdded ve Player.CharacterAdded olaylarını bağlayın ve karakterin Humanoid üzerinde gösterim özelliklerini ayarlayın.

Script - 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 humanoide isim/sağlık gösterim mesafesi üzerinde tam kontrol ver
humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.Subject
-- İsim gösterim mesafesini 20 stud olarak ayarla
humanoid.NameDisplayDistance = 20
-- Sağlık çubuğu gösterim mesafesini 15 stud olarak ayarla
humanoid.HealthDisplayDistance = 15
-- Sadece humanoid hasar aldığında sağlık çubuğunu göster
humanoid.HealthDisplayType = Enum.HumanoidHealthDisplayType.DisplayWhenDamaged
end
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)

Ayrıca bir oyuncunun Team değerine göre özellikleri özelleştirebilirsiniz, örneğin tüm "koruma" oyuncularına genel bir isim atamak ve tüm "ninja" oyuncularının isimlerini gizlemek.

Script - Takım Özelleştirme

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

NPC karakterler

3D dünyada zaten yerleştirilmiş NPC karakterleri için, isim/sağlığı doğrudan Humanoid nesnesinde Özellikler penceresinde düzenleyebilirsiniz.

Görüntü isimlerini geçersiz kılma

Varsayılan olarak, bir humanoidin görüntü ismi kullanıcının Roblox hesabının Görüntü Adı ile eşleşmektedir; bu isim eşsiz ve hesabın Kullanıcı Adı kısmından ayrıdır. Kullanıcının hesabıyla ilgisi olmayan tamamen özel bir ismi göstermek için, Humanoid.DisplayName özelliğini geçersiz kılabilirsiniz.

Doğrudan ayarlama

Herhangi bir Humanoid örneğinin DisplayName özelliğini, bir Script aracılığıyla erişim sağladığınızda, örneğin takım özelleştirme örneğinde olduğu gibi ya da doğrudan bir NPC karakterinin Humanoid nesnesinde ayarlayabilirsiniz.

Kullanıcı girişi aracılığıyla ayarlama

Rol yapma veya dövüş gibi bazı türlerde, kullanıcıların deneyime özel kendi karakter adı, evcil hayvan karakter adı vb. girmelerine olanak sağlamak isteyebilirsiniz. Bu girdi, bir TextBox adı girişi aracılığıyla istemci tarafında toplanabilir.

Girdi gönderildiğinde, bunu bir uzaktan olay aracılığıyla sunucuya iletebilir ve ardından sunucu tarafında bu uzaktan olayı dinleyip, filtrelenmiş ismi kullanıcı karakterinin Humanoid'ine atayabilirsiniz.

LocalScript - Uzaktan Olay Ateşle

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local changeNameEvent = ReplicatedStorage:WaitForChild("ChangeNameEvent")
changeNameEvent:FireServer("Amory")
Script - Filtrelenmiş İsim Atama

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TextService = game:GetService("TextService")
-- İstemciden alınan metni filtrelemek için uzaktan 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)
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.