I'm attempting to make a fall damage script for my game, however when I try to calculate the amount of time the player has been falling it prints 'nil'
I tried to use a while loop and a repeat loop but both printed the same error: Workspace.Louscascicly.FallDamageScript:30: attempt to perform arithmetic (mul) on nil and number
Here is my script:
local PlayerService = game:GetService("Players")
local Player = PlayerService.LocalPlayer
local Character = Player.Character
local Humanoid = Character:WaitForChild("Humanoid")
local FreefallTime
local DAMAGE_PER_SECOND = 5
local FATAL_SECONDS = 15
local MINIMUM_SECONDS = 3
Humanoid.StateChanged:Connect(function(state)
if state == Enum.HumanoidStateType.Freefall then
repeat
FreefallTime = FreefallTime + 1
print(FreefallTime)
until
state == Enum.HumanoidStateType.Landed
elseif state == Enum.HumanoidStateType.Landed then
print("Landed")
print(FreefallTime)
if FreefallTime > MINIMUM_SECONDS then
if FreefallTime > FATAL_SECONDS then
Humanoid:TakeDamage(1000000000000)
else
local RefinedDamage = FreefallTime * DPS
Humanoid:TakeDamage(RefinedDamage)
end
end
end
end)
