Как мне определить местоположение игрока в радианах? - PullRequest
1 голос
/ 28 октября 2019

Я редактирую скрипт компаса FM и пытаюсь, чтобы направление графического интерфейса было направлено на игрока. Таким образом, вместо северного местоположения целевых игроков будет Север. В конечном итоге это должно функционировать в качестве трекера в другом месте игрока, где планка будет центрирована, если смотреть в указанном направлении игроков.

local smoothness = 30/3

wait(1)

local follow = game.Workspace.King
local player = game.Players.LocalPlayer
local camera = workspace.CurrentCamera

local dev = script.Parent

local lastY = 0

function restrictAngle(angle)
    if angle < -math.pi then
        return angle + math.pi*2
    elseif angle > math.pi then
        return angle - math.pi*2
    else
        return angle
    end
end

while true do
    local delta = wait(1/30)

    local look = camera.CoordinateFrame.lookVector
    local look = Vector3.new(look.x, 0, look.z).unit
    local lookY = math.atan2(look.z, look.x)

    local difY = restrictAngle(lookY - lastY)
    lookY = restrictAngle(lastY + difY*delta*smoothness)
    lastY = lookY

        playerLocation = math.pi * 4/4 -- RN this is north, how would I have the players torso location as north?
        bar = dev.Middle
        rot = restrictAngle(lookY - playerLocation)
        if math.sin(rot) > 0 then
            local cosRot = math.cos(rot)
            local cosRot2 = cosRot*cosRot

            bar.Visible = true
            bar.Position = UDim2.new(0.5 + cosRot*0.6, bar.Position.X.Offset, 0, 3)


        else
            bar.Visible = false
        end
    end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...