Prompt: --Module Initialization

Response:
wait()
for _,i in pairs(script:GetChildren()) do
	if i:IsA("ModuleScript") then
		require(i)
	end
end


Response:
function onClicked()
script.Parent.Click:Play()
script.Parent.ClickDetector.MaxActivationDistance = 0
wait(1)
script.Parent.Ring:Play()
wait(10)
script.Parent.Ring:Stop()
script.Parent.ClickDetector.MaxActivationDistance = 12
end

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


Prompt:
--	# Function call
--	result = binarySearch(arr, 0, len(arr)-1, x)


Prompt:
--[=[
	For if you want to disable saving in studio for faster close time!
]=]

Response:
function PlayerDataStoreManager:DisableSaveOnCloseStudio()
	assert(RunService:IsStudio())

	self._disableSavingInStudio = true
end


Prompt:
--[=[
	@class Input

	The Input module provides access to various user input classes.

	- [PreferredInput](/api/PreferredInput)
	- [Mouse](/api/Mouse)
	- [Keyboard](/api/Keyboard)
	- [Touch](/api/Touch)
	- [Gamepad](/api/Gamepad)

	```lua
	local Input = require(packages.Input)

	local PreferredInput = Input.PreferredInput
	local Mouse = Input.Mouse
	local Keyboard = Input.Keyboard
	local Touch = Input.Touch
	local Gamepad = Input.Gamepad
	```
]=]

Response:
local Input = {
	PreferredInput = require(script.PreferredInput),
	Mouse = require(script.Mouse),
	Keyboard = require(script.Keyboard),
	Touch = require(script.Touch),
	Gamepad = require(script.Gamepad),
}

return Input


Prompt: -- functions

Response:
function stopAllAnimations()
	local oldAnim = currentAnim

	-- return to idle if finishing an emote
	if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
		oldAnim = "idle"
	end

	if FFlagAnimateScriptEmoteHook and currentlyPlayingEmote then
		oldAnim = "idle"
		currentlyPlayingEmote = false
	end

	currentAnim = ""
	currentAnimInstance = nil
	if (currentAnimKeyframeHandler ~= nil) then
		currentAnimKeyframeHandler:disconnect()
	end

	if (currentAnimTrack ~= nil) then
		currentAnimTrack:Stop()
		currentAnimTrack:Destroy()
		currentAnimTrack = nil
	end

	-- clean up walk if there is one
	if (runAnimKeyframeHandler ~= nil) then
		runAnimKeyframeHandler:disconnect()
	end

	if (runAnimTrack ~= nil) then
		runAnimTrack:Stop()
		runAnimTrack:Destroy()
		runAnimTrack = nil
	end

	return oldAnim
end

function getHeightScale()
	if Humanoid then
		if not Humanoid.AutomaticScalingEnabled then
			return 1
		end

		local scale = Humanoid.HipHeight / HumanoidHipHeight
		if userAnimationSpeedDampening then
			if AnimationSpeedDampeningObject == nil then
				AnimationSpeedDampeningObject = script:FindFirstChild("ScaleDampeningPercent")
			end
			if AnimationSpeedDampeningObject ~= nil then
				scale = 1 + (Humanoid.HipHeight - HumanoidHipHeight) * AnimationSpeedDampeningObject.Value / HumanoidHipHeight
			end
		end
		return scale
	end
	return 1
end

local smallButNotZero = 0.0001
function setRunSpeed(speed)
	local speedScaled = speed * 1.25
	local heightScale = getHeightScale()
	local runSpeed = speedScaled / heightScale

	if runSpeed ~= currentAnimSpeed then
		if runSpeed < 0.33 then
			currentAnimTrack:AdjustWeight(1.0)
			runAnimTrack:AdjustWeight(smallButNotZero)
		elseif runSpeed < 0.66 then
			local weight = ((runSpeed - 0.33) / 0.33)
			currentAnimTrack:AdjustWeight(1.0 - weight + smallButNotZero)
			runAnimTrack:AdjustWeight(weight + smallButNotZero)
		else
			currentAnimTrack:AdjustWeight(smallButNotZero)
			runAnimTrack:AdjustWeight(1.0)
		end
		currentAnimSpeed = runSpeed
		runAnimTrack:AdjustSpeed(runSpeed)
		currentAnimTrack:AdjustSpeed(runSpeed)
	end
end

function setAnimationSpeed(speed)
	if currentAnim == "walk" then
			setRunSpeed(speed)
	else
		if speed ~= currentAnimSpeed then
			currentAnimSpeed = speed
			currentAnimTrack:AdjustSpeed(currentAnimSpeed)
		end
	end
end

function keyFrameReachedFunc(frameName)
	if (frameName == "End") then
		if currentAnim == "walk" then
			if userNoUpdateOnLoop == true then
				if runAnimTrack.Looped ~= true then
					runAnimTrack.TimePosition = 0.0
				end
				if currentAnimTrack.Looped ~= true then
					currentAnimTrack.TimePosition = 0.0
				end
			else
				runAnimTrack.TimePosition = 0.0
				currentAnimTrack.TimePosition = 0.0
			end
		else
			local repeatAnim = currentAnim
			-- return to idle if finishing an emote
			if (emoteNames[repeatAnim] ~= nil and emoteNames[repeatAnim] == false) then
				repeatAnim = "idle"
			end

			if FFlagAnimateScriptEmoteHook and currentlyPlayingEmote then
				if currentAnimTrack.Looped then
					-- Allow the emote to loop
					return
				end

				repeatAnim = "idle"
				currentlyPlayingEmote = false
			end

			local animSpeed = currentAnimSpeed
			playAnimation(repeatAnim, 0.15, Humanoid)
			setAnimationSpeed(animSpeed)
		end
	end
end

function rollAnimation(animName)
	local roll = math.random(1, animTable[animName].totalWeight)
	local origRoll = roll
	local idx = 1
	while (roll > animTable[animName][idx].weight) do
		roll = roll - animTable[animName][idx].weight
		idx = idx + 1
	end
	return idx
end

local function switchToAnim(anim, animName, transitionTime, humanoid)
	-- switch animation
	if (anim ~= currentAnimInstance) then

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

		if (runAnimTrack ~= nil) then
			runAnimTrack:Stop(transitionTime)
			runAnimTrack:Destroy()
			if userNoUpdateOnLoop == true then
				runAnimTrack = nil
			end
		end

		currentAnimSpeed = 1.0

		-- load it to the humanoid; get AnimationTrack
		currentAnimTrack = humanoid:LoadAnimation(anim)
		currentAnimTrack.Priority = Enum.AnimationPriority.Core

		-- play the animation
		currentAnimTrack:Play(transitionTime)
		currentAnim = animName
		currentAnimInstance = anim

		-- set up keyframe name triggers
		if (currentAnimKeyframeHandler ~= nil) then
			currentAnimKeyframeHandler:disconnect()
		end
		currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)

		-- check to see if we need to blend a walk/run animation
		if animName == "walk" then
			local runAnimName = "run"
			local runIdx = rollAnimation(runAnimName)

			runAnimTrack = humanoid:LoadAnimation(animTable[runAnimName][runIdx].anim)
			runAnimTrack.Priority = Enum.AnimationPriority.Core
			runAnimTrack:Play(transitionTime)

			if (runAnimKeyframeHandler ~= nil) then
				runAnimKeyframeHandler:disconnect()
			end
			runAnimKeyframeHandler = runAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
		end
	end
end

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

	switchToAnim(anim, animName, transitionTime, humanoid)
	currentlyPlayingEmote = false
end

function playEmote(emoteAnim, transitionTime, humanoid)
	switchToAnim(emoteAnim, emoteAnim.Name, transitionTime, humanoid)
	currentlyPlayingEmote = true
end


Response:
function Cooldown()
	for i = CooldownTime,0,-1 do
		GUIText.Text = "COOLDOWN: "..i
		wait(1)
	end
	GUIText.Text = Settings.RegenPreText..model.Name
	enabled = true
	Click.MaxActivationDistance = Settings.ClickDistance
end


Prompt:
--[[
	Stage implementation
]]

Response:
local Waiting = {}
Waiting.__index = Waiting

function Waiting.new(gameStageHandler)
	local self = setmetatable({
		gameStageHandler = gameStageHandler,
	}, Waiting)

	return self
end

function Waiting:disableQueueTimeout()
	self._disableQueueTimeout = true
end

function Waiting:startGame(...)
	MatchmakingDestination.startGame(...)
end

function Waiting:initialize()
	-- Spawn every player onto the boat
	for _, player in pairs(Players:GetPlayers()) do
		Util.loadCharacter(player)
	end

	spawn(function()
		DamageHandler.setup()
	end)

	MatchmakingDestination.run(function() self.gameStageHandler:nextStage() end)

	spawn(function()
			while not MatchmakingDestination.isPlaying() do
				if self.gameStageHandler.currentStageClassName ~= "Waiting" or self._disableQueueTimeout then
					return
				end

				local waitTime = tick() - self.gameStageHandler.timeStageStarted

				if waitTime < Conf.queue_time_limit or #Players:getPlayers() < Conf.min_queue_players then
					wait(1)
					self.gameStageHandler._queueWaitTime = waitTime

				else
					MatchmakingDestination.startGame()
					break
				end
			end
	end)
end

function Waiting:destroy()
	-- TODO:  Any teardown for MatchmakingDestination

	-- Reset the character back to the default state
	for _, player in pairs(Players:GetPlayers()) do
		if player.Character then
			-- Remove the force field from the character
			local forceField = player.Character:FindFirstChild("WaitingForceField")
			if forceField then
				forceField:Destroy()
			end

			-- Remove all equipped tools that are not the building tool
			for _, instance in pairs(player.Character:GetChildren()) do
				if instance:IsA("Tool") then
					instance:Destroy()
				end
			end
		end

		-- Remove all tools from the player's backpack that are not the building tool
		for _, instance in pairs(player.Backpack:GetChildren()) do
			if instance:IsA("Tool") then
				instance:Destroy()
			end
		end
	end
end


Prompt: ---Misc

Response:
function Misc()
	local function GetHelp()
		local a=false
		for i=1,9 do
			a=not a
			wait(.2)
			if a then
				script.Parent.Help.Style=Enum.ButtonStyle.RobloxRoundDropdownButton
			else
				script.Parent.Help.Style=Enum.ButtonStyle.RobloxRoundDefaultButton
			end
		end
	end
	GetHelp()
	script.Parent.Help.MouseButton1Click:connect(function()
		script.Parent.Controls.Visible=not script.Parent.Controls.Visible
	end)
	script.Parent:WaitForChild("Light")
	local light=0
	local function Light(on)
		for i,v in pairs(car.Body.Lights:GetChildren()) do
			if v:FindFirstChild("Light")~=nil then
				v.Light.Enabled=on
			end
			if on and v.BrickColor~=BrickColor.new("Really black") then
				v.Material=Enum.Material.Neon
			else
				v.Material=Enum.Material.SmoothPlastic
			end
		end
	end
	local function AutoLight()
		if light==0 then
			if (game.Lighting:GetMinutesAfterMidnight()<390 or game.Lighting:GetMinutesAfterMidnight()>1050) then
				Light(true)
			else
				Light(false)
			end
		end
	end
	script.Parent.Light.MouseButton1Click:connect(function()
		if light==1 then
			light=-1
		else
			light=light+1
		end
		if light==0 then
			script.Parent.Light.Text="Lights: Auto"
			if game.Lighting:GetMinutesAfterMidnight()<390 or game.Lighting:GetMinutesAfterMidnight()>1050 then
				Light(true)
			else
				Light(false)
			end
		elseif light==1 then
			script.Parent.Light.Text="Lights: On"
			Light(true)
		else
			script.Parent.Light.Text="Lights: Off"
			Light(false)
		end
	end)
	local function BrakeLights()
		for i,v in pairs(car.Body.Lights:GetChildren()) do
			if v.Name=="R" then
				if v.Light.Enabled then
					if GBrake>0 then
						v.Transparency=0
						v.Light.Brightness=12
					else
						v.Transparency=.3
						v.Light.Brightness=8
					end
				else
					if GBrake>0 then
						v.Material=Enum.Material.Neon
					else
						v.Material=Enum.Material.SmoothPlastic
					end
				end
			end
		end
	end
	game.Lighting.Changed:connect(AutoLight)
	AutoLight()
	local FlipWait=tick()
	local FlipDB=false
	local function FlipCar()
		local gyro = car.DriveSeat.Flip
		gyro.maxTorque = Vector3.new(10000,0,10000)
		gyro.P=3000
		gyro.D=500
		wait(2)
		gyro.maxTorque = Vector3.new(0,0,0)
		gyro.P=0
		gyro.D=0
		FlipDB=false
	end
	local function GetFlip()
		if (car.DriveSeat.CFrame*CFrame.Angles(math.pi/2,0,0)).lookVector.y > .1 or FlipDB then
			FlipWait=tick()
		else
			if tick()-FlipWait>=3 then
				FlipDB=true
				FlipCar()
			end
		end
	end
	--run:BindToRenderStep("BrakeL",Enum.RenderPriority.Last.Value,BrakeLights)
	--run:BindToRenderStep("Flip",Enum.RenderPriority.Last.Value,GetFlip)
	--table.insert(Binded,"BrakeL")
	--table.insert(Binded,"Flip")
	table.insert(LoopRun,BrakeLights)
	table.insert(LoopRun,GetFlip)
end
Misc()


