Roblox/luau_corpus huggingface dataset:
-- Note: DotProduct check in CoordinateFrame::lookAt() prevents using values within about
-- 8.11 degrees of the +/- Y axis, that's why these limits are currently 80 degrees
local MIN_Y = math.rad(-80)
local MAX_Y = math.rad(80)

local VR_ANGLE = math.rad(15)
local VR_LOW_INTENSITY_ROTATION = Vector2.new(math.rad(15), 0)
local VR_HIGH_INTENSITY_ROTATION = Vector2.new(math.rad(45), 0)
local VR_LOW_INTENSITY_REPEAT = 0.1
local VR_HIGH_INTENSITY_REPEAT = 0.4

local ZERO_VECTOR2 = Vector2.new(0,0)
local ZERO_VECTOR3 = Vector3.new(0,0,0)

local SEAT_OFFSET = Vector3.new(0,5,0)
local VR_SEAT_OFFSET = Vector3.new(0,4,0)
local HEAD_OFFSET = Vector3.new(0,1.5,0)
local R15_HEAD_OFFSET = Vector3.new(0, 1.5, 0)
local R15_HEAD_OFFSET_NO_SCALING = Vector3.new(0, 2, 0)
local DEAD_OFFSET = Vector3.new(0,1.5,0)
local HUMANOID_ROOT_PART_SIZE = Vector3.new(2, 2, 1)

local GAMEPAD_ZOOM_STEP_1 = 0
local GAMEPAD_ZOOM_STEP_2 = 10
local GAMEPAD_ZOOM_STEP_3 = 20

local ZOOM_SENSITIVITY_CURVATURE = 0.5
local FIRST_PERSON_DISTANCE_MIN = 0.5

local HUMANOID_STATES = {
	[Enum.HumanoidStateType.Dead] = true;
	[Enum.HumanoidStateType.Physics] = true;
}

local CameraUtils = require(script.Parent:WaitForChild("CameraUtils"))
local ZoomController = require(script.Parent:WaitForChild("ZoomController"))
local CameraToggleStateController = require(script.Parent:WaitForChild("CameraToggleStateController"))
local CameraInput = require(script.Parent:WaitForChild("CameraInput"))
local CameraUI = require(script.Parent:WaitForChild("CameraUI"))
---
if 	script.Parent.Parent.Parent.IsOn.Value then
	script.Parent.Parent:TweenPosition(UDim2.new(0, 0, 0, 0),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,1,true)
end

script.Parent.Parent.Parent.IsOn.Changed:connect(function()
	if script.Parent.Parent.Parent.IsOn.Value then
		script.Parent.Parent:TweenPosition(UDim2.new(0, 0, 0, 0),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,1,true)
	end
end)

	local handler = car.Fogs
			
	script.Parent.MouseButton1Click:connect(function()
		if car.Body.Fogs.F.L.L.Enabled == false then
			handler:FireServer("Lights",1)
			script.Parent.BackgroundColor3 = Color3.new(0,255/255,0)
			script.Parent.TextStrokeColor3 = Color3.new(0,255/255,0)
			for index, child in pairs(car.Body.Fogs.F:GetChildren()) do
			child.Material = Enum.Material.Neon
			child.L.Enabled = true
			end
		elseif car.Body.Fogs.F.L.L.Enabled == true then
			handler:FireServer("Lights",0)
			script.Parent.BackgroundColor3 = Color3.new(0,0,0)
			script.Parent.TextStrokeColor3 = Color3.new(0,0,0)
			for index, child in pairs(car.Body.Fogs.F:GetChildren()) do
			child.Material = Enum.Material.SmoothPlastic
			child.L.Enabled = false
			end
		end
	end)
-- Do not edit the below.

script.Parent.Changed:connect(function(child)
SingleDriverMode = script.Parent.SingleMode.Value
 if SingleDriverMode == true then
     if script.Parent.Occupant ~= nil then
         if script.Parent.Occupant.Parent.Name ~= AllowedDriver then
         script.Parent.Occupant.Jump = true
         script.Parent.Occupant.Health = 0
         script.Parent.Fail:Play()
     else end
 end
 else
  for i,v in pairs(Blacklist) do
   if script.Parent.Occupant ~= nil then
          if script.Parent.Occupant.Parent.Name == Blacklist[i] then
           if script.Parent.Occupant.Parent.Name ~= AllowedDriver then
     script.Parent.Occupant.Jump = true
           script.Parent.Occupant.Health = 0
           script.Parent.Fail:Play()
     end
      else end
   end
  end
 end
end)
-- tu dois assigner la bonne couleur

