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

How to fix my script that makes tool CanCollide false when picked up but true when dropped?

Asked by
TechModel 118
3 years ago

I added a script a normal one in a tool that makes it CanCollide false which I want the tool to go through the wall, but if I drop it, then it goes back to CanCollide to true. I tried to make a script and I know I did a terrible job but how can I fix this?

1local tool = script.Parent.Model
2 
3if tool.Dropped then
4    tool.CanCollide = true
5elseif tool.PickedUp then
6    tool.CanCollide = false
7end

1 answer

Log in to vote
1
Answered by
7z99 203 Moderation Voter
3 years ago
Edited 3 years ago

You should listen for the .AncestryChanged event of the tool. tool.Dropped and tool.PickedUp aren't properties or events of a tool. Also, tools aren't models and models don't have a CanCollide property.

01local players = game:GetService('Players')
02local tool = script.Parent
03local handle = tool.Handle
04 
05tool.AncestryChanged:Connect(function()
06    if players:GetPlayerFromCharacter(tool:FindFirstAncestorOfClass(model)) then -- it's a descendant of a player's character
07        handle.CanCollide = false
08    else
09        tool.CanCollide = true
10    end
11end)
0
In the 6th line, the part (model)) is underlined red, could that be an error? Also should I use local script or a script TechModel 118 — 3y
Ad

Answer this question