Roblox/luau_corpus huggingface dataset:
-- Check if the player can run commands
function CheckHostID(player)

	-- Is the game running in studio
	if Run:IsStudio() then return true end


	if game.CreatorType == Enum.CreatorType.User then
		-- Is the player the game's owner
		if player.UserId == game.CreatorId then return true end
	elseif game.CreatorType == Enum.CreatorType.Group then
		-- Does the player have a high enough group rank
		if player:GetRankInGroup(game.CreatorId) >= gameRules.HostRank then return true end
	end

	-- Is the player in the game host list
	for _, cID in pairs(gameRules.HostList) do
		if player.UserId == cID then return true end
	end
	return false
end
--// KeyBindings
	FireSelectKey = Enum.KeyCode.T;
	CycleSightKey = Enum.KeyCode.T;
	LaserKey = Enum.KeyCode.G;
	LightKey = Enum.KeyCode.B;
	InteractKey = Enum.KeyCode.E;
	AlternateAimKey = Enum.KeyCode.Z;
	InspectionKey = Enum.KeyCode.H;
	AttachmentKey = Enum.KeyCode.LeftControl;
--Main Settings:
CAM_GEARS		= true
ENGINE_SHAKE 	= true
MANIFOLD_HEAT	= true
THROTTLE_BODY	= true
TIMING_BELT		= true
TURBO_CHARGED	= true
--Motors
rS = part:findFirstChild("Right Shoulder")
lS = part:findFirstChild("Left Shoulder")
rH = part:findFirstChild("Right Hip")
lH = part:findFirstChild("Left Hip")
-- Variables (best not to touch these!)
local button = script.Parent 
local car = script.Parent.Parent.Car.Value
local sound = script.Parent.Start
sound.Parent = car.DriveSeat -- What brick the start sound is playing from.
button.MouseButton1Click:connect(function() -- Event when the button is clicked
	if script.Parent.Text == "Engine: Off" then -- If the text says it's off then..
		sound:Play() -- Startup sound plays..
		wait(0.7) -- For realism. Okay?
		script.Parent.Parent.IsOn.Value = true -- The car is is on, or in other words, start up the car.
		button.Text = "Engine: On"  -- You don't really need this, but I would keep it.
	else -- If it's on then when you click the button,
		script.Parent.Parent.IsOn.Value = false -- The car is turned off.
		button.Text = "Engine: Off"
	end -- Don't touch this.
end) -- And don't touch this either.
--	aButton:TweenPosition(Aposition, "InOut", "Sine", 0.1)
end)
dButton.MouseEnter:Connect(function()
	dButton:TweenSize(size, "InOut", "Sine", 0.1)
--Made by Luckymaxer

Players = game:GetService("Players")
Debris = game:GetService("Debris")

ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Laser", "Ray", "Bullet", "ParticlePart"}

Functions = {
	
	CheckTableForString = (function(Table, String)
		for i, v in pairs(Table) do
			if string.lower(v) == string.lower(String) then
				return true
			end
		end
		return false
	end),

	CheckIntangible = (function(Hit)
		if Hit and Hit.Parent then
			if (Hit.Transparency >= 1 and not Hit.CanCollide) or Functions.CheckTableForString(ProjectileNames, Hit.Name) then
				return true
			end
			local ObjectParent = Hit.Parent
			local Character = ObjectParent.Parent
			local Humanoid = Character:FindFirstChild("Humanoid")
			if Humanoid and Humanoid.Health > 0 and ObjectParent:IsA("Accoutrement") then
				return true
			end
		end
		return false
	end),
	
	CastRay = (function(StartPos, Vec, Length, Ignore, DelayIfHit)
		local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Vec * Length), Ignore)
		if RayHit and Functions.CheckIntangible(RayHit) then
			if DelayIfHit then
				wait()
			end
			RayHit, RayPos, RayNormal = Functions.CastRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
		end
		return RayHit, RayPos, RayNormal
	end),

	IsTeamMate = (function(Player1, Player2)
		return (Player1 and Player2 and not Player1.Neutral and not Player2.Neutral and Player1.TeamColor == Player2.TeamColor)
	end),

	TagHumanoid = (function(humanoid, player)
		local Creator_Tag = Instance.new("ObjectValue")
		Creator_Tag.Name = "creator"
		Creator_Tag.Value = player
		Debris:AddItem(Creator_Tag, 2)
		Creator_Tag.Parent = humanoid
	end),

	UntagHumanoid = (function(humanoid)
		for i, v in pairs(humanoid:GetChildren()) do
			if v:IsA("ObjectValue") and v.Name == "creator" then
				v:Destroy()
			end
		end
	end),
}