local plr = script.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Name
local normalBorderColor = script.Parent.TextLabel.TextColor.Color

function Click(mouse) 
	if game.Players[plr].TeamColor ~= game.Teams:FindFirstChild(script.Parent.Name).TeamColor then
		game.Players[plr].TeamColor = game.Teams:FindFirstChild(script.Parent.Name).TeamColor

		script.Parent.Border.ImageColor3 = Color3.new(0.333333, 1, 0)
		wait(.25)
		script.Parent.Border.ImageColor3 = normalBorderColor
		wait(.1)
		script.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Character.Humanoid.Health = 0
	else
		script.Parent.Border.ImageColor3 = Color3.new(1, 0, 0)
		wait(.25)
		script.Parent.Border.ImageColor3 = normalBorderColor
		wait(.1)
	end
	
end 

script.Parent.MouseButton1Click:connect(Click)
--Atomic Bomb
game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(character)
		local Humanoid = character:WaitForChild("Humanoid")
		Humanoid.Died:connect(function()
			if player.AtomicBomb.Value == 2 then
				player.AtomicBomb.Value = 1
			end
		end)
	end)
end)
game.Players.PlayerRemoving:Connect(function(player)
	if player.AtomicBomb.Value == 2 then
		player.AtomicBomb.Value = 1
	end
end)
--[=[
	Converts an item
	http://reactivex.io/documentation/operators/from.html

	@param item Promise | table
	@return Observable
]=]
function Rx.from(item)
	if Promise.isPromise(item) then
		return Rx.fromPromise(item)
	elseif type(item) == "table" then
		return Rx.of(unpack(item))
	else
		-- TODO: Iterator?
		error("[Rx.from] - cannot convert")
	end
end
--- Add a line to the command bar
function Window:AddLine(text, options)
	options = options or {}
	text = tostring(text)

	if typeof(options) == "Color3" then
		options = { Color = options }
	end

	if #text == 0 then
		Window:UpdateWindowHeight()
		return
	end

	local str = self.Cmdr.Util.EmulateTabstops(text or "nil", 8)
	local line = Line:Clone()
	line.Size =
		UDim2.new(
		line.Size.X.Scale,
		line.Size.X.Offset,
		0,
		TextService:GetTextSize(
			str,
			line.TextSize,
			line.Font,
			Vector2.new(Gui.UIListLayout.AbsoluteContentSize.X, math.huge)
		).Y + (LINE_HEIGHT - line.TextSize)
	)
	line.Text = str
	line.TextColor3 = options.Color or line.TextColor3
	line.RichText = options.RichText or false
	line.Parent = Gui
end
-- declarations

local sDied = newSound("rbxasset://sounds/uuhhh.wav")
local sOuch = newSound("rbxasset://sounds/splat.wav")
local sFallingDown = newSound("rbxasset://sounds/splat.wav")
local sFreeFalling = newSound("rbxasset://sounds/button.wav")
local sGettingUp = newSound("rbxasset://sounds/hit.wav")
local sJumping = newSound("rbxasset://sounds/button.wav")
local sRunning = newSound("rbxasset://sounds/bfsl-minifigfoots1.mp3")
sRunning.Looped = true

local Figure = script.Parent
local Head = waitForChild(Figure, "Head")
local Humanoid = waitForChild(Figure, "Humanoid")
-- Local Variables

local Events = game:GetService("ReplicatedStorage").Events
local DisplayIntermission = Events.DisplayIntermission
local DisplayNotification = Events.DisplayNotification
local DisplayTimerInfo = Events.DisplayTimerInfo
local DisplayVictory = Events.DisplayVictory
local DisplayScore = Events.DisplayScore
local StarterGui = game:GetService("StarterGui")
--Configuration

