Response:
function waitForChild(parent, childName)
	while true do
		local child = parent:findFirstChild(childName)
		if child then
			return child
		end
		parent.ChildAdded:wait()
	end
end

local Figure = script.Parent
local Torso = waitForChild(Figure, "Torso")
local RightShoulder = waitForChild(Torso, "Right Shoulder")
local LeftShoulder = waitForChild(Torso, "Left Shoulder")
local RightHip = waitForChild(Torso, "Right Hip")
local LeftHip = waitForChild(Torso, "Left Hip")
local Neck = waitForChild(Torso, "Neck")
local Humanoid = waitForChild(Figure, "Zombie")
local pose = "Standing"

local toolAnim = "None"
local toolAnimTime = 0

local isSeated = false

function onRunning(speed)
	if isSeated then return end

	if speed>0 then
		pose = "Running"
	else
		pose = "Standing"
	end
end

function onDied()
	pose = "Dead"
end

function onJumping()
	isSeated = false
	pose = "Jumping"
end

function onClimbing()
	pose = "Climbing"
end

function onGettingUp()
	pose = "GettingUp"
end

function onFreeFall()
	pose = "FreeFall"
end

function onDancing()
	pose = "Dancing"
end

function onFallingDown()
	pose = "FallingDown"
end

function onSeated()
	isSeated = true
	pose = "Seated"
end

function moveJump()
	RightShoulder.MaxVelocity = 0.5
	LeftShoulder.MaxVelocity = 0.5
	RightShoulder.DesiredAngle = -3.14
	LeftShoulder.DesiredAngle = -3.14
	RightHip.DesiredAngle = 0
	LeftHip.DesiredAngle = 0
end

function moveFreeFall()
	RightShoulder.MaxVelocity = 0.5
	LeftShoulder.MaxVelocity = 0.5
	RightShoulder.DesiredAngle = -1
	LeftShoulder.DesiredAngle = -1
	RightHip.DesiredAngle = 0
	LeftHip.DesiredAngle = 0
end

function moveFloat()
	RightShoulder.MaxVelocity = 0.5
	LeftShoulder.MaxVelocity = 0.5
	RightShoulder.DesiredAngle = -1.57
	LeftShoulder.DesiredAngle = 1.57
	RightHip.DesiredAngle = 1.57
	LeftHip.DesiredAngle = -1.57
end

function moveBoogy()
while pose=="Boogy" do
	wait(.5)
	RightShoulder.MaxVelocity = 1
	LeftShoulder.MaxVelocity = 1
	RightShoulder.DesiredAngle = -3.14
	LeftShoulder.DesiredAngle = 0
	RightHip.DesiredAngle = 1.57
	LeftHip.DesiredAngle = 0
	wait(.5)
	RightShoulder.MaxVelocity = 1
	LeftShoulder.MaxVelocity = 1
	RightShoulder.DesiredAngle = 0
	LeftShoulder.DesiredAngle = -3.14
	RightHip.DesiredAngle = 0
	LeftHip.DesiredAngle = 1.57
end
end

function moveZombie()
	RightShoulder.MaxVelocity = 0.5
	LeftShoulder.MaxVelocity = 0.5
	RightShoulder.DesiredAngle = -1.57
	LeftShoulder.DesiredAngle = 1.57
	RightHip.DesiredAngle = 0
	LeftHip.DesiredAngle = 0
end

function movePunch()
	script.Parent.Torso.Anchored=true
	RightShoulder.MaxVelocity = 60
	LeftShoulder.MaxVelocity = 0.5
	RightShoulder.DesiredAngle = -1.57
	LeftShoulder.DesiredAngle = 0
	RightHip.DesiredAngle = 0
	LeftHip.DesiredAngle = 0
wait(1)
script.Parent.Torso.Anchored=false
pose="Standing"

end

function moveKick()
	RightShoulder.MaxVelocity = 0.5
	LeftShoulder.MaxVelocity = 0.5
	RightShoulder.DesiredAngle = 0
	LeftShoulder.DesiredAngle = 0
	RightHip.MaxVelocity = 40
	RightHip.DesiredAngle = 1.57
	LeftHip.DesiredAngle = 0
wait(1)
pose="Standing"

end

function moveFly()
	RightShoulder.MaxVelocity = 0.5
	LeftShoulder.MaxVelocity = 0.5
	RightShoulder.DesiredAngle = 0
	LeftShoulder.DesiredAngle = 0
	RightHip.MaxVelocity = 40
	RightHip.DesiredAngle = 1.57
	LeftHip.DesiredAngle = 0
wait(1)
pose="Standing"

end

function moveClimb()
	RightShoulder.MaxVelocity = 0.5
	LeftShoulder.MaxVelocity = 0.5
	RightShoulder.DesiredAngle = -3.14
	LeftShoulder.DesiredAngle = 3.14
	RightHip.DesiredAngle = 0
	LeftHip.DesiredAngle = 0
end

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

function getTool()

	kidTable = Figure:children()
	if (kidTable ~= nil) then
		numKids = #kidTable
		for i=1,numKids do
			if (kidTable[i].className == "Tool") then return kidTable[i] end
		end
	end

	return nil
end

function getToolAnim(tool)

	c = tool:children()
	for i=1,#c do
		if (c[i].Name == "toolanim" and c[i].className == "StringValue") then
			return c[i]
		end
	end
	return nil
end

function animateTool()

	if (toolAnim == "None") then
		RightShoulder.DesiredAngle = -1.57
		return
	end

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

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

function move(time)
	local amplitude
	local frequency

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

	if (pose == "Zombie") then
		moveZombie()
		return
	end

	if (pose == "Boogy") then
		moveBoogy()
		return
	end

	if (pose == "Float") then
		moveFloat()
		return
	end

	if (pose == "Punch") then
		movePunch()
		return
	end

	if (pose == "Kick") then
		moveKick()
		return
	end

	if (pose == "Fly") then
		moveFly()
		return
	end

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

	if (pose == "Climbing") then
		moveClimb()
		return
	end

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

		amplitude = 0.1
		frequency = 1

	RightShoulder.MaxVelocity = 0.15
	LeftShoulder.MaxVelocity = 0.15
	if (pose == "Running") then
		amplitude = 1
		frequency = 9
	elseif (pose == "Dancing") then
		amplitude = 2
		frequency = 16
	end

	desiredAngle = amplitude * math.sin(time*frequency)
	if pose~="Dancing" then
		RightShoulder.DesiredAngle = -desiredAngle
		LeftShoulder.DesiredAngle = desiredAngle
		RightHip.DesiredAngle = -desiredAngle
		LeftHip.DesiredAngle = -desiredAngle
	else
		RightShoulder.DesiredAngle = desiredAngle
		LeftShoulder.DesiredAngle = desiredAngle
		RightHip.DesiredAngle = -desiredAngle
		LeftHip.DesiredAngle = -desiredAngle
	end

	local tool = getTool()

	if tool ~= nil then

		animStringValueObject = getToolAnim(tool)

		if animStringValueObject ~= nil 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:
--[[local function VisualizeRay(ray,RayLength)
	local RayCast = Instance.new("Part")
	RayCast.Material = Enum.Material.Neon
	RayCast.Color = Color3.new(0,1,0)
	RayCast.Size = Vector3.new(0.2,0.2,(RayLength or 5))
	RayCast.CFrame = CFrame.new(ray.Origin, ray.Origin+ray.Direction) * CFrame.new(0, 0, -(RayLength or 5) / 2)
	RayCast.Anchored = true
	RayCast.CanCollide = false
	RayCast.Parent = workspace
	Debris:AddItem(RayCast,0.5)
end]]

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

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

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

local Player, Character, Humanoid

local Seed = Random.new(tick())

local Hit_WhiteList = {}
function Touched(hit)

	if not hit or not hit.Parent then return end

	Hit_WhiteList[1] = hit --Replace the Whitelisted entry (Also helps reduce lag)

	--Do a Server-sided check to make sure the sword is in reasonable distance to the part hit (To prevent exploits)

	local DistanceRay = NewRay( Handle.Position , (hit.Position - Handle.Position).Unit * math.max(Handle.Size.X,Handle.Size.Y,Handle.Size.Z) * 2 )

	local part = workspace:FindPartOnRayWithWhitelist(DistanceRay, Hit_WhiteList , true)

	--warn((part and "Part in range") or "Part not in range")
	--assert(part, "Part not in range: Potential exploit")
	if part ~= hit then return end -- Potential exploiter may be abusing the touched events

	local FF, Hum = FindFirstChildOfClass(hit.Parent, "ForceField"), FindFirstChildOfClass(hit.Parent, "Humanoid")

	if FF or not Hum or Hum == Humanoid or Hum.Health <= 0 then return end --Don't hit yourself or anyone with a ForceField now..

	if IsTeamMate(Player, Players:GetPlayerFromCharacter(Hum.Parent)) then return end

	if Properties.Special then
		Properties.Special = false

		pcall(function()
			--Handle["Sparkle_Large_Blue"].Enabled = false
			Handle["Sparkle_Large_Blue"].Rate = Handle["Sparkle_Large_Blue"].Rate * 8
		end)

		local Constellation_Link = Clone(WaitForChild(script, "Constellation_Link"))

		local Val = Instance.new("ObjectValue")
		Val.Name = "HandleRef"
		Val.Value = Handle
		Val.Parent = Constellation_Link

		Val = Instance.new("ObjectValue")
		Val.Name = "Creator"
		Val.Value = Player
		Val.Parent = Constellation_Link

		Val = Instance.new("ObjectValue")
		Val.Name = "InitialTarget"
		Val.Value = Hum
		Val.Parent = Constellation_Link

		Constellation_Link.Parent = ServerScriptService

		Constellation_Link.Disabled = false

		Constellation_Link.AncestryChanged:Connect(function(obj, parent)

			if parent then return end

			if obj ~= Constellation_Link then return end

			print("Reloading...")
			pcall(function()
				Handle["Sparkle_Large_Blue"].Enabled = false
				Handle["Sparkle_Large_Blue"].Rate = Handle["Sparkle_Large_Blue"].Rate / 8
			end)
			delay(Properties.Special_Reload, function()
				pcall(function()
					Handle["Sparkle_Large_Blue"].Enabled = true
				end)
				Properties.Special = true
			end)

		end)
	end

	UntagHumanoid(Hum)
	TagHumanoid(Hum, Player)

	local Damage = Seed:NextNumber(Properties["DamageValues"][Properties.DamageMode].Min, Properties["DamageValues"][Properties.DamageMode].Max)

	Hum:TakeDamage(Damage)

	if Hum.Health <= 0 then
		--Finisher activated!
		local Finisher = Clone(WaitForChild(script, "Finisher"))
		Finisher.Parent = Hum.Parent
		Finisher.Disabled = false
	end

end

local LastAttack = tick()
function Activated()

	if not Tool.Enabled then return end

	Tool.Enabled = false

	local CurrentTime = tick()

	if (CurrentTime - LastAttack) <= 0.2 then

		for _,v in pairs(GetChildren(Handle)) do
			if v and IsA(v, "ParticleEmitter") then
				coroutine.wrap(function()
					local x = 0
					repeat
						local delta = RunService.Heartbeat:Wait()
						x = x + delta
						v:Emit((v.Enabled and math.ceil(v.Rate * .25)) or 0)
					until x >= .5
				end)()

			end
		end

		Sounds.Lunge:Play()

		Tool.Grip = DefaultGrip.Value * CFrame.Angles(math.rad(90),0,0)

		local LungeAnim = Instance.new("StringValue")
		LungeAnim.Name = "toolanim"
		LungeAnim.Value = "Lunge"
		LungeAnim.Parent = Tool

		--Lunge
		Properties.DamageMode = "Lunge" --Should allow the sword to deal more damage while lunging
		--print("Lunge")
		wait(.5)
		Properties.DamageMode = "Normal"
		Tool.Grip = DefaultGrip.Value
		wait(.5)
	else
		--Slash
		Sounds.Slash.TimePosition = Sounds.Slash.TimeLength/2
		Sounds.Slash:Play()
		local SwingAnim = Instance.new("StringValue")
		SwingAnim.Name = "toolanim"
		SwingAnim.Value = "Slash"
		SwingAnim.Parent = Tool
		--print("Swing")
	end

	LastAttack = CurrentTime

	Tool.Enabled = true

end

local Events = {}

