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

Anyone knows which line includes the classic sword's hit keybind?

Asked by 2 years ago

im using the roblox sword one (the classic sword) so appearently ive been trying to find which line includes keybind that uses to activate aka hit the sword the sword i know that it is mousebutton1 but i need to change it to right mousebutton but i cant find anything related to it here is the code :

--Rescripted by Luckymaxer
--EUROCOW WAS HERE BECAUSE I MADE THE PARTICLES AND THEREFORE THIS ENTIRE SWORD PRETTY AND LOOK PRETTY WORDS AND I'D LIKE TO DEDICATE THIS TO MY FRIENDS AND HI LUCKYMAXER PLS FIX SFOTH SWORDS TY LOVE Y'ALl
--Updated for R15 avatars by StarWars
--Re-updated by TakeoHonorable

Tool = script.Parent
Handle = Tool:WaitForChild("Handle")

function Create(ty)
    return function(data)
        local obj = Instance.new(ty)
        for k, v in pairs(data) do
            if type(k) == 'number' then
                v.Parent = obj
            else
                obj[k] = v
            end
        end
        return obj
    end
end

local BaseUrl = "rbxassetid://"

Players = game:GetService("Players")
Debris = game:GetService("Debris")
RunService = game:GetService("RunService")

DamageValues = {
    BaseDamage = 5,
    SlashDamage = 10,
    LungeDamage = 30
}

--For R15 avatars
Animations = {
    R15Slash = 522635514,
    R15Lunge = 522638767
}

Damage = DamageValues.BaseDamage

Grips = {
    Up = CFrame.new(0, 0, -1.70000005, 0, 0, 1, 1, 0, 0, 0, 1, 0),
    Out = CFrame.new(0, 0, -1.70000005, 0, 1, 0, 1, -0, 0, 0, 0, -1)
}

Sounds = {
    Slash = Handle:WaitForChild("SwordSlash"),
    Lunge = Handle:WaitForChild("SwordLunge"),
    Unsheath = Handle:WaitForChild("Unsheath")
}

ToolEquipped = false

--For Omega Rainbow Katana thumbnail to display a lot of particles.
for i, v in pairs(Handle:GetChildren()) do
    if v:IsA("ParticleEmitter") then
        v.Rate = 20
    end
end

Tool.Grip = Grips.Up
Tool.Enabled = true

function IsTeamMate(Player1, Player2)
    return (Player1 and Player2 and not Player1.Neutral and not Player2.Neutral and Player1.TeamColor == Player2.TeamColor)
end

function TagHumanoid(humanoid, player)
    local Creator_Tag = Instance.new("ObjectValue")
    Creator_Tag.Name = "creator"
    Creator_Tag.Value = player
    Debris:AddItem(Creator_Tag, 2)
    Creator_Tag.Parent = humanoid
end

function UntagHumanoid(humanoid)
    for i, v in pairs(humanoid:GetChildren()) do
        if v:IsA("ObjectValue") and v.Name == "creator" then
            v:Destroy()
        end
    end
end

function Blow(Hit)
    if not Hit or not Hit.Parent or not CheckIfAlive() or not ToolEquipped then
        return
    end
    local RightArm = Character:FindFirstChild("Right Arm") or Character:FindFirstChild("RightHand")
    if not RightArm then
        return
    end
    local RightGrip = RightArm:FindFirstChild("RightGrip")
    if not RightGrip or (RightGrip.Part0 ~= Handle and RightGrip.Part1 ~= Handle) then
        return
    end
    local character = Hit.Parent
    if character == Character then
        return
    end
    local humanoid = character:FindFirstChildOfClass("Humanoid")
    if not humanoid or humanoid.Health == 0 then
        return
    end
    local player = Players:GetPlayerFromCharacter(character)
    if player and (player == Player or IsTeamMate(Player, player)) then
        return
    end
    UntagHumanoid(humanoid)
    TagHumanoid(humanoid, Player)
    humanoid:TakeDamage(Damage) 
end


