I basically made a flamethrower, and I wanted anything near a brick that has fire in it, damage something that is near it, making it seem real. However, it's not returning the humanoid in the findNearestTorso() function, and now I'm stuck! I need help with why it's not returning the humanoid. Here's the Error: 22:37:57.897 - Players.Player.Backpack.Flamethrower.Gun_Control:27: bad argument #2 to '?' (Vector3 expected, got nil) 22:37:57.898 - Script 'Players.Player.Backpack.Flamethrower.Gun_Control', Line 27 - global findNearestTorso 22:37:57.900 - Script 'Players.Player.Backpack.Flamethrower.Gun_Control', Line 55 - global MouseDown 22:37:57.901 - Script 'Players.Player.Backpack.Flamethrower.Gun_Control', Line 79 22:37:57.901 - Stack End
function findNearestTorso(pos)
local list = game.Workspace:GetChildren()
local torso = nil
local dist = 5
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) and (temp2.Name == "LMADer") or (temp2.Name == "Vaktus") or (temp2.Name == "BC") then
temp = temp2:findFirstChild("Head")
human = temp2:findFirstChild("Humanoid")
local player = game.Players:GetPlayerFromCharacter(temp2)
if (temp ~= nil) and (human ~= nil) and (human.Health > 0) and not player then
if (temp.Position - pos).magnitude < dist then
torso = temp
dist = (temp.Position - pos).magnitude
end
elseif (temp ~= nil) and (human ~= nil) and (human.Health > 0) and player.TeamColor ~= BrickColor.new("Bright blue") then
if (temp.Position - pos).magnitude < dist then
torso = temp
dist = (temp.Position - pos).magnitude
end
end
end
end
return human
end
MouseDown = function(mouse)
local creator = Instance.new("ObjectValue")
local plr = game.Players:GetPlayerFromCharacter(script.Parent.Parent)
creator.Value = plr
mousedown = true
if not firing then
while mousedown do
wait(1)
firing = true
fire1.Enabled = true
fire2.Enabled = true
fire3.Enabled = true
local hum = findNearestTorso(c1.Position)
creator.Parent = findNearestTorso()
findNearestTorso():TakeDamage(5)
end
firing = false
end
end
