Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

animation play when part touched?

Asked by 3 years ago
Edited 3 years ago

I am trying to an animation that plays on non-humanoid, and I want it to play at the moment when player touches a part. I have borrowed a scrupt from official roblox developer site and just added a few lines to play the anim. when a part is touched because by default the anim. played on the game start. As you may tell, it doesnt work for some reason. There were no errors and nothing in the output, and yes, I have my objectvalue set. Here are the lines a added:

local rig = script.Parent
local PlayOnPartTouch = script:FindFirstChild("PlayOnPartTouch")
local Character = Player.Character or Player.CharacterAdded:Wait

if PlayOnPartTouch then
    local part = script.PlayOnPartTouch.Value
    if part and part:IsA("BasePart") then
        part.Touched:Connect(function(hit)
            if hit.Parent == Player.Character then
                kickAnimationTrack:Play()
            end
        end)
    end
    PlayOnPartTouch:Destroy()
end

here is the whole script I am using:

local rig = script.Parent
local PlayOnPartTouch = script:FindFirstChild("PlayOnPartTouch")
local Character = Player.Character or Player.CharacterAdded:Wait()

local humanoid = rig:FindFirstChildOfClass("Humanoid")
if humanoid then
    humanoid:Destroy()
end


local kickAnimation = Instance.new("Animation")

kickAnimation.AnimationId = "rbxassetid://7151528089"


local animController = Instance.new("AnimationController")
animController.Parent = rig
local animator = Instance.new("Animator")
animator.Parent = animController


local kickAnimationTrack = animator:LoadAnimation(kickAnimation)



if PlayOnPartTouch then
    local part = script.PlayOnPartTouch.Value
    if part and part:IsA("BasePart") then
        part.Touched:Connect(function(hit)
            if hit.Parent == Player.Character then
                kickAnimationTrack:Play()
            end
        end)
    end
    PlayOnPartTouch:Destroy()
end


kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
    print(paramString)
end)


Screenshot of explorer window: https://imgur.com/Rc1VxxG

Answer this question