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

Camera only working on last (mortar) seat?

Asked by 8 years ago

So I am working on a artillery script for a mortar I have and basically I have it set up to where Instead of having a script in each one I have 1 script that controls them all in an unlaggy ability. Now here is my script so far I just started on it today and I am trying to get the camera to work right which it does just on only 1 mortar seat.

player = game.Players.LocalPlayer;

mouse = player:GetMouse();

MapCam = game.Workspace.CameraPart;

mortars = {};

for index, child in ipairs(workspace:GetChildren()) do
    if child.Name == "Mortar" then
        local m_index = #mortars + 1;
        mortars[m_index] = child;
    end
end

for index, mortar in ipairs(mortars) do
    mortar.Name = "Mortar" .. index;
end

while true do
    wait(0.1);

    for index, mortar in ipairs(mortars) do
        local found = mortar.Artillery.Seat:FindFirstChild("SeatWeld");

        if found then
            if mortar.Artillery.Seat.SeatWeld.Part1.Parent.Name == player.Name then
                CurrentCam = game.Workspace.CurrentCamera;
                CurrentCam.CameraType = "Watch";
                CurrentCam.Focus = CFrame.new(0, 0, 0);
                CurrentCam.CoordinateFrame = CFrame.new(MapCam.Position);
                CurrentCam.CameraSubject = MapCam;
            end
        else
            CurrentCam = game.Workspace.CurrentCamera;
            CurrentCam.CameraSubject = player.Character.Humanoid;
            CurrentCam.CameraType = "Custom";
        end
    end

end

Could anyone explain to me what the problem is and a potential solution? Thanks in advance.

0
Is this in a Local Script? User#11440 120 — 8y
0
Yes it is. TacticalSutherland 20 — 8y

1 answer

Log in to vote
0
Answered by 8 years ago

It ended up being that I had no wait time on it.

Ad

Answer this question