return Functions
-- LOCAL
local LocalizationService = game:GetService("LocalizationService")
local tweenService = game:GetService("TweenService")
local debris = game:GetService("Debris")
local userInputService = game:GetService("UserInputService")
local httpService = game:GetService("HttpService") -- This is to generate GUIDs
local runService = game:GetService("RunService")
local textService = game:GetService("TextService")
local starterGui = game:GetService("StarterGui")
local guiService = game:GetService("GuiService")
local localizationService = game:GetService("LocalizationService")
local playersService = game:GetService("Players")
local localPlayer = playersService.LocalPlayer
local iconModule = script
local TopbarPlusReference = require(iconModule.TopbarPlusReference)
local referenceObject = TopbarPlusReference.getObject()
local leadPackage = referenceObject and referenceObject.Value
if leadPackage and leadPackage ~= iconModule then
	return require(leadPackage)
end
if not referenceObject then
    TopbarPlusReference.addToReplicatedStorage()
end
local Icon = {}
Icon.__index = Icon
local IconController = require(iconModule.IconController)
local Signal = require(iconModule.Signal)
local Maid = require(iconModule.Maid)
local TopbarPlusGui = require(iconModule.TopbarPlusGui)
local Themes = require(iconModule.Themes)
local activeItems = TopbarPlusGui.ActiveItems
local topbarContainer = TopbarPlusGui.TopbarContainer
local iconTemplate = topbarContainer["IconContainer"]
local DEFAULT_THEME = Themes.Default
local THUMB_OFFSET = 55
local DEFAULT_FORCED_GROUP_VALUES = {}
--!strict
local Types = require(script.Parent.Parent.Parent.Types)

return function(players: Types.Array<Player>): Types.PlayerContainer
	return { kind = "set", value = players }
end
-------------------------------------------------------------------------------------------------------------------------
upgradeStuff = model:clone()

wait(1)

model:remove()
owner = script.Parent.Parent.Parent.OwnerName 
local ting = 0

function onTouched(hit)
	if ting == 0 then
	ting = 1
	check = hit.Parent:FindFirstChild("Humanoid")

	if check ~= nil then
	if hit.Parent.Name == owner.Value then
		local user = game.Players:GetPlayerFromCharacter(hit.Parent)
		local stats = user:findFirstChild("leaderstats")

		if stats ~= nil then
			local cash = stats:findFirstChild("Cash")
			if cash.Value > (Upgradecost-1) then

				cash.Value = cash.Value - Upgradecost
				upgradeStuff.Parent = script.Parent.Parent.Parent
				script.Parent.Parent:remove()

			end
		end
	end
	end

	ting = 0
	end
end

script.Parent.Touched:connect(onTouched)
--[[	
	
	// Instructions //

	1. Put the ServerScriptService in ServerScriptService and ungroup it.
	2. Put StarterGui in StarterGui and ungroup it.
	3. Enjoy the model!
	
	

--]]
script.Parent:Destroy() -- This code is just to remove the model but if you want 
						-- you can just delete the model :)
-- Gradually regenerates the Humanoid's Health over time.

