Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

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

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?

1 comment

0

can u paste shorter code or something

1 answer

✓ Accepted answer

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.

3 comments

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.

0

Oh, alright. Thank you

0

@incapaxx yeah, thanks. I had a brain fart. I couldn't remember exactly what values it returned at the time, my bad.

This discussion is preserved as it was. New answers, comments, and votes are closed.