Log in to vote

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

Asked by 22 days ago
Edited 22 days 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 = *, 0, 1), mouse.Hit.p *, 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



*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 = *, 1, 1), mouse.Hit.p *, 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:

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.

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 2641 — 22d

Answer this question