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

How to stop the console from spamming someone's game?

Asked by 4 years ago
Edited 4 years ago
bin = script.Parent
plane = nil
hold = false
local debounce = false
local planedebounce = false
local stuntdebounce = false
local controlling = false
local currentspeed = 0
local turn = nil
fly = false

local missile = false
local shooting = false

function fire(gun_Source, player)
    missile = true
    local guns = gun_Source:GetChildren()
    for i = 1,#guns do
        if guns[i].Name == "RocketLauncher" and guns[i].className == "Part" then
            local shoot = Instance.new("Part")
            shoot.BrickColor = BrickColor.new("Really black")
            shoot.formFactor = "Plate"
            shoot.Size = Vector3.new(1,0.4,2)
            shoot.CFrame = guns[i].CFrame * CFrame.new(0,0,-5)
            shoot.Name = "Missile"
            local d = game:GetService("Debris")
            d:AddItem(shoot,15)

            local force = Instance.new("BodyVelocity")
            force.Parent = shoot
            force.Name = "Move"
            local x1 = guns[i].Velocity.x
            local y1 = guns[i].Velocity.y
            local z1 = guns[i].Velocity.z
            force.velocity = Vector3.new(x1+(x1/5),y1+(y1/5),z1+(z1/5))

            local creator = Instance.new("ObjectValue")
            creator.Name = "creator"
            creator.Value = player
            creator.Parent = shoot

            local swoosh = script.Parent:findFirstChild("Swoosh"):clone()
            swoosh.Parent = shoot
            swoosh:play()
            local boom = script.Parent:findFirstChild("Explosion"):clone()
            boom.PlayOnRemove = true
            boom.Parent = shoot

            local rocket = script:findFirstChild("RocketScript"):clone()
            rocket.Disabled = false
            rocket.Parent = shoot

            shoot.Parent = Workspace
        end
    end
    script.Parent:findFirstChild("Reload"):play()
    local swish = script.Parent:findFirstChild("FireRocket")
    swish:play()
    for i = 1,28 do
        wait()
        swish.Volume = swish.Volume - 0.025
    end
    swish:stop()
    swish.Volume = 0.7
    wait(1)
    missile = false
end

function fire_MachineGun(gun_Source, player)
    while shooting == true do
        missile = true
        local guns = gun_Source:GetChildren()
        for i = 1,#guns do
            if guns[i].Name == "MachineGun" and guns[i].className == "Part" then
                local shoot = Instance.new("Part")
                shoot.BrickColor = BrickColor.new("Bright yellow")
                shoot.formFactor = "Custom"
                shoot.Size = Vector3.new(0.4,0.4,2)
                shoot.CFrame = guns[i].CFrame * CFrame.new(0,0,-5)
                shoot.Name = "Bullet"
                local d = game:GetService("Debris")
                d:AddItem(shoot,5)

                local force = Instance.new("BodyVelocity")
                force.Parent = shoot
                force.Name = "Move"
                force.velocity = guns[i].CFrame.lookVector * 750

                local creator = Instance.new("ObjectValue")
                creator.Name = "creator"
                creator.Value = player
                creator.Parent = shoot

                local shot = script:findFirstChild("GunScript"):clone()
                shot.Disabled = false
                shot.Parent = shoot

                shoot.Parent = Workspace
            end
        end
        script.Parent:findFirstChild("FireGun"):play()
        wait(0.15)
    end
    missile = false
end

function computeDirection(vec)
    local lenSquared = vec.magnitude * vec.magnitude
    local invSqrt = 1 / math.sqrt(lenSquared)
    return Vector3.new(vec.x * invSqrt, vec.y * invSqrt, vec.z * invSqrt)
end

function move(point, engine)
    local origincframe = engine:findFirstChild("Direction").cframe
    size = engine.Size

    target = engine.Position+((point - engine.Position).unit*100)
    local dir = (target - engine.Position).unit
    local spawnPos = engine.Position
    left = engine.CFrame*CFrame.new(-size.x/2, 0, 0).p
    right = engine.CFrame*CFrame.new(size.x/2, 0, 0).p
    md = (target - engine.Position).magnitude

    foebmd = engine.CFrame*CFrame.new(0, 0, -md).p
    toleft = (target -left).magnitude
    toright = (target -right).magnitude
    rot = ((foebmd - target).magnitude/10)
    local pos = spawnPos + (dir * 1)
    turn = math.rad((rot/10)*engine.TiltFactor.Value)
    if turn > math.rad(89) then
    turn = math.rad(89)
    end
    if toleft< toright and toleft >rot then
        engine:findFirstChild("Direction").cframe = CFrame.new(pos,  pos + dir)*CFrame.fromEulerAnglesXYZ(0, 0, turn)
    elseif toleft > toright and toright >rot then
        engine:findFirstChild("Direction").cframe = CFrame.new(pos,  pos + dir)*CFrame.fromEulerAnglesXYZ(0, 0, -turn)
    else
        engine:findFirstChild("Direction").cframe = CFrame.new(pos,  pos + dir)
    end
    engine:findFirstChild("Direction").P = engine.TurnSpeed.Value
end

function findPlane(player)
    local list = player.Character:GetChildren()
    for x = 1, #list do
        if (list[x].Name == "AircraftSeat") then
            return list[x]
        end
    end
    return nil
end

