Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Expected identifier when parsing expression, got '.' On line 17? please tell me what i did wrong

local combo = 0
local tool = script.Parent
local player = tool.Parent.Parent
local Char = player.Character or player.CharacterAdded:Wait()
local Humanoid = Char:WaitForChild("Humanoid")
local debounce = false	
local timeBetweenAttacks = 1
local timeAfterFinishedCombo = 2
local 

tool.Activated:Connect(function()
	if Humanoid:GetState() == Enum.HumanoidStateType.Freefall then
		return
	end
	if debounce then
		return
	end
	debounce = true
	combo += 1
	
	local timeBetweenAttacks = 1
	local timeAfterFinishedCombo = 2
	local eyes = Char.HumanoidRootPart.CFrame.LookVector
	local distance = 5
	
	local raycastpara = RaycastParams.new()
	raycastpara.FilterDescendantsInstances = {Char}
	raycastpara.FilterType = Enum.RaycastFilterType.Blacklist
	
	local hitPart = workspace:Raycast((Char.HumanoidRootPart.CFrame).p, eyes * distance, raycastpara)
	
	local function speed()
		hitPart.Instance.Parent:FindFirstChild("Humanoid").WalkSpeed = 0
		hitPart.Instance.Parent:FindFirstChild("Humanoid").JumpPower = 0
	end
	
	local function hitbox()
		if hitPart then
			if hitPart.Instance and hitPart.Instance.Parent:FindFirstChild("Humanoid") then
				if combo >= 4 then
					local BV = Instance.new("BodyVelocity", hitPart.Instance.Parent:FindFirstChild("Humanoid"))
					BV.MaxForce = Vector3(math.huge,math.huge,math.huge)
					BV.Velocity = Char.HumanoidRootPart.LookVector * 25
					hitPart.Instance.Parent.Humanoid:TakeDamage(5)
					if combo == 4 then
						hitPart.Instance.Parent.Humanoid:TakeDamage(10)
						game.Debris:AddItem(BV,1)
						speed()
					end
				end
			end
		end
	end
	if combo == 1 then
		--Hit1:Play()
		hitbox()
		wait(timeBetweenAttacks)
	end

	if combo == 2 then
		--	Hit2:Play()
		hitbox()
		wait(timeBetweenAttacks)
	end

	if combo == 3 then
		--	Hit3:Play()
		hitbox()
		wait(timeBetweenAttacks)
	end

	if combo == 4 then
		--		Hit5:Play()
		hitbox()
		wait(timeAfterFinishedCombo)
		combo = 0
	end	
	
	debounce = false
end)

while true do
	wait()
	print(combo)
	print(debounce)
end

1 answer

✓ Accepted answer

Looking at your code a little closer, I noticed where you opened a variable and never closed it, maybe this is why its giving you an error? Here is the location of the error:

local -- HERE
tool.Activated:Connect(function()
    if Humanoid:GetState() == Enum.HumanoidStateType.Freefall then
        return

Hope this helps, I wish you the best.

2 comments

1

Holy THANK YOU SO MUCH BRO IM SO DUMB LMAO

0

Its all good, we all make mistakes sometimes lol

This discussion is preserved as it was. New answers, comments, and votes are closed.