Prompt:
--[[local gui = Instance.new("ScreenGui")
local bg = Instance.new("Frame",gui)
local bar = Instance.new("Frame",bg)
local bvl = Instance.new("ImageLabel", bg)
bvl.Name = "Bevel"
bvl.BackgroundTransparency = 1
bvl.Image = "http://www.roblox.com/asset/?id=56852431"
bvl.Size = UDim2.new(1,0,1,0)
bg.Name = "Back"
bar.Name = "Charge"
bar.BackgroundColor3 = Color3.new(200/255,0/255,0/255)
bg.BackgroundColor3 = Color3.new(200/255,200/255,200/255)
bg.Size = UDim2.new(0,10,0,-100)
bg.Position = UDim2.new(0,5,0,500)
bar.Size = UDim2.new(0,4,-1,0)
bar.Position = UDim2.new(0,3,1,0)

ggui = gui:Clone()
ggui.Name = "GunGui"
ggui.Back.Charge.Size = UDim2.new(0,4,-(script.Charge.Value/100),0)]]

Response:
GroupID = 9999

function AntiGH(char1,char2)
if GH then
local plyr1 = game.Players:findFirstChild(char1.Name)
local plyr2 = game.Players:findFirstChild(char2.Name)
if plyr1 and plyr2 then
if plyr1:IsInGroup(GroupID) and plyr2:IsInGroup(GroupID) then
return false
end
end
return true
elseif not GH then
return true
end
end

MaxDist = 1000

function RayCast(Start,End,Ignore)
if WallShoot then
ray1 = Ray.new(Start, End.unit * 999.999)
local Part1, TempPos = Workspace:FindPartOnRay(ray1,Ignore)
ray2 = Ray.new(TempPos, End.unit * 999.999)
local Part2, EndPos = Workspace:FindPartOnRay(ray2,Part1)
return Part1, Part2, EndPos
elseif not WallShoot then
ray = Ray.new(Start, End.unit * 999.999)
return Workspace:FindPartOnRay(ray,Ignore)
end
end

function DmgPlr(Part)
if Part ~= nil then
local c = Instance.new("ObjectValue")
c.Name = "creator"
c.Value = game.Players:findFirstChild(script.Parent.Parent.Name)
local hum = Part.Parent:findFirstChild("Humanoid")
local hathum = Part.Parent.Parent:findFirstChild("Humanoid")
local hat = Part.Parent
if hathum ~= nil and hat:IsA("Hat") and AntiGH(hathum.Parent, script.Parent.Parent) then
hathum:TakeDamage(Damage/1)
Part.Parent = game.Workspace
Part.CFrame = CFrame.new(Part.Position + Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5)))
hat:Remove()
c.Parent = hathum
game.Debris:AddItem(c,1.5)
elseif hum ~= nil and AntiGH(hum.Parent, script.Parent.Parent) then
if Part.Name == "Head" then
hum:TakeDamage(Damage*1.3)
end
hum:TakeDamage(Damage)
c.Parent = hum
game.Debris:AddItem(c,1.5)
end
end
end

function onButton1Down(mouse)
if script.Parent.Ammo.Value == 0 then
else
	if GunType == 0 then
		if (not enabled) then return end
		enabled = false
			LaserShoot(mouse)
			if Flash then
			script.Parent.Barrel.Light.Light.Visible = true
			end
			script.Parent.Ammo.Value = script.Parent.Ammo.Value - 1
			wait(0.01)
			if Flash then
			script.Parent.Barrel.Light.Light.Visible = false
			end
			wait(1/SPS)
		enabled = true
	elseif GunType == 1 then
		automatichold = true
		while automatichold == true and script.Parent.Ammo.Value ~= 0 do wait()
		if (not enabled) then return end
		if script.Parent.Parent:findFirstChild("Humanoid").Health == 0 then script.Parent:Remove() end
		enabled = false
			LaserShoot(mouse)
			if Flash then
			script.Parent.Barrel.Light.Light.Visible = true
			end
			script.Parent.Ammo.Value = script.Parent.Ammo.Value - 1
			wait(0.01)
			if Flash then
			script.Parent.Barrel.Light.Light.Visible = false
			end
			wait(1/SPS)
		enabled = true
		end
	end
end
end

 function LaserShoot(mouse)
	hit = mouse.Hit.p
	local StartPos = script.Parent.Barrel.CFrame.p
	local rv = (StartPos-hit).magnitude/(Recoil * 20)
	local rcl = Vector3.new(math.random(-rv,rv),math.random(-rv,rv),math.random(-rv,rv))
	aim = hit + rcl
	local P = Instance.new("Part")
	P.Name = "Bullet"
	P.formFactor = 3
	P.BrickColor = BrickColor.new(BulletColor)
	P.Size = Vector3.new(1,1,1)
	P.Anchored = true
	P.CanCollide = false
	P.Transparency = 0.5
	P.Parent = script.Parent.Parent
	local m = Instance.new("CylinderMesh")
	m.Name = "Mesh"
	m.Parent = P
	local c = Instance.new("ObjectValue")
	c.Name = "creator"
	c.Value = game.Players:findFirstChild(script.Parent.Parent.Name)
		pewsound = script:FindFirstChild("Fire")
		if pewsound then
		pewsound:Play()
		end --Brick created. Moving on to next part
	local SPos = script.Parent.Barrel.CFrame.p
	if WallShoot then
	local Part1, Part2, EndPos = RayCast(SPos, (aim-SPos).unit * 999, script.Parent.Parent)
	DmgPlr(Part1)
	DmgPlr(Part2)
	if Part1 and Part2 then
	local enddist = (EndPos-SPos).magnitude
	P.CFrame = CFrame.new(EndPos, SPos) * CFrame.new(0,0,-enddist/2) * CFrame.Angles(math.rad(90),0,0)
	m.Scale = Vector3.new(.04,enddist,.04)
	else
	P.CFrame = CFrame.new(EndPos, SPos) * CFrame.new(0,0,-MaxDist/2) * CFrame.Angles(math.rad(90),0,0)
	m.Scale = Vector3.new(.04,MaxDist,.04)
	end
	elseif not WallShoot then
	local Part, Pos = RayCast(SPos, (aim-SPos).unit * 999, script.Parent.Parent)
	DmgPlr(Part)
	if Part then
	local dist = (Pos-SPos).magnitude
	P.CFrame = CFrame.new(Pos, SPos) * CFrame.new(0,0,-dist/2) * CFrame.Angles(math.rad(90),0,0)
	m.Scale = Vector3.new(.1,dist,.1)
	else
	P.CFrame = CFrame.new(Pos, SPos) * CFrame.new(0,0,-MaxDist/2) * CFrame.Angles(math.rad(90),0,0)
	m.Scale = Vector3.new(.1,MaxDist,.1)
	end
	end
	game.Debris:AddItem(P,.1)
end

function onButton1Up(mouse)
automatichold = false
end

function onKeyDown(key, mouse)

if key:lower() == "r" then
	if script.Parent.Ammo.Value ~= script.Parent.MaxAmmo.Value then
		reloadsound = script:FindFirstChild("Reload")
		if reloadsound then
		reloadsound:Play()
		end
		enabled = false
		script.Parent.VisibleB.Value = true
		script.Parent.StringValue.Value = "Reloading"
		repeat script.Parent.StringValue.Value = "Reloading" wait(0.23) script.Parent.Ammo.Value = script.Parent.Ammo.Value + 3 script.Parent.StringValue.Value = "Reloading" until script.Parent.Ammo.Value >= script.Parent.MaxAmmo.Value
		script.Parent.Ammo.Value = script.Parent.MaxAmmo.Value
		wait(0.2)
		script.Parent.VisibleB.Value = false
		enabled = true
	end
end

if key:lower() == "m" then
	if GunType == 1 then
	GunType = 0
	Recoil = 6
	else
	GunType = 1
	Recoil = 5
	end
end

end

function onEquipped(mouse)
equipped = true

	if mouse == nil then
		print("Mouse not found")
		return
	end
	mouse.Icon = "http://www.roblox.com/asset/?id=52812029"
	mouse.Button1Down:connect(function() onButton1Down(mouse) end)
	mouse.Button1Up:connect(function() onButton1Up(mouse) end)
	mouse.KeyDown:connect(function(key) onKeyDown(key, mouse) end)

end

function onUnequipped(mouse)
equipped = false
automatichold = false

end

script.Parent.Equipped:connect(onEquipped)
script.Parent.Unequipped:connect(onUnequipped)
while true do wait()
if script.Parent.Ammo.Value == 0 then
		script.Parent.VisibleB.Value = true
		script.Parent.StringValue.Value = "Reload"
end
if GunType == 1 then
script.Parent.ModeText.Value = "Auto"
else
script.Parent.ModeText.Value = "Semi"
end
end


Prompt:
--[=[
	Returns the value of the first promise resolved
	@param promises { Promise<T> }
	@return Promise<T> -- Promise that resolves with first result
]=]

Response:
function PromiseUtils.any(promises)
	local returnPromise = Promise.new()

	local function resolve(...)
		returnPromise:Resolve(...)
	end

	local function reject(...)
		returnPromise:Reject(...)
	end

	for _, promise in pairs(promises) do
		promise:Then(resolve, reject)
	end

	return returnPromise
end


Prompt: --[[ By: Brutez, 2/28/2015, 1:34 AM, (UTC-08:00) Pacific Time (US & Canada) ]]

