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

Equipping and Following Help ?

Asked by 9 years ago

local Lighting = game.Lighting

if game.Workspace.Guy.Humanoid.Health <= 99 then

game.Workspace.Guy.Humanoid:EquipTool(Lighting.LinkedSword)

local larm = script.Parent:FindFirstChild("Left Arm") local rarm = script.Parent:FindFirstChild("Right Arm")

function findNearestTorso(pos) local list = game.Workspace:children() local torso = nil local dist = 25 local temp = nil local human = nil local temp2 = nil for x = 1, #list do temp2 = list[x] if (temp2.className == "Model") and (temp2 ~= script.Parent) then temp = temp2:findFirstChild("Torso") human = temp2:findFirstChild("Humanoid") if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then if (temp.Position - pos).magnitude < dist then torso = temp dist = (temp.Position - pos).magnitude end end end end return torso end

while true do wait(0.1) local target = findNearestTorso(script.Parent.Torso.Position) if target ~= nil then script.Parent.Humanoid:MoveTo(target.Position, target) end end

end

0
So I have a random person who just walks around, this script is supposed to work where once the person is hurt they get equipped with a linked sword and follow you. But none of those work... cooldrewbie 94 — 9y

1 answer

Log in to vote
1
Answered by 9 years ago

Putting the code in a code block for anyone who wants to solve it...

local Lighting = game.Lighting

if game.Workspace.Guy.Humanoid.Health <= 99 then
game.Workspace.Guy.Humanoid:EquipTool(Lighting.LinkedSword)

local larm = script.Parent:FindFirstChild("Left Arm") 
local rarm = script.Parent:FindFirstChild("Right Arm")

function findNearestTorso(pos)
 local list = game.Workspace:children() 
local torso = nil 
local dist = 25 
local temp = nil 
local human = nil 
local temp2 = nil 
for x = 1, #list do 
temp2 = list[x] 
if (temp2.className == "Model") and (temp2 ~= script.Parent) then 
temp = temp2:findFirstChild("Torso") 
human = temp2:findFirstChild("Humanoid")
if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then 
if (temp.Position - pos).magnitude < dist then 
torso = temp 
dist = (temp.Position - pos).magnitude 
end 
end 
end
end 
return torso 
end

while true do wait(0.1) 
local target = findNearestTorso(script.Parent.Torso.Position) 
if target ~= nil then 
script.Parent.Humanoid:MoveTo(target.Position, target)
end 
end
end
Ad

Answer this question