local REGEN_RATE = 10/100 -- Regenerate this fraction of MaxHealth per second.
local REGEN_STEP = 0.05 -- Wait this long between each regeneration step.
--// Event Connections
L_114_.OnClientEvent:connect(function(L_327_arg1, L_328_arg2)
	if L_327_arg1 ~= L_2_ then
		local L_329_ = L_327_arg1.Character
		local L_330_ = L_329_.AnimBase.AnimBaseW
		local L_331_ = L_330_.C1
		if L_328_arg2 then
			L_129_(L_330_,  nil , L_329_.Head.CFrame, function(L_332_arg1)
				return math.sin(math.rad(L_332_arg1))
			end, 0.25)
		elseif not L_328_arg2 then
			L_129_(L_330_,  nil , L_331_, function(L_333_arg1)
				return math.sin(math.rad(L_333_arg1))
			end, 0.25)
		end
	end
end)

L_117_.OnClientEvent:connect(function(L_334_arg1, L_335_arg2)
	if L_42_ and L_335_arg2 ~= L_2_ and L_24_.CanCallout then
		if (L_3_.HumanoidRootPart.Position - L_334_arg1).magnitude <= 10 then
			L_41_.Visible = true
			local L_336_ = ScreamCalculation()
			if L_336_ then
				if L_7_:FindFirstChild('AHH') and not L_7_.AHH.IsPlaying then
					L_118_:FireServer(L_7_.AHH, L_98_[math.random(0, 21)])
				end
			end
			L_14_:Create(L_41_, TweenInfo.new(0.1), {
				BackgroundTransparency = 0.4
			}):Play()
			delay(0.1, function()
				L_14_:Create(L_41_, TweenInfo.new(3), {
					BackgroundTransparency = 1
				}):Play()
			end)
		end
	end
end)
--Player removing
main.players.PlayerRemoving:Connect(function(player)
	--
	main.permissionToReplyToPrivateMessage[player] = nil
	main.commandBlocks[player] = nil
	--
	local pdata = main.pd[player]
	if pdata then
		for itemName, item in pairs(pdata.Items) do
			item:Destroy()
		end
		local underControl = pdata.Items["UnderControl"]
		if underControl then
			local controller = underControl.Value
			if controller then
				main:GetModule("cf"):RemoveControlPlr(controller)
			end
		end
	end
	for i, plr in pairs(main.players:GetChildren()) do
		local plrData = main.pd[plr]
		if plrData then
			local tag = plrData.Items["UnderControl"]
			if tag and tag.Value == player then
				main:GetModule("cf"):RemoveUnderControl(plr)
			end
		end
	end
	--
	main:GetModule("PlayerData"):RemovePlayerData(player)
	--
end)
--[[*
 * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 ]]

type unknown = any --[[ ROBLOX FIXME: adding `unknown` type alias to make it easier to use Luau unknown equivalent when supported ]]

local CurrentModule = script.Parent
local Packages = CurrentModule.Parent
local Promise = require(Packages.Promise)

local exports = {}

local function isPromise(
	candidate: unknown
): boolean --[[ ROBLOX FIXME: change to TSTypePredicate equivalent if supported ]] --[[ candidate is Promise<unknown> ]]
	-- ROBLOX deviation: using Promise library implementation to check if a variable is a Promise
	return Promise.is(candidate)
end
exports.default = isPromise
return exports
--[[Engine]]
	--Torque Curve
	Tune.Horsepower		= 10000		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 1000		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 6500		--		Use sliders to manipulate values
	Tune.Redline		= 7000		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 6000
	Tune.PeakSharpness	= 7.5
	Tune.CurveMult		= 0.16
	
	--Incline Compensation
	Tune.InclineComp	= 1.7			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Misc
	Tune.RevAccel		= 150		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 75		-- RPM decay when clutch is off
	Tune.RevBounce		= 500		-- RPM kickback from redline
	Tune.IdleThrottle	= 3			-- Percent throttle at idle
	Tune.ClutchTol		= 500		-- Clutch engagement threshold (higher = faster response)
