So currently, I am having problems on my air combo. The combo consists of an uppercut, a left and right hook, and a “slam” attack. All of the moves of the combo work perfectly except the right hook which has some bugs I can’t find.
Here’s the right hook’s code:
elseif MainCombo == 2 and ComboAllower == true then --Right Hook
RightHookAnim:Play()
Whoosh:Play()
HookDamage = true
delay(0.65, UnHookDamager)
HRP.Anchored = true
delay(0.85, UnAnchorer)
MainCombo = 3
--Magnitude (For the hook anims)--
elseif hit.Parent:FindFirstChild("Humanoid")and HookDamage == true then
local HRP2 = hit.Parent:WaitForChild("HumanoidRootPart")
RmtEvent:FireServer(hit.Parent)
HookDamage = false
ComboAllower = true
delay(1, ComboChange)
print("Hook Damage Fired!")
HRP2.Anchored = true
delay(0.85, function()
if HRP2.Anchored == true then
HRP2.Anchored = false
end
end)
Punch:Play()
Any mistakes I need to fix? let me know!
P.S. if anyone’s confused, the Anim’s priority is set to "Action
Is there any errors in the output? And I scanned through the code and I found this: delay(1, ComboChange) and I can’t see anything specifying ComboChange. Is this the problem?
--Variables--
local RmtEvent = game.ReplicatedStorage.RmtEvents.Punch
local RmtEvent2 = game.ReplicatedStorage.RmtEvents.Heavy
local RmtEvent3 = game.ReplicatedStorage.RmtEvents.Uppercut
local F1RmtEvent = game.ReplicatedStorage.RmtEvents.Finisher1
local SlamEvent = game.ReplicatedStorage.RmtEvents.Slam
local Debris = game:GetService("Debris")
local Force = 16000
--Damage Values--
local Dmg = game.ReplicatedStorage.DamageValues.Normal.Value
local FinisherDmg = game.ReplicatedStorage.DamageValues.Finisher.Value
local UppercutDmg = game.ReplicatedStorage.DamageValues.Uppercut.Value
local HeavyDmg = game.ReplicatedStorage.DamageValues.Heavy.Value
RmtEvent.OnServerEvent:Connect(function(Player, Character) --The event I'm having problems with
print("Remote Event #1 fired!")
local Humanoid = Character:FindFirstChild("Humanoid")
Humanoid:TakeDamage(Dmg)
if Humanoid.Health == 0 then
Player.leaderstats.Points.Value = Player.leaderstats.Points.Value + 1
end
end)
I meant the full code, I wanted to see the hit detection but i’m guessing it’s a .Touched event. I had problems too with it, I mean sending the hit from the client to the server. The best thing you can do to fix it right now is send the player name instead (game.Players:GetPlayerFromCharacter(hit.Parent).Name) and then just find its character in the server script.