Prompt:
--Knife Module Script
--MatrixComplexity

Response:
wait(.2)

local tool=script.Parent
local player=game.Players.LocalPlayer
local char=player.Character
local humanoid=char:FindFirstChild("Humanoid")
local camera=workspace.CurrentCamera
local rightC1 = CFrame.new(-0.5, 0.7, 0) * CFrame.Angles(0, (math.pi / 2), 0)
local leftC1 = CFrame.new(0, 0.7, 0) * CFrame.Angles(0, (math.pi / 2), 0)
local mouse=player:GetMouse()
local equipping=false
local gettingknife=false
local laserCharge=false
local playcharge=false
local justthrown=false
local canLaser=false
local justattacked=false
local thrownkniferotation=0
local Damage=110
local Attacking=false
local handle=nil
local WalkSpeeds={16,20}

SOUNDS={
	throwing={"153647554","153647549"},
	laserthrowing={"138499093"},
	shouts={"241084057","168209314","131076695"},
	striking={"153647529","153647534","153647539","153647540"},
	equip="153647514",
	wallhit={"153647563","153647564"},
	hitplayer={"153647516","153647519","153647522","153647526"},
	deaths={"146594640","146457047","146594648"},
}

SETTINGS={

	tool={
		mesh_id="http://www.roblox.com/asset/?id=121944778",
		mesh_type=Enum.MeshType.FileMesh,
		texture_id="http://www.roblox.com/asset/?id=121944805     ",
		mesh_offset=Vector3.new(0,0,0),
		mesh_scale=.9,
		tool_size=Vector3.new(1,1,1),
		tool_transparency=0,
		tool_color=BrickColor.Black(),
		default_tool_size=1,
	},

}

function DamageObject(hit)
	local char=hit.Parent
	if char and char~=player.Character and char.Name~="Arms_Model" and hit.Name~="Handle" then
		local h=char:FindFirstChild("Humanoid")
		if h and h.Health > 0 then
			h:TakeDamage(Damage)
			PlaySound("Hit1",char.Torso)
			if h.Health == 0 then
				PlaySound("Hit2",char.Torso)
			end
		end
	end
end

function PlaySound(name,ctorso)
	if name=="Throw" then
		tool.Handle.Sound.SoundId = "rbxassetid://" .. SOUNDS.throwing[math.random(1,#SOUNDS.throwing)]
		tool.Handle.Sound:Play()
	elseif name=="ThrowLaser" then
		tool.Handle.Sound.SoundId = "rbxassetid://" .. SOUNDS.laserthrowing[math.random(1,#SOUNDS.laserthrowing)]
		tool.Handle.Sound:Play()
	elseif name=="Equip" then
		tool.Handle.Sound.SoundId = "rbxassetid://" .. SOUNDS.equip
		tool.Handle.Sound:Play()
	elseif name=="Swing" then
		tool.Handle.Sound.SoundId = "rbxassetid://" .. SOUNDS.striking[math.random(1,#SOUNDS.striking)]
		tool.Handle.Sound:Play()
	elseif name=="Hit1" then
		local NewSound=tool.Handle.Sound:clone()
		NewSound.Parent=ctorso
		NewSound.SoundId = "rbxassetid://" .. SOUNDS.hitplayer[math.random(1,#SOUNDS.hitplayer)]
		NewSound:Play()
		NewSound:Destroy()
	elseif name=="Hit2" then
		local NewSound=tool.Handle.Sound:clone()
		NewSound.Parent=ctorso
		NewSound.SoundId = "rbxassetid://" .. SOUNDS.deaths[math.random(1,#SOUNDS.deaths)]
		NewSound:Play()
		NewSound:Destroy()
	elseif name=="Laser" then
		local NewSound=tool.Handle.Sound
		NewSound.SoundId = "rbxassetid://" .. SOUNDS.shouts[math.random(1,#SOUNDS.shouts)]
		NewSound:Play()
	end
end

function Throwtool(dPos)
		if not tool.Handle then return end
		local throwingHandle = tool.Handle:Clone()
		game:GetService("Debris"):AddItem(throwingHandle, 5)
		throwingHandle.Transparency=0
		throwingHandle.Parent = workspace
		if player.Character and player.Character.Humanoid then
			throwingHandle.Velocity = (player.Character.Humanoid.TargetPoint - throwingHandle.CFrame.p).unit * 150
			if canLaser then
				throwingHandle.Velocity = (player.Character.Humanoid.TargetPoint - throwingHandle.CFrame.p).unit * 9999
			end
			if mouse.Target ~= nil then
			if mouse.Target.Parent.Name~="Arms_Model" and mouse.Target.Name~="ThrownKnife" and mouse.Target.Name~="Handle" then
			targetpos=player.Character.Humanoid.TargetPoint
			else
			targetpos=Vector3.new(0,-10 ,0)
			end
			end
			-- set the orientation to the direction it is being thrown in
			throwingHandle.CFrame = CFrame.new(throwingHandle.CFrame.p, throwingHandle.CFrame.p + throwingHandle.Velocity) * CFrame.Angles(0, 0, math.rad(-90))
			local floatingForce = Instance.new('BodyForce', throwingHandle)
			floatingForce.force = Vector3.new(0, 196.2 * throwingHandle:GetMass() * 0.98, 0)
			local spin = Instance.new('BodyAngularVelocity', throwingHandle)
			spin.angularvelocity = throwingHandle.CFrame:vectorToWorldSpace(Vector3.new(0, -400, 0))
			spawnPos=player.Character.PrimaryPart.Position
			spawnPos = spawnPos + dPos*5
			if canLaser then
								 local Ray = Ray.new(tool.Handle.CFrame.p,(mouse.Hit.p - tool.Handle.CFrame.p).unit * 999)
        local Hit,Position = game.Workspace:FindPartOnRay(Ray,char)
       if Hit then
	    if Hit.Parent:FindFirstChild("Humanoid") then
	        Hit.Parent.Humanoid:TakeDamage(110)
			laserCharge=true
	end end
        local RayPart = Instance.new("Part",workspace)
	RayPart.Name = "RayPart"
	RayPart.BrickColor = BrickColor.new("Bright red")
	RayPart.Transparency = 0
	RayPart.Anchored = true
	RayPart.CanCollide = false
	RayPart.TopSurface = Enum.SurfaceType.Smooth
	RayPart.BottomSurface = Enum.SurfaceType.Smooth
	RayPart.formFactor = Enum.FormFactor.Custom
	local Distance = (Position-tool.Handle.CFrame.p).magnitude
	RayPart.Size = Vector3.new(0.2,0.2,Distance)
	RayPart.CFrame = CFrame.new(Position,tool.Handle.CFrame.p) * CFrame.new(0,0,-Distance/2)
	game.Debris:addItem(RayPart,.5)
	PlaySound("Laser")
			end
		end
		if throwingHandle then
			local touchedConn = throwingHandle.Touched:connect(function(hit)
				local char=hit.Parent
				camera.CameraSubject=humanoid
				camera.CameraType=Enum.CameraType.Custom
				if char and char~=player.Character and char.Name~="Arms_Model" and hit.Name~="Handle" and hit.Name~="RayPart" then
					local h=char:FindFirstChild("Humanoid")
					if h and h.Health > 0 then
						throwingHandle:Destroy()
						laserCharge=true
						if hit.Name~="Head" or hit.className=="Hat" then
						h:TakeDamage(Damage)
						PlaySound("Hit1",char.Torso)
						if h.Health == 0 then
							PlaySound("Hit2",char.Torso)
						end
						else
						h:TakeDamage(Damage * 2)
						print("Headshot!")
						char.Head.Transparency=1
						char.Head.CanCollide=false
						if char.Head:FindFirstChild("face") then char.Head:FindFirstChild("face").Transparency=1 end
						for _,v in pairs(char:GetChildren()) do
							if v.className=="Hat" then
								v:Destroy()
							end
						end
						for i = 1, 7 do
							local blood=Instance.new("Part")
							blood.FormFactor="Custom"
							blood.Size=Vector3.new(1,.2,1)
							blood.BrickColor=BrickColor.Red()
							blood.TopSurface=0
							blood.BottomSurface=0
							game:GetService("Debris"):AddItem(blood,5)
							blood.Parent=workspace
							blood.Position=char.Head.Position + Vector3.new(math.random(0.2,0.8),0,math.random(0.2,0.8))
						end
						local sound = Instance.new("Sound")
						sound.SoundId = "rbxassetid://142347633"
						sound.Parent=char.Head
						sound.Pitch=1.1
						sound:Play()
						end
						PlaySound("Hit1")
						if h.Health == 0 then
							PlaySound("Hit2")
						end
					elseif hit.Name~="Handle" or hit.Name~="IgnoreThrowingKnives" and hit.Parent.Name~="Arms_Model" and hit.Name~="RayPart" and hit.CanCollide==true then
						local sound=Instance.new("Sound")
						sound.Parent=hit
						sound.SoundId = "rbxassetid://" .. SOUNDS.wallhit[math.random(1,#SOUNDS.wallhit)]
						sound:Play()
						sound:Destroy()
						print("Hit Object: " .. hit.Name)
						local newknife=tool.Handle:clone()
						newknife.Name="ThrownKnife"
						newknife.CFrame = CFrame.new(spawnPos, spawnPos + dPos) * CFrame.Angles(math.pi/-2, 0, 0)
						newknife.Position = targetpos
						throwingHandle:Destroy()
						newknife.Anchored=true
						newknife.CanCollide=true
						newknife.Transparency=0
						newknife.Parent=workspace
						wait(7)
						for i=1,10 do
							newknife.Transparency=i*.1
							wait()
						end
						newknife:Destroy()
					end
				end
		    end)
		end
		end
		-- must check if it still exists since we waited
		if throwingHandle then
			throwingHandle.CanCollide = true
		end

FUNCTIONS={

	CHECKFORFIRSTPERSON=function()
		if (camera.focus.p - camera.CoordinateFrame.p).magnitude > 1 then
			return false
		else
			return true
		end
	end,

	ANIMS=function(state)
		if state then
			mouse.Icon="http://www.roblox.com/asset/?id=54019936"
			--Start Animation
			local mesh=Instance.new("FileMesh")
			mesh.MeshId=SETTINGS.tool.mesh_id
			mesh.TextureId=SETTINGS.tool.texture_id
			mesh.Scale=Vector3.new(SETTINGS.tool.mesh_scale,SETTINGS.tool.mesh_scale,SETTINGS.tool.mesh_scale)
			mesh.Parent=tool.Handle
			if SETTINGS.tool.mesh_scale==.1 then
				tool.GripPos = Vector3.new(0, -0.55, 0)
			elseif SETTINGS.tool.mesh_scale==.2 then
				tool.GripPos = Vector3.new(0, -0.6, 0)
			elseif SETTINGS.tool.mesh_scale==.3 then
				tool.GripPos = Vector3.new(0, -0.65, 0)
			elseif SETTINGS.tool.mesh_scale==.4 then
				tool.GripPos = Vector3.new(0, -0.7, 0)
			elseif SETTINGS.tool.mesh_scale==.5 then
				tool.GripPos = Vector3.new(0, -0.75, 0)
			elseif SETTINGS.tool.mesh_scale==.6 then
				tool.GripPos = Vector3.new(0, -0.8, 0)
			elseif SETTINGS.tool.mesh_scale==.7 then
				tool.GripPos = Vector3.new(0, -0.85, 0)
			elseif SETTINGS.tool.mesh_scale==.8 then
				tool.GripPos = Vector3.new(0, -0.9, 0)
			elseif SETTINGS.tool.mesh_scale==.9 then
				tool.GripPos = Vector3.new(0, -0.95, 0)
			elseif SETTINGS.tool.mesh_scale==1 then
				tool.GripPos = Vector3.new(0, -1, 0)
			else
				print("Invalid tool size! Set to default: " .. SETTINGS.tool.default_tool_size )
				mesh.Scale=Vector3.new(SETTINGS.tool.default_tool_size,SETTINGS.tool.default_tool_size,SETTINGS.tool.default_tool_size)
				if SETTINGS.tool.default_tool_size==.1 then
				tool.GripPos = Vector3.new(0, -0.55, 0)
			elseif SETTINGS.tool.default_tool_size==.2 then
				tool.GripPos = Vector3.new(0, -0.6, 0)
			elseif SETTINGS.tool.default_tool_size==.3 then
				tool.GripPos = Vector3.new(0, -0.65, 0)
			elseif SETTINGS.tool.default_tool_size==.4 then
				tool.GripPos = Vector3.new(0, -0.7, 0)
			elseif SETTINGS.tool.default_tool_size==.5 then
				tool.GripPos = Vector3.new(0, -0.75, 0)
			elseif SETTINGS.tool.default_tool_size==.6 then
				tool.GripPos = Vector3.new(0, -0.8, 0)
			elseif SETTINGS.tool.default_tool_size==.7 then
				tool.GripPos = Vector3.new(0, -0.85, 0)
			elseif SETTINGS.tool.default_tool_size==.8 then
				tool.GripPos = Vector3.new(0, -0.9, 0)
			elseif SETTINGS.tool.default_tool_size==.9 then
				tool.GripPos = Vector3.new(0, -0.95, 0)
			elseif SETTINGS.tool.default_tool_size==1 then
				tool.GripPos = Vector3.new(0, -1, 0)
			else
				print("Invalid default size! Un-equipping and removing Knife...")
				if humanoid then
					humanoid:Unequiptools()
					tool:Destroy()
				end
			end
			end
			torso=char:FindFirstChild("Torso")
			leftarm=torso:FindFirstChild("Left Shoulder")
			if leftarm then
				leftarm.Parent=nil
				newarmweld=Instance.new("Weld")
				newarmweld.Name="LeftWeld"
				newarmweld.Part0=torso
				newarmweld.C0 = CFrame.new(-1.5, 0.7, 0)
				newarmweld.C1 = CFrame.new(0, 0.7, 0)
				newarmweld.Part1=char:FindFirstChild("Left Arm")
				newarmweld.Parent=torso
			end
			humanoid.WalkSpeed=WalkSpeeds[2]
			for i = 1, 15, 3 do
				if equipped then
					torso:FindFirstChild("Right Shoulder").C1 = rightC1 * CFrame.Angles((-i * (math.pi / 90)),(-i * (math.pi / 90)),(i * (math.pi / 210)))
					torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, .7, 0) * CFrame.Angles((-i * (math.pi / 60)),(i * (math.pi / 90)),(-i * (math.pi / 240)))
				end
				wait()
			end
		else
			humanoid.WalkSpeed=WalkSpeeds[1]
			torso:FindFirstChild("Right Shoulder").C1 = rightC1 * CFrame.new(0,-0.2,0)
			tool.GripForward = Vector3.new(0,0,-1)
			newarmweld:Destroy()
			leftarm.Parent=torso
			mouse.Icon=""
			torso:FindFirstChild("Neck").C0 = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
			torso:FindFirstChild("Right Shoulder").C0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
		end
		end
}

tool.Equipped:connect(function ()
	equipped=true
	PlaySound("Equip")
	FUNCTIONS.ANIMS(true)
end)
tool.Unequipped:connect(function ()
	equipped=false
	FUNCTIONS.ANIMS(false)
end)
tool.Handle.Touched:connect(function (hit)
	if Attacking then
		DamageObject(hit)
	end
end)
tool.Activated:connect(function ()
	if Attacking then return end
	if not tool.Enabled then return end
	justthrown=false
	justattacked=false
	if not gettingknife and not justthrown and not Attacking then
	HeldTime=time()
	end
	playcharge=true
	wait(.15)
	while gettingknife do
		wait()
	end
	local speed=1
	for i = 1, 15, speed do
		if playcharge and equipped and not gettingknife and not justthrown and not Attacking then
		torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.5, 0.5, 0, 0.195277825, -0.747909963, 0.634426773, 0.482016951, 0.636551082, 0.602048457, -0.854123056, 0.188237742, 0.484809577) * CFrame.Angles((i * (math.pi / 50)), 0, (-i * (math.pi / 25)))
		torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, .7, 0, 0.858912528, 0.165011853, 0.484809607, -0.464581847, 0.649385393, 0.602048457, -0.215483144, -0.742340684, 0.634426773) * CFrame.Angles((-i * (math.pi / 75)),(i * (math.pi / 180)),0)
		player.Character["Right Arm"].RightGrip.C1 = CFrame.new(0, -0.800000012, 0.05, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.Angles((-i * (math.pi / 150)),0,0)
		wait()
		end
	end
	if playcharge then
	canLaser=true
	end
end)
tool.Deactivated:connect(function ()
	if not tool.Enabled then return end
	currTime=time()
	playcharge=false
	if HeldTime and currTime - HeldTime > 0.2 and
			currTime - HeldTime > 0.01 and not justthrown and not gettingknife then
			if not Attacking and not justattacked then
			print("Throw")
			if canLaser then
				PlaySound("ThrowLaser")
			else
				PlaySound("Throw")
			end
			tool.Handle.Transparency=1
			local targetPos = player.Character.Humanoid.TargetPoint
			local lookAt = (targetPos - player.Character.PrimaryPart.Position).unit
			local switchEvenOddParity = 1
			local angle = math.ceil((1-1)/2)*math.pi/12*switchEvenOddParity
			Throwtool(CFrame.Angles(0, angle, 0) * lookAt)
			wait()
			canLaser=false
			HeldTime=0
			gettingknife=true
			mouse.Icon="http://www.roblox.com/asset/?id=54020165"
			player.Character["Right Arm"].RightGrip.C1 = CFrame.new(0, -0.800000012, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
			for i = 1, 15, .8 do
				if equipped then
				torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.5, 0.5, 0, 0.0719629526, 0.22870943, 0.970831275, -0.981789052, 0.187819958, 0.0285283029, -0.175816804, -0.955204487, 0.238060504) * CFrame.Angles(0, 0, (i * (math.pi / 15)))
				torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, 0.7, 0, 0.703028679, -0.151466534, 0.694844246, -0.673604906, 0.171488613, 0.718921423, -0.228050426, -0.973472893, 0.0185328126) * CFrame.Angles((i * (math.pi / 60)),(-i * (math.pi / 180)),(i * (math.pi / 60)))
				wait()
				end
			end
			justthrown=true
			tool.Handle.Transparency=0
			PlaySound("Equip")
			mouse.Icon="http://www.roblox.com/asset/?id=54019936"
			tool.GripForward = Vector3.new(0,0,-1)
			for i = 1, 15, 1 do
				if equipped then
				torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.5, 0.5, 0, -0.071962975, -0.22870943, 0.970831275, 0.981789052, -0.187820047, 0.0285283029, 0.175816894, 0.955204487, 0.238060504) * CFrame.Angles(0, 0, (-i * (math.pi / 30)))
				wait()
				end
			end
			gettingknife=false
			for i = 1, 15, 3 do
				if equipped then
					torso:FindFirstChild("Right Shoulder").C1 = rightC1 * CFrame.Angles((-i * (math.pi / 90)),(-i * (math.pi / 90)),(i * (math.pi / 210)))
					torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, .7, 0) * CFrame.Angles((-i * (math.pi / 60)),(i * (math.pi / 90)),(-i * (math.pi / 240)))
				end
				wait()
			end
			end
	else
		if not justthrown and not gettingknife then
		if Attacking then return end
		print("Attack")
		HeldTime=0
		Attacking=true
		justattacked=true
		if math.random(1,2)==1 then
			for i = 1, 15, 3 do
		if equipped and not gettingknife and not justthrown then
		torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.5, 0.5, 0, 0.195277825, -0.747909963, 0.634426773, 0.482016951, 0.636551082, 0.602048457, -0.854123056, 0.188237742, 0.484809577) * CFrame.Angles((i * (math.pi / 65)), 0, (-i * (math.pi / 30)))
		torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, .7, 0, 0.858912528, 0.165011853, 0.484809607, -0.464581847, 0.649385393, 0.602048457, -0.215483144, -0.742340684, 0.634426773) * CFrame.Angles((-i * (math.pi / 75)),(i * (math.pi / 180)),0)
		wait()
		end
			end
			PlaySound("Swing")
	for i = 1, 15, 3 do
				if equipped and not gettingknife and not justthrown then
				torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.5, 0.5, 0, 0.0719629526, 0.22870943, 0.970831275, -0.981789052, 0.187819958, 0.0285283029, -0.175816804, -0.955204487, 0.238060504) * CFrame.Angles(0, 0, (i * (math.pi / 15)))
				torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, 0.7, 0, 0.703028679, -0.151466534, 0.694844246, -0.673604906, 0.171488613, 0.718921423, -0.228050426, -0.973472893, 0.0185328126) * CFrame.Angles((i * (math.pi / 60)),(-i * (math.pi / 180)),(i * (math.pi / 60)))
				wait()
				end
	end
				for i = 1, 15, 3 do
				if equipped and not justthrown and not gettingknife then
				torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.5, 0.5, 0, -0.071962975, -0.22870943, 0.970831275, 0.981789052, -0.187820047, 0.0285283029, 0.175816894, 0.955204487, 0.238060504) * CFrame.Angles(0, 0, (-i * (math.pi / 30)))
				wait()
				end
			end
			for i = 1, 15, 3 do
				equipping=true
		if equipped and not gettingknife and not justthrown then
			torso:FindFirstChild("Right Shoulder").C1 = rightC1 * CFrame.Angles((-i * (math.pi / 90)),(-i * (math.pi / 90)),(i * (math.pi / 210)))
			torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, .7, 0) * CFrame.Angles((-i * (math.pi / 60)),(i * (math.pi / 90)),(-i * (math.pi / 240)))
		end
		wait()
			end
			Attacking=false
		else
			for i = 1, 15, 3 do
				if equipped and not gettingknife and not justthrown then
					torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.3, 0.5, 0, 0.195277825, -0.747909963, 0.634426773, 0.482016951, 0.636551082, 0.602048457, -0.854123056, 0.188237742, 0.484809577) * CFrame.Angles((i * (math.pi / 40)),(-i * (math.pi / 45)),(i * (math.pi / 60)))
				end
				wait()
			end
			PlaySound("Swing")
			for i = 1, 15, 3 do
				if equipped and not gettingknife and not justthrown then
					torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.2, 0.5, -.3, 0.852928281, -0.428775758, 0.29776603, 0.516928136, 0.614185035, -0.596290231, 0.0727913082, 0.662516415, 0.745502114) * CFrame.Angles((-i * (math.pi / 45)),0,0)
					torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.200000003, 0.7, 0, 0.849384904, 0.16895318, 0.5, -0.48470962, 0.624545038, 0.612372398, -0.208810255, -0.762494743, 0.612372398) * CFrame.Angles((i * (math.pi / 60)),(-i * (math.pi / 180)),(i * (math.pi / 60)))
				end
				wait()
			end
			for i = 1, 15, 3 do
				if equipped and not gettingknife and not justthrown then
					torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.3, 0.5, -0.300000012, 0.852928281, -0.472260833, -0.222447708, 0.516928136, 0.82349503, 0.233754784, 0.0727913082, -0.314365625, 0.946507096) * CFrame.Angles((i * (math.pi / 45)),0,0)
				end
				wait()
			end
			for i = 1, 15, 3 do
				if equipped and not gettingknife and not justthrown then
					torso:FindFirstChild("Right Shoulder").C1 = rightC1 * CFrame.Angles((-i * (math.pi / 90)),(-i * (math.pi / 90)),(i * (math.pi / 210)))
					torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, .7, 0) * CFrame.Angles((-i * (math.pi / 60)),(i * (math.pi / 90)),(-i * (math.pi / 240)))
				end
				wait()
			end
			Attacking=false
		end
		end
	end
