ForceField
แสดงที่เลิกใช้งานแล้ว
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
A ForceField ปกป้อง Class.Humanoid จากการโจมตีที่เกิดขึ้นผ่านวิธีการ
ความเสียหายและข้อต่อ
A ForceField ส่งผลต่อตัวแทนที่มันอยู่ในอินสแตนซ์ เมื่ออยู่ในอินสแตนซ์ของ Model มันจะปกป้องทั้งหมดของ <
ForceField ปกป้อง Humanoids เฉพาะจากการโจมตีที่เกิดขึ้นโดยวิธี Humanoid:TakeDamage() เท่านั้น มนุษย์ยัง
การนำเสนอ
เมื่อ ForceField.Visible ติดตั้งในค่าเป็นจริง จะสร้างเอฟเฟกต์ผลาสติกส์ หลายตัวอย่างกฎจะกำหนดว่าเอฟเฟกต์นี้จะปล่อยออกมาจาก:
- เมื่อเป็นลูกของ BasePart จะมีการปล่อยออกจากตำแหน่ง BasePart.Position ของชิ้นส่วน
ตัวอย่างโค้ด
ForceField Instantiation
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)
สรุป
คุณสมบัติ
กำหนดว่ามีการเปลี่ยนแปลงอนุภาค ForceField หรือไม่
คุณสมบัติ
Visible
กำหนดว่ามีการเปลี่ยนแปลงประกาย ForceField หรือไม่ การตั้งค่านี้จะช่วยให้คุณสามารถแทนที่ผลการเปลี่ยนแปลงประกายด้วยประกายที่กำหนดเองในตัวอย่างโค้ดต่อไปนี้
ตัวอย่างโค้ด
Custom ForceField Effect
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)