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

Before I test would this work? If not could someone fix? [closed]

Asked by 10 years ago

Near the damage zone, there is a anti tieing method, I've created. If it doesn't work please correct it.

r = game:service("RunService")
multiplier=1
local damage = 5
if hit.Parent:FindFirstChild("Lunging").Value == true then
local slash_damage = 0
local lunge_damage = 0
else
local slash_damage = 10
local lunge_damage = 30
sword = script.Parent.Handle
Tool = script.Parent
local SlashSound = Instance.new("Sound")
SlashSound.SoundId = "rbxasset://sounds\\swordslash.wav"
SlashSound.Parent = sword
SlashSound.Volume = .7
local LungeSound = Instance.new("Sound")
LungeSound.SoundId = "rbxasset://sounds\\swordlunge.wav"
LungeSound.Parent = sword
LungeSound.Volume = .6
local UnsheathSound = Instance.new("Sound")
UnsheathSound.SoundId = "rbxasset://sounds\\unsheath.wav"
UnsheathSound.Parent = sword
UnsheathSound.Volume = 1
function blow(hit)
    if (hit.Parent == nil) then return end -- happens when bullet hits sword
    local humanoid = hit.Parent:findFirstChild("Humanoid")
    local plr2=game.Players:playerFromCharacter(hit.Parent)
    local vCharacter = Tool.Parent
    local vPlayer = game.Players:playerFromCharacter(vCharacter)
    local hum = vCharacter:findFirstChild("Humanoid") -- non-nil if tool held by a character
    if humanoid~=nil and humanoid ~= hum and hum ~= nil and plr2~=nil then
        -- final check, make sure sword is in-hand
        local right_arm = vCharacter:FindFirstChild("Right Arm")
        if (right_arm ~= nil) and plr2.TeamColor~=vPlayer.TeamColor then
            local joint = right_arm:FindFirstChild("RightGrip")
            if (joint ~= nil and (joint.Part0 == sword or joint.Part1 == sword)) then
                tagHumanoid(humanoid, vPlayer)
                humanoid:TakeDamage(damage*multiplier)
                wait(1)
                untagHumanoid(humanoid)
            end
        end
    end
end
function tagHumanoid(humanoid, player)
    local creator_tag = Instance.new("ObjectValue")
    creator_tag.Value = player
    creator_tag.Name = "creator"
    creator_tag.Parent = humanoid
end

function untagHumanoid(humanoid)
    if humanoid ~= nil then
        local tag = humanoid:findFirstChild("creator")
        if tag ~= nil then
            tag.Parent = nil
        end
    end
end
function attack()
    damage = slash_damage
    SlashSound:play()
    local anim = Instance.new("StringValue")
    anim.Name = "toolanim"
    anim.Value = "Slash"
    anim.Parent = Tool
end
function lunge()
    damage = lunge_damage
    LungeSound:play()
    local anim = Instance.new("StringValue")
    anim.Name = "toolanim"
    anim.Value = "Lunge"
    anim.Parent = Tool
    force = Instance.new("BodyVelocity")
    force.velocity = Vector3.new(0,10,0) --Tool.Parent.Torso.CFrame.lookVector * 80
    force.Parent = Tool.Parent.Torso
    wait(.25)
    swordOut()
    wait(.25)
    force.Parent = nil
    wait(.5)
    swordUp()
    damage = slash_damage
end
end
function swordUp()
    Tool.GripForward = Vector3.new(-1,0,0)
    Tool.GripRight = Vector3.new(0,1,0)
    Tool.GripUp = Vector3.new(0,0,1)
end

function swordOut()
    Tool.GripForward = Vector3.new(0,0,1)
    Tool.GripRight = Vector3.new(0,-1,0)
    Tool.GripUp = Vector3.new(-1,0,0)
end
function swordAcross()
end
Tool.Enabled = true
local last_attack = 0
function onActivated()
    if not Tool.Enabled then
        return
    end
    Tool.Enabled = false
    local character = Tool.Parent;
    local humanoid = character.Humanoid
    if humanoid == nil then
        print("Humanoid not found")
        return 
    end
    t = r.Stepped:wait()
    if (t - last_attack < .2) then
        lunge()
    else
        attack()
    end
    last_attack = t
    Tool.Enabled = true
end
function onEquipped()
    UnsheathSound:play()
end
script.Parent.Activated:connect(onActivated)
script.Parent.Equipped:connect(onEquipped)
connection = sword.Touched:connect(blow)

Closed as Not Constructive by evaera

This question has been closed because it is not constructive to others or the asker. Most commonly, questions that are requests with no attempt from the asker to solve their problem will fall into this category.

Why was this question closed?

1 answer

Log in to vote
1
Answered by 10 years ago

What is the point of testing if you need to know the errors in advance?

Ad