end)

mouse.Move:connect(function ()
	if equipped and mouse then
		if (mouse.Hit.p - mouse.Origin.p).unit.y < 0.25 and (mouse.Hit.p - mouse.Origin.p).unit.y > -0.25 then
		torso:FindFirstChild("Right Shoulder").C0 = CFrame.new(.9,.5,0) * CFrame.Angles(0,math.rad(90),0) * CFrame.Angles(0, 0, math.asin((mouse.Hit.p - mouse.Origin.p).unit.y))
		torso:FindFirstChild("LeftWeld").C0 = CFrame.new(-1.5,0.5,0) * CFrame.Angles(0, 0, math.asin((mouse.Hit.p - mouse.Origin.p).unit.y))
		torso:FindFirstChild("Neck").C0 = CFrame.new(0,1,0) * CFrame.Angles(math.rad(-90),0,math.rad(180)) * CFrame.Angles(math.asin(-(mouse.Hit.p - mouse.Origin.p).unit.y), 0, 0)
		end
	end
end)


Prompt: ------[SETTINGS]------

Response:
local DefaultSound = "Grass" -- The sound that will set as default if FloorMaterial is nil (cannot be found)
local ToggleAirSound = false -- Whether or not an air sound will sound when in the air


Prompt: -- Copied from Grimgold Periastron Beta

Response:
local Tool = script.Parent
local Sword = Tool.Handle

local vCharacter
local myTorso
local myHumanoid

local equipped = false

local debris = game:GetService("Debris")

function tagHumanoid(humanoid, player)
	if humanoid then
		local creatorTag = Instance.new("ObjectValue")
		creatorTag.Value = player
		creatorTag.Name = "creator"
		creatorTag.Parent = humanoid
		debris:AddItem(creatorTag, 1)
	end
end

function cut(hit)
	local humanoid
	local vPlayer
	if hit and hit.Parent and myHumanoid then
		if hit.Parent.className == "Hat" then
			humanoid = hit.Parent.Parent:FindFirstChild("Humanoid")
		else
			humanoid = hit.Parent:FindFirstChild("Humanoid")
		end
		vPlayer = game.Players:GetPlayerFromCharacter(vCharacter)
		if humanoid ~= nil and humanoid ~= myHumanoid then
			tagHumanoid(humanoid, vPlayer)
			humanoid:TakeDamage(7.5)
		end
	end
end

function onEquipped()
	vCharacter = Tool.Parent
	myTorso = vCharacter:FindFirstChild("Torso")
	myHumanoid = vCharacter:FindFirstChild("Humanoid")
end

Tool.Equipped:connect(onEquipped)

Sword.Touched:connect(cut)


Prompt: --			print("Going Depth to Folder")

Response:
			arraySoFar[obj.Name] = loadModules(obj, {})
		elseif (obj:IsA("ModuleScript")) then


Prompt:
--[=[
	@within TableUtil
	@function Assign
	@param target table
	@param ... table
	@return table

	Copies all values of the given tables into the `target` table.

	```lua
	local t = {A = 10}
	local t2 = {B = 20}
	local t3 = {C = 30, D = 40}
	local newT = TableUtil.Assign(t, t2, t3)
	print(newT) --> {A = 10, B = 20, C = 30, D = 40}
	```
]=]