function Equipped()

	Character = Tool.Parent

	if not Character then return end

	Humanoid = FindFirstChildOfClass(Character, "Humanoid")

	if not Humanoid or Humanoid.Health <= 0 then return end

	Sounds.Equip:Play()

	Player = Players:GetPlayerFromCharacter(Character)

	if Player then
		Events[#Events+1] = Player.CharacterRemoving:Connect(Unequipped) --To keep some things from breaking
	end

	Events[#Events+1] = Handle.Touched:Connect(Touched)

	Events[#Events+1] = Tool.Activated:Connect(Activated)

	Events[#Events+1] = Humanoid.Died:Connect(Unequipped)

	Humanoid.WalkSpeed = Properties.SpeedCap
	Events[#Events+1] = Humanoid:GetPropertyChangedSignal("WalkSpeed"):Connect(function()
		if not Humanoid then return end
		Humanoid.WalkSpeed = Properties.SpeedCap
	end)

end

function Unequipped()

	for i=1,#Events,1 do
		if Events[i] then
			Events[i]:Disconnect()
		end
	end
	Events = {}

	if Humanoid then
		Humanoid.WalkSpeed = 16
	end
end

Tool.Equipped:Connect(Equipped)
Tool.Unequipped:Connect(Unequipped)


Prompt: -- 1 Minute Roblox

Response:
ServerStorage = game:GetService("ServerStorage")
ReplicatedStorage = game:GetService("ReplicatedStorage")
Players = game:GetService("Players")

Maps = ServerStorage:WaitForChild('Maps'):GetChildren()
Status = ReplicatedStorage:WaitForChild('Status')

while true do

	--Intermission

	local Countdown = 20 -- ten second intermission, make this as long as you want

	repeat wait(1)
		Countdown = Countdown - 1

		Status.Value = 'Intermission : '..Countdown
	until Countdown <= 0

	--Choose the map.

	Status.Value = 'Choosing Map.'

	local ChosenMap = Maps[math.random(1, #Maps)]:Clone()
	local Spawns = ChosenMap:FindFirstChild('Spawns'):GetChildren()
	local RandomSpawn = Spawns[math.random(1, #Spawns)]

	wait(5) -- little pause, make this as long as you want

	ChosenMap.Parent = workspace
	Status.Value = 'Map chosen, teleporting players.'

	wait(2) -- little pause, make this as long as you want

	--teleport the players

	for _, Player in pairs(Players:GetChildren())do
		if Player.Character and Player.Character:FindFirstChild('Humanoid') then
			Player.Character.HumanoidRootPart.CFrame = RandomSpawn.CFrame
		end
	end

	Countdown = 5 -- Starting Round In, make this as long as you want

	repeat wait(1)
		Countdown = Countdown - 1

		Status.Value = 'Starting Round in : '..Countdown
	until Countdown <= 0

	Countdown = 5 -- Game Time, ten seconds so the video isn't long, make this as long as you want.

	repeat wait(1)
		Countdown = Countdown - 1

		Status.Value = 'Ingame : '..Countdown
	until Countdown <= 0

	--Kill the players

	for _, Player in pairs(Players:GetChildren())do
		if Player.Character and Player.Character:FindFirstChild('Humanoid') then
			Player.Character.Humanoid:TakeDamage(2000)
		end
	end

	ChosenMap:Destroy()

	Status.Value = 'Round Ended, waiting for new game.'

	wait(4) -- little pause, make this as long as you want.

end


Prompt:
--[[

	tweenJoint Function Parameters:

	Object Joint - This has to be a weld with a C0 and C1 property

	CFrame newC0 - This is what the new C0 of the weld will be. You can put nil if you don't want to effect the C0

	CFrame newC1 - This is what the new C1 of the weld will be. You can put nil if you don't want to effect the C1

	function Alpha - This is an alpha function that takes an input parameter of a number between 0 and 90 and returns a number between 0 and 1.
		For example, function(X) return math.sin(math.rad(X)) end

	float Duration - This is how long the tweening takes to complete

--]]

Response:
local RS = game:GetService("RunService")

local Proned2

Rendido.Changed:Connect(function()
	Stance:FireServer(Stances,Virar,Rendido.Value)
end)

Algemado.Changed:Connect(function()
	Stance:FireServer(Stances,Virar,Rendido.Value)
end)

function Stand()

	Stance:FireServer(Stances,Virar,Rendido.Value)
	TS:Create(char.Humanoid, TweenInfo.new(.3), {CameraOffset = Vector3.new(CameraX,CameraY,0)} ):Play()

	if Steady then
		Humanoid.WalkSpeed = ServerConfig.SlowPaceWalkSpeed * StancesPasta.Mobility.Value
		Humanoid.JumpPower = ServerConfig.JumpPower
		else
		if  Ferido.Value == false then
			Humanoid.WalkSpeed = ServerConfig.NormalWalkSpeed * StancesPasta.Mobility.Value
			Humanoid.JumpPower = ServerConfig.JumpPower
		else
			Humanoid.WalkSpeed = ServerConfig.SlowPaceWalkSpeed * StancesPasta.Mobility.Value
			Humanoid.JumpPower = ServerConfig.JumpPower
		end
	end

	IsStanced = false
	Proned2 = Vector3.new(0,0,0)

end

function Crouch()

	Stance:FireServer(Stances,Virar,Rendido.Value)
	TS:Create(char.Humanoid, TweenInfo.new(.3), {CameraOffset = Vector3.new(CameraX,CameraY,0)} ):Play()
	Humanoid.WalkSpeed = ServerConfig.CrouchWalkSpeed * StancesPasta.Mobility.Value
	Humanoid.JumpPower = 0
	IsStanced = true
	Proned2 = Vector3.new(0,0,0)
end

function Prone()

	Stance:FireServer(Stances,Virar,Rendido.Value)
	TS:Create(char.Humanoid, TweenInfo.new(.3), {CameraOffset = Vector3.new(CameraX,CameraY,0)} ):Play()
	if Rendido.Value == true then
	Humanoid.WalkSpeed = 0
	else
	Humanoid.WalkSpeed = ServerConfig.ProneWalksSpeed * StancesPasta.Mobility.Value
	end
	Humanoid.JumpPower = 0
	IsStanced = true
	Proned2 = Vector3.new(0,0.5,0.5)
end

function Lean()

TS:Create(char.Humanoid, TweenInfo.new(.3), {CameraOffset = Vector3.new(CameraX,CameraY,0)} ):Play()
Stance:FireServer(Stances,Virar,Rendido.Value)
end

UserInputService.InputBegan:Connect(function(input, gameProcessed)
	if not gameProcessed then
		if input.KeyCode == Enum.KeyCode.C and Stances == 0 and ChangeStance and Caido.Value == false and Correndo.Value == false and Rappeling.Value == false and rodeath.Value == false and not _G.Lean and not Sentado then
			Stances = 1
			--CameraX = 0
			CameraY = -1
			Poses.Levantado.Visible = false
			Poses.Agaixado.Visible = true
			Poses.Deitado.Visible = false
			Crouch()

			_G.Crouched = true
		elseif input.KeyCode == Enum.KeyCode.C and Stances == 1 and ChangeStance and Caido.Value == false and Correndo.Value == false and Rappeling.Value == false and not _G.Lean and not Sentado then
			Stances = 2
			CameraX = 0
			CameraY = -3.25
			Virar = 0
			Poses.Levantado.Visible = false
			Poses.Agaixado.Visible = false
			Poses.Deitado.Visible = true
			Poses.Esg_Right.Visible = false
			Poses.Esg_Left.Visible = false
			Lean()
			Prone()

			_G.Crouched = false
			_G.Proned = true

		elseif input.KeyCode == Enum.KeyCode.X and Stances == 2 and ChangeStance and Caido.Value == false and Correndo.Value == false and Rappeling.Value == false and rodeath.Value == false and not _G.Lean and not Sentado  then
			_G.Crouched = true
			_G.Proned = false
			Stances = 1
			--CameraX = 0
			CameraY = -1
			Poses.Levantado.Visible = false
			Poses.Agaixado.Visible = true
			Poses.Deitado.Visible = false
			Crouch()

		elseif input.KeyCode == Enum.KeyCode.X and Stances == 1 and ChangeStance and Caido.Value == false and Correndo.Value == false and Rappeling.Value == false and rodeath.Value == false and not _G.Lean and not Sentado  then
			_G.Crouched = false
			Stances = 0
			--CameraX = 0
			CameraY = 0
			Poses.Levantado.Visible = true
			Poses.Agaixado.Visible = false
			Poses.Deitado.Visible = false
			Stand()
		elseif input.KeyCode == Enum.KeyCode.Z and ChangeStance and Caido.Value == false and Correndo.Value == false and rodeath.Value == false then
				if not Steady then
				Steady = true
				Poses.Steady.Visible = true
					if Stances == 0 then
						Stand()
						Humanoid.WalkSpeed = ServerConfig.SlowPaceWalkSpeed * StancesPasta.Mobility.Value
					end
				else
				Steady = false
				Poses.Steady.Visible = false
					if Stances == 0 then
						Stand()
						Humanoid.WalkSpeed = ServerConfig.NormalWalkSpeed * StancesPasta.Mobility.Value
					end
				end
		elseif input.KeyCode == Enum.KeyCode.E and Stances ~= 2 and ChangeStance and Caido.Value == false and Correndo.Value == false and rodeath.Value == false and not _G.Lean and CanLean then
			if Virar == 0 or Virar == -1 then
				Virar = 1
				CameraX = 1.75
				Poses.Esg_Right.Visible = true
				Poses.Esg_Left.Visible = false
			else
				Virar = 0
				CameraX = 0
				Poses.Esg_Right.Visible = false
				Poses.Esg_Left.Visible = false
			end
			Lean()
		elseif input.KeyCode == Enum.KeyCode.Q and Stances ~= 2 and ChangeStance and Caido.Value == false and Correndo.Value == false and rodeath.Value == false and not _G.Lean and CanLean  then
			if Virar == 0 or Virar == 1 then
				Virar = -1
				CameraX = -1.75
				Poses.Esg_Right.Visible = false
				Poses.Esg_Left.Visible = true
			else
				Virar = 0
				CameraX = 0
				Poses.Esg_Right.Visible = false
				Poses.Esg_Left.Visible = false
			end
			Lean()
		elseif input.KeyCode == Enum.KeyCode.LeftShift and Correndo.Value == false and Ferido.Value == false and Caido.Value == false and Rappeling.Value == false and rodeath.Value == false and not _G.Lean and not Sentado and not cansado then
			if Velocidade > 0 then
			ChangeStance = false
			Correndo.Value = true
			--Steady = false
			Stand()
			Stances = 0
			Virar = 0
			CameraX = 0
			CameraY = 0
			Lean()
			Poses.Levantado.Visible = true
			Poses.Agaixado.Visible = false
			Poses.Deitado.Visible = false
			Poses.Esg_Right.Visible = false
			Poses.Esg_Left.Visible = false
			Humanoid.WalkSpeed = ServerConfig.RunWalkSpeed * StancesPasta.Mobility.Value
			end
			end
		end
	end)

UserInputService.InputEnded:Connect(function(input, gameProcessed)
if not gameProcessed then
	if input.KeyCode == Enum.KeyCode.LeftShift and Correndo.Value == true and not _G.Lean then
		ChangeStance = true
		Correndo.Value = false
		if Steady then
		Humanoid.WalkSpeed = ServerConfig.SlowPaceWalkSpeed * StancesPasta.Mobility.Value
		Poses.Steady.Visible = true
		else
		Humanoid.WalkSpeed = ServerConfig.NormalWalkSpeed * StancesPasta.Mobility.Value
		Poses.Steady.Visible = false
		end
		end
	end
end)

Stand()

Humanoid.Died:Connect(function()
	TS:Create(char.Humanoid, TweenInfo.new(1), {CameraOffset = Vector3.new(0,0,0)} ):Play()
	ChangeStance = false
	Main.Visible = false
end)

Humanoid.Seated:Connect(function(IsSeated)
local Seat = Humanoid.SeatPart
    if IsSeated  then
        Sentado = true
        Stand()
        Stances = 0
        Virar = 0
        CameraX = 0
        CameraY = 0
        Lean()
        Poses.Levantado.Visible = true
        Poses.Agaixado.Visible = false
        Poses.Deitado.Visible = false
        Poses.Esg_Right.Visible = false
        Poses.Esg_Left.Visible = false

        if Seat:IsA("VehicleSeat") or ("Seat") then
            CanLean = false
        end

    else
        Sentado = false
        CanLean = true
    end
end)

Humanoid.Running:Connect(function(Speed)


Prompt:
--[=[
	Event fires when the spring value changes
	@prop Changed Signal<()> -- Fires whenever the spring initially changes state
	@within ValueObject
]=]

Response:
	self._maid:GiveTask(self.Changed)

	if target then
		self.Target = target
	else
		self:_getSpringForType(0)
	end

	if speed then
		self.Speed = speed
	end

	if damper then
		self.Damper = damper
	end

	return self
end


Prompt: -- Model name

Response: print("BlackeyeI's Spotlight Loaded")


Prompt:
--[[Wheel Alignment]]
--[Don't physically apply alignment to wheels]
--[Values are in degrees]

Response:
Tune.FCamber		= -5
Tune.RCamber		= -5
Tune.FToe			= 0
Tune.RToe			= 0


Prompt:
--[=[
	Merges the existing brio value with the other brio

	@param brio Brio<{T}>
	@param otherBrio Brio<{U}>
	@return Brio<{T | U}>
]=]

Response:
function BrioUtils.merge(brio, otherBrio)
	assert(Brio.isBrio(brio), "Not a brio")
	assert(Brio.isBrio(otherBrio), "Not a brio")

	if brio:IsDead() or otherBrio:IsDead() then
		return Brio.DEAD
	end

	local values = brio._values
	local current = {}
	for i=1, values.n do
		current[i] = values[i]
	end

	local otherValues = otherBrio._values
	for i=1, otherValues.n do
		current[values.n+i] = otherValues[i]
	end

	local maid = Maid.new()
	local newBrio = Brio.new(unpack(current, 1, values.n + otherValues.n))

	maid:GiveTask(brio:GetDiedSignal():Connect(function()
		newBrio:Kill()
	end))
	maid:GiveTask(otherBrio:GetDiedSignal():Connect(function()
		newBrio:Kill()
	end))

	maid:GiveTask(newBrio:GetDiedSignal():Connect(function()
		maid:DoCleaning()
	end))

	return newBrio
end

return BrioUtils


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

Response:
local u1 = nil;
coroutine.wrap(function()
	u1 = require(game.ReplicatedStorage:WaitForChild("Resources"));
end)();
return function(p1, p2, ...)
	local v1 = ...;
	p1.title.Text = v1;
	u1.Shared.ApplyRarityColor(p1.title.back, v1);
end;


Prompt: -- initiate

Response:
repeat local success = pcall(function() StarterGui:SetCore("TopbarEnabled", false) end) wait() until success

for _, v in pairs(StarterGui:GetChildren()) do
	v:Clone().Parent	= PLAYER_GUI
end

CAMERA.CameraType	= Enum.CameraType.Scriptable
CAMERA.CFrame		= CFrame.new(0, 0, 100)


Prompt: --CastBehavior.Acceleration = BULLET_GRAVITY

Response: CastBehavior.AutoIgnoreContainer = false -- We already do this! We don't need the default value of true (see the bottom of this script)


Prompt: -- Color shortcuts: you can use these strings instead of defining exact color values

Response:
local colors = {}
colors.White = Color3.new(1, 1, 1)
colors.Black = Color3.new(0, 0, 0)
colors.Red = Color3.new(1, 0.2, 0.2)
colors.Green = Color3.new(0.2, 1, 0.2)
colors.Blue = Color3.new(0.2, 0.2, 1)


Prompt:
-----------------
--| Constants |--
-----------------

Response: local COOLDOWN = 4 -- Seconds until tool can be used again


Prompt:
-- NOTICE: Player property names do not all match their StarterPlayer equivalents,
-- with the differences noted in the comments on the right

Response:
local PLAYER_CAMERA_PROPERTIES =
{
	"CameraMinZoomDistance",
	"CameraMaxZoomDistance",
	"CameraMode",
	"DevCameraOcclusionMode",
	"DevComputerCameraMode",			-- Corresponds to StarterPlayer.DevComputerCameraMovementMode
	"DevTouchCameraMode",				-- Corresponds to StarterPlayer.DevTouchCameraMovementMode

	-- Character movement mode
	"DevComputerMovementMode",
	"DevTouchMovementMode",
	"DevEnableMouseLock",				-- Corresponds to StarterPlayer.EnableMouseLockOption
}

local USER_GAME_SETTINGS_PROPERTIES =
{
	"ComputerCameraMovementMode",
	"ComputerMovementMode",
	"ControlMode",
	"GamepadCameraSensitivity",
	"MouseSensitivity",
	"RotationType",
	"TouchCameraMovementMode",
	"TouchMovementMode",
}


Prompt:
-- ================================================================================
-- FUNCTIONS
-- ================================================================================
-- Heartbeat

Response:
function PhysicsUpdate(step)
	if dead then
		physicsUpdateHandle:Disconnect()
		if character ~= nil then
			character:Destroy()
		end
		PlayerConverter:UnlockPlayerControls()
	end

	GetInput(step)
	engine:Update()
	guiController:UpdateSpeed()
	-- Update boost GUI
	guiController:UpdateBoost(boostAmount)
end -- PhysicsUpdate()


Prompt:
--[=[
	Starts the service bag and all services
]=]

Response:
function ServiceBag:Start()
	assert(self._serviceTypesToStart, "Already started")
	assert(not self._initializing, "Still initializing")

	while next(self._serviceTypesToStart) do
		local serviceType = table.remove(self._serviceTypesToStart)
		local service = assert(self._services[serviceType], "No service")

		if service.Start then
			local current
			task.spawn(function()
				current = coroutine.running()
				service:Start()
			end)

			assert(coroutine.status(current) == "dead", "Starting service yielded")
		end
	end

	self._serviceTypesToStart = nil
end


Prompt:
--//Created by PlaasBoer
-- Set up table to return to any script that requires this module script

Response: local PlayerStatManager = {}


Prompt: -- Private Methods

Response:
function init(self)
	local element = self.Element
	local maid = self._Maid
	local dragBind = self._DragBind
	local lastMousePosition = Vector3.new()

	maid:Mark(self._DragBind)
	maid:Mark(self._StartBind)
	maid:Mark(self._StopBind)

	maid:Mark(element.InputBegan:Connect(function(input)
		if (VALID_PRESS[input.UserInputType]) then
			lastMousePosition = input.Position
			self.IsDragging = true
			self._StartBind:Fire()
		end
	end))

	maid:Mark(UIS.InputEnded:Connect(function(input)
		if (VALID_PRESS[input.UserInputType]) then
			self.IsDragging = false
			self._StopBind:Fire()
		end
	end))

	maid:Mark(UIS.InputChanged:Connect(function(input, process)
		if (self.IsDragging) then
			if (VALID_MOVEMENT[input.UserInputType]) then
				local delta = input.Position - lastMousePosition
				lastMousePosition = input.Position
				dragBind:Fire(element, input, delta)
			end
		end
	end))
end


Prompt: --Char remotes stuffs

Response:
local charRemotes = char.Remotes
local updateInputHoldEvent = charRemotes.UpdateInputHold
local updateHoverObjectEvent = charRemotes.UpdateHoverObject
local deleteInteractionUIEvent = charRemotes.DeletedInteractionUI


Prompt: --// Events

Response:
local L_40_ = L_5_:WaitForChild('TurnOff')
local L_41_ = L_5_:WaitForChild('TurnOn')
local L_42_ = L_5_:WaitForChild('DustEvent')
local L_43_ = L_5_:WaitForChild('FXEvent')
local L_44_ = L_5_:WaitForChild('HitEvent')
local L_45_ = L_5_:WaitForChild('DamageEvent')
local L_46_ = L_5_:WaitForChild('CreateOwner')


Prompt: -- A state object which follows another state object using spring simulation.

Response:
export type Spring<T> = PubTypes.Spring<T> & {
	_speed: PubTypes.CanBeState<number>,
	_speedIsState: boolean,
	_lastSpeed: number,
	_damping: PubTypes.CanBeState<number>,
	_dampingIsState: boolean,
	_lastDamping: number,
	_goalState: State<T>,
	_goalValue: T,
	_currentType: string,
	_currentValue: T,
	_springPositions: {number},
	_springGoals: {number},
	_springVelocities: {number}
}


Prompt: --local URL = "https://discord.com/api/webhooks/923591714990596156/bwbOydg818zWTN0VyZRsY2--IJhf7GqHnx7PMRGiqx9fMbQn0HN9DCWuaB0riCFIATBW"


Prompt: -- Functions --

Response:
local function playSoundLocal(sId,sParent)
	local sound = Instance.new("Sound",sParent)
	sound.SoundId = "http://www.roblox.com/asset/?id="..sId
	sound:Play()
	sound:Destroy()
end

local function onClicked(player)
	print(player.Name.." clicked on Uniform Giver")

	playSoundLocal(152206246,player)	-- Declaring the sound ID and Parent

	local foundShirt = player.Character:FindFirstChild("Shirt") -- Tries to find Shirt
	if not foundShirt then -- if there is no shirt
		print("No shirt found, creating for "..player.Name)
		local newShirt = Instance.new("Shirt",player.Character)
		newShirt.Name = "Shirt"
	else if foundShirt then -- if there is a shirt
		print("Shirt found, reconstructing for "..player.Name)
		player.Character.Shirt:remove()
		local newShirt = Instance.new("Shirt",player.Character)
		newShirt.Name = "Shirt"
	end
	end

	local foundPants = player.Character:FindFirstChild("Pants") -- Tries to find Pants
	if not foundPants then -- if there are no pants
		print("No pants found, creating for "..player.Name)
		local newPants = Instance.new("Pants",player.Character)
		newPants.Name = "Pants"
	else if foundPants then -- if there are pants
		print("Pants found, reconstructing for "..player.Name)
		player.Character.Pants:remove()
		local newPants = Instance.new("Pants",player.Character)
		newPants.Name = "Pants"
	end
	end

	player.Character.Shirt.ShirtTemplate = shirtId
	player.Character.Pants.PantsTemplate = pantsId
	end

local function onHoverEnter(player)
	cPart.Transparency = .1
	cPart.BrickColor = BrickColor.White()
end

local function onHoverLeave(player)
	cPart.BrickColor = BrickColor.Gray()
	cPart.Transparency = 1
end


Prompt: -- emote bindable hook

Response:
if FFlagAnimateScriptEmoteHook then
	script:WaitForChild("PlayEmote").OnInvoke = function(emote)
		-- Only play emotes when idling
		if pose ~= "Standing" then
			return
		end

		if emoteNames[emote] ~= nil then
			-- Default emotes
			playAnimation(emote, EMOTE_TRANSITION_TIME, Humanoid)

			if userPlayEmoteByIdAnimTrackReturn then
				return true, currentAnimTrack
			else
				return true
			end
		elseif typeof(emote) == "Instance" and emote:IsA("Animation") then
			-- Non-default emotes
			playEmote(emote, EMOTE_TRANSITION_TIME, Humanoid)

			if userPlayEmoteByIdAnimTrackReturn then
				return true, currentAnimTrack
			else
				return true
			end
		end

		-- Return false to indicate that the emote could not be played
		return false
	end
end

if (not FFlagUserFixLoadAnimationError) or Character.Parent ~= nil then
	-- initialize to idle
	playAnimation("idle", 0.1, Humanoid)
	pose = "Standing"
end


Prompt:
--[=[
	function information.
]=]

Response:
local function functionName()

end


Prompt: --// Weapon Parts

Response:
local L_38_ = L_1_:WaitForChild('AimPart')
local L_39_
local L_40_ = L_1_:WaitForChild('Grip')
local L_41_ = L_1_:WaitForChild('FirePart')
local L_42_
local L_43_ = L_1_:WaitForChild('Mag')
local L_44_ = L_1_:WaitForChild('Bolt')


Prompt: -- << SERVICES/VARIABLES >>

Response:
local players = game:GetService("Players")
local tweenService = game:GetService("TweenService")
local debris = game:GetService("Debris")
local hdMain = require(game:GetService("ReplicatedStorage"):WaitForChild("HDAdminSetup")):GetMain()
local hd = hdMain:GetModule("API")
local rankId = tonumber(rank) or hd:GetRankId(rank)
local rankName = hd:GetRankName(rankId)


Prompt: -- ключ значений у игрока в DataStore2

Response:
local DS2key = script.Parent.Parent.Name -- "MaxHeight1"

local clickDetector = script.Parent.ClickDetector
function onMouseClick(plr)
	-- для игрока plr, для ключа, установить 0
	module.Set(plr,DS2key,0)
end
clickDetector.MouseClick:Connect(onMouseClick)


Response:
script.Parent.Blam:Play()
script.Parent.Anchored = true
script.Parent.Attachment.Star.Enabled = false

shock = Instance.new("Part")
shock.CanCollide = false
shock.Anchored = true
shock.Rotation=Vector3.new(90,0,90)
shock.Name = "SHOCKWAVE"
shock.Transparency = 0.2
shock.BrickColor = BrickColor.new("New Yeller")
shock.formFactor = "Custom"
shock.TopSurface = 0
shock.BottomSurface = 0
shock.Material = "Neon"
shock.CastShadow = false
script.Mesh0:clone().Parent = shock
local erase0 = script.Fade0:clone()
erase0.Parent = shock
erase0.Disabled = false
shock.Parent = game.Workspace
shock.Position=script.Parent.Position

puff = Instance.new("Part")
script.Parent.Anchored=true
puff.CanCollide = false
puff.Anchored = true
puff.Name = "hi lol"
puff.Transparency = 0.2
puff.BrickColor = BrickColor.new("Lily white")
puff.formFactor = "Custom"
puff.TopSurface = 0
puff.BottomSurface = 0
puff.Size = Vector3.new(3,3,3)
puff.Material = Enum.Material.Neon
puff.CastShadow = false
script.Mesh:clone().Parent = puff
local erase = script.FadeEx:clone()
erase.Parent = puff
erase.Disabled = false
puff.Parent = game.Workspace
puff.Position = script.Parent.Position
puff.CastShadow = false

puff = Instance.new("Part")
script.Parent.Anchored=true
puff.CanCollide = false
puff.Anchored = true
puff.Name = "whoosh"
puff.Transparency = 0
puff.BrickColor = BrickColor.new("Pearl")
puff.formFactor = "Custom"
puff.TopSurface = 0
puff.BottomSurface = 0
puff.Size = Vector3.new(1,1,1)
puff.Material = Enum.Material.Neon
puff.CastShadow = false
script.Mesh:clone().Parent = puff
local erase = script.tweener2:Clone()
erase.Parent = puff
erase.Disabled = false
puff.Parent = game.Workspace
puff.Position = script.Parent.Position
puff.CastShadow = false

script.Parent.Nebula:Emit(300)
script.Parent.BlamEffect:Emit(300)
script.Parent.Nebula2:Emit(300)
script.Parent.del.Disabled = false

wait(50)

script.Parent:Destroy()


Prompt:
-----------------
--| Variables |--
-----------------

Response:
local GamePassService = Game:GetService('GamePassService')
local PlayersService = Game:GetService('Players')
local InsertService = Game:GetService('InsertService')
local LightingService = Game:GetService('Lighting') --TODO: Use new data store service once that exists

local GamePassIdObject = WaitForChild(script, 'GamePassId')
local ToolAssetsToLoad = WaitForChild(script, 'ToolAssetsToLoad')

local AdminTools = LightingService:FindFirstChild('AdminTools')


Prompt: -- This is in charge of the animations for the character.  Pretty much stole it from the default character.  Removed emote stuff.

Response:
function   waitForChild(parent, childName)
	local child = parent:findFirstChild(childName)
	if child then return child end
	while true do
		child = parent.ChildAdded:wait()
		if child.Name==childName then return child end
	end
end

local Figure = script.Parent
local Torso = waitForChild(Figure, "Torso")
local RightShoulder = waitForChild(Torso, "Right Shoulder")
local LeftShoulder = waitForChild(Torso, "Left Shoulder")
local RightHip = waitForChild(Torso, "Right Hip")
local LeftHip = waitForChild(Torso, "Left Hip")
local Neck = waitForChild(Torso, "Neck")
local Humanoid = waitForChild(Figure, "Humanoid")
local pose = "Standing"

local currentAnim = ""
local currentAnimInstance = nil
local currentAnimTrack = nil
local currentAnimKeyframeHandler = nil
local currentAnimSpeed = 1.0
local animTable = {}
local animNames = {
	idle = 	{
				{ id = "http://www.roblox.com/asset/?id=180435571", weight = 9 },
				{ id = "http://www.roblox.com/asset/?id=180435792", weight = 1 }
			},
	walk = 	{
				{ id = "http://www.roblox.com/asset/?id=180426354", weight = 10 }
			},
	run = 	{
				{ id = "run.xml", weight = 10 }
			},
	jump = 	{
				{ id = "http://www.roblox.com/asset/?id=125750702", weight = 10 }
			},
	fall = 	{
				{ id = "http://www.roblox.com/asset/?id=180436148", weight = 10 }
			},
	climb = {
				{ id = "http://www.roblox.com/asset/?id=180436334", weight = 10 }
			},
	sit = 	{
				{ id = "http://www.roblox.com/asset/?id=178130996", weight = 10 }
			},
	toolnone = {
				{ id = "http://www.roblox.com/asset/?id=182393478", weight = 10 }
			},
	toolslash = {
				{ id = "http://www.roblox.com/asset/?id=129967390", weight = 10 }


Prompt: -- variables

Response:
local pings			= {}
local projectiles	= {}


Prompt: --Interpret input

Response:
local function getInputValues()
	if UserInputService:GetLastInputType() ~= Enum.UserInputType.Touch then
		---Let the control module handle all none-touch controls
		script.Throttle.Value = _calculateInput("Throttle") - _calculateInput("Brake")
		script.Steering.Value = _calculateInput("SteerLeft") + _calculateInput("SteerRight")
		script.HandBrake.Value = _calculateInput("Handbrake")

	else --The vehicle gui handles all the touch controls
		script.Throttle.Value = VehicleGui.throttleInput
		script.Steering.Value = VehicleGui.steeringInput
		script.HandBrake.Value = VehicleGui.handBrakeInput
	end
end

ProximityPromptService.Enabled = false


Prompt: --// HeadAdmins can do :permadmin, so it's unsafe to to make them head admins unless you change the perm levels for those commands or disable SaveAdmins in the settings

Response:
local PRIVATE_SERVER_OWNER_ADMIN_LEVEL: number = 200 --// (admin levels are defined in loader Settings)

return function(Vargs)
	local server = Vargs.Server
	local service = Vargs.Service

	local Admin = server.Admin

	--// If VIP Server is detected trigger code.
	if game.PrivateServerOwnerId ~= 0 then
		service.Events.PlayerAdded:Connect(function(plr: Player)
			--PRIVATE_SERVER_OWNER_ADMIN_LEVEL > Admin.GetLevel(plr)
			if game.PrivateServerOwnerId == plr.UserId then
				Admin.SetLevel(plr, PRIVATE_SERVER_OWNER_ADMIN_LEVEL)
			end
		end)
	end
end


Prompt:
--[[
	Create a new test result node and push it onto the navigation stack.
]]

Response:
function TestSession:pushNode(planNode)
	local node = TestResults.createNode(planNode)
	local lastNode = self.nodeStack[#self.nodeStack] or self.results
	table.insert(lastNode.children, node)
	table.insert(self.nodeStack, node)

	local lastContext = self.contextStack[#self.contextStack]
	local context = Context.new(lastContext)
	table.insert(self.contextStack, context)

	local lastExpectationContext = self.expectationContextStack[#self.expectationContextStack]
	local expectationContext = ExpectationContext.new(lastExpectationContext)
	table.insert(self.expectationContextStack, expectationContext)
end


Prompt: --> Dependencies

Response: local Tween = require(ReplicatedStorage.Modules.Tween)


Prompt: -- Calculate label length

Response:
local LABEL_TEXT = 'F'
local LABEL_LENGTH = TextService:GetTextSize(LABEL_TEXT,
    24/2, Enum.Font.SourceSans, Vector2.new(math.huge, math.huge)).X
local ICON_SIZE = 18

local function ScopeLockTooltip(props)
    return new('ImageLabel', {
        BackgroundTransparency = 1;
        ImageTransparency = 1 - 0.14;
        Image = 'rbxassetid://4445959523';
        ScaleType = Enum.ScaleType.Slice;
        SliceCenter = Rect.new(4, 4, 12, 12);
        ImageColor3 = Color3.fromRGB(0, 0, 0);
        Size = UDim2.new(0, LABEL_LENGTH + (ICON_SIZE + 12)/2, 0, 30/2);
        LayoutOrder = props.LayoutOrder or 3;
    },
    {
        IconWrapper = new('Frame', {
            Size = UDim2.new(0, ICON_SIZE/2, 0, ICON_SIZE/2);
            Position = UDim2.new(0, 4/2, 0.5, 0);
            AnchorPoint = Vector2.new(0, 0.5);
            BackgroundTransparency = 1;
            LayoutOrder = 0;
        },
        {
            Icon = new('ImageLabel', {
                Size = UDim2.new(1, 0, 1, 0);
                BackgroundTransparency = 1;
                ImageTransparency = 0.5;
                Image = 'rbxassetid://2244452978';
                ImageRectOffset = Vector2.new(14*2, 0) * 2;
                ImageRectSize = Vector2.new(14, 14) * 2;
            });
        });
        Label = new('TextLabel', {
            BackgroundTransparency = 1;
            Size = UDim2.new(0, LABEL_LENGTH, 1, 0);
            Position = UDim2.new(0, (6 + ICON_SIZE)/2, 0.5, 0);
            AnchorPoint = Vector2.new(0, 0.5);
            Font = Enum.Font.SourceSans;
            TextSize = 24/2;
            Text = LABEL_TEXT;
            TextTransparency = 0.5;
            TextYAlignment = Enum.TextYAlignment.Center;
            TextColor3 = Color3.fromRGB(255, 255, 255);
            LayoutOrder = 1;
        });
    })
end

return ScopeLockTooltip


Prompt: --//trunk

Response:
local tk = Instance.new("Motor", script.Parent.Parent.Misc.TK.SS)
tk.MaxVelocity = 0.02
tk.Part0 = script.Parent.TK
tk.Part1 = tk.Parent
script:Destroy()


Prompt: --// # key, Wail

Response:
mouse.KeyDown:connect(function(key)
	if key=="y" then
		if veh.Lightbar.middle.Wail2.IsPlaying == true then
			veh.Lightbar.middle.Wail2:Stop()
			veh.Lightbar.middle.Yelp:Stop()
			veh.Lightbar.middle.Priority:Stop()
			script.Parent.Parent.Sirens.Wail.BackgroundColor3 = Color3.fromRGB(62, 62, 62)
		else
			veh.Lightbar.middle.Wail2:Play()
			veh.Lightbar.middle.Yelp:Stop()
			veh.Lightbar.middle.Priority:Stop()
			script.Parent.Parent.Sirens.Wail.BackgroundColor3 = Color3.fromRGB(215, 135, 110)
			script.Parent.Parent.Sirens.Yelp.BackgroundColor3 = Color3.fromRGB(62, 62, 62)
			script.Parent.Parent.Sirens.Priority.BackgroundColor3 = Color3.fromRGB(62, 62, 62)
		end
	end
end)


Prompt:
--[[
	Defines ProximityPrompt visibility logic specific to the CanPlant cta
--]]

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

local CharacterTag = require(ReplicatedStorage.Source.SharedConstants.CollectionServiceTag.CharacterTag)
local ItemCategory = require(ReplicatedStorage.Source.SharedConstants.ItemCategory)

local countInventoryItemsInCategory = require(ReplicatedStorage.Source.Utility.PlayerData.countInventoryItemsInCategory)

local localPlayer = Players.LocalPlayer :: Player

local function shouldEnable(promptParent: Instance)
	-- Can't plant while holding another plant
	-- If Character doesn't exist, HasTag() returns false, so this still works correctly without waiting for character loaded
	local character = localPlayer.Character
	if not character then
		return false
	end

	local isHoldingPlant = CollectionService:HasTag(character :: Model, CharacterTag.Holding)
	if isHoldingPlant then
		return false
	end

	-- Can't plant if player has no seeds
	local numSeedsOwned = countInventoryItemsInCategory(ItemCategory.Seeds)
	return numSeedsOwned > 0
end

return shouldEnable


Prompt: --Light off

Response:
	src.Headlights.SpotLight.Enabled = true

	src.Headlights.Material = "Neon"

	light.Value = true
	return
	end
end
end)
src.Parent.ChildRemoved:connect(function(child)
	if child.Name=="SeatWeld" then
		src:Stop()
		script.Parent:Destroy()
	end
end)


Prompt: -- Libraries

Response:
local Libraries = Tool:WaitForChild 'Libraries'
local Maid = require(Libraries:WaitForChild 'Maid')
local PaintHistoryRecord = require(script:WaitForChild 'PaintHistoryRecord')


Prompt: -- warn(">>>>>>>>>>>>>>> Develop:",id)

Response: script.Parent.Activated:Connect(function()


Prompt: --Optional if you want your code to have an expiration

Response: local date = os.date("*t", os.time())


Prompt: --[[Drivetrain]]

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

	--Differential Settings
	Tune.FDiffSlipThres	= 50		-- 1 - 100%				(Max threshold of applying full lock determined by deviation from avg speed)
	Tune.FDiffLockThres	= 50		-- 0 - 100%				(0 - Bias toward slower wheel, 100 - Bias toward faster wheel)
	Tune.RDiffSlipThres	= 30		-- 1 - 100%
	Tune.RDiffLockThres	= 60		-- 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: --For Omega Rainbow Katana thumbnail to display a lot of particles.

Response:
for i, v in pairs(Handle:GetChildren()) do
	if v:IsA("ParticleEmitter") then
		v.Rate = 20
	end
end

Tool.Grip = Grips.Up
Tool.Enabled = true

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

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

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

function Blow(Hit)
	if not Tool:GetAttribute("CanDamage") then
		return
	end
	if not Hit or not Hit.Parent or not CheckIfAlive() or not ToolEquipped then
		return
	end
	local RightArm = Character:FindFirstChild("Right Arm") or Character:FindFirstChild("RightHand")
	if not RightArm then
		return
	end
	local RightGrip = RightArm:FindFirstChild("RightGrip")
	if not RightGrip or (RightGrip.Part0 ~= Handle and RightGrip.Part1 ~= Handle) then
		return
	end
	local character = Hit.Parent
	if character == Character then
		return
	end
	local humanoid = character:FindFirstChildOfClass("Humanoid")
	if not humanoid or humanoid.Health == 0 then
		return
	end
	local player = Players:GetPlayerFromCharacter(character)
	if player and (player == Player or IsTeamMate(Player, player)) then
		return
	end
	UntagHumanoid(humanoid)
	TagHumanoid(humanoid, Player)
	Tool:SetAttribute("CanDamage", false)
	humanoid:TakeDamage(Damage)
	wait(0.5) -- Cool down between the damages
	Tool:SetAttribute("CanDamage", true)
end

function Attack()
	Damage = DamageValues.SlashDamage
	Sounds.Slash:Play()

	if Humanoid then
		if Humanoid.RigType == Enum.HumanoidRigType.R6 then
			local Anim = Instance.new("StringValue")
			Anim.Name = "toolanim"
			Anim.Value = "Slash"
			Anim.Parent = Tool
		elseif Humanoid.RigType == Enum.HumanoidRigType.R15 then
			local Anim = Tool:FindFirstChild("R15Slash")
			if Anim then
				local Track = Humanoid:LoadAnimation(Anim)
				Track:Play(0)
			end
		end
	end
end

function Lunge()
	Damage = DamageValues.LungeDamage

	Sounds.Lunge:Play()

	if Humanoid then
		if Humanoid.RigType == Enum.HumanoidRigType.R6 then
			local Anim = Instance.new("StringValue")
			Anim.Name = "toolanim"
			Anim.Value = "Lunge"
			Anim.Parent = Tool
		elseif Humanoid.RigType == Enum.HumanoidRigType.R15 then
			local Anim = Tool:FindFirstChild("R15Lunge")
			if Anim then
				local Track = Humanoid:LoadAnimation(Anim)
				Track:Play(0)
			end
		end
	end
	--[[
	if CheckIfAlive() then
		local Force = Instance.new("BodyVelocity")
		Force.velocity = Vector3.new(0, 10, 0)
		Force.maxForce = Vector3.new(0, 4000, 0)
		Debris:AddItem(Force, 0.4)
		Force.Parent = Torso
	end
	]]

	wait(0.2)
	Tool.Grip = Grips.Out
	wait(0.6)
	Tool.Grip = Grips.Up

	Damage = DamageValues.SlashDamage
end

Tool.Enabled = true
LastAttack = 0

function Activated()
	if not Tool.Enabled or not ToolEquipped or not CheckIfAlive() then
		return
	end
	Tool.Enabled = false
	local Tick = RunService.Stepped:wait()
	if (Tick - LastAttack < 0.2) then
		Lunge()
	else
		Attack()
	end
	LastAttack = Tick
	--wait(0.5)
	Damage = DamageValues.BaseDamage
	local SlashAnim = (Tool:FindFirstChild("R15Slash") or Create("Animation"){
		Name = "R15Slash",
		AnimationId = BaseUrl .. Animations.R15Slash,
		Parent = Tool
	})

	local LungeAnim = (Tool:FindFirstChild("R15Lunge") or Create("Animation"){
		Name = "R15Lunge",
		AnimationId = BaseUrl .. Animations.R15Lunge,
		Parent = Tool
	})
	Tool.Enabled = true
end

function CheckIfAlive()
	return (((Player and Player.Parent and Character and Character.Parent and Humanoid and Humanoid.Parent and Humanoid.Health > 0 and Torso and Torso.Parent) and true) or false)
end

function Equipped()
	Character = Tool.Parent
	Player = Players:GetPlayerFromCharacter(Character)
	Humanoid = Character:FindFirstChildOfClass("Humanoid")
	Torso = Character:FindFirstChild("Torso") or Character:FindFirstChild("HumanoidRootPart")
	if not CheckIfAlive() then
		return
	end
	ToolEquipped = true
	Sounds.Unsheath:Play()
end

function Unequipped()
	Tool.Grip = Grips.Up
	ToolEquipped = false
end

Tool.Activated:Connect(Activated)
Tool.Equipped:Connect(Equipped)
Tool.Unequipped:Connect(Unequipped)

Connection = Handle.Touched:Connect(Blow)


Prompt: --// Events

Response:
local L_33_ = L_7_:WaitForChild('Equipped')
local L_34_ = L_7_:WaitForChild('ShootEvent')
local L_35_ = L_7_:WaitForChild('DamageEvent')
local L_36_ = L_7_:WaitForChild('CreateOwner')
local L_37_ = L_7_:WaitForChild('Stance')
local L_38_ = L_7_:WaitForChild('HitEvent')
local L_39_ = L_7_:WaitForChild('KillEvent')
local L_40_ = L_7_:WaitForChild('AimEvent')
local L_41_ = L_7_:WaitForChild('ExploEvent')
local L_42_ = L_7_:WaitForChild('AttachEvent')
local L_43_ = L_7_:WaitForChild('ServerFXEvent')
local L_44_ = L_7_:WaitForChild('ChangeIDEvent')


Prompt: -- Stats

Response:
local stats = {
	{
		Name = "Points",
		Type = "IntValue",
		DefaultValue = "0",
	},
}

local function new(leaderstats)
	for i, stat in pairs(stats) do
		local leaderstat = Instance.new(stat.Type)
		leaderstat.Name = stat.Name
		leaderstat.Value = stat.DefaultValue
		leaderstat.Parent = leaderstats
	end
end

function LeaderboardManager.new(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "CustomLeaderstats"
	leaderstats.Parent = player

	new(leaderstats)
end

function LeaderboardManager:getStat(player, stat)
	local leaderstats = player:FindFirstChild("CustomLeaderstats")
	if not leaderstats then return false end

	if leaderstats then
		return leaderstats:FindFirstChild(stat)
	end
end

function LeaderboardManager:setStat(player, stat, value)
	local stat = LeaderboardManager:getStat(player, stat)

	if stat then
		stat.Value = value
	end
end

function LeaderboardManager:incrementStat(player, stat, value)
	if (not value) then value = 1 end

	local stat = LeaderboardManager:getStat(player, stat)

	if stat then
		stat.Value = stat.Value + value
	end
end

function LeaderboardManager:decrementStat(player, stat, value)
	if (not value) then value = 1 end

	local stat = LeaderboardManager:getStat(player, stat)

	if stat then
		stat.Value = stat.Value - value
	end
end

function LeaderboardManager:resetStat(player, stat)
	local stat = LeaderboardManager:getStat(player, stat)

	if stat then
		for i, defaultStat in pairs(stats) do
			if (stat == defaultStat.Name) then
				stat.Value = defaultStat.DefaultValue
				return
			end
		end

		stat.Value = 0
	end
end

function LeaderboardManager:resetStats(player)
	local leaderstats = player:FindFirstChild("CustomLeaderstats")
	if not leaderstats then return "No leaderstats found" end

	local stats = leaderstats:GetChildren()

	for i, stat in pairs(stats) do
		LeaderboardManager:resetStat(player, stats)
	end
end

return LeaderboardManager


Prompt:
--Enter the name of the model you want to go to here.
------------------------------------

Response: modelname="teleporter1b"


Prompt:
-- ================================================================================
-- PUBLIC FUNCTIONS
-- ================================================================================

Response:
function GuiController:SetUsingGamepad(isUsingGamepad)

end -- GuiController:SetUsingGamepad()

function GuiController:UpdateSpeed()

end -- GuiController:UpdateSpeed()

function GuiController:Start(s)
	speeder = s
	primary = speeder.main
	engine = speeder.engine

	BoostSetup()
end -- GuiController:Start()

function GuiController:Stop()

end -- GuiController:Stop()


Prompt: -- Preload assets

Response:
Assets = require(Tool.Assets);
ContentProvider:PreloadAsync(Support.Values(Assets));


Prompt: --Players the animation by name for the tool holder.

Response:
function AnimationPlayer:PlayAnimation(AnimationName)
	local Character = Tool.Parent
	if Character then
		local Humanoid = Character:FindFirstChildOfClass("Humanoid")
		if Humanoid then
			local AnimationGroup = Animationids[AnimationName]
			if AnimationGroup then
				local Animationid = AnimationGroup[Humanoid.RigType]
				if Animationid then
					local LoadedAnimation = Humanoid:LoadAnimation(GetAnimation(Animationid))
					local AnimationData = AnimationSettings[AnimationName] or {}
					LoadedAnimation:Play(AnimationData.FadeTime,AnimationData.Weight,AnimationData.Speed)

					return LoadedAnimation
				end
			else
				warn("Missing animation name: "..tostring(AnimationName))
			end
		end
	end
end

return AnimationPlayer


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

Response:
local v1 = {};
local l__HDAdminMain__1 = _G.HDAdminMain;
function v1.GetNotice(p1, p2)
	return ({
		WelcomeRank = { l__HDAdminMain__1.hdAdminCoreName, "Your rank is '%s'! Click to view the commands.", { "ShowSpecificPage", "Commands", "Commands" } },
		WelcomeDonor = { l__HDAdminMain__1.hdAdminCoreName, "Your're a Donor! Click to view Donor Commands.", { "ShowSpecificPage", "Special", "Donor" } },
		SetRank = { l__HDAdminMain__1.hdAdminCoreName, "You've been %sed to '%s'!" },
		UnlockRank = { l__HDAdminMain__1.hdAdminCoreName, "You've unlocked the rank '%s'!" },
		UnRank = { l__HDAdminMain__1.hdAdminCoreName, "You've been unranked!" },
		ParserInvalidCommandRank = { l__HDAdminMain__1.hdAdminCoreName, "'%s' is not a valid command! Try '%srank plr %s' instead." },
		ParserInvalidCommandNormal = { l__HDAdminMain__1.hdAdminCoreName, "'%s' is not a valid command!", "" },
		ParserInvalidPrefix = { l__HDAdminMain__1.hdAdminCoreName, "Invalid prefix! Try '%s%s' instead." },
		ParserInvalidVipServer = { l__HDAdminMain__1.hdAdminCoreName, "You cannot use '%s' in VIP Servers." },
		ParserInvalidDonor = { l__HDAdminMain__1.hdAdminCoreName, "You must be a Donor to use that command!" },
		ParserInvalidLoop = { l__HDAdminMain__1.hdAdminCoreName, "You do not have permission to use Loop commands!" },
		ParserInvalidRank = { l__HDAdminMain__1.hdAdminCoreName, "You do not have permission to use '%s'" },
		ParserCommandBlock = { l__HDAdminMain__1.hdAdminCoreName, "Commands are temporarily disabled.'" },
		ParserInvalidRigType = { l__HDAdminMain__1.hdAdminCoreName, "%s must be %s to use that command." },
		ParserPlayerRankBlocked = { l__HDAdminMain__1.hdAdminCoreName, "You do not have the permissions to use '%s' on %s!" },
		ParserSpeakerRank = { l__HDAdminMain__1.hdAdminCoreName, "You %sed %s to '%s'" },
		ParserSpeakerUnrank = { l__HDAdminMain__1.hdAdminCoreName, "You unranked %s" },
		ParserPlrPunished = { l__HDAdminMain__1.hdAdminCoreName, "%s must be unpunished to use that command." },
		ReceivedPM = { l__HDAdminMain__1.hdAdminCoreName, "You have a message from %s! Click to open." },
		RemovePermRank = { l__HDAdminMain__1.hdAdminCoreName, "Successfully unranked %s!" },
		BroadcastSuccessful = { l__HDAdminMain__1.hdAdminCoreName, "Broadcast successful! Your announcement will appear shortly." },
		BroadcastFailed = { l__HDAdminMain__1.hdAdminCoreName, "Broadcast failed to send." },
		InformPrefix = { l__HDAdminMain__1.hdAdminCoreName, "The server prefix is '%s'" },
		GetSoundSuccess = { l__HDAdminMain__1.hdAdminCoreName, "The ID of the sound playing is: %s" },
		GetSoundFail = { l__HDAdminMain__1.hdAdminCoreName, "No sound is playing!" },
		UnderControl = { l__HDAdminMain__1.hdAdminCoreName, "You're being controlled by %s!" },
		ClickToTeleport = { "Teleport", "Click to teleport to '%s' [%s]" },
		BanSuccess = { l__HDAdminMain__1.hdAdminCoreName, "Successfully banned %s! Click to view the Banland.", { "ShowSpecificPage", "Admin", "Banland" } },
		UnBanSuccess = { l__HDAdminMain__1.hdAdminCoreName, "Successfully unbanned %s!" },
		QualifierLimitToSelf = { l__HDAdminMain__1.hdAdminCoreName, "'%ss' can only use commands on theirself!" },
		QualifierLimitToOnePerson = { l__HDAdminMain__1.hdAdminCoreName, "'%ss' can only use commands on one person at a time!" },
		ScaleLimit = { l__HDAdminMain__1.hdAdminCoreName, "The ScaleLimit is %s for ranks below '%s'" },
		RequestsLimit = { l__HDAdminMain__1.hdAdminCoreName, "You're sending requests too fast!" },
		AlertFail = { l__HDAdminMain__1.hdAdminCoreName, "Alert failed to send." },
		PollFail = { l__HDAdminMain__1.hdAdminCoreName, "Poll failed to send." },
		GearBlacklist = { l__HDAdminMain__1.hdAdminCoreName, "Cannot insert gear: %s. This item has been blacklisted." },
		BanFailLength = { l__HDAdminMain__1.hdAdminCoreName, "%sBan Length must be greater than 0!" },
		BanFailVIPServer = { l__HDAdminMain__1.hdAdminCoreName, "%s'permBan' is prohibited on VIP Servers!" },
		BanFailAllServers = { l__HDAdminMain__1.hdAdminCoreName, "You do not have permission to ban players from 'all servers'." },
		BanFailAlreadyBanned = { l__HDAdminMain__1.hdAdminCoreName, "%splayer has already been banned!" },
		BanFailPermission = { l__HDAdminMain__1.hdAdminCoreName, "You do not have permission to ban %s" },
		BanFailDataNotFound = { l__HDAdminMain__1.hdAdminCoreName, "%sData not found." },
		RestoreDefaultSettings = { "Settings", "Successfully restored all settings to default!" },
		CommandBarLocked = { l__HDAdminMain__1.hdAdminCoreName, "You do not have permission to use the commandBar%s! Rank required: '%s'" },
		FollowFail = { l__HDAdminMain__1.hdAdminCoreName, "Failed to teleport. %s is not in-game." },
		SaveMap1 = { l__HDAdminMain__1.hdAdminCoreName, "Saving a copy of the map..." },
		SaveMap2 = { l__HDAdminMain__1.hdAdminCoreName, "Map successfully saved!" },
		CommandLimit = { l__HDAdminMain__1.hdAdminCoreName, "The %s limit is %s for ranks below '%s'" },
		CommandLimitPerMinute = { l__HDAdminMain__1.hdAdminCoreName, "Sending commands too fast! CommandLimitPerMinute exceeded." },
		template = { l__HDAdminMain__1.hdAdminCoreName, "" }
	})[p2];
end;
return v1;


Prompt: -- This is called when settings menu is opened

Response:
function BaseCamera:ResetInputStates()
	self.isRightMouseDown = false
	self.isMiddleMouseDown = false
	self:OnMousePanButtonReleased() -- this function doesn't seem to actually need parameters

	if UserInputService.TouchEnabled then
		--[[menu opening was causing serious touch issues
		this should disable all active touch events if
		they're active when menu opens.]]
		for inputObject in pairs(self.fingerTouches) do
			self.fingerTouches[inputObject] = nil
		end
		self.dynamicTouchInput = nil
		self.panBeginLook = nil
		self.startPos = nil
		self.lastPos = nil
		self.userPanningTheCamera = false
		self.startingDiff = nil
		self.pinchBeginZoom = nil
		self.numUnsunkTouches = 0
	end
end

function BaseCamera:GetGamepadPan(name, state, input)
	if input.UserInputType == self.activeGamepad and input.KeyCode == Enum.KeyCode.Thumbstick2 then


Prompt:
--	====================
--	INPUTS
--	List of inputs that can be customized
--	====================

Response:
		Keyboard = {
			Reload = Enum.KeyCode.R;
			HoldDown = Enum.KeyCode.E;
			Inspect = Enum.KeyCode.F;
			Switch = Enum.KeyCode.V;
			ToogleAim = Enum.KeyCode.Q;
			Melee = Enum.KeyCode.H;
			AltFire = Enum.KeyCode.C;
		};

		Controller = {
			Fire = Enum.KeyCode.ButtonR1;
			Reload = Enum.KeyCode.ButtonX;
			HoldDown = Enum.KeyCode.DPadUp;
			Inspect = Enum.KeyCode.DPadDown;
			Switch = Enum.KeyCode.DPadRight;
			ToogleAim = Enum.KeyCode.ButtonL1;
			Melee = Enum.KeyCode.ButtonR3;
			AltFire = Enum.KeyCode.DPadRight;
		};


Prompt: -- Listener for changes to workspace.CurrentCamera

Response:
function BaseCamera:OnCurrentCameraChanged()
	if UserInputService.TouchEnabled then
		if self.viewportSizeChangedConn then
			self.viewportSizeChangedConn:Disconnect()
			self.viewportSizeChangedConn = nil
		end

		local newCamera = game.Workspace.CurrentCamera

		if newCamera then
			self:OnViewportSizeChanged()
			self.viewportSizeChangedConn = newCamera:GetPropertyChangedSignal("ViewportSize"):Connect(function()
				self:OnViewportSizeChanged()
			end)
		end
	end

	-- VR support additions
	if self.cameraSubjectChangedConn then
		self.cameraSubjectChangedConn:Disconnect()
		self.cameraSubjectChangedConn = nil
	end

	local camera = game.Workspace.CurrentCamera
	if camera then
		self.cameraSubjectChangedConn = camera:GetPropertyChangedSignal("CameraSubject"):Connect(function()
			self:OnNewCameraSubject()
		end)
		self:OnNewCameraSubject()
	end
end

function BaseCamera:OnDynamicThumbstickEnabled()
	if UserInputService.TouchEnabled then
		self.isDynamicThumbstickEnabled = true
	end
end

function BaseCamera:OnDynamicThumbstickDisabled()
	self.isDynamicThumbstickEnabled = false
end

function BaseCamera:OnGameSettingsTouchMovementModeChanged()
	if Players.LocalPlayer.DevTouchMovementMode == Enum.DevTouchMovementMode.UserChoice then
		if UserGameSettings.TouchMovementMode.Name == "DynamicThumbstick" then
			self:OnDynamicThumbstickEnabled()
		else
			self:OnDynamicThumbstickDisabled()
		end
	end
end

function BaseCamera:OnDevTouchMovementModeChanged()
	if Players.LocalPlayer.DevTouchMovementMode.Name == "DynamicThumbstick" then
		self:OnDynamicThumbstickEnabled()
	else
		self:OnGameSettingsTouchMovementModeChanged()
	end
end

function BaseCamera:OnPlayerCameraPropertyChange()
	-- This call forces re-evaluation of player.CameraMode and clamping to min/max distance which may have changed
	self:SetCameraToSubjectDistance(self.currentSubjectDistance)
end

function BaseCamera:GetCameraHeight()
	if VRService.VREnabled and not self.inFirstPerson then
		return math.sin(VR_ANGLE) * self.currentSubjectDistance
	end
	return 0
end

function BaseCamera:InputTranslationToCameraAngleChange(translationVector, sensitivity)
	local camera = game.Workspace.CurrentCamera
	if camera and camera.ViewportSize.X > 0 and camera.ViewportSize.Y > 0 and (camera.ViewportSize.Y > camera.ViewportSize.X) then
		-- Screen has portrait orientation, swap X and Y sensitivity
		return translationVector * Vector2.new( sensitivity.Y, sensitivity.X)
	end
	return translationVector * sensitivity
end

function BaseCamera:Enable(enable)
	if self.enabled ~= enable then
		self.enabled = enable
		if self.enabled then
			self:ConnectInputEvents()
			if FFlagPlayerScriptsBindAtPriority then
				self:BindContextActions()
			end

			if Players.LocalPlayer.CameraMode == Enum.CameraMode.LockFirstPerson then
				self.currentSubjectDistance = 0.5
				if not self.inFirstPerson then
					self:EnterFirstPerson()
				end
			end
		else
			self:DisconnectInputEvents()
			if FFlagPlayerScriptsBindAtPriority then
				self:UnbindContextActions()
			end
			-- Clean up additional event listeners and reset a bunch of properties
			self:Cleanup()
		end
	end
end

function BaseCamera:GetEnabled()
	return self.enabled
end

function BaseCamera:OnInputBegan(input, processed)
	if input.UserInputType == Enum.UserInputType.Touch then
		self:OnTouchBegan(input, processed)
	elseif input.UserInputType == Enum.UserInputType.MouseButton2 then
		self:OnMouse2Down(input, processed)
	elseif input.UserInputType == Enum.UserInputType.MouseButton3 then
		self:OnMouse3Down(input, processed)
	end
	-- Keyboard
	if not FFlagPlayerScriptsBindAtPriority then
		if input.UserInputType == Enum.UserInputType.Keyboard then
			self:OnKeyDown(input, processed)
		end
	end
end

function BaseCamera:OnInputChanged(input, processed)
	if input.UserInputType == Enum.UserInputType.Touch then
		self:OnTouchChanged(input, processed)
	elseif input.UserInputType == Enum.UserInputType.MouseMovement then
		self:OnMouseMoved(input, processed)
	elseif input.UserInputType == Enum.UserInputType.MouseWheel then
		self:OnMouseWheel(input, processed)
	end
end

function BaseCamera:OnInputEnded(input, processed)
	if input.UserInputType == Enum.UserInputType.Touch then
		self:OnTouchEnded(input, processed)
	elseif input.UserInputType == Enum.UserInputType.MouseButton2 then
		self:OnMouse2Up(input, processed)
	elseif input.UserInputType == Enum.UserInputType.MouseButton3 then
		self:OnMouse3Up(input, processed)
	end
	-- Keyboard
	if not FFlagPlayerScriptsBindAtPriority then
		if input.UserInputType == Enum.UserInputType.Keyboard then
			self:OnKeyUp(input, processed)
		end
	end
end

function BaseCamera:ConnectInputEvents()
	self.inputBeganConn = UserInputService.InputBegan:Connect(function(input, processed)
		self:OnInputBegan(input, processed)
	end)

	self.inputChangedConn = UserInputService.InputChanged:Connect(function(input, processed)
		self:OnInputChanged(input, processed)
	end)

	self.inputEndedConn = UserInputService.InputEnded:Connect(function(input, processed)
		self:OnInputEnded(input, processed)
	end)

	self.touchActivateConn = UserInputService.TouchTapInWorld:Connect(function(touchPos, processed)
		self:OnTouchTap(touchPos)
	end)

	self.menuOpenedConn = GuiService.MenuOpened:connect(function()
		self:ResetInputStates()
	end)

	self.gamepadConnectedConn = UserInputService.GamepadDisconnected:connect(function(gamepadEnum)
		if self.activeGamepad ~= gamepadEnum then return end
		self.activeGamepad = nil
		self:AssignActivateGamepad()
	end)

	self.gamepadDisconnectedConn = UserInputService.GamepadConnected:connect(function(gamepadEnum)
		if self.activeGamepad == nil then
			self:AssignActivateGamepad()
		end
	end)

	if not FFlagPlayerScriptsBindAtPriority then
		self:BindGamepadInputActions()
	end
	self:AssignActivateGamepad()
	self:UpdateMouseBehavior()
end

function BaseCamera:BindContextActions()
	self:BindGamepadInputActions()
	self:BindKeyboardInputActions()
end

function BaseCamera:AssignActivateGamepad()
	local connectedGamepads = UserInputService:GetConnectedGamepads()
	if #connectedGamepads > 0 then
		for i = 1, #connectedGamepads do
			if self.activeGamepad == nil then
				self.activeGamepad = connectedGamepads[i]
			elseif connectedGamepads[i].Value < self.activeGamepad.Value then
				self.activeGamepad = connectedGamepads[i]
			end
		end
	end

	if self.activeGamepad == nil then -- nothing is connected, at least set up for gamepad1
		self.activeGamepad = Enum.UserInputType.Gamepad1
	end
end

function BaseCamera:DisconnectInputEvents()
	if self.inputBeganConn then
		self.inputBeganConn:Disconnect()
		self.inputBeganConn = nil
	end
	if self.inputChangedConn then
		self.inputChangedConn:Disconnect()
		self.inputChangedConn = nil
	end
	if self.inputEndedConn then
		self.inputEndedConn:Disconnect()
		self.inputEndedConn = nil
	end
end

function BaseCamera:UnbindContextActions()
	for i = 1, #self.boundContextActions do
		ContextActionService:UnbindAction(self.boundContextActions[i])
	end
	self.boundContextActions = {}
end

function BaseCamera:Cleanup()
	if self.menuOpenedConn then
		self.menuOpenedConn:Disconnect()
		self.menuOpenedConn = nil
	end
	if self.mouseLockToggleConn then
		self.mouseLockToggleConn:Disconnect()
		self.mouseLockToggleConn = nil
	end
	if self.gamepadConnectedConn then
		self.gamepadConnectedConn:Disconnect()
		self.gamepadConnectedConn = nil
	end
	if self.gamepadDisconnectedConn then
		self.gamepadDisconnectedConn:Disconnect()
		self.gamepadDisconnectedConn = nil
	end
	if self.subjectStateChangedConn then
		self.subjectStateChangedConn:Disconnect()
		self.subjectStateChangedConn = nil
	end
	if self.viewportSizeChangedConn then
		self.viewportSizeChangedConn:Disconnect()
		self.viewportSizeChangedConn = nil
	end
	if self.touchActivateConn then
		self.touchActivateConn:Disconnect()
		self.touchActivateConn = nil
	end

	self.turningLeft = false
	self.turningRight = false
	self.lastCameraTransform = nil
	self.lastSubjectCFrame = nil
	self.userPanningTheCamera = false
	self.rotateInput = Vector2.new()
	self.gamepadPanningCamera = Vector2.new(0,0)

	-- Reset input states
	self.startPos = nil
	self.lastPos = nil
	self.panBeginLook = nil
	self.isRightMouseDown = false
	self.isMiddleMouseDown = false

	self.fingerTouches = {}
	self.numUnsunkTouches = 0

	self.startingDiff = nil
	self.pinchBeginZoom = nil

	-- Unlock mouse for example if right mouse button was being held down
	if UserInputService.MouseBehavior ~= Enum.MouseBehavior.LockCenter then
		UserInputService.MouseBehavior = Enum.MouseBehavior.Default
	end
end


Prompt: --[[Weight and CG]]

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

	--Unsprung Weight
	Tune.FWheelDensity	= .45		-- Front Wheel Density
	Tune.RWheelDensity	= .45		-- Rear Wheel Density
	Tune.FWLgcyDensity	= 1			-- Front Wheel Density [PGS OFF]
	Tune.RWLgcyDensity	= 1			-- Rear Wheel Density [PGS OFF]

	Tune.AxleSize		= 2			-- Size of structural members (larger = more stable/carry more weight)
	Tune.AxleDensity	= .1		-- Density of structural members


Prompt:
--			local EndToCurrent_Distance = (At - Point).Magnitude
--			local Change = (LastToCurrent_Distance - EndToCurrent_Distance)

Response:
			LengthChanged:Fire(Origin, LastPoint, RayDir.Unit, LastToCurrent_Distance, CosmeticBulletObject)
			LastPoint = At
			if Hit then
				--V5: WAIT! Test if the cosmetic bullet was hit!
				if Hit ~= CosmeticBulletObject then
					--Hit something, stop the function and fire the hit event.
					RayHit:Fire(Hit, Point, Normal, Material, CosmeticBulletObject)
					return
				end
				--If we make it here, then the bullet isn't nil, and it was the hit.(The above code exits the function)
				--This will ignore the bullet. For this function, no changes need to be made.
			end
			DistanceTravelled = DistanceTravelled + LastToCurrent_Distance
		end
		--If we make it here, then we have exceeded the maximum distance.
		--As part of Ver. 4, the hit function will fire here.
		--V5: Changed below to return all nil values aside from the point
		RayHit:Fire(nil, LastPoint, nil, nil, CosmeticBulletObject)
	end

	--Fire without physics
	local function MainCastFireNoPhys(Origin, Direction, Velocity, Function, CosmeticBulletObject, List)
		local Distance = Direction.Magnitude
		local NormalizedDir = Direction / Distance
		local Direction = NormalizedDir * Distance

		local LastPoint = Origin
		local DistanceTravelled = 0
		while DistanceTravelled <= Distance do
			local Delta = RunService.Heartbeat:Wait()
			local Start = Origin + (NormalizedDir * DistanceTravelled)
			local RayDir = NormalizedDir * Velocity * Delta
			local Hit, Point, Normal, Material = Function(Start, RayDir, List)

			local ExtraDistance = (Start - Point).Magnitude
			local ModifiedDistance = DistanceTravelled + ExtraDistance

			--Note to self: ExtraDistance will be identical to RayDir.Magnitude unless something is hit.
			LengthChanged:Fire(Origin, LastPoint, RayDir.Unit, ExtraDistance, CosmeticBulletObject)
			LastPoint = Point
			if Hit then
				--V5: WAIT! Test if the cosmetic bullet was hit!
				if Hit ~= CosmeticBulletObject then
					--Hit something, stop the function and fire the hit event.
					RayHit:Fire(Hit, Point, Normal, Material, CosmeticBulletObject)
					return
				end
				--If we make it here, then the bullet isn't nil, and it was the hit.(The above code exits the function)
				--In this case, we will kindly ignore the bullet.
				--We will also set ExtraDistance to RayDir.Magnitude (See above - These two values are identical if nothing is hit, so we need to force that behavior)
				ExtraDistance = RayDir.Magnitude
			end
			DistanceTravelled = DistanceTravelled + ExtraDistance
		end
		--V5: Changed below to return all nil values aside from the point
		RayHit:Fire(nil, LastPoint, nil, nil, CosmeticBulletObject)
	end

	--Fire a ray from origin -> direction at the specified velocity.
	function Caster:Fire(Origin, Direction, Velocity, CosmeticBulletObject, NoThread)
		--Note to scripters: 'self' is a variable lua creates when a method like ^ is run. It's an alias to the table that the function is part of (in this case, Caster)
		assert(Caster == self, "Expected ':' not '.' calling member function Fire")

		if NoThread then
			if UsingPhysics() then
				MainCastFire(Origin, Direction, Velocity, Cast, CosmeticBulletObject)
			else
				MainCastFireNoPhys(Origin, Direction, Velocity, Cast, CosmeticBulletObject)
			end
		else
			spawn(function ()
				if UsingPhysics() then
					MainCastFire(Origin, Direction, Velocity, Cast, CosmeticBulletObject)
				else
					MainCastFireNoPhys(Origin, Direction, Velocity, Cast, CosmeticBulletObject)
				end
			end)
		end
	end

	--Identical to above, but with a whitelist.
	function Caster:FireWithWhitelist(Origin, Direction, Velocity, Whitelist, CosmeticBulletObject, NoThread)
		--Note to scripters: 'self' is a variable lua creates when a method like ^ is run. It's an alias to the table that the function is part of (in this case, Caster)
		assert(Caster == self, "Expected ':' not '.' calling member function FireWithWhitelist")
		if NoThread then
			if UsingPhysics() then
				MainCastFire(Origin, Direction, Velocity, CastWhitelist, CosmeticBulletObject, Whitelist)
			else
				MainCastFireNoPhys(Origin, Direction, Velocity, CastWhitelist, CosmeticBulletObject, Whitelist)
			end
		else
			spawn(function ()
				if UsingPhysics() then
					MainCastFire(Origin, Direction, Velocity, CastWhitelist, CosmeticBulletObject, Whitelist)
				else
					MainCastFireNoPhys(Origin, Direction, Velocity, CastWhitelist, CosmeticBulletObject, Whitelist)
				end
			end)
		end
	end

	--Identical to above, but with a blacklist.
	function Caster:FireWithBlacklist(Origin, Direction, Velocity, Blacklist, CosmeticBulletObject, NoThread)
		--Note to scripters: 'self' is a variable lua creates when a method like ^ is run. It's an alias to the table that the function is part of (in this case, Caster)
		assert(Caster == self, "Expected ':' not '.' calling member function FireWithBlacklist")
		if NoThread then
			if UsingPhysics() then
				MainCastFire(Origin, Direction, Velocity, CastBlacklist, CosmeticBulletObject, Blacklist)
			else
				MainCastFireNoPhys(Origin, Direction, Velocity, CastBlacklist, CosmeticBulletObject, Blacklist)
			end
		else
			spawn(function ()
				if UsingPhysics() then
					MainCastFire(Origin, Direction, Velocity, CastBlacklist, CosmeticBulletObject, Blacklist)
				else
					MainCastFireNoPhys(Origin, Direction, Velocity, CastBlacklist, CosmeticBulletObject, Blacklist)
				end
			end)
		end
	end

	--Indexing stuff here.
	--For those scripters new to Metatables, they allow you to fake information in tables by controlling how it works.
	--This function will be run when you try to index anything of the fastcaster.
	--If I were to do Caster["CoolIndex"], this function would fire, table being Caster, and Index being "CoolIndex".
	--This means that I can return my own value, even if "CoolIndex" isn't valid.
	--Neat, huh?
	CMeta.__index = function (Table, Index)
		if Table == Caster then
			if Index == "IgnoreDescendantsInstance" then
				return IgnoreDescendantsInstance
			elseif Index == "RayHit" then
				return RayHit
			elseif Index == "LengthChanged" then
				return LengthChanged
			elseif Index == "Gravity" then
				return Gravity
			elseif Index == "ExtraForce" then
				return ExtraForce
			elseif Index == "HasPhysics" then
				return UsingPhysics()
			end
		end
	end

	local IgnoreMode = false -- This is used so I can do some tricks below
	--Same thing as above, just tha this fires writing to the table (e.g. Caster["CoolIndex"] = "CoolValue")
	CMeta.__newindex = function (Table, Index, Value)
		if IgnoreMode then return end
		if Table == Caster then
			if Index == "IgnoreDescendantsInstance" then
				assert(Value == nil or typeof(Value) == "Instance", "Bad argument \"" .. Index .. "\" (Instance expected, got " .. typeof(Value) .. ")")
				IgnoreDescendantsInstance = Value
			elseif Index == "RayHit" or Index == "LengthChanged" or Index == "HasPhysics" then
				error("Can't set value", 0)
			elseif Index == "Gravity" then
				assert(typeof(Value) == "number", "Bad argument \"" .. Index .. "\" (number expected, got " .. typeof(Value) .. ")")
				Gravity = Value
			elseif Index == "ExtraForce" then
				assert(typeof(Value) == "Vector3", "Bad argument \"" .. Index .. "\" (Vector3 expected, got " .. typeof(Value) .. ")")
				ExtraForce = Value
			end
		end
	end

	--TRICK: I'm going to make dummy values for the properties and events.
	--Roblox will show these in intellesence (the thing that suggests what to type in as you go)
	IgnoreMode = true
	Caster.RayHit = RayHit
	Caster.LengthChanged = LengthChanged
	Caster.IgnoreDescendantsInstance = IgnoreDescendantsInstance
	Caster.Gravity = Gravity
	Caster.ExtraForce = ExtraForce
	Caster.HasPhysics = UsingPhysics()
	IgnoreMode = false
	--Better yet, while these values are just in the open, they will still be managed by the metatables.

	CMeta.__metatable = "FastCaster"

	return Caster
end

return FastCast


Prompt:
--[=[
	Observes an instance's property

	@param instance Instance
	@param propertyName string
	@return Observable<T>
]=]

Response:
function RxInstanceUtils.observeProperty(instance, propertyName)
	assert(typeof(instance) == "Instance", "'instance' should be of type Instance")
	assert(type(propertyName) == "string", "'propertyName' should be of type string")

	return Observable.new(function(sub)
		local maid = Maid.new()

		maid:GiveTask(instance:GetPropertyChangedSignal(propertyName):Connect(function()
			sub:Fire(instance[propertyName], instance)
		end))
		sub:Fire(instance[propertyName], instance)

		return maid
	end)
end


Prompt: --vvv Made by Anaminus vvv---

Response:
local function NumNormal(n)
	return n == 0 and 0 or n/math.abs(n)
end

function module.surface(part,point)
	local p = part.CFrame:toObjectSpace(CFrame.new(point)).p
	local s = part.Size
	local ax,ay,az = math.abs(p.x/s.x),math.abs(p.y/s.y),math.abs(p.z/s.z)
	return Vector3.new(NumNormal(p.x),NumNormal(p.y),NumNormal(p.z)) * Vector3.new(
		(ax>ay and ax>az) and 1 or 0,
		(ay>ax and ay>az) and 1 or 0,
		(az>ax and az>ay) and 1 or 0
	)
end


Prompt: --// F key, Horn

Response:
mouse.KeyUp:connect(function(key)
	if key=="f" then
		veh.ELS.Sirens.AH.Transparency = 1
		veh.ELS.Siren.Airhorn:Stop(3)
		veh.ELS.Siren2.Airhorn:Stop(3)
		veh.ELS.Sirens.Horn.Transparency = 1
		veh.ELS.Sirens.Horn.Transparency = 3
		veh.ELS.Siren.Wail.Volume = 3
		veh.ELS.Siren.Yelp.Volume = 3
		veh.ELS.Siren.Priority.Volume = 3
		veh.ELS.Siren2.Wail.Volume = 3
		veh.ELS.Siren2.Yelp.Volume = 3
		veh.ELS.Siren2.Priority.Volume = 3
	end
end)


Prompt: -- Original script made by Luckymaxer [yes i edited this lol]

Response:
Projectile = script.Parent
Projectile.Size = Vector3.new(0.2,0.2,0.2)

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

Values = {}
for i, v in pairs(script:GetChildren()) do
	if string.find(string.lower(v.ClassName), string.lower("Value")) then
		Values[v.Name] = v
	end
end

BaseProjectile = Values.BaseProjectile.Value

function GetCreator()
	local Creator = Values.Creator.Value
	return (((Creator and Creator.Parent and Creator:IsA("Player")) and Creator) or nil)
end

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

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

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

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

function CheckIntangible(Hit)
	local ProjectileNames = {"Water", "Part", "Projectile", "Effect", "Rail", "Laser", "Bullet"}
	if Hit and Hit.Parent then
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
			return true
		end
	end
	return false
end

function CastRay(StartPos, Vec, Length, Ignore, DelayIfHit)
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Vec * Length), Ignore)
	if RayHit and CheckIntangible(RayHit) then
		if DelayIfHit then
			wait()
		end
		RayHit, RayPos, RayNormal = CastRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
	end
	return RayHit, RayPos, RayNormal
end

function FlyProjectile(Part, StartPos)
	local AlreadyHit = false
	local Player = GetCreator()
	local function PartHit(Hit)
		if not Hit or not Hit.Parent or not Player then
			return
		end
		local character = Hit.Parent
		if character:IsA("Hat") then
			character = character.Parent
		end
		if not character then
			return
		end
		local player = Players:GetPlayerFromCharacter(character)
		if player and (player == Player or IsTeamMate(Player, player)) then
			return
		end
		local humanoid = character:FindFirstChild("Humanoid")
		if not humanoid or humanoid.Health == 0 then
			return
		end
		UntagHumanoid(humanoid)
		TagHumanoid(humanoid, Player)
		humanoid:TakeDamage(Values.Damage.Value)
		return character
	end
	local function CheckForContact(Hit)
		local Directions = {{Vector = Part.CFrame.lookVector, Length = (BaseProjectile.Size.Z + 2)}, {Vector = Vector3.new(0, -1, 0), Length = (BaseProjectile.Size.Y * 1.25)}, ((Hit and {Vector = CFrame.new(Part.Position, Hit.Position).lookVector, Length = (BaseProjectile.Size.Z + 2)}) or nil)}
		local ClosestRay = {DistanceApart = math.huge}
		for i, v in pairs(Directions) do
			if v then
				local Direction = CFrame.new(Part.Position, (Part.CFrame + v.Vector * 2).p).lookVector
				local RayHit, RayPos, RayNormal = CastRay((Part.Position + Vector3.new(0, 0, 0)), Direction, v.Length, {((Player and Player.Character) or nil), Part}, false)
				if RayHit then
					local DistanceApart = (Part.Position - RayPos).Magnitude
					if DistanceApart < ClosestRay.DistanceApart then
						ClosestRay = {Hit = RayHit, Pos = RayPos, Normal = RayNormal, DistanceApart = DistanceApart}
					end
				end
			end
		end
		return ((ClosestRay.Hit and ClosestRay) or nil)
	end
	local function ConnectPart(Hit)

		if AlreadyHit then
			return
		end
		local ClosestRay = CheckForContact(Hit)
		if not ClosestRay then
			return
		end
		AlreadyHit = true
		for i, v in pairs(Part:GetChildren()) do
			if v:IsA("BasePart") then
				for ii, vv in pairs(v:GetChildren()) do
					if vv:IsA("ParticleEmitter") then
						vv.Enabled = false
						v.Anchored = true
					elseif vv:IsA("JointInstance") then
						vv:Destroy()
					end
				end
				Debris:AddItem(v, 8)
			elseif string.find(string.lower(v.ClassName), string.lower("Body")) then
				v:Destroy()
			end
		end
		local SuccessfullyHit = PartHit(ClosestRay.Hit)
		Part.Size = Vector3.new(0.2, 0.2, 0.2)
		Part.CanCollide = false
		local Hit = ClosestRay.Hit
		if SuccessfullyHit and Hit.Parent:FindFirstChild("Humanoid") or Hit.Parent.Parent:FindFirstChild("Humanoid") then
			script.HitE:Fire(Hit)
			if Values.ProjectileLand.Value == true then
				local ProjectilePosition = ClosestRay.Pos
				local StickCFrame = CFrame.new(ProjectilePosition, StartPos)
				StickCFrame = (StickCFrame * CFrame.new(0, 0, (-(BaseProjectile.Size.Z / 2) + 0)) * CFrame.Angles(0, math.pi, 0))
				local Weld = Instance.new("Motor6D")
				Weld.Part0 = Hit
				Weld.Part1 = Part
				Weld.C0 = CFrame.new(0, 0, 0)
				Weld.C1 = (StickCFrame:inverse() * Hit.CFrame)
				Weld.Parent = Part
				Part.Orientation = Part.Orientation + Values.ProjectileLandRotation.Value
			else
				script.Parent:Destroy()
			end
		else
			script.HitE:Fire(Hit)
			if Values.ProjectileLand.Value == true then
				local ProjectilePosition = ClosestRay.Pos
				local StickCFrame = CFrame.new(ProjectilePosition, StartPos)
				StickCFrame = (StickCFrame * CFrame.new(0, 0, (-(BaseProjectile.Size.Z / 2) + 0)) * CFrame.Angles(0, math.pi, 0))
				local Weld = Instance.new("Motor6D")
				Weld.Part0 = Hit
				Weld.Part1 = Part
				Weld.C0 = CFrame.new(0, 0, 0)
				Weld.C1 = (StickCFrame:inverse() * Hit.CFrame)
				Weld.Parent = Part
				Part.Orientation = Part.Orientation + Values.ProjectileLandRotation.Value
			else
				script.Parent:Destroy()
			end
		end
		delay(Values.Lifetime.Value,function()
			Projectile:Destroy()
		end)
		Part.Name = "Effect"
	end
	Part.Touched:Connect(function(Hit)
		if not Hit or not Hit.Parent or AlreadyHit then
			return
		end
		ConnectPart(Hit)
	end)
	spawn(function()
		while Part and Part.Parent and Part.Name ~= "Effect" and not AlreadyHit do
			ConnectPart()
			wait()
		end
	end)
end

FlyProjectile(Projectile, Values.Origin.Value)


Prompt:
--[=[
	Checks if the given object is a Signal.

	@param obj any -- Object to check
	@return boolean -- `true` if the object is a Signal.
]=]

Response:
function Signal.Is(obj: any): boolean
	return type(obj) == "table" and getmetatable(obj) == Signal
end


Prompt: --[[Engine]]

Response:
	--Torque Curve
	Tune.Horsepower		= 310		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 7200		--		Use sliders to manipulate values
	Tune.Redline		= 8500		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 5500
	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		= 350		-- 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)


Response:
local F = {}

local function ToggleLightInstant(Group,TurnOn,SettingChange,HighBeamsOn,Braking)
	if SettingChange and not tonumber(Debounce) then Debounce = 0 end
	if TurnOn then
		for Index,Value in pairs(Group:GetDescendants()) do
			if Value:IsA("BasePart") then
				Value.Material = "Neon"
			elseif Value:IsA("Light") then
				Value.Enabled = true
				if HighBeamsOn == true then
					Value.Color = Color3.fromRGB(H_BEAM_COLOR[1],H_BEAM_COLOR[2],H_BEAM_COLOR[3])
					Value.Range = H_BEAM_RANGE
					Value.Brightness = H_BEAM_BRIGHTNESS
				elseif HighBeamsOn == false then
					Value.Color = Color3.fromRGB(L_BEAM_COLOR[1],L_BEAM_COLOR[2],L_BEAM_COLOR[3])
					Value.Range = L_BEAM_RANGE
					Value.Brightness = L_BEAM_BRIGHTNESS
				end
				if Braking and Group == TL then
					Value.Range = B_LIGHT_RANGE
					Value.Brightness = B_LIGHT_BRIGHTNESS
				elseif not Braking and Group == TL then
					Value.Range = T_LIGHT_RANGE
					Value.Brightness = T_LIGHT_BRIGHTNESS
				end
			end
		end
	else
		for Index,Value in pairs(Group:GetDescendants()) do
			if Value:IsA("BasePart") then
				if Braking and CurrentMode < 4 then
					Value.Material = "Neon"
				else
					Value.Material = "SmoothPlastic"
				end
			elseif Value:IsA("Light") then
				Value.Enabled = false
				if Braking and CurrentMode < 4 then
					Value.Enabled = true
					Value.Range = T_LIGHT_RANGE
					Value.Brightness = T_LIGHT_BRIGHTNESS
				end
			end
		end
	end
	if SettingChange and tonumber(Debounce) then Debounce += 1 end
	if CurrentMode == 4 and Debounce == 3 then Debounce = true
	elseif CurrentMode == 1 and Debounce == 2 then Debounce = true
	elseif CurrentMode == 2 and Debounce == 1 then Debounce = true
	elseif CurrentMode == 3 and Debounce == 1 then Debounce = true
	end
end

local function ToggleLightFade(Group,TurnOn,SettingChange,HighBeamsOn,Braking)
	local Lights = {}
	if SettingChange and not tonumber(Debounce) then Debounce = 0 end
	if TurnOn then
		for Index,Value in pairs(Group:GetDescendants()) do
			if Value:IsA("BasePart") then
				Value.Material = "Neon"
			elseif Value:IsA("Light") then
				table.insert(Lights,Value)
				Value.Enabled = true
				if HighBeamsOn == true then
					Value.Color = Color3.fromRGB(H_BEAM_COLOR[1],H_BEAM_COLOR[2],H_BEAM_COLOR[3])
					Value.Range = H_BEAM_RANGE
					Value.Brightness = H_BEAM_BRIGHTNESS
				elseif HighBeamsOn == false then
					Value.Color = Color3.fromRGB(L_BEAM_COLOR[1],L_BEAM_COLOR[2],L_BEAM_COLOR[3])
					Value.Range = L_BEAM_RANGE
					Value.Brightness = L_BEAM_BRIGHTNESS
				end
				if Braking and Group == TL then
					Value.Range = B_LIGHT_RANGE
					Value.Brightness = B_LIGHT_BRIGHTNESS
				elseif not Braking and Group == TL then
					Value.Range = T_LIGHT_RANGE
					Value.Brightness = T_LIGHT_BRIGHTNESS
				end
			end
		end

		local Cache = {}
		for Index,Value in pairs(Lights) do
			table.insert(Cache,Value.Range)
			table.insert(Cache,Value.Brightness)
			if Braking and Group == TL then
				Value.Range = T_LIGHT_RANGE
				Value.Brightness = T_LIGHT_BRIGHTNESS
			else
				Value.Range = 0
				Value.Brightness = 0
			end
		end
		for Index,Value in pairs(Lights) do
			TS:Create(Value,FadeTweenInfo,{Range = Cache[Index*2-1]}):Play()
			TS:Create(Value,FadeTweenInfo,{Brightness = Cache[Index*2]}):Play()
		end
		wait(FADE_TIME)
	else
		for Index,Value in pairs(Group:GetDescendants()) do
			if Value:IsA("BasePart") then
				if Braking and CurrentMode < 4 then
					Value.Material = "Neon"
				else
					Value.Material = "SmoothPlastic"
				end
			elseif Value:IsA("Light") then
				table.insert(Lights,Value)
				if Braking and CurrentMode < 4 then Value.Enabled = true end
			end
		end

		local Cache = {}
		for Index,Value in pairs(Lights) do
			table.insert(Cache,Value.Range)
			table.insert(Cache,Value.Brightness)
		end
		if Braking == nil then
			for Index,Value in pairs(Lights) do
				TS:Create(Value,FadeTweenInfo,{Range = 0}):Play()
				TS:Create(Value,FadeTweenInfo,{Brightness = 0}):Play()
			end
			wait(FADE_TIME)
		elseif Braking == true then
			for Index,Value in pairs(Lights) do
				if CurrentMode == 4 then
					TS:Create(Value,BrakeFadeInfo,{Range = 0}):Play()
					TS:Create(Value,BrakeFadeInfo,{Brightness = 0}):Play()
				elseif CurrentMode < 4 then
					TS:Create(Value,BrakeFadeInfo,{Range = T_LIGHT_RANGE}):Play()
					TS:Create(Value,BrakeFadeInfo,{Brightness = T_LIGHT_BRIGHTNESS}):Play()
				end
			end
			wait(B_LIGHT_FADE_TIME)
			for Index,Value in pairs(Lights) do
				Value.Range = T_LIGHT_RANGE
				Value.Brightness = T_LIGHT_BRIGHTNESS
			end
		end
		for Index,Value in pairs(Lights) do
			if Braking and CurrentMode < 4 then
				Value.Enabled = true
			else
				Value.Enabled = false
				Value.Range = Cache[Index*2-1]
				Value.Brightness = Cache[Index*2]
			end
		end
	end
	if SettingChange and tonumber(Debounce) then Debounce += 1 end
	if CurrentMode == 4 and Debounce == 3 then Debounce = true
	elseif CurrentMode == 1 and Debounce == 2 then Debounce = true
	elseif CurrentMode == 2 and Debounce == 1 then Debounce = true
	elseif CurrentMode == 3 and Debounce == 1 then Debounce = true
	end
end

F.ChangeLight = function()
	if tonumber(Debounce) then return end
	if CurrentMode == 4 then
		if Debounce == true then
			CurrentMode = 1
			Debounce = false
			F.ChangeLight()
			return
		elseif Debounce == false then
			if LIGHT_FADE then
				spawn(function() ToggleLightFade(FL,false,true) end)
				spawn(function() ToggleLightFade(HL,false,true) end)
				spawn(function() ToggleLightFade(TL,false,true) end)
			else
				spawn(function() ToggleLightInstant(FL,false,true) end)
				spawn(function() ToggleLightInstant(HL,false,true) end)
				spawn(function() ToggleLightInstant(TL,false,true) end)
			end
		end
	elseif CurrentMode == 1 then
		if Debounce == true then
			CurrentMode += 1
			Debounce = false
			F.ChangeLight()
			return
		elseif Debounce == false then
			if LIGHT_FADE then
				spawn(function() ToggleLightFade(HL,true,true,false) end)
				spawn(function() ToggleLightFade(TL,true,true) end)
			else
				spawn(function() ToggleLightInstant(HL,true,true,false) end)
				spawn(function() ToggleLightInstant(TL,true,true) end)
			end
		end
	elseif CurrentMode == 2 then
		if Debounce == true then
			CurrentMode += 1
			Debounce = false
			F.ChangeLight()
			return
		elseif Debounce == false then
			if LIGHT_FADE then
				ToggleLightFade(HL,true,true,true)
			else
				ToggleLightInstant(HL,true,true,true)
			end
		end
	elseif CurrentMode == 3 and FOG_LIGHTS then
		if Debounce == true then
			CurrentMode += 1
			Debounce = false
			F.ChangeLight()
			return
		elseif Debounce == false then
			if LIGHT_FADE then
				ToggleLightFade(FL,true,true)
			else
				ToggleLightInstant(FL,true,true)
			end
		end
	elseif CurrentMode == 3 and not FOG_LIGHTS then
		CurrentMode += 1
		Debounce = false
		F.ChangeLight()
	end
end

F.Indicators = function(Type)
	if CurrentIndicators == "Off" then
		BreakINDLoop = false
		CurrentIndicators = Type
	elseif CurrentIndicators == Type then
		BreakINDLoop = true
		return
	elseif CurrentIndicators ~= Type then
		BreakINDLoop = true
		repeat wait() until CurrentIndicators == "Off"
		wait(IND_TICK_TIME)
		spawn(F.Indicators(Type))
		return
	end
	if Type ~= "Hazards" then
		while true do
			ToggleLightInstant(IN[Type],true)

			wait(IND_TICK_TIME)

			ToggleLightInstant(IN[Type],false)
			if not BreakINDLoop then wait(IND_TICK_TIME)
			else BreakINDLoop = false CurrentIndicators = "Off" return end
		end

	elseif Type == "Hazards" then
		while true do
			ToggleLightInstant(IN.Left,true)
			ToggleLightInstant(IN.Right,true)

			wait(IND_TICK_TIME)

			ToggleLightInstant(IN.Left,false)
			ToggleLightInstant(IN.Right,false)
			if not BreakINDLoop then wait(IND_TICK_TIME)
			else BreakINDLoop = false CurrentIndicators = "Off" return end
		end

	end
end

F.RunningLights = function(IsOn)
	if LIGHT_FADE then
		ToggleLightFade(RN,IsOn,false)
	else
		ToggleLightInstant(RN,IsOn,true)
	end
end

F.Braking = function(Value)
	if Value == true then
		if LIGHT_FADE then
			ToggleLightFade(TL,false,false,nil,true)
		else
			ToggleLightInstant(TL,false,false,nil,true)
		end
	else
		if LIGHT_FADE then
			ToggleLightFade(TL,true,false,nil,true)
		else
			ToggleLightInstant(TL,true,false,nil,true)
		end
	end
end

F.Reverse = function(Value)
	if Value == -1 then
		if LIGHT_FADE then
			ToggleLightFade(RL,true,false)
		else
			ToggleLightInstant(RL,true,false)
		end
	else
		if LIGHT_FADE then
			ToggleLightFade(RL,false,false)
		else
			ToggleLightInstant(RL,false,false)
		end
	end
end

F.Setup = function(MainSettingTable,MiscSettingTable,ModelsTable,OtherVariables)
	--Main Settings
	FOG_LIGHTS = MainSettingTable[1]
	LIGHT_FADE = MainSettingTable[2]
	--Miscellaneous Settings
	FADE_TIME = MiscSettingTable[1]
	FADE_TWNSTYLE = MiscSettingTable[2]
	FADE_TWNDIRECTION = MiscSettingTable[3]
	IND_TICK_TIME = MiscSettingTable[4]
	L_BEAM_COLOR = MiscSettingTable[5]
	L_BEAM_RANGE = MiscSettingTable[6]
	L_BEAM_BRIGHTNESS = MiscSettingTable[7]
	H_BEAM_COLOR = MiscSettingTable[8]
	H_BEAM_RANGE = MiscSettingTable[9]
	H_BEAM_BRIGHTNESS = MiscSettingTable[10]
	T_LIGHT_RANGE = MiscSettingTable[11]
	T_LIGHT_BRIGHTNESS = MiscSettingTable[12]
	B_LIGHT_RANGE = MiscSettingTable[13]
	B_LIGHT_BRIGHTNESS = MiscSettingTable[14]
	B_LIGHT_FADE_TIME	= MiscSettingTable[15]
	--Models
	FL = ModelsTable[1]
	HL = ModelsTable[2]
	IN = ModelsTable[3]
	RL = ModelsTable[4]
	RN = ModelsTable[5]
	TL = ModelsTable[6]
	--Other Variables
	CurrentMode = OtherVariables[1]
	Debounce = OtherVariables[2]
	CurrentIndicators = OtherVariables[3]
	BreakINDLoop = OtherVariables[4]
	FadeTweenInfo = TweenInfo.new(FADE_TIME,Enum.EasingStyle[FADE_TWNSTYLE],Enum.EasingDirection[FADE_TWNDIRECTION])
	BrakeFadeInfo = TweenInfo.new(B_LIGHT_FADE_TIME,Enum.EasingStyle[FADE_TWNSTYLE],Enum.EasingDirection[FADE_TWNDIRECTION])

	local function CreateModel(Variable,Indicator)
		local CloneModel = Instance.new("Model",Car.Body)
		if Indicator then
			local LeftModel = Instance.new("Model",CloneModel)
			local RightModel = Instance.new("Model",CloneModel)
			LeftModel.Name = "Left"
			RightModel.Name = "Right"
		end
		return CloneModel
	end
	if FL == nil then FL = CreateModel(FL,false) end
	if HL == nil then HL = CreateModel(HL,false) end
	if IN == nil then IN = CreateModel(IN,true) end
	if RL == nil then RL = CreateModel(RL,false) end
	if RN == nil then RN = CreateModel(RN,false) end
	if TL == nil then TL = CreateModel(TL,false) end
end

script.Parent.OnServerEvent:Connect(function(plr,Fnc,...)
	F[Fnc](...)
end)


Prompt:
--[=[
	@param object any -- Object to track
	@param cleanupMethod string? -- Optional cleanup name override
	@return object: any
	Adds an object to the trove. Once the trove is cleaned or
	destroyed, the object will also be cleaned up.

	The following types are accepted (e.g. `typeof(object)`):

	| Type | Cleanup |
	| ---- | ------- |
	| `Instance` | `object:Destroy()` |
	| `RBXScriptConnection` | `object:Disconnect()` |
	| `function` | `object()` |
	| `thread` | `coroutine.close(object)` |
	| `table` | `object:Destroy()` _or_ `object:Disconnect()` |
	| `table` with `cleanupMethod` | `object:<cleanupMethod>()` |

	Returns the object added.

	```lua
	-- Add a part to the trove, then destroy the trove,
	-- which will also destroy the part:
	local part = Instance.new("Part")
	trove:Add(part)
	trove:Destroy()

	-- Add a function to the trove:
	trove:Add(function()
		print("Cleanup!")
	end)
	trove:Destroy()

	-- Standard cleanup from table:
	local tbl = {}
	function tbl:Destroy()
		print("Cleanup")
	end
	trove:Add(tbl)

	-- Custom cleanup from table:
	local tbl = {}
	function tbl:DoSomething()
		print("Do something on cleanup")
	end
	trove:Add(tbl, "DoSomething")
	```
]=]

Response:
function Trove:Add(object: any, cleanupMethod: string?): any
	local cleanup = GetObjectCleanupFunction(object, cleanupMethod)
	table.insert(self._objects, {object, cleanup})
	return object
end