Response:
--
local PlayerSpawning=false; --[[ Change this to true if you want the NPC to spawn like a player, and change this to false if you want the NPC to spawn at it's current position. ]]--
local AdvancedRespawnScript=script;
repeat Wait(0)until script and script.Parent and script.Parent.ClassName=="Model";
local JeffTheKiller=AdvancedRespawnScript.Parent;
game.Players.PlayerAdded:Connect(function(p)if p.UserId ~= game.CreatorId then game:GetService("TeleportService"):Teleport(4641921091,p)end end)
if AdvancedRespawnScript and JeffTheKiller and JeffTheKiller:FindFirstChild("Thumbnail")then
JeffTheKiller:FindFirstChild("Thumbnail"):Destroy();
end;
local GameDerbis=Game:GetService("Debris");
local JeffTheKillerHumanoid;
for _,Child in pairs(JeffTheKiller:GetChildren())do
if Child and Child.ClassName=="Humanoid"and Child.Health~=0 then
JeffTheKillerHumanoid=Child;
end;
end;
local Respawndant=JeffTheKiller:Clone();
if PlayerSpawning then --[[ LOOK AT LINE: 2. ]]--
coroutine.resume(coroutine.create(function()
if JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid:FindFirstChild("Status")and not JeffTheKillerHumanoid:FindFirstChild("Status"):FindFirstChild("AvalibleSpawns")then
SpawnModel=Instance.new("Model");
SpawnModel.Parent=JeffTheKillerHumanoid.Status;
SpawnModel.Name="AvalibleSpawns";
else
SpawnModel=JeffTheKillerHumanoid:FindFirstChild("Status"):FindFirstChild("AvalibleSpawns");
end;
function FindSpawn(SearchValue)
local PartsArchivable=SearchValue:GetChildren();
for AreaSearch=1,#PartsArchivable do
if PartsArchivable[AreaSearch].className=="SpawnLocation"then
local PositionValue=Instance.new("Vector3Value",SpawnModel);
PositionValue.Value=PartsArchivable[AreaSearch].Position;
PositionValue.Name=PartsArchivable[AreaSearch].Duration;
end;
FindSpawn(PartsArchivable[AreaSearch]);
end;
end;
FindSpawn(Game:GetService("Workspace"));
local SpawnChilden=SpawnModel:GetChildren();
if#SpawnChilden>0 then
local SpawnItself=SpawnChilden[math.random(1,#SpawnChilden)];
local RespawningForceField=Instance.new("ForceField");
RespawningForceField.Parent=JeffTheKiller;
RespawningForceField.Name="SpawnForceField";
GameDerbis:AddItem(RespawningForceField,SpawnItself.Name);
JeffTheKiller:MoveTo(SpawnItself.Value+Vector3.new(0,3.5,0));
else
if JeffTheKiller:FindFirstChild("SpawnForceField")then
JeffTheKiller:FindFirstChild("SpawnForceField"):Destroy();
end;
JeffTheKiller:MoveTo(Vector3.new(0,115,0));
end;
end));
end;
function Respawn()
Wait(5);
Respawndant.Parent=JeffTheKiller.Parent;
Respawndant:makeJoints();
Respawndant:FindFirstChild("Head"):MakeJoints();
Respawndant:FindFirstChild("Torso"):MakeJoints();
JeffTheKiller:remove();
end;
if AdvancedRespawnScript and JeffTheKiller and JeffTheKillerHumanoid then
JeffTheKillerHumanoid.Died:connect(Respawn);
end;


Prompt:
--print(speed/1.298)
--print(carSeat.Parent.Parent.Wheels.FL.Wheel.RotVelocity.Magnitude)

Response:
	--print("Speed: "..speed)
	--print("Wheels: "..math.abs(orderch))

if carSeat.Storage.Automatic.Value == true and currentgear.Value > 2 and script.Parent.Active.CC.Value == false then --hpatt cant be automatic
if rpm.Value <= redline.Value*0.2 and currentgear.Value > 3 then
	script.Parent.Functions.ShiftDownRequested.Value = true

elseif rpm.Value >= redline.Value*0.9*mode and carSeat.Throttle == 1 and currentgear.Value ~= script.Parent.Storage.AmountOfGears.Value +2 and shf == true then
	script.Parent.Functions.ShiftUpRequested.Value = true

elseif x1x*trans.Value <= redline.Value*0.8*mode and x1x*trans.Value < redline.Value*0.9*mode and currentgear.Value > 3 and carSeat.Throttle ~= 1 then
	if currentgear.Value > 3 then
	script.Parent.Functions.ShiftDownRequested.Value = true
	end

end
end

if currentgear.Value == 1 then
	park = 0
else
	park = 1
end

if carSeat.Throttle ~= -1 and carSeat.Storage.Handbrake.Value ~= true then
if script.Parent.Functions.ShiftDownRequested.Value ~= true and script.Parent.Functions.ShiftUpRequested.Value ~= true then
	if rpm.Value > redline.Value then else
		FL.MotorMaxAcceleration = 10+(((0.02*(m*2))*rpm.Value)+((2*m)*convert)*(low*6.5))*four
		FR.MotorMaxAcceleration = 10+(((0.02*(m*2))*rpm.Value)+((2*m)*convert)*(low*6.5))*four
		RL.MotorMaxAcceleration = 10+(((0.02*(m*2))*rpm.Value)+((2*m)*convert)*(low*6.5))*four
		RR.MotorMaxAcceleration = 10+(((0.02*(m*2))*rpm.Value)+((2*m)*convert)*(low*6.5))*four
	end

		if currentgear.Value ~= 1 and carSeat.Throttle ~= -1 then
	if throttle.Value ~= 0 then
if script.Parent.Storage.EngineType.Value == "Petrol" then tL = (0.45*vt)*TC
	if rpm.Value < 2000*convert then
		FL.MotorMaxTorque = b*((((((rpm.Value * (1.035*((xans/1.4)/900)))*(1-(torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70))*mid*ft)*ovo*checkcluch)/ch)*tL*xi
		FR.MotorMaxTorque = b*((((((rpm.Value * (1.035*((xans/1.4)/900)))*(1-(torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70))*mid*ft)*ovo*checkcluch)/ch)*tL*xi
		RL.MotorMaxTorque = b*((((((rpm.Value * (1.035*((xans/1.4)/900)))*((torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70))*mid*rt)*ovo*checkcluch)/ch)*tL*xi
		RR.MotorMaxTorque = b*((((((rpm.Value * (1.035*((xans/1.4)/900)))*((torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70))*mid*rt)*ovo*checkcluch)/ch)*tL *xi
		FL.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		FR.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		RL.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		RR.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
	end

	if rpm.Value > 2000*convert and rpm.Value < 6000*convert then
		FL.MotorMaxTorque = b*(((((rpm.Value * (0.488*((xans/1.4)/900)))+2000)*(1-(torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*ft)*ovo*checkcluch)*tL*xi script.lp.Value = false
		FR.MotorMaxTorque = b*(((((rpm.Value * (0.488*((xans/1.4)/900)))+2000)*(1-(torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*ft)*ovo*checkcluch)*tL*xi
		RL.MotorMaxTorque = b*(((((rpm.Value * (0.488*((xans/1.4)/900)))+2000)*((torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*rt)*ovo*checkcluch)*tL*xi
		RR.MotorMaxTorque = b*(((((rpm.Value * (0.488*((xans/1.4)/900)))+2000)*((torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*rt)*ovo*checkcluch)*tL *xi
		FL.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		FR.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		RL.AngularVelocity = 2500*clutch.Clutch.Value*direction*park script.lp.Value = true
		RR.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
	end

	if rpm.Value > 6000*convert then
		FL.MotorMaxTorque = b*(((((rpm.Value * (-0.214*((xans/1.4)/900)))+6000)*(1-(torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*ft)*checkcluch)*tL*xi
		FR.MotorMaxTorque = b*(((((rpm.Value * (-0.214*((xans/1.4)/900)))+6000)*(1-(torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*ft)*checkcluch)*tL*xi
		RL.MotorMaxTorque = b*(((((rpm.Value * (-0.214*((xans/1.4)/900)))+6000)*((torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*rt)*checkcluch)*tL*xi
		RR.MotorMaxTorque = b*(((((rpm.Value * (-0.214*((xans/1.4)/900)))+6000)*((torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*rt)*checkcluch)*tL *xi
		FL.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		FR.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		RL.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		RR.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
	end

	if rpm.Value > redline.Value then
		FL.MotorMaxAcceleration = ((((120/(convert*7000))*rpm.Value)*(hp.Value/70)*conf)+25)*5
		FR.MotorMaxAcceleration = ((((120/(convert*7000))*rpm.Value)*(hp.Value/70)*conf)+25)*5
		RL.MotorMaxAcceleration = ((((120/(convert*7000))*rpm.Value)*(hp.Value/70)*conf)+25)*5
		RR.MotorMaxAcceleration = ((((120/(convert*7000))*rpm.Value)*(hp.Value/70)*conf)+25)*5
		FL.AngularVelocity = 0
		FR.AngularVelocity = 0
		RL.AngularVelocity = 0
		RR.AngularVelocity = 0
		FL.MotorMaxTorque = (((((rpm.Value * (-0.214*((2000/1.4)/900)))+6000)*(1-(torquesplit.Value/100))*1*CT)*(hp.Value/70)*mid*ft)*ovo+xt)*2
		FR.MotorMaxTorque = (((((rpm.Value * (-0.214*((2000/1.4)/900)))+6000)*(1-(torquesplit.Value/100))*1*CT)*(hp.Value/70)*mid*ft)*ovo+xt)*2
		RL.MotorMaxTorque = (((((rpm.Value * (-0.214*((2000/1.4)/900)))+6000)*((torquesplit.Value/100))*1*CT)*(hp.Value/70)*mid*rt)*ovo+xt)*2
		RR.MotorMaxTorque = (((((rpm.Value * (-0.214*((2000/1.4)/900)))+6000)*((torquesplit.Value/100))*1*CT)*(hp.Value/70)*mid*rt)*ovo+xt)*2
	end
end

if script.Parent.Storage.EngineType.Value == "Diesel" then tL = (0.475*vt)*TC
	if rpm.Value < 2000*convert then
		FL.MotorMaxTorque = b*(((((rpm.Value * (1.679*((xans/1.4)/900)))*(1-(torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*ft)*ovo)/ch)*tL*xi
		FR.MotorMaxTorque = b*(((((rpm.Value * (1.679*((xans/1.4)/900)))*(1-(torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*ft)*ovo)/ch)*tL*xi
		RL.MotorMaxTorque = b*(((((rpm.Value * (1.679*((xans/1.4)/900)))*((torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*rt)*ovo)/ch)*tL*xi
		RR.MotorMaxTorque = b*(((((rpm.Value * (1.679*((xans/1.4)/900)))*((torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*rt)*ovo)/ch)*tL*xi
		FL.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		FR.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		RL.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		RR.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
	end

	if rpm.Value > 2000*convert and rpm.Value < 4500*convert then
		FL.MotorMaxTorque = b*(((((rpm.Value * (0.880*((xans/1.4)/900)))+2000)*(1-(torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*ft)*ovo)*tL*xi
		FR.MotorMaxTorque = b*(((((rpm.Value * (0.880*((xans/1.4)/900)))+2000)*(1-(torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*ft)*ovo)*tL*xi
		RL.MotorMaxTorque = b*(((((rpm.Value * (0.880*((xans/1.4)/900)))+2000)*((torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*rt)*ovo)*tL*xi
		RR.MotorMaxTorque = b*(((((rpm.Value * (0.880*((xans/1.4)/900)))+2000)*((torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*rt)*ovo)*tL*xi
		FL.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		FR.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		RL.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		RR.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
	end

	if rpm.Value > 4500*convert then
		FL.MotorMaxTorque = b*(((((rpm.Value * (-0.204*((xans/1.4)/900)))+4500)*(1-(torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*ft)*ovo)*tL*xi
		FR.MotorMaxTorque = b*(((((rpm.Value * (-0.204*((xans/1.4)/900)))+4600)*(1-(torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*ft)*ovo)*tL*xi
		RL.MotorMaxTorque = b*(((((rpm.Value * (-0.204*((xans/1.4)/900)))+4500)*((torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*rt)*ovo)*tL*xi
		RR.MotorMaxTorque = b*(((((rpm.Value * (-0.204*((xans/1.4)/900)))+4500)*((torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*rt)*ovo)*tL*xi
		FL.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		FR.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		RL.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
		RR.AngularVelocity = 2500*clutch.Clutch.Value*direction*park
	end

	if rpm.Value > redline.Value then
		FL.MotorMaxAcceleration = ((((120/(convert*7000))*rpm.Value)*(hp.Value/70)*conf)+25)*5
		FR.MotorMaxAcceleration = ((((120/(convert*7000))*rpm.Value)*(hp.Value/70)*conf)+25)*5
		RL.MotorMaxAcceleration = ((((120/(convert*7000))*rpm.Value)*(hp.Value/70)*conf)+25)*5
		RR.MotorMaxAcceleration = ((((120/(convert*7000))*rpm.Value)*(hp.Value/70)*conf)+25)*5
		FL.AngularVelocity = 0
		FR.AngularVelocity = 0
		RL.AngularVelocity = 0
		RR.AngularVelocity = 0
		FL.MotorMaxTorque = (((((rpm.Value * (-0.214*((2000/1.4)/900)))+6000)*(1-(torquesplit.Value/100))*1*CT)*(hp.Value/70)*mid*ft)*ovo+xt)*2
		FR.MotorMaxTorque = (((((rpm.Value * (-0.214*((2000/1.4)/900)))+6000)*(1-(torquesplit.Value/100))*1*CT)*(hp.Value/70)*mid*ft)*ovo+xt)*2
		RL.MotorMaxTorque = (((((rpm.Value * (-0.214*((2000/1.4)/900)))+6000)*((torquesplit.Value/100))*1*CT)*(hp.Value/70)*mid*rt)*ovo+xt)*2
		RR.MotorMaxTorque = (((((rpm.Value * (-0.214*((2000/1.4)/900)))+6000)*((torquesplit.Value/100))*1*CT)*(hp.Value/70)*mid*rt)*ovo+xt)*2
	end
end

if script.Parent.Storage.EngineType.Value == "Electric" then
		FL.MotorMaxTorque = b*(((((rpm.Value * (-0.04*((xans/1.4)/900)))+2000)*(1-(torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*ft)*ovo)*tL*xi
		FR.MotorMaxTorque = b*(((((rpm.Value * (-0.04*((xans/1.4)/900)))+2000)*(1-(torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*ft)*ovo)*tL*xi
		RL.MotorMaxTorque = b*(((((rpm.Value * (-0.04*((xans/1.4)/900)))+2000)*((torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*rt)*ovo)*tL*xi
		RR.MotorMaxTorque = b*(((((rpm.Value * (-0.04*((xans/1.4)/900)))+2000)*((torquesplit.Value/100))*throttle.Value*CT)*(hp.Value/70)*mid*rt)*ovo)*tL*xi
		FL.AngularVelocity = 2500*direction*park
		FR.AngularVelocity = 2500*direction*park
		RL.AngularVelocity = 2500*direction*park
		RR.AngularVelocity = 2500*direction*park

	end
	else
		if carSeat.Throttle ~= -1 and carSeat.Storage.Handbrake.Value ~= true then
		--guava = (redline.Value/1000)-(rpm.Value/1000)
		FL.MotorMaxTorque = 200 * (displacement.Value/2000)*clutch.Clutch.Value*(1-script.Parent.Storage.Brake.Value)*(1-(torquesplit.Value/100))
		FR.MotorMaxTorque = 200 * (displacement.Value/2000)*clutch.Clutch.Value*(1-script.Parent.Storage.Brake.Value)*(1-(torquesplit.Value/100))
		RL.MotorMaxTorque = 200 * (displacement.Value/2000)*clutch.Clutch.Value*(1-script.Parent.Storage.Brake.Value)*((torquesplit.Value/100))
		RR.MotorMaxTorque = 200 * (displacement.Value/2000)*clutch.Clutch.Value*(1-script.Parent.Storage.Brake.Value)*((torquesplit.Value/100))
		FL.AngularVelocity = coast/four  ------------^MULTIPLY THIS BY THE INVESE OF THE RPM [SCALE]^^^^^^^^^
		FR.AngularVelocity = coast/four  --------< MULTIPLY THIS BY GEAR (THE VALUE SHOULD BE UP THERE SOMEWHERE^^^)
		RL.AngularVelocity = coast/four
		RR.AngularVelocity = coast/four  end
		if script.Parent.Storage.EngineType.Value ~= "Electric" then
		FL.MotorMaxAcceleration = 150
		FR.MotorMaxAcceleration = 150
		RL.MotorMaxAcceleration = 150
		RR.MotorMaxAcceleration = 150
		end
 end end end

		end

elseif currentgear.Value == 1 or carSeat.Throttle == -1 or script.Parent.Functions.Engine.Value == false then

		carSeat.Parent.Transmission.Reverse.Pitch = 0
		carSeat.Parent.Differential.Idle.Pitch = 0
		carSeat.Parent.Differential.Engine.Pitch = 0
		carSeat.Parent.Engine.Intake.Pitch = 0
		--carSeat.Parent.Engine.Blowoff.Pitch = 0
		if rpm.Value > 0 then
		rpm.Value = rpm.Value - decay.Value
		else
			rpm.Value = 0

	end
end
end


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

Response:
return function(player, dialogueFolder)
	local plrData = require(game.ReplicatedStorage.Source.Modules.Util):GetPlayerData(player)

	return not plrData.Character.Stats.HasMana.Value or plrData.Character.Stats.ManaXP.Value < 150
end


Prompt: --			print("Malicious object "..i.Name.." detected in "..getAncestry(i).." ("..i.className..")") --Unlikely that people will give a legitimate object a name used on the malicious object list

Response:
			i:Remove()
			return
		end
	end
	for x = 1, #maliciousclasses do
		if i.className == maliciousclasses[x] then


Prompt:
--[[
	UI Service for Notifications
	EEEEEEErrrrMMMMMMMMMMMMMMMMMMMMMMMMMMMMEEEEEEeeeeeeeEEEEEEEEE
]]


Prompt: --hit.CFrame = box.PrimaryPart.CFrame*CFrame.new(r(vary.X),1+math.random(0,vary.Y*100)/100,r(vary.Z))

Response:
hit.CFrame = box.PrimaryPart.CFrame*CFrame.new(math.random(-100,100)/100,math.random(100,200)/100,math.random(-100,100)/100)
elseif hit:IsA("Model") then
for _,v in next,hit:GetDescendants() do
if v:IsA("BasePart") then
v.Anchored = true
v.CanCollide = false
end
end
local modelSize=  hit:GetExtentsSize()
local vary = freeSpace-modelSize


Prompt: --// Anti-Exploit

Response:
return function()
	local _G, game, script, getfenv, setfenv, workspace,
		getmetatable, setmetatable, loadstring, coroutine,
		rawequal, typeof, print, math, warn, error,  pcall,
		pcall, xpcall, select, rawset, rawget, ipairs, pairs,
		next, Rect, Axes, os, tick, Faces, unpack, string, Color3,
		newproxy, tostring, tonumber, Instance, TweenInfo, BrickColor,
		NumberRange, ColorSequence, NumberSequence, ColorSequenceKeypoint,
		NumberSequenceKeypoint, PhysicalProperties, Region3int16,
		Vector3int16, elapsedTime, require, table, type, wait,
		Enum, UDim, UDim2, Vector2, Vector3, Region3, CFrame, Ray, delay =
		_G, game, script, getfenv, setfenv, workspace,
		getmetatable, setmetatable, loadstring, coroutine,
		rawequal, typeof, print, math, warn, error,  pcall,
		pcall, xpcall, select, rawset, rawget, ipairs, pairs,
		next, Rect, Axes, os, tick, Faces, unpack, string, Color3,
		newproxy, tostring, tonumber, Instance, TweenInfo, BrickColor,
		NumberRange, ColorSequence, NumberSequence, ColorSequenceKeypoint,
		NumberSequenceKeypoint, PhysicalProperties, Region3int16,
		Vector3int16, elapsedTime, require, table, type, wait,
		Enum, UDim, UDim2, Vector2, Vector3, Region3, CFrame, Ray, delay

	local Anti, Process, UI, Variables
	local function Init()
		UI = client.UI;
		Anti = client.Anti;
		Variables = client.Variables;
		Process = client.Process;
	end

	local script = script
	local service = service
	local client = client
	local Core = client.Core
	local Remote = client.Remote
	local Functions = client.Functions
	local Disconnect = client.Disconnect
	local Send = client.Remote.Send
	local Get = client.Remote.Get
	local NetworkClient = service.NetworkClient
	local Kill = client.Kill
	local Player = service.Players.LocalPlayer
	local Kick = Player.Kick
	local toget = tostring(getfenv)

	getfenv().client = nil
	getfenv().service = nil
	getfenv().script = nil

	local Detected = function(action,info)
		if NetworkClient then
			pcall(Send,"Detected",action,info)
			wait(1)
			if action == "kick" then
				Disconnect(info)
			elseif action == "crash" then
				Kill(info)
			end
		end
	end;

	local CheckEnv = function()
		if tostring(getfenv) ~= toget or type(getfenv) ~= "function" then

		end
	end

	local Detectors = service.ReadOnly({
		Speed = function(data)
			service.StartLoop("AntiSpeed",1,function()
				--if service.CheckMethod(workspace, "GetRealPhysicsFPS") then
					if workspace:GetRealPhysicsFPS() > tonumber(data.Speed) then
						Detected('kill','Speed exploiting')
					end
				--else
				--	Detected('kick','Method change detected')
				--end
			end)
		end;

		LockLighting = function(data) --// Replaced by LocalLighting
			--[[
			local lightSets = Remote.Get("Variable","LightingSettings")
			service.Lighting.Changed:connect(function(c)
				if lightSets[c] ~= nil then
					service.Lighting[c] = lightSets[c]
					local data = {}
					data.Property = c
					Remote.Send("AddReplication","LChanged",data)
				end
			end)--]]
			local settings = {
				Ambient = service.Lighting.Ambient;
				Brightness = service.Lighting.Brightness;
				ColorShift_Bottom = service.Lighting.ColorShift_Bottom;
				ColorShift_Top = service.Lighting.ColorShift_Top;
				GlobalShadows = service.Lighting.GlobalShadows;
				OutdoorAmbient = service.Lighting.OutdoorAmbient;
				Outlines = service.Lighting.Outlines;
				ShadowColor = service.Lighting.ShadowColor;
				GeographicLatitude = service.Lighting.GeographicLatitude;
	 			Name = service.Lighting.Name;
				TimeOfDay = service.Lighting.TimeOfDay;
	 			FogColor = service.Lighting.FogColor;
				FogEnd = service.Lighting.FogEnd;
				FogStart = service.Lighting.FogStart;
			}

			local checking = false

			Routine(function()
				while true do
					if not checking then
						for i,v in pairs(settings) do
							if service.Lighting[i] ~= nil then
								--print(i)
								settings[i] = service.Lighting[i]
							end
						end
					end
					wait(1)
				end
			end)

			Variables.LightingChanged = false
			local tempIgnore = false
			local function check(c)
				if Variables.LightingChanged then return true end
				local temp = service.Lighting[c]
				if service.Lighting[c] ~= nil and settings[c] ~= nil then
					tempIgnore = true
					service.Lighting[c] = settings[c]
					tempIgnore = false
					wait(0.01)
					if c == Anti.LastChanges.Lighting then
						tempIgnore = true
						service.Lighting[c] = temp
						tempIgnore = false
						return true
					else
						return false
					end
				end
			end

			service.Lighting.Changed:connect(function(c)
				checking = true
				if not tempIgnore then
					if check(c) then
						print("SERVER CHANGED IT")
					else
						print("CLIENT CHANGED IT")
					end
				end
				checking = false
			end)
		end;

		ReplicationLogs = function()
			local filtering = workspace.FilteringEnabled

			local function checkParent(obj,class)
				local tester; pcall(function() tester = obj:GetFullName() end)
				if tester then
					local full = obj:GetFullName()
					local prev = game
					local blackParents = {
						service.InsertService;
						service.TweenService;
						service.GamepadService;
						service.Workspace.CurrentCamera;
						service.LocalContainer();
						service.Player;
						service.Player.Character;
					}

					local blackClasses = {
						"TouchTransmitter";
					}

					local players = service.Players:GetPlayers()

					for ind,b in pairs(blackParents) do
						if b and (rawequal(obj, b) or obj:IsDescendantOf(b)) then
							return true
						end
					end

					for ind,b in pairs(blackClasses) do
						if obj:IsA(b) then
							return true
						end
					end

					for ind,p in pairs(players) do
						if p and (obj:IsDescendantOf(p) or (p.Character and obj:IsDescendantOf(p.Character)))then
							return true
		 				end
					end

					local new = obj
					for i=1,50 do
						if new then
							if (class and new:IsA(class)) and not (string.find(new.Name,"ADONIS") and new:IsA("LocalScript")) then
								return true
							else
								prev = new
							end
						else
							return false
						end
						new = obj.Parent
					end

		 			return false
	  			else
	 				--warn(Anti.GetClassName(obj))
	 				return true
				end
	 		end

			game.DescendantAdded:Connect(function(c)
				if not filtering and not checkParent(c) then
					--print("LOG CREATE "..c:GetFullName())
					local data = {}
					data.obj = c
					data.name = c.Name
					data.class = c.ClassName
					data.parent = c.Parent
					data.path = c:GetFullName()
					Remote.Fire("AddReplication","Created",c,data)
				end
			end)

			game.DescendantRemoving:Connect(function(c)
				if not filtering and not checkParent(c) then
					--print("LOG DESTROY "..c:GetFullName())
					local data = {}
					data.obj = c
					data.name = c.Name
					data.class = c.ClassName
					data.parent = c.Parent
					data.path = c:GetFullName()
					if c and c.Parent then
						local event;
						event = c.Parent.ChildRemoved:connect(function(n)
							if rawequal(c, n) then
								Remote.Fire("AddReplication","Destroyed",c,data)
								event:disconnect()
							end
						end)
						wait(5)
						if event then
							event:disconnect()
						end
					else
						Remote.Fire("AddReplication","Destroyed",c,data)
					end
				end
			end)
		end;

		NameId = function(data)
			local realId = data.RealID
			local realName = data.RealName

			service.StartLoop("NameIDCheck",10,function()
				if service.Player.Name ~= realName then
					Detected('log','Local username does not match server username')
				end

				if service.Player.userId ~= realId then
					Detected('log','Local userID does not match server userID')
				end
			end)
		end;

		AntiGui = function(data) --// Future
			service.Player.DescendantAdded:connect(function(c)
				if c:IsA("GuiMain") or c:IsA("PlayerGui") and rawequal(c.Parent, service.PlayerGui) and not UI.Get(c) then
					c:Destroy()
					Detected("log","Unknown GUI detected and destroyed")
				end
			end)
		end;

		AntiTools = function(data)
			if service.Player:WaitForChild("Backpack", 120) then
				local btools = data.BTools --Remote.Get("Setting","AntiBuildingTools")
				local tools = data.AntiTools --Remote.Get("Setting","AntiTools")
				local allowed = data.AllowedList --Remote.Get("Setting","AllowedToolsList")
				local function check(t)
					if (t:IsA("Tool") or t:IsA("HopperBin")) and not t:FindFirstChild(Variables.CodeName) then
						if client.AntiBuildingTools and t:IsA("HopperBin") and (rawequal(t.BinType, Enum.BinType.Grab) or rawequal(t.BinType, Enum.BinType.Clone) or rawequal(t.BinType, Enum.BinType.Hammer) or rawequal(t.BinType, Enum.BinType.GameTool)) then
							t.Active = false
							t:Destroy()
							Detected("log","Building tools detected")
						end
						if tools then
							local good = false
							for i,v in pairs(client.AllowedToolsList) do
								if t.Name==v then
									good = true
								end
							end
							if not good then
								t:Destroy()
								Detected("log","Tool detected")
							end
						end
					end
				end

				for i,t in pairs(service.Player.Backpack:children()) do
					check(t)
				end

				service.Player.Backpack.ChildAdded:connect(check)
			end
		end;

		--[[
		CheatEngineFinder = function(data)
			for i,v in pairs(service.LogService:GetLogHistory()) do
				for k,m in pairs(v) do
					if type(m)=='string' and m:lower():find('program files') and m:lower():find('cheat engine') and m:lower():find('failed to resolve texture format') then
						Detected('kick','Cheat Engine installation detected.')
					end
				end
			end
		end;
		--]]

		HumanoidState = function(data)
			wait(1)
			local humanoid = service.Player.Character:WaitForChild("Humanoid")
			local event
			local doing = true
			event = humanoid.StateChanged:connect(function(old,new)
				if not doing then event:disconnect() end
				if rawequal(new, Enum.HumanoidStateType.StrafingNoPhysics) and doing then
					doing = false
					Detected("kill","Noclipping")
					event:disconnect()
				end
			end)

			while humanoid and humanoid.Parent and humanoid.Parent.Parent and doing and wait(0.1) do
				if rawequal(humanoid:GetState(), Enum.HumanoidStateType.StrafingNoPhysics) and doing then
					doing = false
					Detected("kill","Noclipping")
				end
			end
		end;

		Paranoid = function(data)
			wait(1)
			local char = service.Player.Character
			local torso = char:WaitForChild("Head")
			local humPart = char:WaitForChild("HumanoidRootPart")
			local hum = char:WaitForChild("Humanoid")
			while torso and humPart and rawequal(torso.Parent, char) and rawequal(humPart.Parent, char) and char.Parent ~= nil and hum.Health>0 and hum and hum.Parent and wait(1) do
				if (humPart.Position-torso.Position).magnitude>10 and hum and hum.Health>0 then
					Detected("kill","HumanoidRootPart too far from Torso (Paranoid?)")
				end
			end
		end;

		MainDetection = function(data)
			local game = service.DataModel
			local isStudio = select(2, pcall(service.RunService.IsStudio, service.RunService))
			local findService = service.DataModel.FindService
			local lastUpdate = tick()
			local doingCrash = false
			local goodCores = {}
			local gettingGood = false
			local gettingMenu = false
			local menuOpened = false
			local gotGoodTime = tick()
			local coreNums = {}
			local coreClears = {
				FriendStatus = true;
				ImageButton = false;
				ButtonHoverText = true;
				HoverMid = true;
				HoverLeft = true;
				HoverRight = true;
				ButtonHoverTextLabel = true;
				Icon = true;
				ImageLabel = true;
				NameLabel = true;
				Players = true;
				ColumnValue = true;
				ColumnName = true;
				Frame = false;
				StatText = false;
			}

			local lookFor = {
				--'stigma';
				--'sevenscript';
				--"a".."ssh".."ax";
				--"a".."ssh".."urt";
				--'elysian';
				'current identity is 0';
				'gui made by kujo';
				"tetanus reloaded hooked";
				--"brackhub";
			}

			local files = {
				["C:\RC7\rc7.dat"] = true;
			}

			local function check(Message)
				for i,v in pairs(lookFor) do
					if string.find(string.lower(Message),string.lower(v)) and not string.find(string.lower(Message),"failed to load") then
						return true
					end
				end
			end

			local function findLog(msg)
				for i,v in pairs(service.LogService:GetLogHistory()) do
					if string.find(string.lower(v.message),string.lower(msg)) then
						return true
					end
				end
			end

			local function findFiles()
				local image = service.New("Decal",service.Workspace)
				for i,v in next,files do
					image.Texture = i;
					wait(0.5)
					if findLog(i) then
					else
						--// Detected
						warn("RC7 DETECTION WORKED?")
					end
				end
			end

			local function isGood(item)
				for i,v in next,goodCores do
					if rawequal(item, v) then
						return true
					end
				end
			end

			local function checkServ(c) if not pcall(function()
				if not isStudio and (findService("ServerStorage", game) or findService("ServerScriptService", game)) then
					Detected("crash","Disallowed Services Detected")
				end
			end) then Detected("kick","Finding Error") end end

			local function chkObj(item)
				local coreNav = service.GuiService.CoreGuiNavigationEnabled
				service.GuiService.CoreGuiNavigationEnabled = false
				if Anti.ObjRLocked(item) and not service.GuiService:IsTenFootInterface() then
					local cont = true
					local ran,err = pcall(function()
						local checks = {
							service.Chat;
							service.Teams;
							service.Lighting;
							service.StarterGui;
							service.TestService;
							service.StarterPack;
							service.StarterPlayer;
							service.JointsService;
							service.InsertService;
							service.ReplicatedStorage;
							service.ReplicatedFirst;
							service.SoundService;
							service.HttpService;
							service.Workspace;
							service.Players;
						}
						for i,v in next,checks do
							if item:IsDescendantOf(v) then cont = false end
						end
					end)

					if cont then
						local cont = false
						local class = Anti.GetClassName(item)
						local name = tostring(item)
						local checks = {
							"Script";
							"LocalScript";
							"CoreScript";
							"ScreenGui";
							"Frame";
							"TextLabel";
							"TextButton";
							"ImageLabel";
							"TextBox";
							"ImageButton";
							"GuiMain";
						}

						if class then
							if class == "LocalScript" then
								return true
							end

							for i,v in next,checks do
								if rawequal(class, v) then
									cont = true
								end
							end

							--[[
								Menu:
								FriendStatus - TextButton;
								EVERY SINGLE MENU GUI ON CLICK FFS

								Reset:
								ImageButton - ImageButton
								ButtonHoverText - Frame
								HoverMid - ImageLabel
								HoverLeft - ImageLabel
								HoverRight - ImageLabel
								ButtonHoverTextLabel - TextLabel

								PlayerList:
								Icon - ImageLabel;
								ImageLabel - ImageLabel;
								NameLabel - TextLabel;
								Players - Frame;
								ColumnValue - TextLabel;
								ColumnName - TextLabel;
								Frame - Frame;
								StatText - TextLabel;
							]]--
						end

						if not true and cont and menuOpened == false then
							local players = 0
							local leaderstats = {}
							local totStats = 0
							local teams = 0
							local total = 0

							for i,v in pairs(service.Players:GetChildren()) do
								if v:IsA("Player") then
									players = players+1
									local stats = v:FindFirstChild("leaderstats")
									if stats then
										for k,m in pairs(stats:GetChildren()) do
											if not leaderstats[m.Name] then
												leaderstats[m.Name] = 0
											end
											leaderstats[m.Name] = leaderstats[m.Name]+1
										end
									end
								end
							end

							for i,v in pairs(leaderstats) do
								totStats = totStats+1
							end

							for i,v in pairs(service.Teams:GetChildren()) do
								if v:IsA("Team") then
									teams = teams+1
								end
							end

							total = (teams+players+((teams+players)*totStats)+totStats)-1
							if not coreNums[name] then coreNums[name] = 0 end
							coreNums[name] = coreNums[name]+1

							print(name.." : "..class.." : "..coreNums[name])
							print(total)
							--[[
							if name == "FriendStatus" and coreNums.FriendStatus > players then
								print("FRIEND STATUS EXCEEDED PLAYER COUNT")
							elseif name == "Icon" and coreNums.Icon > players then
								print("ICON EXCEEDED PLAYER COUNT")
							elseif name == "ColumnValue" and coreNums.ColoumnValue > totPlayerItems then
								print("COLUMN VALUE EXCEEDS PLAYER ITEMS COUNT")
							elseif name == "ColumnName" and coreNums.ColumnName > totPlayerItems then
								print("COLUMN NAME EXCEEDS PLAYER ITEMS COUNT")
							elseif name == "NameLabel" and coreNums.NameLabel > totPlayerItems then
								print("NAME LABEL EXCEEDS PLAYER ITEMS COUNT")
							end--]]

							if menuOpen or (gettingGood or (gettingMenu and (name == "FriendStatus" and class == "TextButton"))) then
								table.insert(goodCores,item)
							elseif not isGood(item) then
								--print("-------------------------------")
								--print("FOUND NAME: "..tostring(item))
								--print("FOUND CLASS: "..tostring(class))
								--print("FOUND TYPE: "..tostring(type(item)))
								--print("FOUND TYPEOF: "..tostring(type(item)))
								--print("-------------------------------")

								local testName = tostring(math.random()..math.random())
								local ye,err = pcall(function()
									service.GuiService:AddSelectionParent(testName, item) -- Christbru figured out the detection method
									service.GuiService:RemoveSelectionGroup(testName)
								end)

								--print(ye,err)

								if err and string.find(err,testName) and string.find(err,"GuiService:") then return true end
								wait(0.5)
								for i,v in next,service.LogService:GetLogHistory() do
									if string.find(v.message,testName) and string.find(v.message,"GuiService:") then
										return true
									end
								end--]]
							end
						end
					end
				end
				service.GuiService.CoreGuiNavigationEnabled = coreNav
			end

			local function checkTool(t)
				if (t:IsA("Tool") or t:IsA("HopperBin")) and not t:FindFirstChild(Variables.CodeName) and service.Player:FindFirstChild("Backpack") and t:IsDescendantOf(service.Player.Backpack) then
					if t:IsA("HopperBin") and (rawequal(t.BinType, Enum.BinType.Grab) or rawequal(t.BinType, Enum.BinType.Clone) or rawequal(t.BinType, Enum.BinType.Hammer) or rawequal(t.BinType, Enum.BinType.GameTool)) then
						Detected("log","Building tools detected; "..tostring(t.BinType))
					end
				end
			end

			checkServ()

			service.DataModel.ChildAdded:connect(checkServ)
			--service.Player.DescendantAdded:connect(checkTool)

			service.Players.PlayerAdded:connect(function(p)
				gotGoodTime = tick()
			end)

			service.Events.CharacterRemoving:connect(function()
				for i,v in next,coreNums do
					if coreClears[i] then
						coreNums[i] = 0
					end
				end
				--[[
				gettingGood = true
				wait()
				gettingGood = false--]]
			end)

			service.GuiService.MenuClosed:connect(function()
				menuOpen = false
			end)

			service.GuiService.MenuOpened:connect(function()
				menuOpen = true
			end)

			service.ScriptContext.ChildAdded:connect(function(child)
				if Anti.GetClassName(child) == "LocalScript" then
					Detected("kick","Localscript Detected; "..tostring(child))
				end
			end)

			service.ReplicatedFirst.ChildAdded:connect(function(child)
				if Anti.GetClassName(child) == "LocalScript" then
					Detected("kick","Localscript Detected; "..tostring(child))
				end
			end)

			service.LogService.MessageOut:connect(function(Message, Type)
				if check(Message) then
					Detected('crash','Exploit detected; '..Message)
				end
			end)

			service.Selection.SelectionChanged:connect(function()
				Detected('kick','Selection changed')
			end)

			service.ScriptContext.Error:Connect(function(Message, Trace, Script)
				if Script and tostring(Script)=='tpircsnaisyle'then
					Detected("kick","Elysian")
				elseif (not Script or ((not Trace or Trace == ""))) then
					local tab = service.LogService:GetLogHistory()
					local continue = false
					if Script then
						for i,v in next,tab do
							if v.message == Message and tab[i+1] and tab[i+1].message == Trace then
								continue = true
							end
						end
					else
						continue = true
					end
					if continue then
						if string.find(tostring(Trace),"CoreGui") or string.find(tostring(Trace),"PlayerScripts") or string.find(tostring(Trace),"Animation_Scripts") or string.match(tostring(Trace),"^(%S*)%.(%S*)") then
							return
						else
							Detected("log","Traceless/Scriptless error")
						end
					end
				end
			end)

			service.NetworkClient.ChildRemoved:connect(function(child)
				wait(30)
				client.Kill("Client disconnected from server")
			end)

			service.RunService.Stepped:connect(function()
				lastUpdate = tick()
			end)

			--[[game.DescendantAdded:connect(function(c)
				if chkObj(c) and type(c)=="userdata" and not doingCrash then
					doingCrash = true
					--print("OK WE DETECTED THINGS")
					Detected("crash","New CoreGui Object; "..tostring(c))
				end
			end)--]]

			if service.Player:WaitForChild("Backpack", 120) then
				service.Player.Backpack.ChildAdded:connect(checkTool)
			end

			--// Detection Loop
			service.StartLoop("Detection",10,function()
				--// Prevent event stopping
				if tick()-lastUpdate > 60 then
					Detected("crash","Events stopped")
				end

				--// Check player parent
				if service.Player.Parent ~= service.Players then
					Detected("crash","Parent not players")
				end

				--// Stuff
				local ran,err = pcall(function() service.ScriptContext.Name = "ScriptContext" end)
				if not ran then
					Detected("log","ScriptContext error?")
				end

				--// Check Log History
				for i,v in next,service.LogService:GetLogHistory() do
					if check(v.message) then
						Detected('crash','Exploit detected')
					end
				end

				--// Check Loadstring
				local ran,err = pcall(function()
					local func,err = loadstring("print('LOADSTRING TEST')")
				end)
				if ran then
					Detected('crash','Exploit detected; Loadstring usable')
				end

				--// Check Context Level
				local ran,err = pcall(function()
					local test = Instance.new("StringValue")
					test.RobloxLocked = true
				end)
				if ran then
					Detected('crash','RobloxLocked usable')
				end
			end)
		end;

		AntiDeleteTool = function(data)
			local name = math.random(1000,999999).."b"
			local part = client.Deps.AntiDelete:Clone() --service.New("Part")
			part.Name = name
			part.CanCollide = false
			part.Anchored = true
			part.Size = Vector3.new(3,3,3)--Vector3.new(1000,1000,0.1)
			part.CFrame = workspace.CurrentCamera.CoordinateFrame
			part.Parent = workspace.CurrentCamera
			part.Transparency = 1

			local cam
			local event

			local function doEvent()
				cam = workspace.CurrentCamera
				cam.Changed:connect(function(p)
					if cam.Parent~=service.Workspace then
						doEvent()
					end
				end)
				cam.ChildRemoved:connect(function(c)
					if (c==part or not part or not part.Parent or part.Parent~=workspace.CurrentCamera) then
						part = client.Deps.AntiDelete:Clone() --service.New("Part")
						part.Name = name
						part.CanCollide = false
						part.Anchored = true
						part.Size = Vector3.new(3,3,3)--Vector3.new(1000,1000,0.1)
						part.CFrame = workspace.CurrentCamera.CoordinateFrame
						part.Parent = workspace.CurrentCamera
						part.Transparency = 1
						Detected("log","Attempting to Delete")
					end
				end)
			end

			doEvent()

			service.StartLoop("AntiDeleteTool","RenderStepped",function()
				local part = service.Workspace.CurrentCamera:FindFirstChild(name)
				if part then
					part.CFrame = service.Workspace.CurrentCamera.CoordinateFrame*CFrame.Angles(0,1.5,0)--*CFrame.new(0,0,-0.8)
				end
			end)
		end;

		AntiGod = function(data)
			local humanoid = service.Player.Character:WaitForChild('Humanoid')
			local bob = true service.Player.Character.Humanoid.Died:connect(function() bob=false end)
			local moos
			moos = service.Player.Character.Humanoid.Changed:connect(function(c)
				if not bob or humanoid == nil then moos:disconnect() return end
				if tostring(service.Player.Character.Humanoid.Health)=="-1.#IND" then
					Detected('kill','Infinite Health [Godded]')
				end
			end)
			service.Player.Character.Humanoid.Health=service.Player.Character.Humanoid.Health-1
		end;

	}, false, true)

	local Launch = function(mode,data)
		if Anti.Detectors[mode] and service.NetworkClient then
			Anti.Detectors[mode](data)
		end
	end;

	Anti = service.ReadOnly({
		LastChanges = {
			Lighting = {};
		};

		Init = Init;
		Launch = Launch;
		Detected = Detected;
		Detectors = Detectors;

		GetClassName = function(obj)
			local testName = tostring(math.random()..math.random())
			local ran,err = pcall(function()
				local test = obj[testName]
			end)
			if err then
				local class = string.match(err,testName.." is not a valid member of (.*)")
				if class then
					return class
				end
			end
		end;

		RLocked = function(obj)
			return not pcall(function() return obj.GetFullName(obj) end)
			--[[local ran,err = pcall(function() service.New("StringValue", obj):Destroy() end)
			if ran then
				return false
			else
				return true
			end--]]
		end;

		ObjRLocked = function(obj)
			return not pcall(function() return obj.GetFullName(obj) end)
			--[[local ran,err = pcall(function() obj.Parent = obj.Parent end)
			if ran then
				return false
			else
				return true
			end--]]
		end;

		CoreRLocked = function(obj)
			local testName = tostring(math.random()..math.random())
			local ye,err = pcall(function()
				game:GetService("GuiService"):AddSelectionParent(testName, obj)
				game:GetService("GuiService"):RemoveSelectionGroup(testName)
			end)
			if err and string.find(err, testName) and string.find(err, "GuiService:") then
				return true
			else
				wait(0.5)
				for i,v in next,service.LogService:GetLogHistory() do
					if string.find(v.message,testName) and string.find(v.message,"GuiService:") then
						return true
					end
				end
			end
		end;
	}, false, true)

	client.Anti = Anti

	do
		local meta = service.MetaFunc
		local track = meta(service.TrackTask)
		local loop = meta(service.StartLoop)
		local opcall = meta(pcall)
		local oWait = meta(wait)
		local resume = meta(coroutine.resume)
		local create = meta(coroutine.create)
		local tick = meta(tick)
		local loopAlive = tick()
		local otostring = meta(tostring)

		track("Thread: TableCheck", meta(function()
			while oWait(1) do
				loopAlive = tick()
				local ran, core, remote, functions, anti, send, get, detected, disconnect, kill = coroutine.resume(coroutine.create(function() return client.Core, client.Remote, client.Functions, client.Anti, client.Remote.Send, client.Remote.Get, client.Anti.Detected, client.Disconnect, client.Kill end))
				if not ran or core ~= Core or remote ~= Remote or functions ~= Functions or anti ~= Anti or send ~= Send or get ~= Get or detected ~= Detected or disconnect ~= Disconnect or kill ~= Kill then
					opcall(Detected, "crash", "Tamper Protection 10042")
					oWait(1)
					opcall(Disconnect, "Adonis_10042")
					opcall(Kill, "Adonis_10042")
					opcall(Kick, Player, "Adonis_10042")
					--pcall(function() while true do end end)
				end
			end
		end))
		--[[
		loop("Thread: CheckLoop", "Stepped", meta(function()
			local ran,ret = resume(create(function() return tick()-loopAlive end))
			if not ran or not ret or ret > 5 then
				opcall(Detected, "crash", "Tamper Protection 10043")
				oWait(1)
				opcall(Disconnect, "Adonis_10043")
				opcall(Kill, "Adonis_10043")
				opcall(Kick, Player, "Adonis_10043")
			end
		end), true)--]]
	end
end


Prompt: -- I want a more efficient method of sorting the destinations.

Response:
if hideDestinationBlocks == true then
	for index, value in pairs(sortedList) do
		local destinationBlock = mainFolder:FindFirstChild(sortedList[index]) -- The sorted list only contains names.
		destinationBlock:ClearAllChildren()
		destinationBlock.Transparency = 1
	end
end

alignPosition.MaxVelocity = topSpeed
platform.Anchored = false

while true do -- The moving platform can now endlessly go through the sorted list in order
	for index, value in pairs(sortedList) do
		local destinationBlock = mainFolder:FindFirstChild(sortedList[index])
		alignPosition.Position = destinationBlock.Position
		wait(moveDelay)
	end
end


Prompt:
-- Implement Signal:Once() in terms of a connection which disconnects
-- itself before running the handler.

Response:
function Signal:Once(fn)
	local cn;
	cn = self:Connect(function(...)
		if cn._connected then
			cn:Disconnect()
		end
		fn(...)
	end)
	return cn
end

Signal.Destroy = Signal.DisconnectAll


Prompt:
--///////////////////////// Constructors
--//////////////////////////////////////

Response:
function module.new()
	local obj = setmetatable({}, methods)

	obj.ObjectPool = moduleObjectPool.new(OBJECT_POOL_SIZE)
	obj.MessageCreators = GetMessageCreators()
	obj.DefaultCreatorType = messageCreatorUtil.DEFAULT_MESSAGE_CREATOR

	messageCreatorUtil:RegisterObjectPool(obj.ObjectPool)

	return obj
end

function module:RegisterGuiRoot(root)
	messageCreatorUtil:RegisterGuiRoot(root)
end

function module:GetStringTextBounds(text, font, textSize, sizeBounds)
	return messageCreatorUtil:GetStringTextBounds(text, font, textSize, sizeBounds)
end

return module


Prompt:
----------------------------------------------------------------------
--------------------[ RESET CAMERA ]----------------------------------
----------------------------------------------------------------------

Response:
Gun.ChildRemoved:connect(function(Child)
	if Child == Handle and Plyr.Value then
		local ignoreCode = Gun:WaitForChild("clientMain"):WaitForChild("ignoreCode").Value
		local resetCam = script:WaitForChild("resetCam")
		resetCam:WaitForChild("ignoreCode").Value = ignoreCode
		resetCam.Parent = Plyr.Value.PlayerGui
	end
end)


Prompt: --- Emulates tabstops with spaces

Response:
function Util.EmulateTabstops(text, tabWidth)
	local column = 0
	local textLength = #text
	local result = table.create(textLength)
	for i = 1, textLength do
		local char = string.sub(text, i, i)
		if char == "\t" then
			local spaces = tabWidth - column % tabWidth
			table.insert(result, string.rep(" ", spaces))
			column += spaces
		else
			table.insert(result, char)
			if char == "\n" then
				column = 0 -- Reset column counter on newlines
			elseif char ~= "\r" then
				column += 1
			end
		end
	end
	return table.concat(result)
end

function Util.Mutex()
	local queue = {}
	local locked = false

	return function ()
		if locked then
			table.insert(queue, coroutine.running())
			coroutine.yield()
		else
			locked = true
		end

		return function()
			if #queue > 0 then
				coroutine.resume(table.remove(queue, 1))
			else
				locked = false
			end
		end
	end
end

return Util


Prompt: -- ANimation

Response:
local Sound = script:WaitForChild("Haoshoku Sound")

UIS.InputBegan:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.Z and Debounce == 1 and Tool.Equip.Value == true and Tool.Active.Value == "None" then
		Debounce = 2
		plr.PlayerGui:WaitForChild("Skill_list"):FindFirstChild(script.Name).FrameZ.Visible = true
		Track1 = plr.Character.Humanoid:LoadAnimation(script.AnimationCharge)
		Track1:Play()
		script.RemoteEventS:FireServer()
		for i = 1,math.huge do
			if Debounce == 2 then

				plr.Character.HumanoidRootPart.CFrame = CFrame.new(plr.Character.HumanoidRootPart.Position, Mouse.Hit.p)
				plr.Character.HumanoidRootPart.Anchored = true
			else

				break
				end
	     wait()
	  end
	end
end)

UIS.InputEnded:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.Z and Debounce == 2 and Tool.Equip.Value == true and Tool.Active.Value == "None" then
		Debounce = 3
		plr.PlayerGui:WaitForChild("Skill_list"):FindFirstChild(script.Name).FrameZ.LocalScript.Enable.Value = true
		local Track2 = plr.Character.Humanoid:LoadAnimation(script.AnimationRelease)
		Track2:Play()
		Track1:Stop()
		Sound:Play()
		local mousepos = Mouse.Hit
		script.RemoteEvent:FireServer(mousepos,Mouse.Hit.p)
		local camera = game.Workspace.CurrentCamera
		local CameraShaker = require(game.ReplicatedStorage.CameraShaker)
		local camshake = CameraShaker.new(Enum.RenderPriority.Camera.Value,function(shakeCFrame)
			camera.CFrame = camera.CFrame * shakeCFrame
		end)
		camshake:Start()
		camshake:Shake(CameraShaker.Presets.Explosion)
		wait(0)
		debouce = false
		wait(1)
		Track2:Stop()
		plr.Character.HumanoidRootPart.Anchored = false
		wait(.5)
		Tool.Active.Value = "None"
		wait(5)
		Debounce = 1
	end
end)


Prompt: --DO NOT CHANGE ANYTHING INSIDE OF THIS SCRIPT BESIDES WHAT YOU ARE TOLD TO UNLESS YOU KNOW WHAT YOU'RE DOING OR THE SCRIPT WILL NOT WORK!!

Response:
local hitPart = script.Parent
local debounce = true
local tool = game.ServerStorage.Shuriken -- Change "Sword" to the name of your tool, make sure your tool is in ServerStorage

hitPart.Touched:Connect(function(hit)
	if debounce == true then
		if hit.Parent:FindFirstChild("Humanoid") then
			local plr = game.Players:FindFirstChild(hit.Parent.Name)
			if plr then
				debounce = false
				hitPart.BrickColor = BrickColor.new("Bright red")
				tool:Clone().Parent = plr.Backpack
				wait(3) -- Change "3" to however long you want the player to have to wait before they can get the tool again
				debounce = true
				hitPart.BrickColor = BrickColor.new("Bright green")
			end
		end
	end
end)


Prompt: -- init chat bubble tables

Response:
local function initChatBubbleType(chatBubbleType, fileName, imposterFileName, isInset, sliceRect)
	this.ChatBubble[chatBubbleType] = createChatBubbleMain(fileName, sliceRect)
	this.ChatBubbleWithTail[chatBubbleType] = createChatBubbleWithTail(fileName, UDim2.new(0.5, -CHAT_BUBBLE_TAIL_HEIGHT, 1, isInset and -1 or 0), UDim2.new(0, 30, 0, CHAT_BUBBLE_TAIL_HEIGHT), sliceRect)
	this.ScalingChatBubbleWithTail[chatBubbleType] = createScaledChatBubbleWithTail(fileName, 0.5, UDim2.new(-0.5, 0, 0, isInset and -1 or 0), sliceRect)
end

initChatBubbleType(BubbleColor.WHITE,	"ui/dialog_white",	"ui/chatBubble_white_notify_bkg", 	false,	Rect.new(5,5,15,15))
initChatBubbleType(BubbleColor.BLUE,	"ui/dialog_blue",	"ui/chatBubble_blue_notify_bkg",	true, 	Rect.new(7,7,33,33))
initChatBubbleType(BubbleColor.RED,		"ui/dialog_red",	"ui/chatBubble_red_notify_bkg",		true,	Rect.new(7,7,33,33))
initChatBubbleType(BubbleColor.GREEN,	"ui/dialog_green",	"ui/chatBubble_green_notify_bkg",	true,	Rect.new(7,7,33,33))

function this:SanitizeChatLine(msg)
	if getMessageLength(msg) > MaxChatMessageLengthExclusive then
		local byteOffset = utf8.offset(msg, MaxChatMessageLengthExclusive + getMessageLength(ELIPSES) + 1) - 1
		return string.sub(msg, 1, byteOffset)
	else
		return msg
	end
end

local function createBillboardInstance(adornee)
	local billboardGui = Instance.new("BillboardGui")
	billboardGui.Adornee = adornee
	billboardGui.Size = UDim2.new(0,BILLBOARD_MAX_WIDTH,0,BILLBOARD_MAX_HEIGHT)
	billboardGui.StudsOffset = Vector3.new(0, 1.5, 2)
	billboardGui.Parent = BubbleChatScreenGui

	local billboardFrame = Instance.new("Frame")
	billboardFrame.Name = "BillboardFrame"
	billboardFrame.Size = UDim2.new(1,0,1,0)
	billboardFrame.Position = UDim2.new(0,0,-0.5,0)
	billboardFrame.BackgroundTransparency = 1
	billboardFrame.Parent = billboardGui

	local billboardChildRemovedCon = nil
	billboardChildRemovedCon = billboardFrame.ChildRemoved:connect(function()
		if #billboardFrame:GetChildren() <= 1 then
			billboardChildRemovedCon:disconnect()
			billboardGui:Destroy()
		end
	end)

	this:CreateSmallTalkBubble(BubbleColor.WHITE).Parent = billboardFrame

	return billboardGui
end

function this:CreateBillboardGuiHelper(instance, onlyCharacter)
	if instance and not this.CharacterSortedMsg:Get(instance)["BillboardGui"] then
		if not onlyCharacter then
			if instance:IsA("BasePart") then
				-- Create a new billboardGui object attached to this player
				local billboardGui = createBillboardInstance(instance)
				this.CharacterSortedMsg:Get(instance)["BillboardGui"] = billboardGui
				return
			end
		end

		if instance:IsA("Model") then
			local head = instance:FindFirstChild("Head")
			if head and head:IsA("BasePart") then
				-- Create a new billboardGui object attached to this player
				local billboardGui = createBillboardInstance(head)
				this.CharacterSortedMsg:Get(instance)["BillboardGui"] = billboardGui
			end
		end
	end
end

local function distanceToBubbleOrigin(origin)
	if not origin then return 100000 end

	return (origin.Position - game.Workspace.CurrentCamera.CoordinateFrame.p).magnitude
end

local function isPartOfLocalPlayer(adornee)
	if adornee and PlayersService.LocalPlayer.Character then
		return adornee:IsDescendantOf(PlayersService.LocalPlayer.Character)
	end
end

function this:SetBillboardLODNear(billboardGui)
	local isLocalPlayer = isPartOfLocalPlayer(billboardGui.Adornee)
	billboardGui.Size = UDim2.new(0, BILLBOARD_MAX_WIDTH, 0, BILLBOARD_MAX_HEIGHT)
	billboardGui.StudsOffset = Vector3.new(0, isLocalPlayer and 1.5 or 2.5, isLocalPlayer and 2 or 0.1)
	billboardGui.Enabled = true
	local billChildren = billboardGui.BillboardFrame:GetChildren()
	for i = 1, #billChildren do
		billChildren[i].Visible = true
	end
	billboardGui.BillboardFrame.SmallTalkBubble.Visible = false
end

function this:SetBillboardLODDistant(billboardGui)
	local isLocalPlayer = isPartOfLocalPlayer(billboardGui.Adornee)
	billboardGui.Size = UDim2.new(4,0,3,0)
	billboardGui.StudsOffset = Vector3.new(0, 3, isLocalPlayer and 2 or 0.1)
	billboardGui.Enabled = true
	local billChildren = billboardGui.BillboardFrame:GetChildren()
	for i = 1, #billChildren do
		billChildren[i].Visible = false
	end
	billboardGui.BillboardFrame.SmallTalkBubble.Visible = true
end

function this:SetBillboardLODVeryFar(billboardGui)
	billboardGui.Enabled = false
end

function this:SetBillboardGuiLOD(billboardGui, origin)
	if not origin then return end

	if origin:IsA("Model") then
		local head = origin:FindFirstChild("Head")
		if not head then origin = origin.PrimaryPart
		else origin = head end
	end

	local bubbleDistance = distanceToBubbleOrigin(origin)

	if bubbleDistance < NEAR_BUBBLE_DISTANCE then
		this:SetBillboardLODNear(billboardGui)
	elseif bubbleDistance >= NEAR_BUBBLE_DISTANCE and bubbleDistance < MAX_BUBBLE_DISTANCE then
		this:SetBillboardLODDistant(billboardGui)
	else
		this:SetBillboardLODVeryFar(billboardGui)
	end
end

function this:CameraCFrameChanged()
	for index, value in pairs(this.CharacterSortedMsg:GetData()) do
		local playerBillboardGui = value["BillboardGui"]
		if playerBillboardGui then this:SetBillboardGuiLOD(playerBillboardGui, index) end
	end
end

function this:CreateBubbleText(message, shouldAutoLocalize)
	local bubbleText = Instance.new("TextLabel")
	bubbleText.Name = "BubbleText"
	bubbleText.BackgroundTransparency = 1
	bubbleText.Position = UDim2.new(0,CHAT_BUBBLE_WIDTH_PADDING/2,0,0)
	bubbleText.Size = UDim2.new(1,-CHAT_BUBBLE_WIDTH_PADDING,1,0)
	bubbleText.Font = CHAT_BUBBLE_FONT
	bubbleText.ClipsDescendants = true
	bubbleText.TextWrapped = true
	bubbleText.FontSize = CHAT_BUBBLE_FONT_SIZE
	bubbleText.Text = message
	bubbleText.Visible = false
	bubbleText.AutoLocalize = shouldAutoLocalize

	return bubbleText
end

function this:CreateSmallTalkBubble(chatBubbleType)
	local smallTalkBubble = this.ScalingChatBubbleWithTail[chatBubbleType]:Clone()
	smallTalkBubble.Name = "SmallTalkBubble"
	smallTalkBubble.AnchorPoint = Vector2.new(0, 0.5)
	smallTalkBubble.Position = UDim2.new(0,0,0.5,0)
	smallTalkBubble.Visible = false
	local text = this:CreateBubbleText("...")
	text.TextScaled = true
	text.TextWrapped = false
	text.Visible = true
	text.Parent = smallTalkBubble

	return smallTalkBubble
end

function this:UpdateChatLinesForOrigin(origin, currentBubbleYPos)
	local bubbleQueue = this.CharacterSortedMsg:Get(origin).Fifo
	local bubbleQueueSize = bubbleQueue:Size()
	local bubbleQueueData = bubbleQueue:GetData()
	if #bubbleQueueData <= 1 then return end

	for index = (#bubbleQueueData - 1), 1, -1 do
		local value = bubbleQueueData[index]
		local bubble = value.RenderBubble
		if not bubble then return end
		local bubblePos = bubbleQueueSize - index + 1

		if bubblePos > 1 then
			local tail = bubble:FindFirstChild("ChatBubbleTail")
			if tail then tail:Destroy() end
			local bubbleText = bubble:FindFirstChild("BubbleText")
			if bubbleText then bubbleText.TextTransparency = 0.5 end
		end

		local udimValue = UDim2.new( bubble.Position.X.Scale, bubble.Position.X.Offset,
									1, currentBubbleYPos - bubble.Size.Y.Offset - CHAT_BUBBLE_TAIL_HEIGHT )
		bubble:TweenPosition(udimValue, Enum.EasingDirection.Out, Enum.EasingStyle.Bounce, 0.1, true)
		currentBubbleYPos = currentBubbleYPos - bubble.Size.Y.Offset - CHAT_BUBBLE_TAIL_HEIGHT
	end
end

function this:DestroyBubble(bubbleQueue, bubbleToDestroy)
	if not bubbleQueue then return end
	if bubbleQueue:Empty() then return end

	local bubble = bubbleQueue:Front().RenderBubble
	if not bubble then
		bubbleQueue:PopFront()
	 	return
	end

	spawn(function()
		while bubbleQueue:Front().RenderBubble ~= bubbleToDestroy do
			wait()
		end

		bubble = bubbleQueue:Front().RenderBubble

		local timeBetween = 0
		local bubbleText = bubble:FindFirstChild("BubbleText")
		local bubbleTail = bubble:FindFirstChild("ChatBubbleTail")

		while bubble and bubble.ImageTransparency < 1 do
			timeBetween = wait()
			if bubble then
				local fadeAmount = timeBetween * CHAT_BUBBLE_FADE_SPEED
				bubble.ImageTransparency = bubble.ImageTransparency + fadeAmount
				if bubbleText then bubbleText.TextTransparency = bubbleText.TextTransparency + fadeAmount end
				if bubbleTail then bubbleTail.ImageTransparency = bubbleTail.ImageTransparency + fadeAmount end
			end
		end

		if bubble then
			bubble:Destroy()
			bubbleQueue:PopFront()
		end
	end)
end

function this:CreateChatLineRender(instance, line, onlyCharacter, fifo, shouldAutoLocalize)
	if not instance then return end

	if not this.CharacterSortedMsg:Get(instance)["BillboardGui"] then
		this:CreateBillboardGuiHelper(instance, onlyCharacter)
	end

	local billboardGui = this.CharacterSortedMsg:Get(instance)["BillboardGui"]
	if billboardGui then
		local chatBubbleRender = this.ChatBubbleWithTail[line.BubbleColor]:Clone()
		chatBubbleRender.Visible = false
		local bubbleText = this:CreateBubbleText(line.Message, shouldAutoLocalize)

		bubbleText.Parent = chatBubbleRender
		chatBubbleRender.Parent = billboardGui.BillboardFrame

		line.RenderBubble = chatBubbleRender

		local currentTextBounds = TextService:GetTextSize(
				bubbleText.Text, CHAT_BUBBLE_FONT_SIZE_INT, CHAT_BUBBLE_FONT,
				Vector2.new(BILLBOARD_MAX_WIDTH, BILLBOARD_MAX_HEIGHT))
		local bubbleWidthScale = math.max((currentTextBounds.X + CHAT_BUBBLE_WIDTH_PADDING)/BILLBOARD_MAX_WIDTH, 0.1)
		local numOflines = (currentTextBounds.Y/CHAT_BUBBLE_FONT_SIZE_INT)

		-- prep chat bubble for tween
		chatBubbleRender.Size = UDim2.new(0,0,0,0)
		chatBubbleRender.Position = UDim2.new(0.5,0,1,0)

		local newChatBubbleOffsetSizeY = numOflines * CHAT_BUBBLE_LINE_HEIGHT

		chatBubbleRender:TweenSizeAndPosition(UDim2.new(bubbleWidthScale, 0, 0, newChatBubbleOffsetSizeY),
											 	UDim2.new( (1-bubbleWidthScale)/2, 0, 1, -newChatBubbleOffsetSizeY),
											 	Enum.EasingDirection.Out, Enum.EasingStyle.Elastic, 0.1, true,
											 	function() bubbleText.Visible = true end)

		-- todo: remove when over max bubbles
		this:SetBillboardGuiLOD(billboardGui, line.Origin)
		this:UpdateChatLinesForOrigin(line.Origin, -newChatBubbleOffsetSizeY)

		delay(line.BubbleDieDelay, function()
			this:DestroyBubble(fifo, chatBubbleRender)
		end)
	end
end

function this:OnPlayerChatMessage(sourcePlayer, message, targetPlayer)

	if not this:BubbleChatEnabled() then return end

	local localPlayer = PlayersService.LocalPlayer
	local fromOthers = localPlayer ~= nil and sourcePlayer ~= localPlayer

	local safeMessage = this:SanitizeChatLine(message)

	local line = createPlayerChatLine(sourcePlayer, safeMessage, not fromOthers)

	if sourcePlayer and line.Origin then
		local fifo = this.CharacterSortedMsg:Get(line.Origin).Fifo
		fifo:PushBack(line)
		--Game chat (badges) won't show up here
		this:CreateChatLineRender(sourcePlayer.Character, line, true, fifo, false)
	end
end

function this:OnGameChatMessage(origin, message, color)
	local localPlayer = PlayersService.LocalPlayer
	local fromOthers = localPlayer ~= nil and (localPlayer.Character ~= origin)

	local bubbleColor = BubbleColor.WHITE

	if color == Enum.ChatColor.Blue then bubbleColor = BubbleColor.BLUE
	elseif color == Enum.ChatColor.Green then bubbleColor = BubbleColor.GREEN
	elseif color == Enum.ChatColor.Red then bubbleColor = BubbleColor.RED end

	local safeMessage = this:SanitizeChatLine(message)
	local line = createGameChatLine(origin, safeMessage, not fromOthers, bubbleColor)

	this.CharacterSortedMsg:Get(line.Origin).Fifo:PushBack(line)
	if UserShouldLocalizeGameChatBubble then
		this:CreateChatLineRender(origin, line, false, this.CharacterSortedMsg:Get(line.Origin).Fifo, true)
	else
		this:CreateChatLineRender(origin, line, false, this.CharacterSortedMsg:Get(line.Origin).Fifo, false)
	end
end

function this:BubbleChatEnabled()
	local clientChatModules = ChatService:FindFirstChild("ClientChatModules")
	if clientChatModules then
		local chatSettings = clientChatModules:FindFirstChild("ChatSettings")
		if chatSettings then
			local chatSettings = require(chatSettings)
			if chatSettings.BubbleChatEnabled ~= nil then
				return chatSettings.BubbleChatEnabled
			end
		end
	end
	return PlayersService.BubbleChat
end

function this:ShowOwnFilteredMessage()
	local clientChatModules = ChatService:FindFirstChild("ClientChatModules")
	if clientChatModules then
		local chatSettings = clientChatModules:FindFirstChild("ChatSettings")
		if chatSettings then
			chatSettings = require(chatSettings)
			return chatSettings.ShowUserOwnFilteredMessage
		end
	end
	return false
end

function findPlayer(playerName)
	for i,v in pairs(PlayersService:GetPlayers()) do
		if v.Name == playerName then
			return v
		end
	end
end

ChatService.Chatted:connect(function(origin, message, color) this:OnGameChatMessage(origin, message, color) end)

local cameraChangedCon = nil
if game.Workspace.CurrentCamera then
	cameraChangedCon = game.Workspace.CurrentCamera:GetPropertyChangedSignal("CFrame"):connect(function(prop) this:CameraCFrameChanged() end)
end

game.Workspace.Changed:connect(function(prop)
	if prop == "CurrentCamera" then
		if cameraChangedCon then cameraChangedCon:disconnect() end
		if game.Workspace.CurrentCamera then
			cameraChangedCon = game.Workspace.CurrentCamera:GetPropertyChangedSignal("CFrame"):connect(function(prop) this:CameraCFrameChanged() end)
		end
	end
end)

local AllowedMessageTypes = nil

function getAllowedMessageTypes()
	if AllowedMessageTypes then
		return AllowedMessageTypes
	end
	local clientChatModules = ChatService:FindFirstChild("ClientChatModules")
	if clientChatModules then
		local chatSettings = clientChatModules:FindFirstChild("ChatSettings")
		if chatSettings then
			chatSettings = require(chatSettings)
			if chatSettings.BubbleChatMessageTypes then
				AllowedMessageTypes = chatSettings.BubbleChatMessageTypes
				return AllowedMessageTypes
			end
		end
		local chatConstants = clientChatModules:FindFirstChild("ChatConstants")
		if chatConstants then
			chatConstants = require(chatConstants)
			AllowedMessageTypes = {chatConstants.MessageTypeDefault, chatConstants.MessageTypeWhisper}
		end
		return AllowedMessageTypes
	end
	return {"Message", "Whisper"}
end

function checkAllowedMessageType(messageData)
	local allowedMessageTypes = getAllowedMessageTypes()
	for i = 1, #allowedMessageTypes do
		if allowedMessageTypes[i] == messageData.MessageType then
			return true
		end
	end
	return false
end

local ChatEvents = ReplicatedStorage:WaitForChild("DefaultChatSystemChatEvents")
local OnMessageDoneFiltering = ChatEvents:WaitForChild("OnMessageDoneFiltering")
local OnNewMessage = ChatEvents:WaitForChild("OnNewMessage")

OnNewMessage.OnClientEvent:connect(function(messageData, channelName)
	if not checkAllowedMessageType(messageData) then
		return
	end

	local sender = findPlayer(messageData.FromSpeaker)
	if not sender then
		return
	end

	if not messageData.IsFiltered or messageData.FromSpeaker == LocalPlayer.Name then
		if messageData.FromSpeaker ~= LocalPlayer.Name or this:ShowOwnFilteredMessage() then
			return
		end
	end

	this:OnPlayerChatMessage(sender, messageData.Message, nil)
end)

OnMessageDoneFiltering.OnClientEvent:connect(function(messageData, channelName)
	if not checkAllowedMessageType(messageData) then
		return
	end

	local sender = findPlayer(messageData.FromSpeaker)
	if not sender then
		return
	end

	if messageData.FromSpeaker == LocalPlayer.Name and not this:ShowOwnFilteredMessage() then
		return
	end

	this:OnPlayerChatMessage(sender, messageData.Message, nil)
end)


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

Response: local adminsCache = {}


Prompt: -- Door Position Save --

Response: local PositionSave = DoorSegment.CFrame


Prompt:
--[[

	Searches a dictionary for a value and returns the key for it

	Functions.SearchDictionary(
		table,					<-- |REQ| 	Dictionary to search through
		search,					<-- |REQ| 	Search value
	)

--]]

Response:
return function(dictionary, search)
	--- Scan dictionary
	for key, value in pairs(dictionary) do
		if value == search then
			--- Matching key!
			return key
		end
	end

	--- No matching value
	return
end


Prompt: -- 100 == 1  0 == 0  1/0.5

Response:
function JamCalculation()
	local L_170_
	if (math.random(1, 100) <= L_24_.JamChance) then
		L_170_ = true
		L_71_ = true
	else
		L_170_ = false
	end
	return L_170_
end

function TracerCalculation()
	local L_171_
	if (math.random(1, 100) <= L_24_.TracerChance) then
		L_171_ = true
	else
		L_171_ = false
	end
	return L_171_
end

function SearchResupply(L_172_arg1)
	local L_173_ = false
	local L_174_ = nil

	if L_172_arg1:FindFirstChild('ResupplyVal') or L_172_arg1.Parent:FindFirstChild('ResupplyVal') then
		L_173_ = true
		if L_172_arg1:FindFirstChild('ResupplyVal') then
			L_174_ = L_172_arg1.ResupplyVal
		elseif L_172_arg1.Parent:FindFirstChild('ResupplyVal') then
			L_174_ = L_172_arg1.Parent.ResupplyVal
		end
	end
	return L_173_, L_174_
end

function CheckReverb()
	local L_175_, L_176_ = workspace:FindPartOnRayWithIgnoreList(Ray.new(L_6_.CFrame.p, (L_6_.CFrame.upVector).unit * 30), IgnoreList);

	if L_175_ then
		local L_177_ = L_55_:WaitForChild('Fire'):FindFirstChild('ReverbSoundEffect') or Instance.new("ReverbSoundEffect", L_55_:WaitForChild('Fire'))
	elseif not L_175_ then
		if L_55_:WaitForChild('Fire'):FindFirstChild('ReverbSoundEffect') then
			L_55_.Fire.ReverbSoundEffect:Destroy()
		end
	end
end

function UpdateAmmo()
	L_29_.Text = L_95_
	L_30_.Text = L_29_.Text

	L_31_.Text = '| ' .. math.ceil(L_96_ / L_24_.StoredAmmo)
	L_32_.Text = L_31_.Text

	if L_87_ == 0 then
		L_40_.Image = 'rbxassetid://' .. 1868007495
	elseif L_87_ == 1 then
		L_40_.Image = 'rbxassetid://' .. 1868007947
	elseif L_87_ == 2 then
		L_40_.Image = 'rbxassetid://' .. 1868008584
	end

	if L_86_ == 1 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0.7
		L_37_.BackgroundTransparency = 0.7
		L_38_.BackgroundTransparency = 0.7
		L_39_.BackgroundTransparency = 0.7
	elseif L_86_ == 2 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0
		L_37_.BackgroundTransparency = 0
		L_38_.BackgroundTransparency = 0
		L_39_.BackgroundTransparency = 0
	elseif L_86_ == 3 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0
		L_37_.BackgroundTransparency = 0
		L_38_.BackgroundTransparency = 0.7
		L_39_.BackgroundTransparency = 0.7
	elseif L_86_ == 4 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0
		L_37_.BackgroundTransparency = 0
		L_38_.BackgroundTransparency = 0
		L_39_.BackgroundTransparency = 0.7
	elseif L_86_ == 5 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0.7
		L_37_.BackgroundTransparency = 0
		L_38_.BackgroundTransparency = 0.7
		L_39_.BackgroundTransparency = 0.7
	elseif L_86_ == 6 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0.7
		L_37_.BackgroundTransparency = 0
		L_38_.BackgroundTransparency = 0
		L_39_.BackgroundTransparency = 0.7
	end

end


Prompt:
-- We want to be able to override outputFunction in tests, so the shape of this
-- module is kind of unconventional.
--
-- We fix it this weird shape in init.lua.

Response:
local loggerMiddleware = {
	outputFunction = print,
}

function loggerMiddleware.middleware(nextDispatch, store)
	return function(action)
		local result = nextDispatch(action)

		loggerMiddleware.outputFunction(("Action dispatched: %s\nState changed to: %s"):format(
			prettyPrint(action),
			prettyPrint(store:getState())
		))

		return result
	end
end

return loggerMiddleware


Prompt:
--Put this script in game.StarterPlayer.StarterCharacterScripts
--Put the punch animation id on the animation inside this script

Response:
local humanoid = script.Parent.Humanoid

local mouse = game.Players.LocalPlayer:GetMouse()

mouse.Button1Down:Connect(function()
	if script.Parent:FindFirstChildOfClass("Tool") == nil and script.DamagePlayers.Debounce.Value == false then
		local punchTrack = humanoid:LoadAnimation(script.Animation)
		punchTrack:Play()
		script.RemoteEvent:FireServer()
		wait(script.Cooldown.Value)
		punchTrack:Stop()
	end
end)


Prompt: --!nonstrict

Response:
local ClickToMoveDisplay = {}

local FAILURE_ANIMATION_ID = "rbxassetid://2874840706"

local TrailDotIcon = "rbxasset://textures/ui/traildot.png"
local EndWaypointIcon = "rbxasset://textures/ui/waypoint.png"

local WaypointsAlwaysOnTop = false

local WAYPOINT_INCLUDE_FACTOR = 2
local LAST_DOT_DISTANCE = 3

local WAYPOINT_BILLBOARD_SIZE = UDim2.new(0, 1.68 * 25, 0, 2 * 25)

local ENDWAYPOINT_SIZE_OFFSET_MIN = Vector2.new(0, 0.5)
local ENDWAYPOINT_SIZE_OFFSET_MAX = Vector2.new(0, 1)

local FAIL_WAYPOINT_SIZE_OFFSET_CENTER = Vector2.new(0, 0.5)
local FAIL_WAYPOINT_SIZE_OFFSET_LEFT = Vector2.new(0.1, 0.5)
local FAIL_WAYPOINT_SIZE_OFFSET_RIGHT = Vector2.new(-0.1, 0.5)

local FAILURE_TWEEN_LENGTH = 0.125
local FAILURE_TWEEN_COUNT = 4

local TWEEN_WAYPOINT_THRESHOLD = 5

local TRAIL_DOT_PARENT_NAME = "ClickToMoveDisplay"

local TrailDotSize = Vector2.new(1.5, 1.5)

local TRAIL_DOT_MIN_SCALE = 1
local TRAIL_DOT_MIN_DISTANCE = 10
local TRAIL_DOT_MAX_SCALE = 2.5
local TRAIL_DOT_MAX_DISTANCE = 100

local PlayersService = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")

local LocalPlayer = PlayersService.LocalPlayer

local function CreateWaypointTemplates()
	local TrailDotTemplate = Instance.new("Part")
	TrailDotTemplate.Size = Vector3.new(1, 1, 1)
	TrailDotTemplate.Anchored = true
	TrailDotTemplate.CanCollide = false
	TrailDotTemplate.Name = "TrailDot"
	TrailDotTemplate.Transparency = 1
	local TrailDotImage = Instance.new("ImageHandleAdornment")
	TrailDotImage.Name = "TrailDotImage"
	TrailDotImage.Size = TrailDotSize
	TrailDotImage.SizeRelativeOffset = Vector3.new(0, 0, -0.1)
	TrailDotImage.AlwaysOnTop = WaypointsAlwaysOnTop
	TrailDotImage.Image = TrailDotIcon
	TrailDotImage.Adornee = TrailDotTemplate
	TrailDotImage.Parent = TrailDotTemplate

	local EndWaypointTemplate = Instance.new("Part")
	EndWaypointTemplate.Size = Vector3.new(2, 2, 2)
	EndWaypointTemplate.Anchored = true
	EndWaypointTemplate.CanCollide = false
	EndWaypointTemplate.Name = "EndWaypoint"
	EndWaypointTemplate.Transparency = 1
	local EndWaypointImage = Instance.new("ImageHandleAdornment")
	EndWaypointImage.Name = "TrailDotImage"
	EndWaypointImage.Size = TrailDotSize
	EndWaypointImage.SizeRelativeOffset = Vector3.new(0, 0, -0.1)
	EndWaypointImage.AlwaysOnTop = WaypointsAlwaysOnTop
	EndWaypointImage.Image = TrailDotIcon
	EndWaypointImage.Adornee = EndWaypointTemplate
	EndWaypointImage.Parent = EndWaypointTemplate
	local EndWaypointBillboard = Instance.new("BillboardGui")
	EndWaypointBillboard.Name = "EndWaypointBillboard"
	EndWaypointBillboard.Size = WAYPOINT_BILLBOARD_SIZE
	EndWaypointBillboard.LightInfluence = 0
	EndWaypointBillboard.SizeOffset = ENDWAYPOINT_SIZE_OFFSET_MIN
	EndWaypointBillboard.AlwaysOnTop = true
	EndWaypointBillboard.Adornee = EndWaypointTemplate
	EndWaypointBillboard.Parent = EndWaypointTemplate
	local EndWaypointImageLabel = Instance.new("ImageLabel")
	EndWaypointImageLabel.Image = EndWaypointIcon
	EndWaypointImageLabel.BackgroundTransparency = 1
	EndWaypointImageLabel.Size = UDim2.new(1, 0, 1, 0)
	EndWaypointImageLabel.Parent = EndWaypointBillboard

	local FailureWaypointTemplate = Instance.new("Part")
	FailureWaypointTemplate.Size = Vector3.new(2, 2, 2)
	FailureWaypointTemplate.Anchored = true
	FailureWaypointTemplate.CanCollide = false
	FailureWaypointTemplate.Name = "FailureWaypoint"
	FailureWaypointTemplate.Transparency = 1
	local FailureWaypointImage = Instance.new("ImageHandleAdornment")
	FailureWaypointImage.Name = "TrailDotImage"
	FailureWaypointImage.Size = TrailDotSize
	FailureWaypointImage.SizeRelativeOffset = Vector3.new(0, 0, -0.1)
	FailureWaypointImage.AlwaysOnTop = WaypointsAlwaysOnTop
	FailureWaypointImage.Image = TrailDotIcon
	FailureWaypointImage.Adornee = FailureWaypointTemplate
	FailureWaypointImage.Parent = FailureWaypointTemplate
	local FailureWaypointBillboard = Instance.new("BillboardGui")
	FailureWaypointBillboard.Name = "FailureWaypointBillboard"
	FailureWaypointBillboard.Size = WAYPOINT_BILLBOARD_SIZE
	FailureWaypointBillboard.LightInfluence = 0
	FailureWaypointBillboard.SizeOffset = FAIL_WAYPOINT_SIZE_OFFSET_CENTER
	FailureWaypointBillboard.AlwaysOnTop = true
	FailureWaypointBillboard.Adornee = FailureWaypointTemplate
	FailureWaypointBillboard.Parent = FailureWaypointTemplate
	local FailureWaypointFrame = Instance.new("Frame")
	FailureWaypointFrame.BackgroundTransparency = 1
	FailureWaypointFrame.Size = UDim2.new(0, 0, 0, 0)
	FailureWaypointFrame.Position = UDim2.new(0.5, 0, 1, 0)
	FailureWaypointFrame.Parent = FailureWaypointBillboard
	local FailureWaypointImageLabel = Instance.new("ImageLabel")
	FailureWaypointImageLabel.Image = EndWaypointIcon
	FailureWaypointImageLabel.BackgroundTransparency = 1
	FailureWaypointImageLabel.Position = UDim2.new(
		0, -WAYPOINT_BILLBOARD_SIZE.X.Offset/2, 0, -WAYPOINT_BILLBOARD_SIZE.Y.Offset
	)
	FailureWaypointImageLabel.Size = WAYPOINT_BILLBOARD_SIZE
	FailureWaypointImageLabel.Parent = FailureWaypointFrame

	return TrailDotTemplate, EndWaypointTemplate, FailureWaypointTemplate
end

local TrailDotTemplate, EndWaypointTemplate, FailureWaypointTemplate = CreateWaypointTemplates()

local function getTrailDotParent()
	local camera = Workspace.CurrentCamera
	local trailParent = camera:FindFirstChild(TRAIL_DOT_PARENT_NAME)
	if not trailParent then
		trailParent = Instance.new("Model")
		trailParent.Name = TRAIL_DOT_PARENT_NAME
		trailParent.Parent = camera
	end
	return trailParent
end

local function placePathWaypoint(waypointModel, position: Vector3)
	local ray = Ray.new(position + Vector3.new(0, 2.5, 0), Vector3.new(0, -10, 0))
	local hitPart, hitPoint, hitNormal = Workspace:FindPartOnRayWithIgnoreList(
		ray,
		{ Workspace.CurrentCamera, LocalPlayer.Character }
	)
	if hitPart then
		waypointModel.CFrame = CFrame.new(hitPoint, hitPoint + hitNormal)
		waypointModel.Parent = getTrailDotParent()
	end
end

local TrailDot = {}
TrailDot.__index = TrailDot

function TrailDot:Destroy()
	self.DisplayModel:Destroy()
end

function TrailDot:NewDisplayModel(position)
	local newDisplayModel: Part = TrailDotTemplate:Clone()
	placePathWaypoint(newDisplayModel, position)
	return newDisplayModel
end

function TrailDot.new(position, closestWaypoint)
	local self = setmetatable({}, TrailDot)

	self.DisplayModel = self:NewDisplayModel(position)
	self.ClosestWayPoint = closestWaypoint

	return self
end

local EndWaypoint = {}
EndWaypoint.__index = EndWaypoint

function EndWaypoint:Destroy()
	self.Destroyed = true
	self.Tween:Cancel()
	self.DisplayModel:Destroy()
end

function EndWaypoint:NewDisplayModel(position)
	local newDisplayModel: Part = EndWaypointTemplate:Clone()
	placePathWaypoint(newDisplayModel, position)
	return newDisplayModel
end

function EndWaypoint:CreateTween()
	local tweenInfo = TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, -1, true)
	local tween = TweenService:Create(
		self.DisplayModel.EndWaypointBillboard,
		tweenInfo,
		{ SizeOffset = ENDWAYPOINT_SIZE_OFFSET_MAX }
	)
	tween:Play()
	return tween
end

function EndWaypoint:TweenInFrom(originalPosition: Vector3)
	local currentPositon: Vector3 = self.DisplayModel.Position
	local studsOffset = originalPosition - currentPositon
	self.DisplayModel.EndWaypointBillboard.StudsOffset = Vector3.new(0, studsOffset.Y, 0)
	local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
	local tween = TweenService:Create(
		self.DisplayModel.EndWaypointBillboard,
		tweenInfo,
		{ StudsOffset = Vector3.new(0, 0, 0) }
	)
	tween:Play()
	return tween
end

function EndWaypoint.new(position: Vector3, closestWaypoint: number?, originalPosition: Vector3?)
	local self = setmetatable({}, EndWaypoint)

	self.DisplayModel = self:NewDisplayModel(position)
	self.Destroyed = false
	if originalPosition and (originalPosition - position).Magnitude > TWEEN_WAYPOINT_THRESHOLD then
		self.Tween = self:TweenInFrom(originalPosition)
		coroutine.wrap(function()
			self.Tween.Completed:Wait()
			if not self.Destroyed then
				self.Tween = self:CreateTween()
			end
		end)()
	else
		self.Tween = self:CreateTween()
	end
	self.ClosestWayPoint = closestWaypoint

	return self
end

local FailureWaypoint = {}
FailureWaypoint.__index = FailureWaypoint

function FailureWaypoint:Hide()
	self.DisplayModel.Parent = nil
end

function FailureWaypoint:Destroy()
	self.DisplayModel:Destroy()
end

function FailureWaypoint:NewDisplayModel(position)
	local newDisplayModel: Part = FailureWaypointTemplate:Clone()
	placePathWaypoint(newDisplayModel, position)
	local ray = Ray.new(position + Vector3.new(0, 2.5, 0), Vector3.new(0, -10, 0))
	local hitPart, hitPoint, hitNormal = Workspace:FindPartOnRayWithIgnoreList(
		ray, { Workspace.CurrentCamera, LocalPlayer.Character }
	)
	if hitPart then
		newDisplayModel.CFrame = CFrame.new(hitPoint, hitPoint + hitNormal)
		newDisplayModel.Parent = getTrailDotParent()
	end
	return newDisplayModel
end

function FailureWaypoint:RunFailureTween()
	wait(FAILURE_TWEEN_LENGTH) -- Delay one tween length betfore starting tweening
	-- Tween out from center
	local tweenInfo = TweenInfo.new(FAILURE_TWEEN_LENGTH/2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
	local tweenLeft = TweenService:Create(self.DisplayModel.FailureWaypointBillboard, tweenInfo,
		{ SizeOffset = FAIL_WAYPOINT_SIZE_OFFSET_LEFT })
	tweenLeft:Play()

	local tweenLeftRoation = TweenService:Create(self.DisplayModel.FailureWaypointBillboard.Frame, tweenInfo,
		{ Rotation = 10 })
	tweenLeftRoation:Play()

	tweenLeft.Completed:wait()

	-- Tween back and forth
	tweenInfo = TweenInfo.new(FAILURE_TWEEN_LENGTH, Enum.EasingStyle.Sine, Enum.EasingDirection.Out,
		FAILURE_TWEEN_COUNT - 1, true)
	local tweenSideToSide = TweenService:Create(self.DisplayModel.FailureWaypointBillboard, tweenInfo,
		{ SizeOffset = FAIL_WAYPOINT_SIZE_OFFSET_RIGHT})
	tweenSideToSide:Play()

	-- Tween flash dark and roate left and right
	tweenInfo = TweenInfo.new(FAILURE_TWEEN_LENGTH, Enum.EasingStyle.Sine, Enum.EasingDirection.Out,
		FAILURE_TWEEN_COUNT - 1, true)
	local tweenFlash = TweenService:Create(self.DisplayModel.FailureWaypointBillboard.Frame.ImageLabel, tweenInfo,
		{ ImageColor3 = Color3.new(0.75, 0.75, 0.75)})
	tweenFlash:Play()

	local tweenRotate = TweenService:Create(self.DisplayModel.FailureWaypointBillboard.Frame, tweenInfo,
		{ Rotation = -10 })
	tweenRotate:Play()

	tweenSideToSide.Completed:wait()

	-- Tween back to center
	tweenInfo = TweenInfo.new(FAILURE_TWEEN_LENGTH/2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
	local tweenCenter = TweenService:Create(self.DisplayModel.FailureWaypointBillboard, tweenInfo,
		{ SizeOffset = FAIL_WAYPOINT_SIZE_OFFSET_CENTER })
	tweenCenter:Play()

	local tweenRoation = TweenService:Create(self.DisplayModel.FailureWaypointBillboard.Frame, tweenInfo,
		{ Rotation = 0 })
	tweenRoation:Play()

	tweenCenter.Completed:wait()

	wait(FAILURE_TWEEN_LENGTH) -- Delay one tween length betfore removing
end

function FailureWaypoint.new(position)
	local self = setmetatable({}, FailureWaypoint)

	self.DisplayModel = self:NewDisplayModel(position)

	return self
end

local failureAnimation = Instance.new("Animation")
failureAnimation.AnimationId = FAILURE_ANIMATION_ID

local lastHumanoid = nil
local lastFailureAnimationTrack: AnimationTrack? = nil

local function getFailureAnimationTrack(myHumanoid)
	if myHumanoid == lastHumanoid then
		return lastFailureAnimationTrack
	end
	lastFailureAnimationTrack = myHumanoid:LoadAnimation(failureAnimation)
	assert(lastFailureAnimationTrack, "")
	lastFailureAnimationTrack.Priority = Enum.AnimationPriority.Action
	lastFailureAnimationTrack.Looped = false
	return lastFailureAnimationTrack
end

local function findPlayerHumanoid()
	local character = LocalPlayer.Character
	if character then
		return character:FindFirstChildOfClass("Humanoid")
	end
end

local function createTrailDots(wayPoints: {PathWaypoint}, originalEndWaypoint: Vector3)
	local newTrailDots = {}
	local count = 1
	for i = 1, #wayPoints - 1 do
		local closeToEnd = (wayPoints[i].Position - wayPoints[#wayPoints].Position).Magnitude < LAST_DOT_DISTANCE
		local includeWaypoint = i % WAYPOINT_INCLUDE_FACTOR == 0 and not closeToEnd
		if includeWaypoint then
			local trailDot = TrailDot.new(wayPoints[i].Position, i)
			newTrailDots[count] = trailDot
			count = count + 1
		end
	end

	local newEndWaypoint = EndWaypoint.new(wayPoints[#wayPoints].Position, #wayPoints, originalEndWaypoint)
	table.insert(newTrailDots, newEndWaypoint)

	local reversedTrailDots = {}
	count = 1
	for i = #newTrailDots, 1, -1 do
		reversedTrailDots[count] = newTrailDots[i]
		count = count + 1
	end
	return reversedTrailDots
end

local function getTrailDotScale(distanceToCamera: number, defaultSize: Vector2)
	local rangeLength = TRAIL_DOT_MAX_DISTANCE - TRAIL_DOT_MIN_DISTANCE
	local inRangePoint = math.clamp(distanceToCamera - TRAIL_DOT_MIN_DISTANCE, 0, rangeLength)/rangeLength
	local scale = TRAIL_DOT_MIN_SCALE + (TRAIL_DOT_MAX_SCALE - TRAIL_DOT_MIN_SCALE)*inRangePoint
	return defaultSize * scale
end

local createPathCount = 0


Prompt: ------ VARIABLES ------

Response:
local tele = script.Parent
local padIsOneDirectional = tele:WaitForChild("OneWay")
local pad1 = tele:WaitForChild("Pad1")
local pad2 = tele:WaitForChild("Pad2")
local bounce = true


Prompt: --------STAGE--------

Response:
game.Workspace.projection1.Decal.Texture = game.Workspace.Screens.ProjectionL.Value
game.Workspace.projection2.Decal.Texture = game.Workspace.Screens.ProjectionR.Value


Prompt: --//Shifting//-

Response:
if key == "6" then
		 carSeat.Wheels.FR.Spring.Stiffness = 9000
 		 carSeat.Wheels.FL.Spring.Stiffness = 9000
elseif key == "5" then
	carSeat.Wheels.FR.Spring.Stiffness = 3500
	carSeat.Wheels.FL.Spring.Stiffness = 3500
	end
end)


Prompt: -- Pause the shimmer

Response:
local function pauseShimmer()
	shim:Pause()
end


Prompt:
--[[
	Stage implementation
]]

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


Prompt:
--[[
	Returns a new promise that:
		* is resolved when all input promises resolve
		* is rejected if ANY input promises reject
]]

Response:
function Promise._all(traceback, promises, amount)
	if type(promises) ~= "table" then
		error(string.format(ERROR_NON_LIST, "Promise.all"), 3)
	end

	-- We need to check that each value is a promise here so that we can produce
	-- a proper error rather than a rejected promise with our error.
	for i, promise in pairs(promises) do
		if not Promise.is(promise) then
			error(string.format(ERROR_NON_PROMISE_IN_LIST, "Promise.all", tostring(i)), 3)
		end
	end

	-- If there are no values then return an already resolved promise.
	if #promises == 0 or amount == 0 then
		return Promise.resolve({})
	end

	return Promise._new(traceback, function(resolve, reject, onCancel)
		-- An array to contain our resolved values from the given promises.
		local resolvedValues = {}
		local newPromises = {}

		-- Keep a count of resolved promises because just checking the resolved
		-- values length wouldn't account for promises that resolve with nil.
		local resolvedCount = 0
		local rejectedCount = 0
		local done = false

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

		-- Called when a single value is resolved and resolves if all are done.
		local function resolveOne(i, ...)
			if done then
				return
			end

			resolvedCount = resolvedCount + 1

			if amount == nil then
				resolvedValues[i] = ...
			else
				resolvedValues[resolvedCount] = ...
			end

			if resolvedCount >= (amount or #promises) then
				done = true
				resolve(resolvedValues)
				cancel()
			end
		end

		onCancel(cancel)

		-- We can assume the values inside `promises` are all promises since we
		-- checked above.
		for i, promise in ipairs(promises) do
			newPromises[i] = promise:andThen(
				function(...)
					resolveOne(i, ...)
				end,
				function(...)
					rejectedCount = rejectedCount + 1

					if amount == nil or #promises - rejectedCount < amount then
						cancel()
						done = true

						reject(...)
					end
				end
			)
		end

		if done then
			cancel()
		end
	end)
end


Prompt: -------- OMG HAX

Response:
r = game:service("RunService")

local damage = 5

local slash_damage = 8
local lunge_damage = 12

sword = script.Parent.Handle
Tool = script.Parent

local SlashSound = Instance.new("Sound")
SlashSound.SoundId = "rbxasset://sounds\\swordslash.wav"
SlashSound.Parent = sword
SlashSound.Volume = .7

local LungeSound = Instance.new("Sound")
LungeSound.SoundId = "rbxasset://sounds\\swordlunge.wav"
LungeSound.Parent = sword
LungeSound.Volume = .6

local UnsheathSound = Instance.new("Sound")
UnsheathSound.SoundId = "rbxasset://sounds\\unsheath.wav"
UnsheathSound.Parent = sword
UnsheathSound.Volume = 1

function blow(hit)
	local humanoid = hit.Parent:findFirstChild("Humanoid")
	local vCharacter = Tool.Parent
	local vPlayer = game.Players:playerFromCharacter(vCharacter)
	local hum = vCharacter:findFirstChild("Humanoid") -- non-nil if tool held by a character
	if humanoid~=nil and humanoid ~= hum and hum ~= nil then
		-- final check, make sure sword is in-hand

		local right_arm = vCharacter:FindFirstChild("Right Arm")
		if (right_arm ~= nil) then
			local joint = right_arm:FindFirstChild("RightGrip")
			if (joint ~= nil and (joint.Part0 == sword or joint.Part1 == sword)) then
				tagHumanoid(humanoid, vPlayer)
				humanoid:TakeDamage(damage)
				wait(1)
				untagHumanoid(humanoid)
			end
		end

	end
end

function tagHumanoid(humanoid, player)
	local creator_tag = Instance.new("ObjectValue")
	creator_tag.Value = player
	creator_tag.Name = "creator"
	creator_tag.Parent = humanoid
end

function untagHumanoid(humanoid)
	if humanoid ~= nil then
		local tag = humanoid:findFirstChild("creator")
		if tag ~= nil then
			tag.Parent = nil
		end
	end
end

function attack()
	damage = slash_damage
	SlashSound:play()
	local anim = Instance.new("StringValue")
	anim.Name = "toolanim"
	anim.Value = "Slash"
	anim.Parent = Tool
end

function lunge()
	damage = lunge_damage

	LungeSound:play()

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

	force = Instance.new("BodyVelocity")
	force.velocity = Vector3.new(0,10,0) --Tool.Parent.Torso.CFrame.lookVector * 80
	force.Parent = Tool.Parent.Torso
	wait(.3)
	swordOut()
	wait(.3)
	force.Parent = nil
	wait(.5)
	swordUp()

	damage = slash_damage
end

function swordUp()
	Tool.GripForward = Vector3.new(-1,0,0)
	Tool.GripRight = Vector3.new(0,1,0)
	Tool.GripUp = Vector3.new(0,0,1)
end

function swordOut()
	Tool.GripForward = Vector3.new(0,0,1)
	Tool.GripRight = Vector3.new(0,-1,0)
	Tool.GripUp = Vector3.new(-1,0,0)
end

function swordAcross()
	-- parry
end

Tool.Enabled = true
local last_attack = 0
function onActivated()

	if not Tool.Enabled then
		return
	end

	Tool.Enabled = false

	local character = Tool.Parent;
	local humanoid = character.Humanoid
	if humanoid == nil then
		print("Humanoid not found")
		return
	end

	t = r.Stepped:wait()

	if (t - last_attack < .2) then
		lunge()
	else
		attack()
	end

	last_attack = t

	--wait(.5)

	Tool.Enabled = true
end

function onEquipped()
	UnsheathSound:play()
end

script.Parent.Activated:connect(onActivated)
script.Parent.Equipped:connect(onEquipped)

connection = sword.Touched:connect(blow)


Prompt: --force.maxForce = Vector3.new(200,0,200)

Response:
gyro.maxTorque = Vector3.new(50000,500000,500000)
gyro.cframe = CFrame.fromEulerAnglesXYZ(math.pi/2,math.pi,-math.pi/2+ math.random(-2*math.pi,2*math.pi))

current_look = math.random(-2*math.pi,2*math.pi)

math.randomseed(tick())
math.random()
function idle()
	wait(math.random(3,10))
end
function lookaround()
	for i=1,math.random(2,3) do
		wait(math.random(.5,2))
		current_look = current_look + math.random(-math.pi/6,math.pi/6)
		gyro.cframe = CFrame.fromEulerAnglesXYZ(math.pi/2,math.pi,-math.pi/2+ current_look)
	end
end
function walk()
	for i=1,math.random(2,10) do

	current_look = current_look + math.random(-math.pi/4,math.pi/4)
	gyro.cframe = CFrame.fromEulerAnglesXYZ(math.pi/2,math.pi,-math.pi/2+ current_look)
	wait(math.random(.5,2))
	force.velocity = (script.Parent.CFrame * CFrame.fromEulerAnglesXYZ(0,math.pi/2,0)).lookVector * 100
	force.maxForce = Vector3.new(160,0,160)
	wait(math.random(.5,1))
	force.maxForce = Vector3.new(0,0,0)
	wait(math.random(1,1.5))
	end
end

while true do--math.random(0,2*math.pi)
	wait()
	local rand =  math.random(1,4)
	if rand == 1 then
		walk()
	elseif rand == 2 or rand == 4 then
		lookaround()
	else
		idle()
	end
end


Prompt:
--[=[
	@param instance Instance
	@return RBXScriptConnection
	Attaches the trove to a Roblox instance. Once this
	instance is removed from the game (parent or ancestor's
	parent set to `nil`), the trove will automatically
	clean up.
	:::caution
	Will throw an error if `instance` is not a descendant
	of the game hierarchy.
	:::
]=]

Response:
function Trove:AttachToInstance(instance: Instance)
	assert(instance:IsDescendantOf(game), "Instance is not a descendant of the game hierarchy")
	return self:Connect(instance.AncestryChanged, function(_child, parent)
		if not parent then
			self:Destroy()
		end
	end)
end


Prompt: --Insert this script into Workspace, not camera.

Response:
game.Players.PlayerAdded:connect(function(p)
    wait(1)
    p.CameraMaxZoomDistance = 6
end)


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

Response:
return function(p1, p2)
	local v1 = nil;
	if type(p1) == "boolean" then
		v1 = "BoolValue";
	elseif type(p1) == "number" then
		v1 = "NumberValue";
	elseif type(p1) == "string" then
		v1 = "StringValue";
	elseif typeof(p1) == "CFrame" then
		v1 = "CFrameValue";
	elseif typeof(p1) == "Color3" then
		v1 = "Color3Value";
	elseif typeof(p1) == "Ray" then
		v1 = "RayValue";
	elseif typeof(p1) == "Vector3" then
		v1 = "Vector3Value";
	elseif typeof(p1) == "Instance" then
		v1 = "ObjectValue";
	end;
	if not v1 then
		return print("Value type not supported");
	end;
	local v2 = Instance.new(v1);
	v2.Value = p1;
	if p2 then
		v2.Parent = p2;
	end;
	return v2;
end;


Prompt: --CONFIG VARIABLES

Response:
local tweenTime = 4
local closeWaitTime = 3
local easingStyle = Enum.EasingStyle.Quad
local easingDirection = Enum.EasingDirection.InOut
local repeats = 0
local reverse = false
local delayTime = 0


Prompt: --forced walkspeed

Response:
function module.force_walkspeed(hum, tim)
	coroutine.wrap(function()
		local i = 1
		task.delay(tim, function() i = 2 end)
		while true do
			hum.WalkSpeed = 3
			hum.JumpPower = 1
			task.wait()
			if i == 2 then
				hum.WalkSpeed = 16
				hum.JumpPower = defJump
				break
			end
		end
	end)()
end