Toolname = "Crowbar" --Name of your tool, make sure tool is in lighting
--		task.wait(Close.Length)
--		Hold:Stop()
--		HoldClose:Play()
		PlayIdle = false
		task.wait(1.1)
		DB2 = true
	end
end)

script.Parent.Equipped:Connect(function()
	if PlayIdle then
-- Decompiled with the Synapse X Luau decompiler.

local v1 = {};
local u1 = require(script.Parent.CameraShakeInstance);
function v1.Bump()
	local v2 = u1.new(2.5, 4, 0.1, 0.75);
	v2.PositionInfluence = Vector3.new(0.15, 0.15, 0.15);
	v2.RotationInfluence = Vector3.new(1, 1, 1);
	return v2;
end;
function v1.Explosion()
	local v3 = u1.new(2.5, 5, 0, 3.5);
	v3.PositionInfluence = Vector3.new(0.25, 0.25, 0.25);
	v3.RotationInfluence = Vector3.new(4, 2, 2);
	return v3;
end;
function v1.BoomDead()
	local v4 = u1.new(2.5, 7, 0, 5);
	v4.PositionInfluence = Vector3.new(0.25, 0.25, 0.25);
	v4.RotationInfluence = Vector3.new(4, 2, 2);
	return v4;
end;
function v1.Earthquake()
	local v5 = u1.new(0.6, 3.5, 2, 10);
	v5.PositionInfluence = Vector3.new(0.25, 0.25, 0.25);
	v5.RotationInfluence = Vector3.new(1, 1, 4);
	return v5;
end;
function v1.BadTrip()
	local v6 = u1.new(10, 0.15, 5, 10);
	v6.PositionInfluence = Vector3.new(0, 0, 0.15);
	v6.RotationInfluence = Vector3.new(2, 1, 4);
	return v6;
end;
function v1.HandheldCamera()
	local v7 = u1.new(1, 0.25, 5, 10);
	v7.PositionInfluence = Vector3.new(0, 0, 0);
	v7.RotationInfluence = Vector3.new(1, 0.5, 0.5);
	return v7;
end;
function v1.Vibration()
	local v8 = u1.new(0.4, 20, 2, 2);
	v8.PositionInfluence = Vector3.new(0, 0.15, 0);
	v8.RotationInfluence = Vector3.new(1.25, 0, 4);
	return v8;
end;
function v1.RoughDriving()
	local v9 = u1.new(1, 2, 1, 1);
	v9.PositionInfluence = Vector3.new(0, 0, 0);
	v9.RotationInfluence = Vector3.new(1, 1, 1);
	return v9;
end;
local v10 = {};
function v10.__index(p1, p2)
	local v11 = v1[p2];
	if type(v11) == "function" then
		return v11();
	end;
	error("No preset found with index \"" .. p2 .. "\"");
end;
return setmetatable({}, v10);
--[[ Aum359Rbx ]]--
--[[ Sc 1 ]]--

local Light = script.Parent
--[=[
	@within TableUtil
	@function Sample
	@param tbl table
	@param sampleSize number
	@param rngOverride Random?
	@return table

	Returns a random sample of the table.

	```lua
	local t = {1, 2, 3, 4, 5, 6, 7, 8, 9}
	local sample = TableUtil.Sample(t, 3)
	print(sample) --> e.g. {6, 2, 5}
	```

	:::note Arrays only
	This function works on arrays, but not dictionaries.
]=]
local function Sample(tbl: Table, size: number, rngOverride: Random?): Table
	assert(type(tbl) == "table", "First argument must be a table")
	assert(type(size) == "number", "Second argument must be a number")
	local shuffled = Copy(tbl)
	local sample = table.create(size)
	local random = if typeof(rngOverride) == "Random" then rngOverride else rng
	local len = #tbl
	size = math.clamp(size, 1, len)
	for i = 1,size do
		local j = random:NextInteger(i, len)
		shuffled[i], shuffled[j] = shuffled[j], shuffled[i]
	end
	table.move(shuffled, 1, size, 1, sample)
	return sample
end
---- user inputs ----
local maxWalkDistance=500;--the maximum walking distance
local pickUpTools=true;--will pick up and equip tools that are touched
--local humanoid = hit.Parent:findFirstChild("Humanoid")
--	if math.random(1,100)==1 and humanoid==nil then
--		hit:BreakJoints()
--	end

	if hit.Name~=ball.Name and exploded==false then
		exploded=true
		local ballp=ball.Position
		explode()
		ball.Anchored=true
		ball.Transparency=1
		ball.CanCollide=false
		wait(0.01)
		ball:Destroy()
		if hit.Parent and hit.Parent:FindFirstChildWhichIsA("Humanoid") then
			hit.Parent.Humanoid:TakeDamage(math.random(60,80))
		end
		--else
		--	local ricochetpart = Instance.new("Part")
		--	ricochetpart.Position = ballp
		--	ricochetpart.Anchored = true
		--	ricochetpart.CanCollide = false
		--	ricochetpart.Transparency = 1
		--	ricochetpart.Size = Vector3.new(0.1,0.1,0.1)
		--	ricochetpart.Parent = workspace
		--	ricochetpart.Name = "ricochetpart"
			
		--	--local ricochetpartsound = ricochetsound:Clone()
		--	local ricochetpartsound = Instance.new("Sound")
		--	ricochetpartsound.SoundId = ("rbxassetid://3727467442")
		--	ricochetpartsound.Parent = ricochetpart
		--	ricochetpartsound:Play()
		--	game.Debris:AddItem(ricochetpart, 1)
		--end
		--explodebutdontdestroy()
		--explode()
--[=[
	Fires the equivalent server-side signal with the given arguments.

	:::note Outbound Middleware
	All arguments pass through any outbound middleware before being
	sent to the server.
	:::
]=]
function ClientRemoteSignal:Fire(...: any)
	if self._hasOutbound then
		self._re:FireServer(self:_processOutboundMiddleware(...))
	else
		self._re:FireServer(...)
	end
end
-- DO NOT EDIT UNLESS YOU KNOW WHAT YOU ARE DOING!!! --




 function onClicked()

 	script.Parent.Parent.A.D1.Transparency = 1
	script.Parent.Parent.A.D2.Transparency = 1
	script.Parent.Parent.A.D3.Transparency = 1
	script.Parent.Parent.A.D4.Transparency = 1
	script.Parent.Parent.A.D1.CanCollide = false
	script.Parent.Parent.A.D2.CanCollide = false
	script.Parent.Parent.A.D3.CanCollide = false
	script.Parent.Parent.A.D4.CanCollide = false
	script.Parent.Parent.B.D1.Transparency = 0
	script.Parent.Parent.B.D2.Transparency = 0
	script.Parent.Parent.B.D3.Transparency = 0.7
	script.Parent.Parent.B.D4.Transparency = 0.7
	script.Parent.Parent.B.D1.CanCollide = true
	script.Parent.Parent.B.D2.CanCollide = true
	script.Parent.Parent.B.D3.CanCollide = true
	script.Parent.Parent.B.D4.CanCollide = true
	wait(0.1)
	script.Parent.Parent.B.D1.Transparency = 1
	script.Parent.Parent.B.D2.Transparency = 1
	script.Parent.Parent.B.D3.Transparency = 1
	script.Parent.Parent.B.D4.Transparency = 1
	script.Parent.Parent.B.D1.CanCollide = false
	script.Parent.Parent.B.D2.CanCollide = false
	script.Parent.Parent.B.D3.CanCollide = false
	script.Parent.Parent.B.D4.CanCollide = false
	script.Parent.Parent.C.D1.Transparency = 0
	script.Parent.Parent.C.D2.Transparency = 0
	script.Parent.Parent.C.D3.Transparency = 0.7
	script.Parent.Parent.C.D4.Transparency = 0.7
	script.Parent.Parent.C.D1.CanCollide = true
	script.Parent.Parent.C.D2.CanCollide = true
	script.Parent.Parent.C.D3.CanCollide = true
	script.Parent.Parent.C.D4.CanCollide = true
	wait(0.1)
	script.Parent.Parent.C.D1.Transparency = 1
	script.Parent.Parent.C.D2.Transparency = 1
	script.Parent.Parent.C.D3.Transparency = 1
	script.Parent.Parent.C.D4.Transparency = 1
	script.Parent.Parent.C.D1.CanCollide = false
	script.Parent.Parent.C.D2.CanCollide = false
	script.Parent.Parent.C.D3.CanCollide = false
	script.Parent.Parent.C.D4.CanCollide = false
	script.Parent.Parent.D.D1.Transparency = 0
	script.Parent.Parent.D.D2.Transparency = 0
	script.Parent.Parent.D.D3.Transparency = 0.7
	script.Parent.Parent.D.D4.Transparency = 0.7
	script.Parent.Parent.D.D1.CanCollide = true
	script.Parent.Parent.D.D2.CanCollide = true
	script.Parent.Parent.D.D3.CanCollide = true
	script.Parent.Parent.D.D4.CanCollide = true
	wait(0.1)
	script.Parent.Parent.D.D1.Transparency = 1
	script.Parent.Parent.D.D2.Transparency = 1
	script.Parent.Parent.D.D3.Transparency = 1
	script.Parent.Parent.D.D4.Transparency = 1
	script.Parent.Parent.D.D1.CanCollide = false
	script.Parent.Parent.D.D2.CanCollide = false
	script.Parent.Parent.D.D3.CanCollide = false
	script.Parent.Parent.D.D4.CanCollide = false
	script.Parent.Parent.E.D1.Transparency = 0
	script.Parent.Parent.E.D2.Transparency = 0
	script.Parent.Parent.E.D3.Transparency = 0.7
	script.Parent.Parent.E.D4.Transparency = 0.7
	script.Parent.Parent.E.D1.CanCollide = true
	script.Parent.Parent.E.D2.CanCollide = true
	script.Parent.Parent.E.D3.CanCollide = true
	script.Parent.Parent.E.D4.CanCollide = true

	

end
 
 script.Parent.ClickDetector.MouseClick:connect(onClicked)
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------

function onSwimming()
	local speed = script.speed.Value
	if userAnimateScaleRun then
		speed /= getHeightScale()
	end
	if speed > 1.00 then
		local scale = 10.0
		playAnimation("swim", 0.4, Humanoid)
		setAnimationSpeed(speed / scale)
		pose = "Swimming"
	else
		playAnimation("swimidle", 0.4, Humanoid)
		pose = "Standing"
	end
end

function animateTool()
	if (toolAnim == "None") then
		playToolAnimation("toolnone", toolTransitionTime, Humanoid, Enum.AnimationPriority.Idle)
		return
	end

	if (toolAnim == "Slash") then
		playToolAnimation("toolslash", 0, Humanoid, Enum.AnimationPriority.Action)
		return
	end

	if (toolAnim == "Lunge") then
		playToolAnimation("toollunge", 0, Humanoid, Enum.AnimationPriority.Action)
		return
	end
end

function getToolAnim(tool)
	for _, c in ipairs(tool:GetChildren()) do
		if c.Name == "toolanim" and c.className == "StringValue" then
			return c
		end
	end
	return nil
end

local lastTick = 0

function stepAnimate(currentTime)
	if script.Parent.Humanoid:GetState() == Enum.HumanoidStateType.Climbing then
		onClimbing()
	end
	local amplitude = 1
	local frequency = 1
	local deltaTime = currentTime - lastTick
	lastTick = currentTime

	local climbFudge = 0
	local setAngles = false

	if (jumpAnimTime > 0) then
		jumpAnimTime = jumpAnimTime - deltaTime
	end

	if (pose == "FreeFall" and jumpAnimTime <= 0) then
		playAnimation("fall", fallTransitionTime, Humanoid)
	elseif (pose == "Seated") then
		playAnimation("sit", 0.5, Humanoid)
		return
	elseif (pose == "Running") then
		playAnimation("walk", 0.2, Humanoid)
		if math.round(script.speed.Value) == 0 then
			playAnimation("idle", 0.1, Humanoid)
			pose = "Standing"
		end
	elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
		stopAllAnimations()
		amplitude = 0.1
		frequency = 1
		setAngles = true
	end

	-- Tool Animation handling
	local tool = Character:FindFirstChildOfClass("Tool")
	if tool and tool:FindFirstChild("Handle") then
		local animStringValueObject = getToolAnim(tool)

		if animStringValueObject then
			toolAnim = animStringValueObject.Value
			-- message recieved, delete StringValue
			animStringValueObject.Parent = nil
			toolAnimTime = currentTime + .3
		end

		if currentTime > toolAnimTime then
			toolAnimTime = 0
			toolAnim = "None"
		end

		animateTool()		
	else
		stopToolAnimations()
		toolAnim = "None"
		toolAnimInstance = nil
		toolAnimTime = 0
	end
end
-- ROBLOX deviation START: use custom implementations instead of unavailable node API
local helpers = require(CurrentModule.helpers)
local format = helpers.format
local formatWithOptions = helpers.formatWithOptions
-- Decreases the spread based on spread reduction
function SpreadSimulator:DecreaseSpread()
	self.currentSpread = math.clamp(self.currentSpread - self.spreadReduction, self.minSpread, self.maxSpread)
end
-- A variant of the function above that returns the velocity at a given point in time.
local function GetVelocityAtTime(time: number, initialVelocity: Vector3, acceleration: Vector3): Vector3
	return initialVelocity + acceleration * time
end

local function GetTrajectoryInfo(cast: ActiveCast, index: number): {[number]: Vector3}
	assert(cast.StateInfo.UpdateConnection ~= nil, ERR_OBJECT_DISPOSED)
	local trajectories = cast.StateInfo.Trajectories
	local trajectory = trajectories[index]
	local duration = trajectory.EndTime - trajectory.StartTime

	local origin = trajectory.Origin
	local vel = trajectory.InitialVelocity
	local accel = trajectory.Acceleration

	return {GetPositionAtTime(duration, origin, vel, accel), GetVelocityAtTime(duration, vel, accel)}
end

local function GetLatestTrajectoryEndInfo(cast: ActiveCast): {[number]: Vector3}
	assert(cast.StateInfo.UpdateConnection ~= nil, ERR_OBJECT_DISPOSED)
	return GetTrajectoryInfo(cast, #cast.StateInfo.Trajectories)
end

local function CloneCastParams(params: RaycastParams): RaycastParams
	local clone = RaycastParams.new()
	clone.CollisionGroup = params.CollisionGroup
	clone.FilterType = params.FilterType
	clone.FilterDescendantsInstances = params.FilterDescendantsInstances
	clone.IgnoreWater = params.IgnoreWater
	return clone
end

local function SendRayHit(cast: ActiveCast, resultOfCast: RaycastResult, segmentVelocity: Vector3, cosmeticBulletObject: Instance?)
	cast.Caster.RayHit:Fire(cast, resultOfCast, segmentVelocity, cosmeticBulletObject)
end

local function SendRayPierced(cast: ActiveCast, resultOfCast: RaycastResult, segmentVelocity: Vector3, cosmeticBulletObject: Instance?)
	cast.Caster.RayPierced:Fire(cast, resultOfCast, segmentVelocity, cosmeticBulletObject)
end

local function SendLengthChanged(cast: ActiveCast, lastPoint: Vector3, rayDir: Vector3, rayDisplacement: number, segmentVelocity: Vector3, cosmeticBulletObject: Instance?)
	cast.Caster.LengthChanged:Fire(cast, lastPoint, rayDir, rayDisplacement, segmentVelocity, cosmeticBulletObject)
end
-- functions

function onDied()
	sDied:Play()
	sOuch:Play()
end

function onState(state, sound)
	if state then
		sound:Play()
	else
		sound:Pause()
	end
end

function onRunning(speed)
	if speed>0 then
		sRunning:Play()
	else
		sRunning:Pause()
	end
end
--- Handles initial preparation of the game server-side.
return function (cmdr)
	local ReplicatedRoot, RemoteFunction, RemoteEvent

	local function Create (class, name, parent)
		local object = Instance.new(class)
		object.Name = name
		object.Parent = parent or ReplicatedRoot

		return object
	end

	ReplicatedRoot = script.Parent.CmdrClient
	ReplicatedRoot.Parent = ReplicatedStorage

	RemoteFunction = Create("RemoteFunction", "CmdrFunction")
	RemoteEvent = Create("RemoteEvent", "CmdrEvent")

	Create("Folder", "Commands")
	Create("Folder", "Types")

	script.Parent.Shared.Parent = ReplicatedRoot

	cmdr.ReplicatedRoot = ReplicatedRoot
	cmdr.RemoteFunction = RemoteFunction
	cmdr.RemoteEvent = RemoteEvent

	cmdr:RegisterTypesIn(script.Parent.BuiltInTypes)

	script.Parent.BuiltInTypes:Destroy()

	if StarterGui:FindFirstChild("Cmdr") == nil then
		CreateGui()
	end
end
-- Represents a CastTrajectory :: https://etithespirit.github.io/FastCastAPIDocs/fastcast-objects/casttrajectory/
export type CastTrajectory = {
	StartTime: number,
	EndTime: number,
	Origin: Vector3,
	InitialVelocity: Vector3,
	Acceleration: Vector3
}
--[[Steering]]
	Tune.SteeringType	= 'New'		-- New = Precise steering calculations based on real life steering assembly (LuaInt)
									-- Old = Previous steering calculations
	-- New Options
	Tune.SteerRatio		= 15/1		-- Steering ratio of your steering rack, google it for your car
	Tune.LockToLock		= 2.6		-- Number of turns of the steering wheel lock to lock, google it for your car
	Tune.Ackerman		= .9		-- If you don't know what it is don't touch it, ranges from .7 to 1.2

	-- Old Options
	Tune.SteerInner		= 45		-- Inner wheel steering angle (in degrees)
	Tune.SteerOuter		= 38		-- Outer wheel steering angle (in degrees)
	
	--Four Wheel Steering (LuaInt)
	Tune.FWSteer			= 'Both'	-- Static, Speed, Both, or None
	Tune.RSteerOuter		= 0		-- Outer rear wheel steering angle (in degrees)
	Tune.RSteerInner		= 0		-- Inner rear wheel steering angle (in degrees)
	Tune.RSteerSpeed		= 60		-- Speed at which 4WS fully activates (Speed), deactivates (Static), or transition begins (Both) (SPS)
	Tune.RSteerDecay		= 440		-- Speed of gradient cutoff (in SPS)
	Tune.RSteerD			= 1000		-- Steering Dampening
	Tune.RSteerMaxTorque	= 50000		-- Steering Force
	Tune.RSteerP			= 100000	-- Steering Aggressiveness
	
	-- General Steering
	Tune.SteerSpeed		= .07		-- Steering increment per tick (in degrees)
	Tune.ReturnSpeed	= .1		-- Steering increment per tick (in degrees)
	Tune.SteerDecay		= 330		-- Speed of gradient cutoff (in SPS)
	Tune.MinSteer		= 10		-- Minimum steering at max steer decay (in percent)
	Tune.MSteerExp		= 1			-- Mouse steering exponential degree
	
	--Steer Gyro Tuning
	Tune.SteerD			= 1000		-- Steering Dampening
	Tune.SteerMaxTorque	= 50000		-- Steering Force
	Tune.SteerP			= 100000	-- Steering Aggressiveness
-- Connect the current dummies Humanoid.Died event to onDied() upon starting the game.

Model.ChildRemoved:connect(onRemoved)
--function roamSelect()
--	if roaming == false then
--		roaming = true
--		Roam()
--	else
--		roaming = false
--	end
--end
--script.Parent.Roam.MouseButton1Click:connect(roamSelect)

function Jump()
	bd = Instance.new("BodyForce")
	bd.Parent = K9.Dog
	bd.force = Vector3.new(0,10500,0)
	wait(.1)
	bd:remove()
end

script.Parent.Jump.MouseButton1Click:connect(Jump)

function car()
	Stay()
	K9.Parent = game.Lighting
	adminchar[adminchar.Name.."'s Car"].lightbar.K9.Transparency=0
end

script.Parent.Hide.MouseButton1Click:connect(car)

function out()
	K9.Parent = game.Workspace
	K9:MoveTo((adminchar.Torso.CFrame * CFrame.new(0,0,5)).p, adminchar.Torso)
	adminchar[adminchar.Name.."'s Car"].lightbar.K9.Transparency=1
end

script.Parent.Unhide.MouseButton1Click:connect(out)