function onButton1Down(mouse)
    local vehicle = findPlane(script.Parent.Parent.Parent)
    if vehicle ~= nil and debounce == false and planedebounce == false then
    if fly == false and taxi == false then return end
    debounce = true

    controlling = true

    while true do
        wait()
        local engine = vehicle
        local position = mouse.Hit
        local target = position.p
        move(target, engine)
        if planedebounce == true or
        controlling == false then break end
    end
    wait(0.1)
    debounce = false
    end
end

function onButton1Up(mouse)
    controlling = false
end

function onSelected(mouse)
    mouse.Icon = "http://www.roblox.com/asset/?id=314019976"
    game.Workspace.CurrentCamera.CameraSubject = bin.Parent.Parent.Character.Head
    game.Workspace.CurrentCamera.CameraType = "Track"
    mouse.Button1Down:connect(function() onButton1Down(mouse) end)
    mouse.Button1Up:connect(function() onButton1Up(mouse) end)
    mouse.KeyDown:connect(onKeyDown)
    mouse.KeyUp:connect(onKeyUp)
    mouse.Move:connect(function() Fly(mouse) end)
    mouse.Idle:connect(function() Fly(mouse) end)
end

function onDeselected(mouse)
    game.Workspace.CurrentCamera.CameraSubject = bin.Parent.Parent.Character.Humanoid
    game.Workspace.CurrentCamera.CameraType = "Custom"
end

function Fly(mouse)
    local vehicle = findPlane(script.Parent.Parent.Parent)
    if (vehicle==nil) then return end
    vehicle.Thrust.velocity = (vehicle.CFrame.lookVector * currentspeed) + Vector3.new(0,vehicle.LiftTrim.Value/100,0)
end

function onKeyDown(key)
    if (key~=nil) then
        key = key:lower()
        local vehicle = findPlane(script.Parent.Parent.Parent)
        if (vehicle==nil) then return end
            if key == "y" then
                fly = true
                vehicle.Direction.cframe = vehicle.CFrame
                vehicle.Direction.maxTorque = Vector3.new(4e3,4e3,4e3)
                vehicle.Thrust.maxForce = Vector3.new(9e20,9e20,9e20)
                while fly == true do
                    if currentspeed < vehicle.Speed.Value then
                        currentspeed = currentspeed + 1
                    elseif currentspeed > vehicle.Speed.Value then
                        currentspeed = currentspeed - 1
                    end
                    if vehicle.Acceleration.Value > 1000 then vehicle.Acceleration.Value = 1000 end
                    wait((1-(vehicle.Acceleration.Value/1000))+0.01)
                    if fly == false then break end
                end
            end
            if key == "x" then
                fly = false
                currentspeed = 0
                vehicle.Direction.maxTorque = Vector3.new(0,0,0)
                vehicle.Thrust.maxForce = Vector3.new(0,0,0)
            end
            if key == "w" then
                if vehicle.Speed.Value < vehicle.MaxSpeed.Value then
                    vehicle.Speed.Value = vehicle.Speed.Value + 10
                end
            end
            if key == "s" then
                if vehicle.Speed.Value > -10 then
                    vehicle.Speed.Value = vehicle.Speed.Value - 10
                end
            end
            if key == "p" then
                vehicle.Speed.Value = vehicle.MaxSpeed.Value
            end
            if key == ";" then
                vehicle.Speed.Value = 0
            end
            if (key=="'") and (bin.Locked.Value == false) then
                local repl = script:clone()
                repl.Parent = bin
                wait(1)
                script:remove()
            end
            if key == "l" and fly == true then
                vehicle.Direction.maxTorque = Vector3.new(4e3,0,4e3)
                local frame = vehicle:FindFirstChild("OriginCFrame")
                if frame ~= nil then
                vehicle.Direction.cframe = frame.Value
                end
                wait(2)
                vehicle.Direction.cframe = vehicle.CFrame
                vehicle.Direction.maxTorque = Vector3.new(4e3,4e3,4e3)
            end
            if key == "f" and missile == false then
                fire(vehicle, bin.Parent.Parent)
            end
            if key == "c" and missile == false then
                shooting = true
                fire_MachineGun(vehicle, bin.Parent.Parent)
            end
    end
end

function onKeyUp(key)
    if (key~=nil) then
        key = key:lower()
        if key == "c" then
            shooting = false
        end
        local vehicle = findPlane(script.Parent.Parent.Parent)
        if (vehicle==nil) then return end
    end
end

bin.Selected:connect(onSelected)
bin.Deselected:connect(onDeselected)


So, there's basically this plane we're using and every time you jump out of the pilot seat the game spams the hell out of pilots game with an error message saying that it can't find the Seat part

https://gyazo.com/5fff64b6d17c3ec6c7727e8d564cff08 --What it shows in the console

Anything I can add to the script to make that stop?

0
can u paste shorter code or something greatneil80 2647 — 4y

1 answer

Log in to vote
0
Answered by 4 years ago
Edited 4 years ago

It's pretty simple, you just need to prevent that error from occurring. To prevent that error just use FindFirstChild()

if seat:FindFirstChild(game.Players.LocalPlayer.Name) then

else
-- if no character in the seat then do nothing
end

If FindFirstChild() doesn't find the child then it returns nil but if it does find the child then it returns a reference to said child.

1
If it doesn't find the child it returns nil not false. And it returns a reference to the child itself and it doesn't return true. User#24403 69 — 4y
0
Oh, alright. Thank you llMasonIl 12 — 4y
0
@incapaxx yeah, thanks. I had a brain fart. I couldn't remember exactly what values it returned at the time, my bad. ManlikeAzan 90 — 4y
Ad

Answer this question