Response:
local function Assign<T>(target: { T }, ...: { any }): { T } & { any }
	local tbl = table.clone(target)
	for _, src in { ... } do
		for k, v in src do
			tbl[k] = v
		end
	end
	return tbl
end


Prompt: -- ROBLOX FIXME LUAU: Casting to any to prevent unwanted type narrowing for write method

Response:
local BufferedConsole = setmetatable({}, { __index = Console }) :: any
BufferedConsole.__index = BufferedConsole

function BufferedConsole.new(): BufferedConsole
	local self = setmetatable(
		Console.new({
			write = function(self, message)
				BufferedConsole.write(((self :: any) :: BufferedConsolePrivate)._buffer, "log", message, nil)

				return true
			end,
		} :: Writeable),
		BufferedConsole
	) :: any
	self._buffer = {}
	self._counters = {}
	self._timers = {}
	self._groupDepth = 0
	self.Console = Console
	return self :: BufferedConsole
end

function BufferedConsole.write(buffer: ConsoleBuffer, type: LogType, message: LogMessage, level: (number | nil)?)
	local stackLevel = if level ~= nil then level else 2
	local rawStack = ErrorWithStack.new(nil, BufferedConsole.write).stack
	invariant(rawStack, "always have a stack trace")
	local origin = Array.join(
		Array.filter(Array.slice(String.split(rawStack :: string, "\n"), stackLevel), Boolean.toJSBoolean),
		"\n"
	)
	table.insert(buffer, { message = message, origin = origin, type = type })
	return buffer
end

function BufferedConsole:_log(type: LogType, message: LogMessage)
	BufferedConsole.write(self._buffer, type :: any, ("  "):rep(self._groupDepth) .. message, 3)
end

function BufferedConsole.assert(self: BufferedConsolePrivate, value: unknown, message: (string | Error)?)
	xpcall(function()
		assert(value)
	end, function(error_)
		local msg = ""
		if message ~= nil then
			msg = " " .. tostring(message)
		end

		self:_log("assert", tostring(error_) .. msg)
	end)
end

function BufferedConsole.count(self: BufferedConsolePrivate, label_: string?)
	local label: string = if label_ ~= nil then label_ else "default"
	if self._counters[label] == nil then
		self._counters[label] = 0
	end
	self._counters[label] += 1
	self:_log("count", format("%s: %s", label, self._counters[label]))
end

function BufferedConsole.countReset(self: BufferedConsolePrivate, label_: string?)
	local label: string = if label_ ~= nil then label_ else "default"
	self._counters[label] = 0
end

function BufferedConsole.debug(self: BufferedConsolePrivate, firstArg: unknown, ...: any)
	self:_log("debug", format(firstArg, ...))
end

function BufferedConsole.dir(self: BufferedConsolePrivate, firstArg: unknown, options_: InspectOptions?)
	local options: InspectOptions = options_ or {}
	local representation = inspect(firstArg, options)
	self:_log("dir", formatWithOptions(options, representation))
end

function BufferedConsole.dirxml(self: BufferedConsolePrivate, firstArg: unknown, ...: any)
	self:_log("dirxml", format(firstArg, ...))
end

function BufferedConsole.error(self: BufferedConsolePrivate, firstArg: unknown, ...: any)
	self:_log("error", format(firstArg, ...))
end

function BufferedConsole.group(self: BufferedConsolePrivate, title: string?, ...: any)
	local rest = { ... }
	self._groupDepth += 1
	if Boolean.toJSBoolean(title) or #rest > 0 then
		self:_log("group", chalk.bold(format(title, ...)))
	end
end

function BufferedConsole.groupCollapsed(self: BufferedConsolePrivate, title: string?, ...: any)
	local rest = { ... }
	self._groupDepth += 1
	if Boolean.toJSBoolean(title) or #rest > 0 then
		self:_log("groupCollapsed", chalk.bold(format(title, ...)))
	end
end

function BufferedConsole.groupEnd(self: BufferedConsolePrivate)
	if self._groupDepth > 0 then
		self._groupDepth -= 1
	end
end

function BufferedConsole.info(self: BufferedConsolePrivate, firstArg: unknown, ...: any)
	self:_log("info", format(firstArg, ...))
end

function BufferedConsole.log(self: BufferedConsolePrivate, firstArg: unknown, ...: any)
	self:_log("log", format(firstArg, ...))
end

function BufferedConsole.time(self: BufferedConsolePrivate, label_: string?)
	local label: string = if label_ ~= nil then label_ else "default"
	if Boolean.toJSBoolean(self._timers[label]) then
		return
	end
	self._timers[label] = DateTime.now()
end

function BufferedConsole.timeEnd(self: BufferedConsolePrivate, label_: string?)
	local label: string = if label_ ~= nil then label_ else "default"
	local startTime = self._timers[label]
	if Boolean.toJSBoolean(startTime) then
		local endTime = DateTime.now()
		local time = endTime.UnixTimestampMillis - startTime.UnixTimestampMillis
		self:_log("time", format("%s: %s", label, formatTime(time)))
		self._timers[label] = nil
	end
end

function BufferedConsole.timeLog(self: BufferedConsolePrivate, label_: string?, ...: any)
	local label: string = if label_ ~= nil then label_ else "default"
	local startTime = self._timers[label]
	if Boolean.toJSBoolean(startTime) then
		local endTime = DateTime.now()
		local time = endTime.UnixTimestampMillis - startTime.UnixTimestampMillis
		self:_log("time", format("%s: %s", label, formatTime(time), ...))
	end
end

function BufferedConsole.warn(self: BufferedConsolePrivate, firstArg: unknown, ...: any)
	self:_log("warn", format(firstArg, ...))
end

function BufferedConsole.getBuffer(self: BufferedConsolePrivate): ConsoleBuffer?
	return if #self._buffer > 0 then self._buffer else nil
end

function invariant(condition: unknown, message: string?)
	if not Boolean.toJSBoolean(condition) then
		error(Error.new(message))
	end
end

exports.default = BufferedConsole
return exports


Prompt: -- Create shortcuts to avoid intensive lookups

Response:
local CFrame_new = CFrame.new;
local table_insert = table.insert;
local CFrame_toWorldSpace = CFrame.new().toWorldSpace;
local math_min = math.min;
local math_max = math.max;
local unpack = unpack;

function BoundingBoxModule.CalculateExtents(Items, StaticExtents, ExtentsOnly)
	-- Returns the size and position of a box covering all items in `Items`

	-- Ensure there are items
	if #Items == 0 then
		return;
	end;

	-- Get initial extents data for comparison
	local ComparisonBaseMin = StaticExtents and StaticExtents.Min or Items[1].Position;
	local ComparisonBaseMax = StaticExtents and StaticExtents.Max or Items[1].Position;
	local MinX, MinY, MinZ = ComparisonBaseMin.X, ComparisonBaseMin.Y, ComparisonBaseMin.Z;
	local MaxX, MaxY, MaxZ = ComparisonBaseMax.X, ComparisonBaseMax.Y, ComparisonBaseMax.Z;

	-- Go through each part in `Items`
	for _, Part in pairs(Items) do

		-- Avoid re-calculating for static parts
		if not ((IsPhysicsStatic() or Part.Anchored) and StaticExtents) then

			-- Get shortcuts to part data
			local PartCFrame = Part.CFrame;
			local PartSize = Part.Size / 2;
			local SizeX, SizeY, SizeZ = PartSize.X, PartSize.Y, PartSize.Z;

			local Corner;
			local XPoints, YPoints, ZPoints = {}, {}, {};

			Corner = PartCFrame * CFrame_new(SizeX, SizeY, SizeZ);
			table_insert(XPoints, Corner.x);
			table_insert(YPoints, Corner.y);
			table_insert(ZPoints, Corner.z);

			Corner = PartCFrame * CFrame_new(-SizeX, SizeY, SizeZ);
			table_insert(XPoints, Corner.x);
			table_insert(YPoints, Corner.y);
			table_insert(ZPoints, Corner.z);

			Corner = PartCFrame * CFrame_new(SizeX, -SizeY, SizeZ);
			table_insert(XPoints, Corner.x);
			table_insert(YPoints, Corner.y);
			table_insert(ZPoints, Corner.z);

			Corner = PartCFrame * CFrame_new(SizeX, SizeY, -SizeZ);
			table_insert(XPoints, Corner.x);
			table_insert(YPoints, Corner.y);
			table_insert(ZPoints, Corner.z);

			Corner = PartCFrame * CFrame_new(-SizeX, SizeY, -SizeZ);
			table_insert(XPoints, Corner.x);
			table_insert(YPoints, Corner.y);
			table_insert(ZPoints, Corner.z);

			Corner = PartCFrame * CFrame_new(-SizeX, -SizeY, SizeZ);
			table_insert(XPoints, Corner.x);
			table_insert(YPoints, Corner.y);
			table_insert(ZPoints, Corner.z);

			Corner = PartCFrame * CFrame_new(SizeX, -SizeY, -SizeZ);
			table_insert(XPoints, Corner.x);
			table_insert(YPoints, Corner.y);
			table_insert(ZPoints, Corner.z);

			Corner = PartCFrame * CFrame_new(-SizeX, -SizeY, -SizeZ);
			table_insert(XPoints, Corner.x);
			table_insert(YPoints, Corner.y);
			table_insert(ZPoints, Corner.z);

			-- Reduce gathered points to min/max extents
			MinX = math_min(MinX, unpack(XPoints));
			MinY = math_min(MinY, unpack(YPoints));
			MinZ = math_min(MinZ, unpack(ZPoints));
			MaxX = math_max(MaxX, unpack(XPoints));
			MaxY = math_max(MaxY, unpack(YPoints));
			MaxZ = math_max(MaxZ, unpack(ZPoints));

		end;

	end;

	-- Calculate the extents
	local Extents = {
		Min = Vector3.new(MinX, MinY, MinZ),
		Max = Vector3.new(MaxX, MaxY, MaxZ);
	};

	-- Only return extents if requested
	if ExtentsOnly then
		return Extents;
	end;

	-- Calculate the bounding box size
	local Size = Vector3.new(
		MaxX - MinX,
		MaxY - MinY,
		MaxZ - MinZ
	);

	-- Calculate the bounding box center
	local Position = CFrame.new(
		MinX + (MaxX - MinX) / 2,
		MinY + (MaxY - MinY) / 2,
		MinZ + (MaxZ - MinZ) / 2
	);

	-- Return the size and position
	return Size, Position;

end;

return BoundingBoxModule;