--[[Wheel Alignment]]
	--[Don't physically apply alignment to wheels]
	--[Values are in degrees]
	Tune.FCamber		= -.16
	Tune.RCamber		= -.17
	Tune.FToe			= -.2
	Tune.RToe			= -.2
--// Tracer Vars
	TracerTransparency = 1;	
	TracerLightEmission = 1;
	TracerTextureLength = 0.1;
	TracerLifetime = 0.05;
	TracerFaceCamera = true;
	TracerColor = BrickColor.new('White');
-- Turns out debug.traceback() is slow
local ENABLE_TRACEBACK = false
local _emptyRejectedPromise = nil
local _emptyFulfilledPromise = nil

local Promise = {}
Promise.ClassName = "Promise"
Promise.__index = Promise
-- Reference the frames you want to control
local UISpeed = gui.UISpeed
local Volume = gui.Volume
local Wallpapers = gui.Wallpapers
local Notifications = gui.Notifications
local ClipWellbeing = gui.ClipWellbeing
--// Holiday roooaaAaaoooAaaooOod
local _G, game, script, getfenv, setfenv, workspace,
getmetatable, setmetatable, loadstring, coroutine,
rawequal, typeof, print, math, warn, error,  pcall,
xpcall, select, rawset, rawget, ipairs, pairs,
next, Rect, Axes, os, time, Faces, unpack, string, Color3,
newproxy, tostring, tonumber, Instance, TweenInfo, BrickColor,
NumberRange, ColorSequence, NumberSequence, ColorSequenceKeypoint,
NumberSequenceKeypoint, PhysicalProperties, Region3int16,
Vector3int16, require, table, type, wait,
Enum, UDim, UDim2, Vector2, Vector3, Region3, CFrame, Ray, spawn, delay, task, assert =
	_G, game, script, getfenv, setfenv, workspace,
	getmetatable, setmetatable, loadstring, coroutine,
	rawequal, typeof, print, math, warn, error,  pcall,
	xpcall, select, rawset, rawget, ipairs, pairs,
	next, Rect, Axes, os, time, Faces, table.unpack, string, Color3,
	newproxy, tostring, tonumber, Instance, TweenInfo, BrickColor,
	NumberRange, ColorSequence, NumberSequence, ColorSequenceKeypoint,
	NumberSequenceKeypoint, PhysicalProperties, Region3int16,
	Vector3int16, require, table, type, task.wait,
	Enum, UDim, UDim2, Vector2, Vector3, Region3, CFrame, Ray, task.defer, task.delay, task, function(cond, errMsg) return cond or error(errMsg or "assertion failed!", 2) end;

local ServicesWeUse = {
	"Workspace";
	"Players";
	"Lighting";
	"ServerStorage";
	"ReplicatedStorage";
	"JointsService";
	"ReplicatedFirst";
	"ScriptContext";
	"ServerScriptService";
	"LogService";
	"Teams";
	"SoundService";
	"StarterGui";
	"StarterPack";
	"StarterPlayer"; 
        "GroupService";
        "MarketplaceService";
        "MarketplaceService";
	"TestService";
	"HttpService";
        "RunService";
	"InsertService";
	"NetworkServer";
}

local unique = {}
local origEnv = getfenv(); setfenv(1,setmetatable({}, {__metatable = unique}))
local locals = {}
local server = {}
local service = {}
local RbxEvents = {}
local ErrorLogs = {}
local HookedEvents = {}
local ServiceSpecific = {}
local oldReq = require
local Folder = script.Parent
local oldInstNew = Instance.new
local isModule = function(module)
	for ind, modu in pairs(server.Modules) do
		if module == modu then
			return true
		end
	end
end

local logError = function(plr, err)
	if type(plr) == "string" and not err then
		err = plr;
		plr = nil;
	end

	if server.Core and server.Core.DebugMode then
		warn("::Adonis:: Error: "..tostring(plr)..": "..tostring(err))
	end

	if server and server.Logs then
		server.Logs.AddLog(server.Logs.Errors, {
			Text = ((err and plr and tostring(plr) ..":") or "").. tostring(err),
			Desc = err,
			Player = plr
		})
	end
end
-- Sink down on the tree and fix the order heap property.
function PriorityQueue:sink()
	local size = self.current_size
	local heap = self.heap
	local i = 1
	
	while (i * 2) <= size do
		local mc = self:min_child(i)

		if heap[i][2] > heap[mc][2] then
			heap[i], heap[mc] = heap[mc], heap[i]
		end

		i = mc
	end
end

function PriorityQueue:min_child(i)
	local base = i * 2
	local above = base + 1
	
	if 
		above > self.current_size 
		or self.heap[base][2] < self.heap[above][2]
	then
		return base
	end
	
	return above
end

local tbl = {}
tbl.__index = tbl
-- ================================================================================
-- PUBLIC FUNCTIONS
-- ================================================================================
function PilotSeat.new(speeder)
	local newPilotSeat = {}
	setmetatable(newPilotSeat, PilotSeat)
	
	-- Set speeder and main (PrimaryPart)
	newPilotSeat.speeder = speeder
	newPilotSeat.main = speeder.PrimaryPart
	
	-- Mass equalizer
	SetMassless(newPilotSeat.speeder, newPilotSeat)
	SetMass(newPilotSeat.main)
	newPilotSeat.mass = GetMass(newPilotSeat.speeder)
	
	SetupCollisionDetection(newPilotSeat.speeder, newPilotSeat)
	
	-- Settings
	local _settings = newPilotSeat.main:FindFirstChild("Settings")
	assert(_settings, "A Settings script wasn't found. Make sure your finished Model includes a Body part with an attached Setting Script")
	newPilotSeat._settings = require(_settings)
	
	newPilotSeat.engine = Engine.new(newPilotSeat)

	return newPilotSeat
end -- PilotSeat.new()

function PilotSeat:Destroy()	
	self.speeder:Destroy()
	self.main = false
	self.id = false
	self.engine = false
end -- PilotSeat:Destroy()
--[[
	Used to set a handler for when the promise resolves, rejects, or is
	cancelled. Returns a new promise chained from this promise.
]]
function Promise.prototype:_finally(traceback, finallyHandler, onlyOk)
	if not onlyOk then
		self._unhandledRejection = false
	end

	-- Return a promise chained off of this promise
	return Promise._new(traceback, function(resolve, reject)
		local finallyCallback = resolve
		if finallyHandler then
			finallyCallback = createAdvancer(
				traceback,
				finallyHandler,
				resolve,
				reject
			)
		end

		if onlyOk then
			local callback = finallyCallback
			finallyCallback = function(...)
				if self._status == Promise.Status.Rejected then
					return resolve(self)
				end

				return callback(...)
			end
		end

		if self._status == Promise.Status.Started then
			-- The promise is not settled, so queue this.
			table.insert(self._queuedFinally, finallyCallback)
		else
			-- The promise already settled or was cancelled, run the callback now.
			finallyCallback(self._status)
		end
	end, self)
end

function Promise.prototype:finally(finallyHandler)
	assert(
		finallyHandler == nil or type(finallyHandler) == "function" or finallyHandler.__call ~= nill,
		string.format(ERROR_NON_FUNCTION, "Promise:finally")
	)
	return self:_finally(debug.traceback(nil, 2), finallyHandler)
end
-- Find the new indicies of the trailing, anchor and leading elements.
-- props is expected to contain itemList, the identifier function and the maximum search distance.
-- state is expected to contain the old top, anchor and bottom indices and ids.
return function(props, state)
	local topIndex = state.trail.index
	local topID = state.trail.id
	local anchorIndex = state.anchor.index
	local anchorID = state.anchor.id
	local bottomIndex = state.lead.index
	local bottomID = state.lead.id

	local listSize = #props.itemList

	-- If too much got deleted and the previous anchor index is off the bottom of the list, start the search from
	-- the bottom.
	if topIndex > listSize then
		topIndex = listSize
	end
	if anchorIndex > listSize then
		anchorIndex = listSize
	end
	if bottomIndex > listSize then
		bottomIndex = listSize
	end

	-- No access to self:getID
	local getID = function(index)
		return props.identifier(props.itemList[index])
	end
	local topStill = getID(topIndex) == topID
	local anchorStill = getID(anchorIndex) == anchorID
	local bottomStill = getID(bottomIndex) == bottomID
	if topStill and anchorStill and bottomStill then
		-- Nothing important moved
		return topIndex, anchorIndex, bottomIndex
	end

	local step = 0
	local foundTop = topStill and topIndex or nil
	local foundAnchor = nil
	local foundBottom = bottomStill and bottomIndex or nil

	-- Scan outward from the old anchor index until we find the top and bottom or hit the max distance
	local deltas = {top=-1, bottom=1}
	repeat
		for _, delta in pairs(deltas) do
			local pos = anchorIndex + delta * step

			if pos >= 1 and pos <= listSize then
				local id = getID(pos)
				if id == topID then
					foundTop = pos
				end
				if id == anchorID then
					foundAnchor = pos
				end
				if id == bottomID then
					foundBottom = pos
				end
			end
		end

		step = step + 1
	until (foundTop and foundAnchor and foundBottom) or step > props.maximumSearchDistance

	return foundTop, foundAnchor, foundBottom
end
-- params : ...

local sp = script.Parent
update = function()
  
  sp.Scope.Position = UDim2.new(0.5, -10 - sp.AbsoluteSize.y / 2, 0, -26)
  sp.Scope.Size = UDim2.new(0, 20 + sp.AbsoluteSize.y, 0, 20 + sp.AbsoluteSize.y)
  sp.ScopeId.Position = UDim2.new(0.5, -10 - sp.AbsoluteSize.y / 2, 0, -26)
  sp.ScopeId.Size = UDim2.new(0, 20 + sp.AbsoluteSize.y, 0, 20 + sp.AbsoluteSize.y)
  sp.F1.Size = UDim2.new(0, 20 + (sp.AbsoluteSize.x - sp.AbsoluteSize.y) / 2, 1, 20)
  sp.F2.Size = UDim2.new(0, 20 + (sp.AbsoluteSize.x - sp.AbsoluteSize.y) / 2, 1, 20)
  sp.F2.Position = UDim2.new(1, -10 - (sp.AbsoluteSize.x - sp.AbsoluteSize.y) / 2, 0, -10)
end

wait()
sp.Changed:connect(update)
update()
-- set collision group for player's meshes
local function OnDescendantAdded(child)
	if( child:IsA("BasePart") or child:IsA("UnionOperation")) then
		PhysicsService:SetPartCollisionGroup(child, "Player")
		--print("CollisionGroup: " .. child.Name)
	end
end

Players.LocalPlayer.Character.DescendantAdded:Connect(OnDescendantAdded)
--- Queues the hitbox to be destroyed in the next frame
function Hitbox:Destroy()
	self.HitboxPendingRemoval = true

	if self.HitboxObject then
		CollectionService:RemoveTag(self.HitboxObject, self.Tag)
	end

	self:HitStop()
	self.OnHit:Destroy()
	self.OnUpdate:Destroy()
	self.HitboxRaycastPoints = nil
	self.HitboxObject = nil
end
----------------------------------

local PhysicsManager, SeatManager, ControlManager
local BoatModel = script.Parent
local Seat = WaitForChild(BoatModel, "VehicleSeat")
-- تعريف المتغيرات
local plank = script.Parent -- اسم المجسم الذي يمثل الخشبة
local originalPosition = plank.Position -- الموضع الأصلي للخشبة
local shakingDuration = 2 -- مدة التزعزع (بالثواني)
local fallingDuration = 1 -- مدة السقوط (بالثواني)
local shakeMagnitude = 0.2 -- قوة التزعزع
local fallHeight = 10 -- ارتفاع السقوط
-- declarations

local head = script.Parent
local sound = head:findFirstChild("Victory")

function onTouched(part)
	local h = part.Parent:findFirstChild("Humanoid")
	if h~=nil then
sound:play()
if part.Parent:findFirstChild("Head"):findFirstChild("face").Texture == nil then return end
part.Parent:findFirstChild("Head"):findFirstChild("face").Texture=script.Parent.Decal.Texture
	end
end

script.Parent.Touched:connect(onTouched)
--Version 1.43 Made my PistonsofDoom--
local carSeat=script.Parent.Parent.Parent.Parent
local numbers={180354176,180354121,180354128,180354131,180354134,180354138,180354146,180354158,180354160,180354168,180355596,180354115}


while true do
	wait(0.01)
	local value=(carSeat.Velocity.magnitude)/1 --This is the velocity so if it was 1.6 it should work. If not PM me! or comment!--
	if value<10000 then
		local nnnn=math.floor(value/1000)
		local nnn=(math.floor(value/100))-(nnnn*10)
		local nn=(math.floor(value/10)-(nnn*10))-(nnnn*100)
		local n=(math.floor(value)-(nn*10)-(nnn*100))-(nnnn*1000)
		    script.Parent.A.Image="http://www.roblox.com/asset/?id="..numbers[n+1]
		if value>=10 then
			script.Parent.B.Image="http://www.roblox.com/asset/?id="..numbers[nn+1]
		else
			script.Parent.B.Image="http://www.roblox.com/asset/?id="..numbers[12]
		end
		if value>=100 then
			script.Parent.C.Image="http://www.roblox.com/asset/?id="..numbers[nnn+1]
		else
			script.Parent.C.Image="http://www.roblox.com/asset/?id="..numbers[12]
		end
	else
		script.Parent.A.Image="http://www.roblox.com/asset/?id="..numbers[10]
		script.Parent.B.Image="http://www.roblox.com/asset/?id="..numbers[10]	
		script.Parent.C.Image="http://www.roblox.com/asset/?id="..numbers[10]
	end

end
------------------------------------------------------------------------

local function StepFreecam(dt)
	local vel = velSpring:Update(dt, Input.Vel(dt))
	local pan = panSpring:Update(dt, Input.Pan(dt))
	local fov = fovSpring:Update(dt, Input.Fov(dt))

	local zoomFactor = sqrt(tan(rad(70/2))/tan(rad(cameraFov/2)))

	cameraFov = clamp(cameraFov + fov*FOV_GAIN*(dt/zoomFactor), 1, 120)
	cameraRot = cameraRot + pan*PAN_GAIN*(dt/zoomFactor)
	cameraRot = Vector2.new(clamp(cameraRot.x, -PITCH_LIMIT, PITCH_LIMIT), cameraRot.y%(2*pi))

	local cameraCFrame = CFrame.new(cameraPos)*CFrame.fromOrientation(cameraRot.x, cameraRot.y, 0)*CFrame.new(vel*NAV_GAIN*dt)
	cameraPos = cameraCFrame.p

	Camera.CFrame = cameraCFrame
	Camera.Focus = cameraCFrame*CFrame.new(0, 0, -GetFocusDistance(cameraCFrame))
	Camera.FieldOfView = cameraFov

	LocalPlayer.Character.HumanoidRootPart.CFrame = Camera.CFrame + Vector3.new(4,0,4) * -Camera.CFrame.lookVector
end