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

Not playable characters detection dosent work?

Asked by 3 years ago

Hi i am trying to make to npc detect a player in sight and once player is behind the wall the npc can't see him. Everything works fine expect raycast please help me.

local RunService = game:GetService("RunService")

local npc = game.Workspace.NPC
local Character = game.Players.LocalPlayer.Character

RunService.RenderStepped:Connect(function()
    local npcToCharacter = (Character.Head.Position - npc.Head.Position).Unit
    local npclook = npc.Head.CFrame.LookVector
    local dotproduct = npcToCharacter:Dot(npclook)
    local detectRay = Ray.new(npc.Head.Position, (Character.Head.Position - npc.Head.Position).Unit * 5000)
    local hit , position = game.Workspace:FindPartOnRayWithIgnoreList(detectRay, (npc))
    if hit == Character then
    if dotproduct > 0.5 then
        workspace.Baseplate.BrickColor = BrickColor.new("Medium red")
    else
        workspace.Baseplate.BrickColor = BrickColor.new("Medium green")
        end
        end
end)

Answer this question