Prompt:
--[[**
	ensure value is an Instance and it's ClassName matches the given ClassName by an IsA comparison

	@param className The class name to check for

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

Response:
function t.instanceIsA(className, childTable)
	assert(t.string(className))

	local childrenCheck
	if childTable ~= nil then
		childrenCheck = t.children(childTable)
	end

	return function(value)
		local instanceSuccess = t.Instance(value)
		if not instanceSuccess then
			return false
		end

		if not value:IsA(className) then
			return false
		end

		if childrenCheck then
			local childrenSuccess = childrenCheck(value)
			if not childrenSuccess then
				return false
			end
		end

		return true
	end
end


Prompt: -- PROPERTIES

Response:
IconController.topbarEnabled = true
IconController.controllerModeEnabled = false
IconController.previousTopbarEnabled = checkTopbarEnabled()
IconController.leftGap = 12
IconController.midGap = 12
IconController.rightGap = 12


Prompt: -- ROBLOX deviation START: additional assignments for Lua type inferrence to work

Response:
exports.ARROW = specialCharsModule.ARROW
exports.ICONS = specialCharsModule.ICONS
exports.CLEAR = specialCharsModule.CLEAR


Prompt: -- @preconditions: vec should be a unit vector, and 0 < rayLength <= 1000

Response:
function RayCast(startPos, vec, rayLength)
	local hitObject, hitPos = game.Workspace:FindPartOnRay(Ray.new(startPos + (vec * .01), vec * rayLength), Handle)
	if hitObject and hitPos then
		local distance = rayLength - (hitPos - startPos).magnitude
		if RayIgnoreCheck(hitObject, hitPos) and distance > 0 then
			-- there is a chance here for potential infinite recursion
			return RayCast(hitPos, vec, distance)
		end
	end
	return hitObject, hitPos
end

function TagHumanoid(humanoid, player)
	-- Add more tags here to customize what tags are available.
	while humanoid:FindFirstChild('creator') do
		humanoid:FindFirstChild('creator'):Destroy()
	end
	local creatorTag = Instance.new("ObjectValue")
	creatorTag.Value = player
	creatorTag.Name = "creator"
	creatorTag.Parent = humanoid
	DebrisService:AddItem(creatorTag, 1.5)

	local weaponIconTag = Instance.new("StringValue")
	weaponIconTag.Value = IconURL
	weaponIconTag.Name = "icon"
	weaponIconTag.Parent = creatorTag
end

local function CreateFlash()
	if FlashHolder then
		local flash = Instance.new('Fire', FlashHolder)
		flash.Color = Color3.new(1, 140 / 255, 0)
		flash.SecondaryColor = Color3.new(1, 0, 0)
		flash.Size = 0.3
		DebrisService:AddItem(flash, FireRate / 1.5)
	else
		FlashHolder = Instance.new("Part", Tool)
		FlashHolder.Transparency = 1
		FlashHolder.CanCollide= false
		FlashHolder.Size = Vector3.new(1, 1, 1)
		FlashHolder.Position = Tool.Handle.Position
		local Weld = Instance.new("ManualWeld")
		Weld.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
		Weld.C1 = CFrame.new(0, 2.2, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0)
		Weld.Part0 = FlashHolder
		Weld.Part1 = Tool.Handle
		Weld.Parent = FlashHolder
	end
end

local function CreateBullet(bulletPos)
	local bullet = Instance.new('Part', Workspace)
	bullet.FormFactor = Enum.FormFactor.Custom
	bullet.Size = Vector3.new(0.1, 0.1, 0.1)
	bullet.BrickColor = MyPlayer.TeamColor
	bullet.Shape = Enum.PartType.Ball
	bullet.CanCollide = false
	bullet.CFrame = CFrame.new(bulletPos)
	bullet.Anchored = true
	bullet.TopSurface = Enum.SurfaceType.Smooth
	bullet.BottomSurface = Enum.SurfaceType.Smooth
	bullet.Name = 'Bullet'
	DebrisService:AddItem(bullet, 2.5)
	local fire = Instance.new("Fire", bullet)
	fire.Color = Color3.new(MyPlayer.TeamColor.r, MyPlayer.TeamColor.g, MyPlayer.TeamColor.b)
	fire.SecondaryColor = Color3.new(MyPlayer.TeamColor.r, MyPlayer.TeamColor.g, MyPlayer.TeamColor.b)
	fire.Size = 5
	fire.Heat = 0
	DebrisService:AddItem(fire, 0.2)
	return bullet
end

local function Reload()
	if not Reloading then
		Reloading = true
		-- Don't reload if you are already full or have no extra ammo
		if AmmoInClip ~= ClipSize and SpareAmmo > 0 then
			if RecoilTrack then
				RecoilTrack:Stop()
			end
			if WeaponGui and WeaponGui:FindFirstChild('Crosshair') then
				if WeaponGui.Crosshair:FindFirstChild('ReloadingLabel') then
					WeaponGui.Crosshair.ReloadingLabel.Visible = true
				end
			end
			wait(ReloadTime)
			-- Only use as much ammo as you have
			local ammoToUse = math.min(ClipSize - AmmoInClip, SpareAmmo)
			AmmoInClip = AmmoInClip + ammoToUse
			SpareAmmo = SpareAmmo - ammoToUse
			UpdateAmmo(AmmoInClip)
		end
		Reloading = false
	end
end

function OnFire()
	if IsShooting then return end
	if MyHumanoid and MyHumanoid.Health > 0 then
		if RecoilTrack and AmmoInClip > 0 then
			RecoilTrack:Play()
		end
		IsShooting = true
		while LeftButtonDown and AmmoInClip > 0 and not Reloading do
			if Spread and not DecreasedAimLastShot then
				Spread = math.min(MaxSpread, Spread + AimInaccuracyStepAmount)
				UpdateCrosshair(Spread)
			end
			DecreasedAimLastShot = not DecreasedAimLastShot
			if Handle:FindFirstChild('FireSound') then
				Handle.FireSound:Play()
			end
			CreateFlash()
			if MyMouse then
				local targetPoint = MyMouse.Hit.p
				local shootDirection = (targetPoint - Handle.Position).unit
				-- Adjust the shoot direction randomly off by a little bit to account for recoil
				shootDirection = CFrame.Angles((0.5 - math.random()) * 2 * Spread,
																(0.5 - math.random()) * 2 * Spread,
																(0.5 - math.random()) * 2 * Spread) * shootDirection
				local hitObject, bulletPos = RayCast(Handle.Position, shootDirection, Range)
				local bullet
				-- Create a bullet here
				if hitObject then
					bullet = CreateBullet(bulletPos)
				end
				if hitObject and hitObject.Parent then
					local hitHumanoid = hitObject.Parent:FindFirstChild("Humanoid")
					if hitHumanoid then
						local hitPlayer = game.Players:GetPlayerFromCharacter(hitHumanoid.Parent)
						if MyPlayer.Neutral or (hitPlayer and hitPlayer.TeamColor ~= MyPlayer.TeamColor) then
							TagHumanoid(hitHumanoid, MyPlayer)
							hitHumanoid:TakeDamage(Damage)
							if bullet then
								bullet:Destroy()
								bullet = nil
								--bullet.Transparency = 1
							end
							Spawn(UpdateTargetHit)
						end
					end
				end

				AmmoInClip = AmmoInClip - 1
				UpdateAmmo(AmmoInClip)
			end
			wait(FireRate)
		end
		IsShooting = false
		if AmmoInClip == 0 then
			Reload()
		end
		if RecoilTrack then
			RecoilTrack:Stop()
		end
	end
end

local TargetHits = 0
function UpdateTargetHit()
	TargetHits = TargetHits + 1
	if WeaponGui and WeaponGui:FindFirstChild('Crosshair') and WeaponGui.Crosshair:FindFirstChild('TargetHitImage') then
		WeaponGui.Crosshair.TargetHitImage.Visible = true
	end
	wait(0.5)
	TargetHits = TargetHits - 1
	if TargetHits == 0 and WeaponGui and WeaponGui:FindFirstChild('Crosshair') and WeaponGui.Crosshair:FindFirstChild('TargetHitImage') then
		WeaponGui.Crosshair.TargetHitImage.Visible = false
	end
end

function UpdateCrosshair(value, mouse)
	if WeaponGui then
		local absoluteY = 650
		WeaponGui.Crosshair:TweenSize(
			UDim2.new(0, value * absoluteY * 2 + 23, 0, value * absoluteY * 2 + 23),
			Enum.EasingDirection.Out,
			Enum.EasingStyle.Linear,
			0.33)
	end
end

function UpdateAmmo(value)
	if WeaponGui and WeaponGui:FindFirstChild('AmmoHud') and WeaponGui.AmmoHud:FindFirstChild('ClipAmmo') then
		WeaponGui.AmmoHud.ClipAmmo.Text = AmmoInClip
		if value > 0 and WeaponGui:FindFirstChild('Crosshair') and WeaponGui.Crosshair:FindFirstChild('ReloadingLabel') then
			WeaponGui.Crosshair.ReloadingLabel.Visible = false
		end
	end
	if WeaponGui and WeaponGui:FindFirstChild('AmmoHud') and WeaponGui.AmmoHud:FindFirstChild('TotalAmmo') then
		WeaponGui.AmmoHud.TotalAmmo.Text = SpareAmmo
	end
end

function OnMouseDown()
	LeftButtonDown = true
	OnFire()
end

function OnMouseUp()
	LeftButtonDown = false
end

function OnKeyDown(key)
	if string.lower(key) == 'r' then
		Reload()
	end
end

function OnEquipped(mouse)
	RecoilAnim = WaitForChild(Tool, 'Recoil')
	FireSound  = WaitForChild(Handle, 'FireSound')

	MyCharacter = Tool.Parent
	MyPlayer = game:GetService('Players'):GetPlayerFromCharacter(MyCharacter)
	MyHumanoid = MyCharacter:FindFirstChild('Humanoid')
	MyTorso = MyCharacter:FindFirstChild('Torso')
	MyMouse = mouse
	WeaponGui = WaitForChild(Tool, 'WeaponHud'):Clone()
	if WeaponGui and MyPlayer then
		WeaponGui.Parent = MyPlayer.PlayerGui
		UpdateAmmo(AmmoInClip)
	end
	if RecoilAnim then
		RecoilTrack = MyHumanoid:LoadAnimation(RecoilAnim)
	end

	if MyMouse then
		-- Disable mouse icon
		MyMouse.Icon = "http://www.roblox.com/asset/?id=18662154"
		MyMouse.Button1Down:connect(OnMouseDown)
		MyMouse.Button1Up:connect(OnMouseUp)
		MyMouse.KeyDown:connect(OnKeyDown)
	end
end


Prompt: --//INSPARE; One more year, every year//--

Response:
		  --//Steeing System Six//--
				 --//Visionary//--


Prompt: -- Libraries

Response:
local Roact = require(Vendor:WaitForChild('Roact'))
local Cryo = require(Libraries:WaitForChild('Cryo'))
local new = Roact.createElement


Prompt:
--[=[
	Takes a list of variables and uses them to compute an observable that
	will combine into any value. These variables can be any value, and if they
	can be converted into an Observable, they will be, which will be used to compute
	the value.

	```lua
	local verbState = Blend.State("hi")
	local nameState = Blend.State("alice")

	local computed = Blend.Computed(verbState, nameState, function(verb, name)
		return verb .. " " .. name
	end)

	maid:GiveTask(computed:Subscribe(function(sentence)
		print(sentence)
	end)) --> "hi alice"

	nameState.Value = "bob" --> "hi bob"
	verbState.Value = "bye" --> "bye bob"
	nameState.Value = "alice" --> "bye alice"
	```

	@param ... A series of convertable states, followed by a function at the end.
	@return Observable<T>
]=]

Response:
function Blend.Computed(...)
	local values = {...}
	local n = select("#", ...)
	local compute = values[n]

	assert(type(compute) == "function", "Bad compute")

	local args = {}
	for i=1, n - 1 do
		local observable = Blend.toPropertyObservable(values[i])
		if observable then
			args[i] = observable
		else
			args[i] = Rx.of(values[i])
		end
	end

	if #args == 0 then
		-- static value?
		return Observable.new(function(sub)
			sub:Fire(compute())
		end)
	elseif #args == 1 then
		return Rx.map(compute)(args[1])
	else
		return Rx.combineLatest(args)
			:Pipe({
				Rx.map(function(result)
					return compute(unpack(result, 1, n - 1))
				end);
			})
	end
end


Prompt: -- Fetch the thumbnail

Response:
local userId = Player.UserId
local thumbType = Enum.ThumbnailType.HeadShot
local thumbSize = Enum.ThumbnailSize.Size420x420
local content, isReady = Players:GetUserThumbnailAsync(userId, thumbType, thumbSize)


Prompt: ---------END LEFT DOOR

Response:
game.Workspace.DoorValues.Moving.Value = true
game.Workspace.DoorClosed.Value = true
wait(0.1)
until game.Workspace.DoorValues.Close.Value==69
end
game.Workspace.DoorValues.Moving.Value = false
end
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)


Prompt:
--[[**
	ensures Roblox RBXScriptConnection type

	@param value The value to check against

	@returns True iff the condition is satisfied, false otherwise
**--]]

Response: t.RBXScriptConnection = t.typeof("RBXScriptConnection")


Prompt: -- periodically pick one of the workspace.Music's children and play song, never pick last

Response:
Songs = workspace.Music:GetChildren()

local LastSong
local Song

task.wait(3)

while true do

	repeat
		task.wait()
		Song = Songs[math.random(1, #workspace.Music:GetChildren())]
	until Song ~= LastSong

	LastSong = Song
	Song:Play()

	task.wait(Song.TimeLength)

	task.wait(math.random(1,60))
end


Prompt: -- Referenced by doing ``main:GetModule("cf")``

Response: local module = {}


Prompt: -- same as jump for now

Response:
function moveFreeFall()
	RightShoulder.MaxVelocity = 0.4
	LeftShoulder.MaxVelocity = 0.4
	RightShoulder:SetDesiredAngle(3.14)
	LeftShoulder:SetDesiredAngle(-3.14)
	RightHip:SetDesiredAngle(0)
	LeftHip:SetDesiredAngle(0)
	wait(0.8)
end

function moveSit()
	RightShoulder.MaxVelocity = 0.15
	LeftShoulder.MaxVelocity = 0.15
	RightShoulder:SetDesiredAngle(3.14 /2)
	LeftShoulder:SetDesiredAngle(-3.14 /2)
	RightHip:SetDesiredAngle(3.14 /2)
	LeftHip:SetDesiredAngle(-3.14 /2)
end

function getTool()
	for _, kid in ipairs(Figure:GetChildren()) do
		if kid.className == "Tool" then return kid end
	end
	return nil
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

function animateTool()

	if (toolAnim == "None") then
		RightShoulder:SetDesiredAngle(1.57)
		return
	end

	if (toolAnim == "Slash") then
		RightShoulder.MaxVelocity = 0.5
		RightShoulder:SetDesiredAngle(0)
		return
	end

	if (toolAnim == "Lunge") then
		RightShoulder.MaxVelocity = 0.5
		LeftShoulder.MaxVelocity = 0.5
		RightHip.MaxVelocity = 0.5
		LeftHip.MaxVelocity = 0.5
		RightShoulder:SetDesiredAngle(1.57)
		LeftShoulder:SetDesiredAngle(1.0)
		RightHip:SetDesiredAngle(1.57)
		LeftHip:SetDesiredAngle(1.0)
		return
	end
end

function move(time)
	local amplitude
	local frequency

	if (pose == "Jumping") then
		moveJump()
		return
	end

	if (pose == "FreeFall") then
		moveFreeFall()
		return
	end

	if (pose == "Seated") then
		moveSit()
		return
	end

	local climbFudge = 0

	if (pose == "Running") then
		RightShoulder.MaxVelocity = 0.1
		LeftShoulder.MaxVelocity = 0.1
		amplitude = 1
		frequency = 9
	elseif (pose == "Climbing") then
		RightShoulder.MaxVelocity = 0.3
		LeftShoulder.MaxVelocity = 0.3
		amplitude = 0
		frequency = 0
		climbFudge = -3.14
	else
		amplitude = 0.1
		frequency = 1
	end

	desiredAngle = amplitude * math.sin(time*frequency)

	RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
	LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
	RightHip:SetDesiredAngle(-desiredAngle)
	LeftHip:SetDesiredAngle(-desiredAngle)

	local tool = getTool()

	if tool then

		animStringValueObject = getToolAnim(tool)

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

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

		animateTool()

	else
		toolAnim = "None"
		toolAnimTime = 0
	end
end


Prompt:
--[[
	Merges values from zero or more tables onto a target table. If a value is
	set to None, it will instead be removed from the table.

	This function is identical in functionality to JavaScript's Object.assign.
]]
-- Luau TODO: no way to strongly type this accurately, it doesn't eliminate deleted keys of T, and Luau won't do intersections of type packs: <T, ...U>(T, ...: ...U): T & ...U

Response:
return function<T, U, V, W>(target: T, source0: U?, source1: V?, source2: W?, ...): T & U & V & W
	if source0 ~= nil and typeof(source0 :: any) == "table" then
		for key, value in pairs(source0 :: any) do
			if value == None then
				(target :: any)[key] = nil
			else
				(target :: any)[key] = value
			end
		end
	end

	if source1 ~= nil and typeof(source1 :: any) == "table" then
		for key, value in pairs(source1 :: any) do
			if value == None then
				(target :: any)[key] = nil
			else
				(target :: any)[key] = value
			end
		end
	end

	if source2 ~= nil and typeof(source2 :: any) == "table" then
		for key, value in pairs(source2 :: any) do
			if value == None then
				(target :: any)[key] = nil
			else
				(target :: any)[key] = value
			end
		end
	end

	for index = 1, select("#", ...) do
		local rest = select(index, ...)

		if rest ~= nil and typeof(rest) == "table" then
			for key, value in pairs(rest) do
				if value == None then
					(target :: any)[key] = nil
				else
					(target :: any)[key] = value
				end
			end
		end
	end

	-- TODO? we can add & Object to this, if needed by real-world code, once CLI-49825 is fixed
	return (target :: any) :: T & U & V & W
end


Prompt:
--[[ @brief Normalizes an array using the 1 norm. The satellite array will be multiplied by the same normalizing factor.
     @param array The array to normalize.
--]]

Response:
function module.NormalizeArrayWithSatellite(array, satellite)
	local sum = module.Sum(array);
	if sum==0 then return; end
	for i = 1, #array do
		array[i] = array[i] / sum;
	end
	for i = 1, #satellite do
		satellite[i] = satellite[i] / sum;
	end
end


Prompt: -- Decompiled with the Synapse X Luau decompiler.

Response:
client = nil;
cPcall = nil;
Pcall = nil;
Routine = nil;
service = nil;
return function(p1)
	local v1 = client.UI.Prepare(script.Parent.Parent);
	local l__PlayerGui__2 = service.PlayerGui;
	local l__Frame__3 = v1.Frame;
	local l__Message__4 = v1.Frame.Message;
	local l__Title__5 = v1.Frame.Title;
	local l__gIndex__6 = p1.gIndex;
	local l__Scroll__7 = p1.Scroll;
	if not p1.Message or not p1.Title then
		v1:Destroy();
	end;
	l__Title__5.Text = p1.Title;
	l__Message__4.Text = p1.Message;
	l__Title__5.TextTransparency = 1;
	l__Message__4.TextTransparency = 1;
	l__Title__5.TextStrokeTransparency = 1;
	l__Message__4.TextStrokeTransparency = 1;
	l__Frame__3.BackgroundTransparency = 1;
	local v8 = service.New("BlurEffect");
	v8.Enabled = false;
	v8.Size = 0;
	v8.Parent = workspace.CurrentCamera;
	local u1 = false;
	local l__gTable__2 = p1.gTable;
	local function u3()
		if not u1 then
			for v9 = 1, 10 do
				if v8.Size > 0 then
					v8.Size = v8.Size - 1;
				end;
				if l__Message__4.TextTransparency < 1 then
					l__Message__4.TextTransparency = l__Message__4.TextTransparency + 0.1;
					l__Title__5.TextTransparency = l__Title__5.TextTransparency + 0.1;
				end;
				if l__Message__4.TextStrokeTransparency < 1 then
					l__Message__4.TextStrokeTransparency = l__Message__4.TextStrokeTransparency + 0.1;
					l__Title__5.TextStrokeTransparency = l__Title__5.TextStrokeTransparency + 0.1;
				end;
				if l__Frame__3.BackgroundTransparency < 1 then
					l__Frame__3.BackgroundTransparency = l__Frame__3.BackgroundTransparency + 0.03;
				end;
				wait(0.016666666666666666);
			end;
			v8.Enabled = false;
			v8:Destroy();
			service.UnWrap(v1):Destroy();
			u1 = true;
		end;
	end;
	function l__gTable__2.CustomDestroy()
		if not u1 then
			u1 = true;
			pcall(u3);
		end;
		pcall(function()
			service.UnWrap(v1):Destroy();
		end);
		pcall(function()
			v8:Destroy();
		end);
	end;
	(function()
		if not u1 then
			v8.Enabled = true;
			l__gTable__2:Ready();
			for v10 = 1, 10 do
				if v8.Size < 10 then
					v8.Size = v8.Size + 1;
				end;
				if l__Message__4.TextTransparency > 0.1 then
					l__Message__4.TextTransparency = l__Message__4.TextTransparency - 0.1;
					l__Title__5.TextTransparency = l__Title__5.TextTransparency - 0.1;
				end;
				if l__Message__4.TextStrokeTransparency > 0.5 then
					l__Message__4.TextStrokeTransparency = l__Message__4.TextStrokeTransparency - 0.1;
					l__Title__5.TextStrokeTransparency = l__Title__5.TextStrokeTransparency - 0.1;
				end;
				if l__Frame__3.BackgroundTransparency > 0.3 then
					l__Frame__3.BackgroundTransparency = l__Frame__3.BackgroundTransparency - 0.03;
				end;
				wait(0.016666666666666666);
			end;
		end;
	end)();
	wait(p1.Time and 5);
	if not u1 then
		u3();
	end;
end;


Prompt:
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- STATE CHANGE HANDLERS

Response:
function onRunning(speed)
	local movedDuringEmote =
		userEmoteToRunThresholdChange and currentlyPlayingEmote and Humanoid.MoveDirection == Vector3.new(0, 0, 0)
	local speedThreshold = movedDuringEmote and Humanoid.WalkSpeed or 0.75
	humanoidSpeed = speed
	if speed > speedThreshold then
		playAnimation("walk", 0.2, Humanoid)
		if pose ~= "Running" then
			pose = "Running"
			updateVelocity(0) -- Force velocity update in response to state change
		end
	else
		if emoteNames[currentAnim] == nil and not currentlyPlayingEmote then
			playAnimation("idle", 0.2, Humanoid)
			pose = "Standing"
		end
	end

end

function onDied()
	pose = "Dead"
end

function onJumping()
	playAnimation("jump", 0.1, Humanoid)
	jumpAnimTime = jumpAnimDuration
	pose = "Jumping"
end

function onClimbing(speed)
	local scale = 5.0
	playAnimation("climb", 0.1, Humanoid)
	setAnimationSpeed(speed / scale)
	pose = "Climbing"
end

function onGettingUp()
	pose = "GettingUp"
end

function onFreeFall()
	if (jumpAnimTime <= 0) then
		playAnimation("fall", fallTransitionTime, Humanoid)
	end
	pose = "FreeFall"
end

function onFallingDown()
	pose = "FallingDown"
end

function onSeated()
	pose = "Seated"
end

function onPlatformStanding()
	pose = "PlatformStanding"
end


Prompt: -- разместим копии

Response:
for i = -4, 4 do
	local ang = rnd:NextInteger(-2,2) * 45	-- расчитываем угол
	local x = math.sin(math.rad(ang)) * radius
	local y = math.cos(math.rad(ang)) * radius
	local pos = CFrame.new(x, radius-y-6,10+17*i  + script.Parent.Parent.BasePart.Position.Z ) * CFrame.Angles(0,0, math.rad(ang))
	local tmp = fakel:Clone()
	tmp:SetPrimaryPartCFrame(pos)

	tmp.Fire.Fire.SleepTime.Value	= rnd:NextInteger(1,5)
	tmp.Fire.Fire.SpeedDOWN.Value	= rnd:NextNumber(0.1,0.5)
	tmp.Fire.Fire.SpeedUP.Value		= rnd:NextNumber(0.3,0.7)

	tmp.Parent = script.Parent
end


Prompt: --[[Drivetrain]]

Response:
	Tune.Config			= "FWD"		--"FWD" , "RWD" , "AWD"

	--Differential Settings
	Tune.FDiffSlipThres	= 75		-- 1 - 100%				(Max threshold of applying full lock determined by deviation from avg speed)
	Tune.FDiffLockThres	= 75		-- 0 - 100%				(0 - Bias toward slower wheel, 100 - Bias toward faster wheel)
	Tune.RDiffSlipThres	= 50		-- 1 - 100%
	Tune.RDiffLockThres	= 50		-- 0 - 100%
	Tune.CDiffSlipThres	= 50		-- 1 - 100%				[AWD Only]
	Tune.CDiffLockThres	= 50		-- 0 - 100%				[AWD Only]

	--Traction Control Settings
	Tune.TCSEnabled		= true		-- Implements TCS
	Tune.TCSThreshold	= 20		-- Slip speed allowed before TCS starts working (in SPS)
	Tune.TCSGradient	= 20		-- Slip speed gradient between 0 to max reduction (in SPS)
	Tune.TCSLimit		= 10		-- Minimum amount of torque at max reduction (in percent)


Prompt: -- Game Services

Response:
local NotificationManager = require(script.NotificationManager)
local TimerManager = require(script.TimerManager)


Prompt: -- regular lua compatibility

Response:
local typeof = typeof or type

local function primitive(typeName)
	return function(value)
		local valueType = typeof(value)
		if valueType == typeName then
			return true
		else
			return false, string.format("%s expected, got %s", typeName, valueType)
		end
	end
end

local t = {}


Prompt: -- Initialize anchor tool

Response:
local AnchorTool = require(CoreTools:WaitForChild 'Anchor')
Core.AssignHotkey('M', Core.Support.Call(Core.EquipTool, AnchorTool));
Core.Dock.AddToolButton(Core.Assets.AnchorIcon, 'M', AnchorTool, 'AnchorInfo');


Prompt: ------Mood------

Response:
local faces = myHead.Faces
status:set("currentFace",myHead.faceIdle)

local idleIndex = 5
function movementLogic()
	local target = status:get("currentTarget")
	local dist = core.checkDist(target,myRoot)
	local canSee = core.checkSight(target)

	idleIndex -= 1
	if canSee then
		idleIndex = 5 --100
	end
	if ((dist > 50 or not canSee) and (myRoot.Position.Y < target.Position.Y-10 or idleIndex <= 0)) then
		movement.pathToLocation(target)
	elseif (dist > 30 or not canSee) and core.checkPotentialSight(target) then
		myHuman:MoveTo(movement.slowAdvance())
		wait(0.3)
	elseif dist > 50 and dist < 90 and canSee and status:get("m4Equipped") then
		myHuman:MoveTo(movement.strafe())
		wait(0.5)
	elseif dist > 4 and dist < 50 and canSee and math.abs(myRoot.Position.Y - target.Position.Y) < 2 and status:get("weaponAimed") then
		myHuman:MoveTo(movement.retreat())
		wait(0.2)
	elseif (dist < 4 and canSee) or status:get("knifeEquipped") then
		myHuman:MoveTo(target.Position)
	end
end

function movementLoop()
	while myHuman.Health>0 do
		if status:get("currentTarget") then
			movementLogic()
		else
			if mySettings.Wander.Value and math.random(4) == 3 then
				movement.walkRandom()
			end
			wait(3)
		end
		wait(0.1)
	end
end

function getIncomingAttackers()

	local targets = {}

	local params = RaycastParams.new()
	params.FilterDescendantsInstances = {marine}
	for i = -20, 20, 2 do
		local origin = myRoot.Position + Vector3.new(-20,0,i)
		local dir = Vector3.new(40,0,0)
		troubleshoot.createBeam(origin,dir)
		local result = workspace:Raycast(origin, dir)
		if result then
			local human = core.getHuman(result.Instance.Parent)
			local root = result.Instance.Parent:FindFirstChild("HumanoidRootPart")
			if human and human.Health>0 and root and not core.isAlly(result.Instance.Parent) then
				if core.checkSight(root) then
					table.insert(targets,root)
				end
			end
		end
	end

	--Sort through targets to target the closest one to us
	local dist = math.huge
	local tempTarget = nil
	for _,potentialTarget in ipairs(targets) do
		if core.checkDist(potentialTarget,myRoot) < dist then
			dist = core.checkDist(potentialTarget,myRoot)
			tempTarget = potentialTarget
		end
	end

	if tempTarget then
		status:set("currentTarget",tempTarget)
	end
end

function searchTargetLoop()
	while myHuman.Health>0 do
		getIncomingAttackers()
		if not status:get("currentTarget") or not status:get("currentTarget").Parent or status:get("currentTarget").Parent.Humanoid.Health <=0 or status:get("tookDamage") then
			status:set("tookDamage",false)
			status:set("currentTarget",nil)
			targeting.findTarget()
		elseif not core.checkSight(status:get("currentTarget")) then
			targeting.findTarget()
			if not status:get("currentTarget") then
				wait(3)
			end
		end
		wait(0.5)
	end
end

function aimingLoop()
	while myHuman.Health>0 do
		if status:get("currentTarget") then
			if core.checkSight(status:get("currentTarget")) and status:get("m4Equipped") then
				actions.aim(status:get("currentTarget"))
			else
				wait(0.5)
			end
		else
			wait(2)
		end
		wait(0.1)
	end
end

function attackLogic()
	actions.updateFace("Attacking")

	local target = status:get("currentTarget")

	local distance = core.checkDist(myRoot,target)
	if distance > 7 then

		--If there is a cluster of enemies far enough away throw grenade.
		if combat.checkCluster(target) and distance < 100 and distance > 40 and status:get("grenadeCool") then
			combat.throwGrenade(target)
		elseif status:get("m4Equipped") then
			if core.facingTarget() and core.checkShot(target) then
				combat.shoot(target)
			end
		else
			actions.drawM4()
		end
	else
		actions.drawKnife()
		combat.stab()
	end
end

function attackLoop()
	while myHuman.Health>0 do

		local target = status:get("currentTarget")

		if target and target.Parent then
			actions.updateFace("Hunting")

			--If we have a target we can see
			if core.checkSight(status:get("currentTarget")) and core.checkDist(myRoot,target) < mySettings.M4.Range.Value then
				attackLogic()
			elseif status:get("m4Equipped") and not status:get("weaponAimed") then
				status:set("weaponAimed",false)
				actions.lowerM4()
			end
		else
			actions.updateFace("Idle")
			actions.yieldWeapons()
			wait(2)
		end
		wait(0.1)
	end
end

core.spawn(searchTargetLoop)
core.spawn(attackLoop)
core.spawn(movementLoop)
core.spawn(aimingLoop)


Prompt: -- Function

Response:
Prompt.ProximityPrompt.Triggered:Connect(function(plr)
	Prompt.ProximityPrompt.Enabled = false
	--
	local anim = plr.Character:FindFirstChild("Humanoid"):LoadAnimation(script.Animation)
	anim:Play()
	--
	for i,v in pairs(script.Parent.Quebrar:GetChildren()) do
		v.Transparency = 0
	end
	--
	for money = 1,3 do
		local clone = game.ServerStorage.Dinheiro:Clone()
		clone.Parent = game.Workspace
		clone.Position = Prompt.Position
	end
	--
	soco:Play()
	wait(1)
	alarme:Play()
	--
	tela.BrickColor = BrickColor.new("Really red")
	tela.Material = "Neon"
	--
	wait(60*3)
	tela.BrickColor = BrickColor.new("Dark stone grey")
	tela.Material = "SmoothPlastic"
	--

	Prompt.ProximityPrompt.Enabled = true
	--
	for i,v in pairs(script.Parent.Quebrar:GetChildren()) do
		v.Transparency = 1
	end
end)


Prompt: --[[ By: Brutez. ]]

Response:
--
local JeffTheKillerScript = script;
repeat wait(0)until JeffTheKillerScript and JeffTheKillerScript.Parent and JeffTheKillerScript.Parent.ClassName=="Model"and JeffTheKillerScript.Parent:FindFirstChild("Head")and JeffTheKillerScript.Parent:FindFirstChild("HumanoidRootPart");
local JeffTheKiller=JeffTheKillerScript.Parent;
function raycast(Spos,vec,currentdist)
local hit2,pos2=game.Workspace:FindPartOnRay(Ray.new(Spos+(vec*.05),vec*currentdist),JeffTheKiller);
if hit2~=nil and pos2 then
if hit2.Name=="Handle" and not hit2.CanCollide or string.sub(hit2.Name,1,6)=="Effect"and not hit2.CanCollide then
local currentdist=currentdist-(pos2-Spos).magnitude;
return raycast(pos2,vec,currentdist);
end;
end;
return hit2,pos2;
end;
function RayCast(Position,Direction,MaxDistance,IgnoreList)
return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Position,Direction.unit*(MaxDistance or 999.999)),IgnoreList);
end;


Prompt: --// Modules //--

Response:
local KingdomHolder = require(ServerStorage.KingdomHolder)

Players.PlayerAdded:Connect(function(plr)

	  KingdomHolder.CreateKingdom(plr)
end)


Prompt:
--edit the function below to return true when you want this response/prompt to be valid
--player is the player speaking to the dialogue, and dialogueFolder is the object containing the dialogue data

Response:
return function(player, dialogueFolder)
	local plrData = require(game.ReplicatedStorage.Source.Modules.Util):GetPlayerData(player)
	return plrData.Money.Gold.Value < 1000
end


Prompt: --Code--

Response:
local function PlayerTouched(Part)
	local Parent = Part.Parent
	if game.Players:GetPlayerFromCharacter(Parent) then
		wait(0.8)
		Brick.Transparency=Brick.Transparency+0.8
		Brick.CanCollide=false
		wait(3.2)
		Brick.Transparency=0
		Brick.CanCollide=true
	end
end

Brick.Touched:connect(PlayerTouched)


Prompt:
--[[ @brief Produces a cumulative sum along a table.
     @details The passed-in table will be mutated.
     @example Accumulate({1, 2, 3}) = {1, 3, 6}.
     @param t The table to accumulate.
--]]

Response:
function module.Accumulate(t)
	local s = 0;
	for i, v in pairs(t) do
		s = s + t[i];
		t[i] = s;
	end
	return t;
end


Prompt: --// Use the power of the stars and hit as many people as you can to perform a chain attack!

Response:
local Properties = {
	DamageMode = "Normal", --What mode to reference the damage tables listed below

	Special = true,--The internal logical indicator to determine if we can use our special.

	Special_Reload = 10, --The Cooldown time until the ability is ready to be used.

	SpeedCap = 30, --This is the wielder's walkspeed when equipped

	DamageValues = {
		Normal = {
			Min = 10,
			Max = 50,
		},

		Lunge = {
			Min = 7,
			Max = 10
		}
	}

}

local FindFirstChild, FindFirstChildOfClass, WaitForChild = script.FindFirstChild, script.FindFirstChildOfClass, script.WaitForChild

local Clone, Destroy = script.Clone, script.Destroy

local GetChildren = script.GetChildren

local IsA = script.IsA

local Tool = script.Parent
Tool.Enabled = true

local DefaultGrip = FindFirstChild(Tool, "DefaultGrip")
if not DefaultGrip then
	-- Create a new grip reference
	DefaultGrip = Instance.new("CFrameValue")
	DefaultGrip.Name = "DefaultGrip"
	DefaultGrip.Value = Tool.Grip
	DefaultGrip.Parent = Tool
end

Tool.Grip = DefaultGrip.Value --Reset the Tool's grip values to the DefaultGrip Value

local Handle = WaitForChild(Tool, "Handle")

pcall(function()
	Handle["Sparkle_Large_Blue"].Enabled = true --We're gonna use this as our visual indicator for our special.
end)

local Sounds = {
	Equip = WaitForChild(Handle, "Equip"),
	Slash = WaitForChild(Handle, "Slash"),
	Lunge = WaitForChild(Handle, "Lunge")
}

local Players = (game:FindService("Players") or game:GetService("Players"))
local Debris = (game:FindService("Debris") or game:GetService("Debris"))
local RunService = (game:FindService("RunService") or game:GetService("RunService"))
local ServerScriptService = (game:FindService("ServerScriptService") or game:GetService("ServerScriptService"))

local NewRay = Ray.new


Prompt: --MainScriptValues

Response:
local Color = Color3.fromRGB(99, 95, 98)
local CodeT1 = script.Parent.Code1
local CodeT2 = script.Parent.Code2
local CodeT3 = script.Parent.Code3
local CodeT1C = script.Parent.Code1.ClickDetector
local CodeT2C = script.Parent.Code2.ClickDetector
local CodeT3C = script.Parent.Code3.ClickDetector


Response:
local Functions = Evt.MedSys
local FunctionsMulti = Evt.MedSys.Multi

local Compress = Functions.Compress
local Bandage = Functions.Bandage
local Splint = Functions.Splint
local PainKiller = Functions.PainKiller
local Energetic = Functions.Energetic
local Tourniquet = Functions.Tourniquet

local Compress_Multi = FunctionsMulti.Compress
local Bandage_Multi = FunctionsMulti.Bandage
local Splint_Multi = FunctionsMulti.Splint
local Epinephrine_Multi = FunctionsMulti.Epinephrine
local Morphine_Multi = FunctionsMulti.Morphine
local BloodBag_Multi = FunctionsMulti.BloodBag
local Tourniquet_Multi = FunctionsMulti.Tourniquet

local Algemar = Functions.Algemar
local Fome = Functions.Fome
local Stance = Evt.MedSys.Stance
local Collapse = Functions.Collapse
local Reset = Functions.Reset
local TS = game:GetService("TweenService")

Compress.OnServerEvent:Connect(function(player)

	local Human = player.Character.Humanoid
	local enabled = Human.Parent.Saude.Variaveis.Doer
	local MLs = Human.Parent.Saude.Variaveis.MLs
	local Caido = Human.Parent.Saude.Stances.Caido

	if enabled.Value == false and Caido.Value == false then

		if MLs.Value >= 2 then
		enabled.Value = true

		wait(.3)

		MLs.Value = 1

		wait(5)
		enabled.Value = false

		end
	end
end)

Bandage.OnServerEvent:Connect(function(player)

	local Human = player.Character.Humanoid
	local enabled = Human.Parent.Saude.Variaveis.Doer
	local Sangrando = Human.Parent.Saude.Stances.Sangrando
	local MLs = Human.Parent.Saude.Variaveis.MLs
	local Caido = Human.Parent.Saude.Stances.Caido
	local Ferido = Human.Parent.Saude.Stances.Ferido

	local Bandagens = Human.Parent.Saude.Kit.Bandagem

	if enabled.Value == false and Caido.Value == false  then

		if Bandagens.Value >= 1 and Sangrando.Value == true then
		enabled.Value = true

		wait(.3)

		Sangrando.Value = false
		Bandagens.Value = Bandagens.Value - 1

		wait(2)
		enabled.Value = false

		end
	end
end)

Splint.OnServerEvent:Connect(function(player)

	local Human = player.Character.Humanoid
	local enabled = Human.Parent.Saude.Variaveis.Doer
	local Sangrando = Human.Parent.Saude.Stances.Sangrando
	local MLs = Human.Parent.Saude.Variaveis.MLs
	local Caido = Human.Parent.Saude.Stances.Caido
	local Ferido = Human.Parent.Saude.Stances.Ferido

	local Bandagens = Human.Parent.Saude.Kit.Splint

	if enabled.Value == false and Caido.Value == false  then

		if Bandagens.Value >= 1 and Ferido.Value == true  then
		enabled.Value = true

		wait(.3)

		Ferido.Value = false

		Bandagens.Value = Bandagens.Value - 1

		wait(2)
		enabled.Value = false

		end
	end
end)

PainKiller.OnServerEvent:Connect(function(player)

	local Human = player.Character.Humanoid
	local enabled = Human.Parent.Saude.Variaveis.Doer
	local Sangrando = Human.Parent.Saude.Stances.Sangrando
	local MLs = Human.Parent.Saude.Variaveis.MLs
	local Dor = Human.Parent.Saude.Variaveis.Dor
	local Caido = Human.Parent.Saude.Stances.Caido
	local Ferido = Human.Parent.Saude.Stances.Ferido

	local Bandagens = Human.Parent.Saude.Kit.Aspirina

	if enabled.Value == false and Caido.Value == false  then

		if Bandagens.Value >= 1  and Dor.Value >= 1  then
		enabled.Value = true

		wait(.3)

		Dor.Value = Dor.Value - math.random(60,75)

		Bandagens.Value = Bandagens.Value - 1

		wait(2)
		enabled.Value = false

		end
	end
end)

Energetic.OnServerEvent:Connect(function(player)

	local Human = player.Character.Humanoid
	local enabled = Human.Parent.Saude.Variaveis.Doer
	local Sangrando = Human.Parent.Saude.Stances.Sangrando
	local MLs = Human.Parent.Saude.Variaveis.MLs
	local Dor = Human.Parent.Saude.Variaveis.Dor
	local Caido = Human.Parent.Saude.Stances.Caido
	local Ferido = Human.Parent.Saude.Stances.Ferido

	local Bandagens = Human.Parent.Saude.Kit.Energetico
	--local Energia = Human.Parent.Saude.Variaveis.Energia

	if enabled.Value == false and Caido.Value == false  then

		if Human.Health < Human.MaxHealth  then
		enabled.Value = true

		wait(.3)

		Human.Health = Human.Health + (Human.MaxHealth/3)
		--Energia.Value = Energia.Value + (Energia.MaxValue/3)
		Bandagens.Value = Bandagens.Value - 1

		wait(2)
		enabled.Value = false

		end
	end
end)

Tourniquet.OnServerEvent:Connect(function(player)

	local Human = player.Character.Humanoid
	local enabled = Human.Parent.Saude.Variaveis.Doer
	local Sangrando = Human.Parent.Saude.Stances.Sangrando
	local MLs = Human.Parent.Saude.Variaveis.MLs
	local Dor = Human.Parent.Saude.Variaveis.Dor
	local Caido = Human.Parent.Saude.Stances.Caido
	local Ferido = Human.Parent.Saude.Stances.Ferido

	local Bandagens = Human.Parent.Saude.Kit.Tourniquet

if Human.Parent.Saude.Stances.Tourniquet.Value == false then
	if enabled.Value == false and Sangrando.Value == true and Bandagens.Value > 0 then
		enabled.Value = true

		wait(.3)

		Human.Parent.Saude.Stances.Tourniquet.Value = true
		Bandagens.Value = Bandagens.Value - 1

		wait(2)
		enabled.Value = false

	end
else
	if enabled.Value == false then
		enabled.Value = true

		wait(.3)

		Human.Parent.Saude.Stances.Tourniquet.Value = false
		Bandagens.Value = Bandagens.Value + 1

		wait(2)
		enabled.Value = false
	end
end
end)


Prompt:
-- @author Mark Otaris (ColorfulBody, JulienDethurens) and Quenty
-- Last modified December 28th, 2013


Prompt: ----- Skin -----

Response: local Skin = Inventory:WaitForChild("Gold") -- CHANGE


Response:
local TwinService = game:GetService("TweenService")
local AnimationHighLight = TweenInfo.new(2, Enum.EasingStyle.Sine ,Enum.EasingDirection.InOut)
local Info1 = {Position = Vector3.new(pos1,Positionn,pos3)}
local Info2 = {Position = Vector3.new(pos1,Positionn2,pos3)}
local AnimkaUp = TwinService:Create(Danger, AnimationHighLight, Info1 )
local AnimkaDown = TwinService:Create(Danger, AnimationHighLight, Info2 )
while true do
	AnimkaDown:Play()
	wait(2)
	AnimkaUp:Play()
	wait(2)
end


Prompt: --[[ Private Functions ]]

Response:
--
local function getVehicleMotors()
	local motors = {}
	for _, c in pairs(constraints:GetChildren()) do
		if c:IsA("CylindricalConstraint") then
			table.insert(motors, c)
        end
    end
	return motors
end

local function getSprings(springType)
	local springs = {}
	local trailer = PackagedVehicle:FindFirstChild("Trailer")

	local function search(children)
		local searchStrutSpring = "StrutSpring"
		local searchFrontSpring = "StrutSpringF"
		local searchTorsionSpring = "TorsionBarSpring"
		for _, c in pairs(children) do
			if c:IsA("SpringConstraint") then
				if springType == "StrutFront" then
					if string.find(c.Name, searchFrontSpring) then
						table.insert(springs, c)
					end
				elseif springType == "StrutRear" then
					if (not string.find(c.Name, searchFrontSpring)) and string.find(c.Name, searchStrutSpring) then
						table.insert(springs, c) -- we have option of Mid and Rear for these
					end
				elseif springType == "TorsionBar" then
					if string.find(c.Name, searchTorsionSpring) then
						table.insert(springs, c)
					end
				end
			end
		end
	end

	search(constraints:GetChildren())
	if trailer then
		search(trailer.Constraints:GetChildren())
	end

	return springs
end

local function getMotorVelocity(motor)
	return motor.Attachment1.WorldAxis:Dot( motor.Attachment1.Parent.RotVelocity )
end

local function adjustSpring( spring, stiffness, damping )
	spring.Stiffness = stiffness
	spring.Damping = damping
end

local function setMotorTorque(torque)
	for _, motor in pairs(Motors) do
		motor.MotorMaxTorque = torque
	end
end

local function setMotorTorqueDamped(torque, velocityDirection, accelDirection)
	for _, motor in pairs(Motors) do
		if VehicleParameters.MaxSpeed == 0 then
			motor.MotorMaxTorque = 0
		else
			local maxSpeed = VehicleParameters.MaxSpeed
			if accelDirection < 0 and velocityDirection < 0 then
				maxSpeed = VehicleParameters.ReverseSpeed
			end

			local r = math.abs(Chassis.driverSeat.Velocity.Magnitude / maxSpeed)
			motor.MotorMaxTorque = math.exp( -3 * r * r ) * torque
		end
	end
end

local function setMotorMaxAcceleration(acceleration)
	for _, motor in pairs(Motors) do
		motor.MotorMaxAngularAcceleration = acceleration
	end
end


Prompt: --------------------[ KNIFING FUNCTION ]----------------------------------------------

Response:
function KnifeAnim()
	local Connection = nil
	local Blade = Instance.new("Part")
	Blade.BrickColor = BrickColor.new("Really black")
	Blade.Name = "Blade"
	Blade.CanCollide = false
	Blade.FormFactor = Enum.FormFactor.Custom
	Blade.Size = VEC3(0.5, 2.5, 1)
	local Mesh = Instance.new("SpecialMesh")
	Mesh.MeshId = S.KnifeMeshId
	Mesh.MeshType = Enum.MeshType.FileMesh
	Mesh.Scale = VEC3(0.7, 0.7, 0.7)
	Mesh.TextureId = S.KnifeTextureId
	Mesh.Parent = Blade
	Blade.Parent = Gun_Ignore
	local BladeWeld = Instance.new("Weld")
	BladeWeld.Part0 = Blade
	BladeWeld.Part1 = FakeLArm
	BladeWeld.C0 = CFANG(RAD(-90), 0, RAD(180))
	BladeWeld.C1 = CF(0, -1, 0.75)
	BladeWeld.Parent = Blade
	Connection = Blade.Touched:connect(function(Obj)
		if Obj then
			local HitHumanoid = FindFirstClass(Obj.Parent, "Humanoid")
			if HitHumanoid and IsEnemy(HitHumanoid) then
				local CreatorTag = Instance.new("ObjectValue")
				CreatorTag.Name = "creator"
				CreatorTag.Value = Player
				CreatorTag.Parent = HitHumanoid
				HitHumanoid:TakeDamage(HitHumanoid.MaxHealth)
				MarkHit()
			end
		end
	end)
	TweenJoint(LWeld2, CF(), CFANG(0, RAD(90), 0), Linear, 0.05)
	TweenJoint(LWeld, ArmC0[1], CF(-0.1, 0.2, -0.1) * CFANG(0, 0, RAD(-20)), Linear, 0.05)
	TweenJoint(RWeld, ArmC0[2], CFANG(RAD(-30), 0, 0), Linear, 0.1)
	TweenJoint(Grip, Grip.C0, CF(), Linear, 0.1)
	spawn(function()
		local Force = HRP.CFrame.lookVector * 8e4
		local BF = Instance.new("BodyForce")
		BF.force = Force
		BF.Parent = HRP
		delay(0.03, function()
			BF.force = -Force / 2
			wait(0.03)
			BF:Destroy()
		end)
	end)
	wait(0.05)
	RotCamera(RAD(6), 0, true, 0.1)
	delay(0.1, function()
		RotCamera(RAD(-2), 0, true, 0.05)
	end)
	TweenJoint(LWeld, ArmC0[1], CF(0.8, 1.7, 0.2) * CFANG(0, 0, RAD(-80)), Linear, 0.06)
	wait(0.2)
	Connection:disconnect()
	wait(0.2)
	TweenJoint(LWeld2, CF(), CF(), Linear, 0.15)
	TweenJoint(LWeld, ArmC0[1], S.ArmC1_UnAimed.Left, Linear, 0.15)
	TweenJoint(RWeld, ArmC0[2], S.ArmC1_UnAimed.Right, Linear, 0.15)
	Blade:Destroy()
end


Prompt:
--[=[
	Requires all children ModuleScripts

	@param parent Instance -- Parent to scan
	@return {ModuleScript} -- Array of required modules
]=]

Response:
function Loader.LoadChildren(parent: Instance): Modules
	local modules: Modules = {}
	for _,child in ipairs(parent:GetChildren()) do
		if child:IsA("ModuleScript") then
			local m = require(child)
			table.insert(modules, m)
		end
	end
	return modules
end


Prompt: --make room for new data

Response:
script.Parent.Parent.AgeBox.Text=""
script.Parent.Parent.NameBox.Text=""
script.Parent.Parent.UserIDBox.Text=""
end
script.Parent.MouseButton1Click:connect(isclicked)


Prompt: --Precalculated paths

Response:
local t,f,n=true,false,{}
local r={
[58]={{24,25,26,27,28,29,31,32,34,35,39,41,30,56,58},t},
[49]={{24,25,26,27,28,44,45,49},t},
[16]={n,f},
[19]={{24,25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,19},t},
[59]={{24,25,26,27,28,29,31,32,34,35,39,41,59},t},
[63]={{24,25,26,27,28,29,31,32,34,35,39,41,30,56,58,23,62,63},t},
[34]={{24,25,26,27,28,29,31,32,34},t},
[21]={{24,25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,21},t},
[48]={{24,25,26,27,28,44,45,49,48},t},
[27]={{24,25,26,27},t},
[14]={n,f},
[31]={{24,25,26,27,28,29,31},t},
[56]={{24,25,26,27,28,29,31,32,34,35,39,41,30,56},t},
[29]={{24,25,26,27,28,29},t},
[13]={n,f},
[47]={{24,25,26,27,28,44,45,49,48,47},t},
[12]={n,f},
[45]={{24,25,26,27,28,44,45},t},
[57]={{24,25,26,27,28,29,31,32,34,35,39,41,30,56,57},t},
[36]={{24,25,26,27,28,29,31,32,33,36},t},
[25]={{24,25},t},
[71]={{24,25,26,27,28,29,31,32,34,35,39,41,59,61,71},t},
[20]={{24,25,26,27,28,29,31,32,34,35,39,41,30,56,58,20},t},
[60]={{24,25,26,27,28,29,31,32,34,35,39,41,60},t},
[8]={n,f},
[4]={n,f},
[75]={{24,25,26,27,28,29,31,32,34,35,39,41,59,61,71,72,76,73,75},t},
[22]={{24,25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,21,22},t},
[74]={{24,25,26,27,28,29,31,32,34,35,39,41,59,61,71,72,76,73,74},t},
[62]={{24,25,26,27,28,29,31,32,34,35,39,41,30,56,58,23,62},t},
[1]={n,f},
[6]={n,f},
[11]={n,f},
[15]={n,f},
[37]={{24,25,26,27,28,29,31,32,33,36,37},t},
[2]={n,f},
[35]={{24,25,26,27,28,29,31,32,34,35},t},
[53]={{24,25,26,27,28,44,45,49,48,47,52,53},t},
[73]={{24,25,26,27,28,29,31,32,34,35,39,41,59,61,71,72,76,73},t},
[72]={{24,25,26,27,28,29,31,32,34,35,39,41,59,61,71,72},t},
[33]={{24,25,26,27,28,29,31,32,33},t},
[69]={{24,25,26,27,28,29,31,32,34,35,39,41,60,69},t},
[65]={{24,25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64,65},t},
[26]={{24,25,26},t},
[68]={{24,25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64,67,68},t},
[76]={{24,25,26,27,28,29,31,32,34,35,39,41,59,61,71,72,76},t},
[50]={{24,25,26,27,28,44,45,49,48,47,50},t},
[66]={{24,25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,19,66},t},
[10]={n,f},
[24]={{24},t},
[23]={{24,25,26,27,28,29,31,32,34,35,39,41,30,56,58,23},t},
[44]={{24,25,26,27,28,44},t},
[39]={{24,25,26,27,28,29,31,32,34,35,39},t},
[32]={{24,25,26,27,28,29,31,32},t},
[3]={n,f},
[30]={{24,25,26,27,28,29,31,32,34,35,39,41,30},t},
[51]={{24,25,26,27,28,44,45,49,48,47,50,51},t},
[18]={n,f},
[67]={{24,25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64,67},t},
[61]={{24,25,26,27,28,29,31,32,34,35,39,41,59,61},t},
[55]={{24,25,26,27,28,44,45,49,48,47,52,53,54,55},t},
[46]={{24,25,26,27,28,44,45,49,48,47,46},t},
[42]={{24,25,26,27,28,29,31,32,34,35,38,42},t},
[40]={{24,25,26,27,28,29,31,32,34,35,40},t},
[52]={{24,25,26,27,28,44,45,49,48,47,52},t},
[54]={{24,25,26,27,28,44,45,49,48,47,52,53,54},t},
[43]={n,f},
[7]={n,f},
[9]={n,f},
[41]={{24,25,26,27,28,29,31,32,34,35,39,41},t},
[17]={n,f},
[38]={{24,25,26,27,28,29,31,32,34,35,38},t},
[28]={{24,25,26,27,28},t},
[5]={n,f},
[64]={{24,25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64},t},
}
return r


Prompt:
--[[ @brief Sums all elements in a table.
     @param t A table of numbers.
     @return The total sum of all numbers in t.
--]]

Response:
function module.Sum(t, n)
	local sum = 0;
	if n then
		for i = 1, n do
			sum = sum + t[i>#t and #t or i] or 0;
		end
	else
		for i, v in pairs(t) do
			sum = sum + v;
		end
	end
	return sum;
end


Prompt: --[[Weight and CG]]

Response:
Tune.Weight			= 3400		-- Total weight (in pounds)
Tune.WeightBSize	= {			-- Size of weight brick (dimmensions in studs ; larger = more stable)
	--[[Width]]		6		,
	--[[Height]]		3.5		,
	--[[Length]]		14		}
Tune.WeightDist		= 50		-- Weight distribution (0 - on rear wheels, 100 - on front wheels, can be <0 or >100)
Tune.CGHeight		= .8		-- Center of gravity height (studs relative to median of all wheels)
Tune.WBVisible		= false		-- Makes the weight brick visible