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

Melee Combat Not Working as Expected, How Do I Fix This?

Asked by 4 years ago

So I Made a new script for a melee combat. The problem is it only does a few animation and it doesn't even damage the target.

Here's the local script:

local RS = game:GetService("ReplicatedStorage")
local Remotes = RS:WaitForChild("Remotes")
local Combat = Remotes:WaitForChild("Combat")

local Player = game.Players.LocalPlayer
local Mouse = Player:GetMouse()

local debounce = false

Mouse.Button1Down:Connect(function()
    if debounce == false then
        debounce = true
        Combat:FireServer()
    elseif debounce == true then
        return
    end
    wait(0.3)
    debounce = false
end)

and Here's the server script:

local RS = game:GetService("ReplicatedStorage")
local Remotes = RS:WaitForChild("Remotes")
local Combat = Remotes:WaitForChild("Combat")
local P1 = script.Punch1
local P2 = script.Punch2
local P3 = script.Punch3
local P4 = script.Punch4

local CC = 0

if CC == 4 then
    CC = 0
end

Combat.OnServerEvent:Connect(function(Player)
    local MeleeXP = Player.Data.Stats.MeleeXP

    local CP = true

    CC = CC +1
    local Char = Player.Character
    local Hum = Char.Humanoid
    local LA = Char:WaitForChild("Left Arm")
    local RA = Char:WaitForChild("Right Arm")
    local LL = Char:WaitForChild("Left Leg")
    local RL = Char:WaitForChild("Right Leg")

    if CC == 1 then
        local Anim = Hum:LoadAnimation(P1)
        Anim:Play()

        LA.Touched:Connect(function(Hit)
            if Hit.Parent:FindFirstChild("Humanoid") then
                MeleeXP.Value = MeleeXP.Value +1
                local Hum = Hit.Parent:FindFirstChild("Humanoid")
                Hum.WalkSpeed = 3
                Hum.JumpPower = 0
                if Hum.Parent.Name ~= Player.Name and CP then
                    Hum:TakeDamage(MeleeXP.Value/10)
                    wait(1)
                    Hum.WalkSpeed = 16
                    Hum.JumpPower = 50
                end
            end
        end)
        wait(0.3)
        CP = false
    elseif CC == 2 then
        local Anim = Hum:LoadAnimation(P2)
        Anim:Play()

        RA.Touched:Connect(function(Hit)
            if Hit.Parent:FindFirstChild("Humanoid") then
                MeleeXP.Value = MeleeXP.Value +1
                local Hum = Hit.Parent:FindFirstChild("Humanoid")
                Hum.WalkSpeed = 3
                Hum.JumpPower = 0
                if Hum.Parent.Name ~= Player.Name and CP then
                    Hum:TakeDamage(MeleeXP.Value/10)
                    wait(1)
                    Hum.WalkSpeed = 16
                    Hum.JumpPower = 50
                end
            end
        end)
        wait(0.3)
        CP = false
    elseif CC == 3 then
        local Anim = Hum:LoadAnimation(P3)
        Anim:Play()

        LA.Touched:Connect(function(Hit)
            if Hit.Parent:FindFirstChild("Humanoid") then
                MeleeXP.Value = MeleeXP.Value +1
                local Hum = Hit.Parent:FindFirstChild("Humanoid")
                Hum.WalkSpeed = 3
                Hum.JumpPower = 0
                if Hum.Parent.Name ~= Player.Name and CP then
                    Hum:TakeDamage(MeleeXP.Value/10)
                    wait(1)
                    Hum.WalkSpeed = 16
                    Hum.JumpPower = 50
                end
            end
        end)
        wait(0.3)
        CP = false
    elseif CC == 4 then
        local Anim = Hum:LoadAnimation(P4)
        Anim:Play()

        LL.Touched:Connect(function(Hit)
            if Hit.Parent:FindFirstChild("Humanoid") then
                MeleeXP.Value = MeleeXP.Value +1
                local Hum = Hit.Parent:FindFirstChild("Humanoid")
                Hum.WalkSpeed = 3
                Hum.JumpPower = 0
                if Hum.Parent.Name ~= Player.Name and CP then
                    Hum:TakeDamage(MeleeXP.Value/10)
                    wait(1)
                    Hum.WalkSpeed = 16
                    Hum.JumpPower = 50
                end
            end
        end)
        wait(1)
        CP = false
    end
end)
0
Anything in the output? wearestupid123456789 25 — 4y
0
no sir, nothing RyuShikuraiUchiha 2 — 4y

Answer this question