Okay so, I am trying to script the swords where if your on a certain area, itll only kill the boss. here it is.
r = game:service("RunService") gw=game.Workspace z1=gw.zone1 z2=gw.zone2 z3=gw.zone3 function check2(z, t) local tp=t.Position local ap=z.Position local as=z.Size local ax=(as.x+1)/2 local ay=(as.z+1)/2 local ax1=ap.x-ax local ax2=ap.x+ax local ay1=ap.z-ay local ay2=ap.z+ay if tp.x>ax1 and tp.x<ax2 and tp.z>ay1 and tp.z<ay2 then return true else return false end end function check(t) if check2(z1, t) then return true elseif check2(z2, t) then return true elseif check2(z3, t) then return true else return false end end local damage = 5 local slash_damage = 10 local lunge_damage = 35 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 local humanoid = hit.Parent:findFirstChild("bHumanoid") local vCharacter = Tool.Parent local vPlayer = game.Players:playerFromCharacter(vCharacter) local hum = vCharacter:findFirstChild("Humanoid") if humanoid~=nil and humanoid ~= hum and hum ~= nil then local player=game.Players:playerFromCharacter(humanoid.Parent) local right_arm = vCharacter:FindFirstChild("Right Arm") if (right_arm ~= nil) then local joint = right_arm:FindFirstChild("RightGrip") if (joint ~= nil and (joint.Part0 == sword or joint.Part1 == sword)) then tagHumanoid(humanoid, vPlayer) local t = hit.Parent.Torso if check(t) then for i=1,damage do if hum.Health<=0 then break end humanoid:TakeDamage(1) end wait(1) untagHumanoid(humanoid) end 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.maxForce = Vector3.new(0,4000,0) force.Parent = Tool.Parent.Torso wait(.2) swordOut() wait(.25) force.Parent = nil wait(1) swordUp() damage = slash_damage 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() -- parry 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 --wait(.5) Tool.Enabled = true end function onEquipped() UnsheathSound:play() end script.Parent.Activated:connect(onActivated) script.Parent.Equipped:connect(onEquipped) connection = sword.Touched:connect(blow)
any help?