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

So because I can't visualize it like other people can: How do I fix my turret problems?

Asked by 2 years ago
Edited 2 years ago

*So I'm working on this game, right? And I need to make a turret rotate with this particular style of code, in otherwords I'm trying to stay within our game's standard.

Here is the problem though:*

-- X
        for i = 1,2 do
            local turret = sp:FindFirstChild("Turret"..i)
            local hinge = turret.TurretConstraint
            local x, y, z = CFrame.new(hinge.Attachment0.WorldPosition * Vector3.new(1, 0, 1), mouse.Hit.p * Vector3.new(1, 0, 1)):toEulerAnglesXYZ()
            local ang = math.abs(math.floor(math.deg(x))) >= 180 and 180 - math.deg(y) or math.deg(y)
            hinge.TargetAngle = (ang > 180 and -360 + ang or ang) - sp.Torso.Orientation.Y

        end
    end

    wait()
end

*This works perfectly fine for the X-Z Rotation of the turret; I saw somewhere that this is called a 1D turret as it doesn't move up and down.

However, when I go to flip the axis to get up and down/tilt for the turret's BARREL, it works only to some extent.*

-- Y
    for i = 1,2 do
        local barrel = sp:FindFirstChild("Barrel"..i)
        local hinge = barrel.BarrelConstraint
        local x, y, z = CFrame.new(hinge.Attachment0.WorldPosition * Vector3.new(0, 1, 1), mouse.Hit.p * Vector3.new(0, 1, 1)):toEulerAnglesXYZ()
        local ang = math.abs(math.floor(math.deg(y))) >= 180 and 180 - math.deg(y) or math.deg(x)
        hinge.TargetAngle = (ang > 180 and -360 + ang or ang) - sp.Torso.Orientation.X

Heres a link showing what the problem looks like: https://i.gyazo.com/1231ce2d2319c0407d53e0e63b7037dd.gif

When I look down a specific axis ( in this case the ZED axis ) my turret flips.

I personally wish I could see the problem but I can't, because I know this has to do with circles in programming and because I can't see the end result until I press play it slows me down and I'm left confused.

0
your game needs a better style of code. I'd suggest keep changing the x and y and z and try to get a better result, something might click in your brain and it would work. preferably the TargetAngle or the ang greatneil80 2647 — 2y

Answer this question