function Attack()
    Damage = DamageValues.SlashDamage
    Sounds.Slash:Play()

    if Humanoid then
        if Humanoid.RigType == Enum.HumanoidRigType.R6 then
            local Anim = Instance.new("StringValue")
            Anim.Name = "toolanim"
            Anim.Value = "Slash"
            Anim.Parent = Tool
        elseif Humanoid.RigType == Enum.HumanoidRigType.R15 then
            local Anim = Tool:FindFirstChild("R15Slash")
            if Anim then
                local Track = Humanoid:LoadAnimation(Anim)
                Track:Play(0)
            end
        end
    end 
end

function Lunge()
    Damage = DamageValues.LungeDamage

    Sounds.Lunge:Play()

    if Humanoid then
        if Humanoid.RigType == Enum.HumanoidRigType.R6 then
            local Anim = Instance.new("StringValue")
            Anim.Name = "toolanim"
            Anim.Value = "Lunge"
            Anim.Parent = Tool
        elseif Humanoid.RigType == Enum.HumanoidRigType.R15 then
            local Anim = Tool:FindFirstChild("R15Lunge")
            if Anim then
                local Track = Humanoid:LoadAnimation(Anim)
                Track:Play(0)
            end
        end
    end 
    --[[
    if CheckIfAlive() then
        local Force = Instance.new("BodyVelocity")
        Force.velocity = Vector3.new(0, 10, 0) 
        Force.maxForce = Vector3.new(0, 4000, 0)
        Debris:AddItem(Force, 0.4)
        Force.Parent = Torso
    end
    ]]

    wait(0.2)
    Tool.Grip = Grips.Out
    wait(0.6)
    Tool.Grip = Grips.Up

    Damage = DamageValues.SlashDamage
end

Tool.Enabled = true
LastAttack = 0

function Activated()
    if not Tool.Enabled or not ToolEquipped or not CheckIfAlive() then
        return
    end
    Tool.Enabled = false
    local Tick = RunService.Stepped:wait()
    if (Tick - LastAttack < 0.2) then
        Lunge()
    else
        Attack()
    end
    LastAttack = Tick
    --wait(0.5)
    Damage = DamageValues.BaseDamage
    local SlashAnim = (Tool:FindFirstChild("R15Slash") or Create("Animation"){
        Name = "R15Slash",
        AnimationId = BaseUrl .. Animations.R15Slash,
        Parent = Tool
    })

    local LungeAnim = (Tool:FindFirstChild("R15Lunge") or Create("Animation"){
        Name = "R15Lunge",
        AnimationId = BaseUrl .. Animations.R15Lunge,
        Parent = Tool
    })
    Tool.Enabled = true
end

function CheckIfAlive()
    return (((Player and Player.Parent and Character and Character.Parent and Humanoid and Humanoid.Parent and Humanoid.Health > 0 and Torso and Torso.Parent) and true) or false)
end

function Equipped()
    Character = Tool.Parent
    Player = Players:GetPlayerFromCharacter(Character)
    Humanoid = Character:FindFirstChildOfClass("Humanoid")
    Torso = Character:FindFirstChild("Torso") or Character:FindFirstChild("HumanoidRootPart")
    if not CheckIfAlive() then
        return
    end
    ToolEquipped = true
    Sounds.Unsheath:Play()
end

function Unequipped()
    Tool.Grip = Grips.Up
    ToolEquipped = false
end

Tool.Activated:Connect(Activated)
Tool.Equipped:Connect(Equipped)
Tool.Unequipped:Connect(Unequipped)

Connection = Handle.Touched:Connect(Blow)`
0
There isn't a bit of code that activates inside the sword, roblox handles Tool.Activated whenever a player clicks or taps automatically with the tool out. Only way to change this is enabling "ManualActivationOnly" Protogen_Dev 268 — 2y
0
i am not very familiar with it how does it work? Legeandaries 0 — 2y
0
In basic, without the ManualActivationOnly, Whenever a player clicks with a tool out, Tool:Activate() is called automatically, there isn't a proper way around this without using ManualActivcationOnly Protogen_Dev 268 — 2y

Answer this question