I have a damage script inside my tool that uses body velocity to blowback anyone who gets hit by it but it keeps saying that Character is a nil value.
This is a normal script inside my tool
script:
01 | local player = game.Players.LocalPlayer |
02 | local handle = script.Parent.Handle |
03 | local debounce = false |
04 |
05 | handle.Touched:Connect( function (hit) |
06 | if not debounce and hit.Parent.Humanoid then |
07 | debounce = true |
08 | hit.Parent.Humanoid:TakeDamage( 50 ) |
09 | local bv = Instance.new( "BodyVelocity" ) |
10 | bv.Parent = hit.Parent.Humanoid |
11 | bv.MaxForce = Vector 3. new( math.huge , math.huge , math.huge ) |
12 | bv.Velocity = player.Character.HumanoidRootPart.CFrame.lookVector * 50 |
13 | bv:Destroy() |
14 | wait( 3 ) |
15 | debounce = false |
16 | end |
17 | end ) |
Usually this is because the character hasn't loaded, but it seems this is not within a LocalScript. In order to use LocalPlayer, you require a LocalScript, not a normal script. You can use a LocalScript and RemoteEvents to use a normal script instead, if you want, though.