Roblox,某个零件与玩家接触会造成伤害

我的代码:

local UIS = game:GetService("UserInputService")
local Player = game.Players.LocalPlayer
local Mouse = Player:GetMouse()
local Activation =
Instance.new("Sound",game.Players.LocalPlayer.Character.Head)
local char = Player.Character
local hum = char.Humanoid
local root = char.HumanoidRootPart

UIS.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.F then
local animation = Instance.new("Animation")
animation.AnimationId = "rbxassetid://1581972610"
local animTrack = hum:LoadAnimation(animation)
animTrack:Play()
Activation.SoundId = "rbxassetid://1581091676" --播放万花筒写轮眼激活音效。
Activation:Play()
wait(0.3)
game.Players.LocalPlayer.Character.Head.face.Texture = "rbxassetid://76285632" --按下 F 键时,面部纹理变为写轮眼贴图。
game:GetService("Chat"):Chat(Player.Character.Head, "万花筒写轮眼!")
end
end)

UIS.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.R then
Activation.SoundId = "rbxassetid://1580990602" --播放天照写轮眼激活音效。
Activation:Play()
game:GetService("Chat"):Chat(Player.Character.Head, "天照!")
local Target = Instance.new("Part") --创造一个零件
Target.CFrame = Mouse.Hit; --使零件在鼠标当前位置生成
Target.Parent = game.Workspace
Target.Transparency = 1
Target.Anchored = true
Target.CanCollide = false

local Amaterasu = Instance.new("Fire")
Amaterasu.Parent = game.Workspace.Part
Amaterasu.Color = Color3.new(0,0,0)
Amaterasu.SecondaryColor = Color3.new(0,0,0) --天照写轮眼属性
Amaterasu.Size = 25

local R = Instance.new("RocketPropulsion") --火箭推进器,将其父对象设置为天照写轮眼
R.Parent = Amaterasu
R.MaxThrust = 300
R.ThrustP = 30
R:Fire()
end
end)

 UIS.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.G then
game.Players.LocalPlayer.Character.Head.face.Texture = "rbxassetid://22557247" --按下 G 键时,面部纹理恢复为正常(留空白需修复)
end
end)

我正在处理脚本中的第二个功能,即按下“r”键时激活的功能。通过按下“r”键,该功能将在鼠标当前位置生成带有火焰的零件。

这一切都很好。我想让所生成的火焰伤害任何接触它的玩家,为了给予100点伤害,我要在此设置该功能。

点赞
用户4512564
用户4512564

我相信您正在寻找Touched - 请查看创建危险陷阱:https://wiki.roblox.com/index.php?title=Creating_Traps_and_Pickups

文档中提供了一个示例:

local trapPart = script.Parent
local function onPartTouch(otherPart)

    local partParent = otherPart.Parent
    local humanoid = partParent:FindFirstChildWhichIsA("Humanoid")

    if ( humanoid ) then
        -- Set player's health to 0
        humanoid.Health = 0
    end
end

trapPart.Touched:Connect(onPartTouch)

但免责声明 - 我不是Roblox开发者(只是现在烦恼了一个)。祝您好运。

2018-04-07 03:45:27
用户9648982
用户9648982
不要在设置属性之前调用父节点,否则会导致性能下降
2018-04-15 13:48:39