ForceField
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Sebuah ForceField melindungi seorang Humanoid dari mengambil kerusakan yang dihadapkan melalui metode Class.
Kekuatan dan Lonjakan
A ForceField 영향력을 親 인스턴스에 미치게 됩니다. 親 인스턴스가 親 인스턴스를 상속받을 때, it Class.BasePart|BaseParts 내려오는 모든 1> Class.BasePart1> 의 조인트를 보
ForceField hanya melindungi Humanoids dari kerusakan yang ditangani oleh metode Humanoid:TakeDamage(). Humanoid masih dapat rusak dengan menetapkan 0> Class.Humanoid.Health0> langsung. Unt
Visualisasi
Ketika ForceField.Visible ditetapkan ke benar, efek partikel dibuat. Beberapa aturan menentukan di mana efek ini akan dipancarkan:
- Ketika diwarisi ke Class.BasePart , efek akan dihasilkan dari posisi BasePart.Position bagian.
Contoh Kode
local Players = game:GetService("Players")
local FORCE_FIELD_DURATION = 15
local function giveForcefield(player, duration)
local character = player.Character
if character then
local forceField = Instance.new("ForceField")
forceField.Visible = true
forceField.Parent = character
if duration then
task.delay(duration, function()
if forceField then
forceField:Destroy()
end
end)
end
end
end
local function onPlayerAdded(player)
player.CharacterAdded:Connect(function(_character)
giveForcefield(player, FORCE_FIELD_DURATION)
end)
end
Players.PlayerAdded(onPlayerAdded)
Rangkuman
Properti
Mengukur apakah efek partikel ForceField muncul atau tidak.
Properti
Visible
Mengukur apakah efek partikel ForceField terlihat atau tidak. Mengatur ini menjadi false memungkinkan Anda untuk mengganti efek partikel default dengan efek partikel khusus seperti yang ditunjukkan dalam contoh kode berikut.
Contoh Kode
local Players = game:GetService("Players")
local FORCE_FIELD_DURATION = 15
local function createCustomForcefield(player, duration)
local character = player.Character
if character then
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
-- find the torso
local torsoName = humanoid.RigType == Enum.HumanoidRigType.R15 and "UpperTorso" or "Torso"
local torso = character:FindFirstChild(torsoName)
if torso then
-- create a forcefield
local forceField = Instance.new("ForceField")
forceField.Visible = false -- not visible
-- create a particle effect
local particleEmitter = Instance.new("ParticleEmitter")
particleEmitter.Enabled = true
particleEmitter.Parent = torso
-- listen for the forcefield being removed
forceField.AncestryChanged:Connect(function(_child, parent)
if not parent then
if particleEmitter and particleEmitter.Parent then
particleEmitter:Destroy()
end
end
end)
-- parent the forcefield and set it to expire
forceField.Parent = character
if duration then
task.delay(duration, function()
if forceField then
forceField:Destroy()
end
end)
end
end
end
end
end
local function onPlayerAdded(player)
player.CharacterAdded:Connect(function(_character)
createCustomForcefield(player, FORCE_FIELD_DURATION)
end)
end
Players.PlayerAdded(onPlayerAdded)