Prompt: --[[Engine]]

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

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

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


Prompt:
--[[script.Parent.Activated:Connect(function()
    -- the anim plays
	anim:Play()

end)]]

Response:
 -- this is your choice

script.Parent.Unequipped:Connect(function() -- do this function
	anim:Stop() -- the anim stop playing
end)


Response:
This = script.Parent
Elevator = This.Parent.Parent.Parent.Parent.Parent
Characters = require(script.Characters)
CustomLabel = require(Elevator.CustomLabel)

CustomText = CustomLabel["CUSTOMFLOORLABEL"]

This.Parent.Parent.Parent.Parent.Parent:WaitForChild("Floor").Changed:connect(function(floor)
  --custom indicator code--
  ChangeFloor(tostring(floor))
end)

function ChangeFloor(SF)
	if CustomText[tonumber(SF)] then
		SF = CustomText[tonumber(SF)]
	end
	SetDisplay(2,(string.len(SF) == 2 and SF:sub(1,1) or "NIL"))
	SetDisplay(3,(string.len(SF) == 2 and SF:sub(2,2) or SF))
end

function SetDisplay(ID,CHAR)
	if This.Display:FindFirstChild("Matrix"..ID) and Characters[CHAR] ~= nil then
 		for i,l in pairs(Characters[CHAR]) do
			for r=1,5 do
				This.Display["Matrix"..ID]["Row"..i]["D"..r].Visible = (l:sub(r,r) == "1" and true or false)
			end
		end
	end
end

for M = 1, Displays do
	for R = 1, 7 do
		for D = 1, 5 do
			This.Display["Matrix"..M]["Row"..R]["D"..D].BackgroundColor3 = DisplayColor
		end
	end
end


Prompt:
------------------------------------------------------------
--\Doors Update
------------------------------------------------------------

Response:
local DoorsFolder = ACS_Storage:FindFirstChild("Doors")
local CAS = game:GetService("ContextActionService")

local mDistance = 5
local Key = nil

function getNearest()
	local nearest = nil
	local minDistance = mDistance
	local Character = Player.Character or Player.CharacterAdded:Wait()

	for I,Door in pairs (DoorsFolder:GetChildren()) do
		if Door.Door:FindFirstChild("Knob") ~= nil then
			local distance = (Door.Door.Knob.Position - Character.Torso.Position).magnitude

			if distance < minDistance then
				nearest = Door
				minDistance = distance
			end
		end
	end
	--print(nearest)
	return nearest
end

function Interact(actionName, inputState, inputObj)
	if inputState ~= Enum.UserInputState.Begin then return end

	local nearestDoor = getNearest()
	local Character = Player.Character or Player.CharacterAdded:Wait()

	if nearestDoor == nil then return end

	if (nearestDoor.Door.Knob.Position - Character.Torso.Position).magnitude <= mDistance then
		if nearestDoor ~= nil then
			if nearestDoor:FindFirstChild("RequiresKey") then
				Key = nearestDoor.RequiresKey.Value
			else
				Key = nil
			end
			Evt.DoorEvent:FireServer(nearestDoor,1,Key)
		end
	end
end

function GetNearest(parts, maxDistance,Part)
	local closestPart
	local minDistance = maxDistance
    for _, partToFace in ipairs(parts) do
        local distance = (Part.Position - partToFace.Position).magnitude
        if distance < minDistance then
            closestPart = partToFace
            minDistance = distance
        end
   end
	return closestPart
end

CAS:BindAction("Interact", Interact, false, Enum.KeyCode.G)

Evt.Rappel.PlaceEvent.OnClientEvent:Connect(function(Parte)
	local Alinhar = Instance.new('AlignOrientation')
	Alinhar.Parent = Parte
	Alinhar.PrimaryAxisOnly = true
	Alinhar.RigidityEnabled = true
	Alinhar.Attachment0 = Character.HumanoidRootPart.RootAttachment
	Alinhar.Attachment1 = Camera.BasePart.Attachment
end)

print("ACS 1.7.5 R15 Loaded!")


Prompt:
--[=[
	Yields until the promise is complete, and errors if an error
	exists, otherwise returns the fulfilled results.

	@yields
	@return T
]=]

Response:
function Promise:Wait()
	if self._fulfilled then
		return unpack(self._fulfilled, 1, self._valuesLength)
	elseif self._rejected then
		return error(tostring(self._rejected[1]), 2)
	else
		local bindable = Instance.new("BindableEvent")

		self:Then(function()
			bindable:Fire()
		end, function()
			bindable:Fire()
		end)

		bindable.Event:Wait()
		bindable:Destroy()

		if self._rejected then
			return error(tostring(self._rejected[1]), 2)
		else
			return unpack(self._fulfilled, 1, self._valuesLength)
		end
	end
end


Prompt: --Combat loop

Response:
core.spawn(function()
	while myHuman.Health > 0 do

		if target and target.Parent and target.Parent.Humanoid.Health>0 and core.checkSight(target) and engineRunning and core.checkDist(myRoot,target) < 300 then

			--Keeps track of our last attack so we don't update the target within 5 seconds of attacking
			lastAttack = tick()

			--Prioritizes weapon based on enemy type--
			if target.Parent:GetExtentsSize().Magnitude > 10 then
				munition = combat.engageVehicle(munition,target)
			else
				munition = combat.engageLight(munition,target)
			end

		else
			--Aims M230 and Hydra to a neutral position when not in combat
			combat.resetM230()
			combat.resetHydra()
		end
		wait(0.1)
	end
end)


Response:
function onClicked()
R.Function1.Disabled = true
R.Function2.Disabled = false
R.BrickColor = BrickColor.new("CGA brown")
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)


Prompt: -- Variable to store the previous search text

Response: local previousSearchText = ""


Prompt: -- Current UI layout

Response:
local CurrentLayout;

function ChangeLayout(Layout)
	-- Sets the UI to the given layout

	-- Make sure the new layout isn't already set
	if CurrentLayout == Layout then
		return;
	end;

	-- Set this as the current layout
	CurrentLayout = Layout;

	-- Reset the UI
	for _, ElementName in pairs(UIElements) do
		local Element = UI[ElementName];
		Element.Visible = false;
	end;

	-- Keep track of the total vertical extents of all items
	local Sum = 0;

	-- Go through each layout element
	for ItemIndex, ItemName in ipairs(Layout) do

		local Item = UI[ItemName];

		-- Make the item visible
		Item.Visible = true;

		-- Position this item underneath the past items
		Item.Position = UDim2.new(0, 0, 0, 20) + UDim2.new(
			Item.Position.X.Scale,
			Item.Position.X.Offset,
			0,
			Sum + 10
		);

		-- Update the sum of item heights
		Sum = Sum + 10 + Item.AbsoluteSize.Y;

	end;

	-- Resize the container to fit the new layout
	UI.Size = UDim2.new(0, 200, 0, 30 + Sum);

end;

function UpdateUI()
	-- Updates information on the UI

	-- Make sure the UI's on
	if not UI then
		return;
	end;

	-- Get the textures in the selection
	local Textures = GetTextures(TextureTool.Type, TextureTool.Face);

	-- References to UI elements
	local ImageIdInput = UI.ImageIDOption.TextBox;
	local TransparencyInput = UI.TransparencyOption.Input.TextBox;

	-----------------------
	-- Update the UI layout
	-----------------------

	-- Get the plural version of the current texture type
	local PluralTextureType = TextureTool.Type .. 's';

	-- Figure out the necessary UI layout
	if #Selection.Parts == 0 then
		ChangeLayout(Layouts.EmptySelection);
		return;

	-- When the selection has no textures
	elseif #Textures == 0 then
		ChangeLayout(Layouts.NoTextures);
		return;

	-- When only some selected items have textures
	elseif #Selection.Parts ~= #Textures then
		ChangeLayout(Layouts['Some' .. PluralTextureType]);

	-- When all selected items have textures
	elseif #Selection.Parts == #Textures then
		ChangeLayout(Layouts['All' .. PluralTextureType]);
	end;

	------------------------
	-- Update UI information
	------------------------

	-- Get the common properties
	local ImageId = Support.IdentifyCommonProperty(Textures, 'Texture');
	local Transparency = Support.IdentifyCommonProperty(Textures, 'Transparency');

	-- Update the common inputs
	UpdateDataInputs {
		[ImageIdInput] = ImageId and ParseAssetId(ImageId) or ImageId or '*';
		[TransparencyInput] = Transparency and Support.Round(Transparency, 3) or '*';
	};

	-- Update texture-specific information on UI
	if TextureTool.Type == 'Texture' then

		-- Get texture-specific UI elements
		local RepeatXInput = UI.RepeatOption.XInput.TextBox;
		local RepeatYInput = UI.RepeatOption.YInput.TextBox;

		-- Get texture-specific common properties
		local RepeatX = Support.IdentifyCommonProperty(Textures, 'StudsPerTileU');
		local RepeatY = Support.IdentifyCommonProperty(Textures, 'StudsPerTileV');

		-- Update inputs
		UpdateDataInputs {
			[RepeatXInput] = RepeatX and Support.Round(RepeatX, 3) or '*';
			[RepeatYInput] = RepeatY and Support.Round(RepeatY, 3) or '*';
		};

	end;

end;

function UpdateDataInputs(Data)
	-- Updates the data in the given TextBoxes when the user isn't typing in them

	-- Go through the inputs and data
	for Input, UpdatedValue in pairs(Data) do

		-- Makwe sure the user isn't typing into the input
		if not Input:IsFocused() then

			-- Set the input's value
			Input.Text = tostring(UpdatedValue);

		end;

	end;

end;

function ParseAssetId(Input)
	-- Returns the intended asset ID for the given input

	-- Get the ID number from the input
	local Id = tonumber(Input)
		or tonumber(Input:lower():match('%?id=([0-9]+)'))
		or tonumber(Input:match('/([0-9]+)/'))
		or tonumber(Input:lower():match('rbxassetid://([0-9]+)'));

	-- Return the ID
	return Id;
end;

function SetFace(Face)

	-- Update the tool option
	TextureTool.Face = Face;

	-- Update the UI
	FaceDropdown.SetOption(Face and Face.Name or '*');

end;

function SetTextureType(TextureType)

	-- Update the tool option
	TextureTool.Type = TextureType;

	-- Update the UI
	Core.ToggleSwitch(TextureType, UI.ModeOption);
	UI.AddButton.Button.Text = 'ADD ' .. TextureType:upper();
	UI.RemoveButton.Button.Text = 'REMOVE ' .. TextureType:upper();

end;

function SetProperty(TextureType, Face, Property, Value)

	-- Make sure the given value is valid
	if not Value then
		return;
	end;

	-- Start a history record
	TrackChange();

	-- Go through each texture
	for _, Texture in pairs(GetTextures(TextureType, Face)) do

		-- Store the state of the texture before modification
		table.insert(HistoryRecord.Before, { Part = Texture.Parent, TextureType = TextureType, Face = Face, [Property] = Texture[Property] });

		-- Create the change request for this texture
		table.insert(HistoryRecord.After, { Part = Texture.Parent, TextureType = TextureType, Face = Face, [Property] = Value });

	end;

	-- Register the changes
	RegisterChange();

end;

function SetTextureId(TextureType, Face, AssetId)
	-- Sets the textures in the selection to the intended, given image asset

	-- Make sure the given asset ID is valid
	if not AssetId then
		return;
	end;

	-- Prepare the change request
	local Changes = {
		Texture = 'rbxassetid://' .. AssetId;
	};

	-- Attempt an image extraction on the given asset
	Core.Try(Core.SyncAPI.Invoke, Core.SyncAPI, 'ExtractImageFromDecal', AssetId)
		:Then(function (ExtractedImage)
			Changes.Texture = 'rbxassetid://' .. ExtractedImage;
		end);

	-- Start a history record
	TrackChange();

	-- Go through each texture
	for _, Texture in pairs(GetTextures(TextureType, Face)) do

		-- Create the history change requests for this texture
		local Before, After = { Part = Texture.Parent, TextureType = TextureType, Face = Face }, { Part = Texture.Parent, TextureType = TextureType, Face = Face };

		-- Gather change information to finish up the history change requests
		for Property, Value in pairs(Changes) do
			Before[Property] = Texture[Property];
			After[Property] = Value;
		end;

		-- Store the state of the texture before modification
		table.insert(HistoryRecord.Before, Before);

		-- Create the change request for this texture
		table.insert(HistoryRecord.After, After);

	end;

	-- Register the changes
	RegisterChange();

end;

function AddTextures(TextureType, Face)

	-- Prepare the change request for the server
	local Changes = {};

	-- Go through the selection
	for _, Part in pairs(Selection.Parts) do

		-- Make sure this part doesn't already have a texture of the same type
		local HasTextures;
		for _, Child in pairs(Part:GetChildren()) do
			if Child.ClassName == TextureType and Child.Face == Face then
				HasTextures = true;
			end;
		end;

		-- Queue a texture to be created for this part, if not already existent
		if not HasTextures then
			table.insert(Changes, { Part = Part, TextureType = TextureType, Face = Face });
		end;

	end;

	-- Send the change request to the server
	local Textures = Core.SyncAPI:Invoke('CreateTextures', Changes);

	-- Put together the history record
	local HistoryRecord = {
		Textures = Textures;
		Selection = Selection.Items;

		Unapply = function (Record)
			-- Reverts this change

			-- Select changed parts
			Selection.Replace(Record.Selection)

			-- Remove the textures
			Core.SyncAPI:Invoke('Remove', Record.Textures);

		end;

		Apply = function (Record)
			-- Reapplies this change

			-- Restore the textures
			Core.SyncAPI:Invoke('UndoRemove', Record.Textures);

			-- Select changed parts
			Selection.Replace(Record.Selection)

		end;

	};

	-- Register the history record
	Core.History.Add(HistoryRecord);

end;

function RemoveTextures(TextureType, Face)

	-- Get all the textures in the selection
	local Textures = GetTextures(TextureType, Face);

	-- Create the history record
	local HistoryRecord = {
		Textures = Textures;
		Selection = Selection.Items;

		Unapply = function (Record)
			-- Reverts this change

			-- Restore the textures
			Core.SyncAPI:Invoke('UndoRemove', Record.Textures);

			-- Select changed parts
			Selection.Replace(Record.Selection)

		end;

		Apply = function (Record)
			-- Reapplies this change

			-- Select changed parts
			Selection.Replace(Record.Selection)

			-- Remove the textures
			Core.SyncAPI:Invoke('Remove', Record.Textures);

		end;

	};

	-- Send the removal request
	Core.SyncAPI:Invoke('Remove', Textures);

	-- Register the history record
	Core.History.Add(HistoryRecord);

end;

function TrackChange()

	-- Start the record
	HistoryRecord = {
		Before = {};
		After = {};
		Selection = Selection.Items;

		Unapply = function (Record)
			-- Reverts this change

			-- Select the changed parts
			Selection.Replace(Record.Selection)

			-- Send the change request
			Core.SyncAPI:Invoke('SyncTexture', Record.Before);

		end;

		Apply = function (Record)
			-- Applies this change

			-- Select the changed parts
			Selection.Replace(Record.Selection)

			-- Send the change request
			Core.SyncAPI:Invoke('SyncTexture', Record.After);

		end;

	};

end;

function RegisterChange()
	-- Finishes creating the history record and registers it

	-- Make sure there's an in-progress history record
	if not HistoryRecord then
		return;
	end;

	-- Send the change to the server
	Core.SyncAPI:Invoke('SyncTexture', HistoryRecord.After);

	-- Register the record and clear the staging
	Core.History.Add(HistoryRecord);
	HistoryRecord = nil;

end;


Prompt:
--[[**
		ensures value is an array and all values of the array match check

		@param check The check to compare all values with

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

Response:
	function t.array(check)
		assert(t.callback(check))
		local valuesCheck = t.values(check)

		return function(value)
			local keySuccess, keyErrMsg = arrayKeysCheck(value)
			if keySuccess == false then
				return false, string.format("[array] %s", keyErrMsg or "")
			end

			-- # is unreliable for sparse arrays
			-- Count upwards using ipairs to avoid false positives from the behavior of #
			local arraySize = 0

			for _ in ipairs(value) do
				arraySize = arraySize + 1
			end

			for key in pairs(value) do
				if key < 1 or key > arraySize then
					return false, string.format("[array] key %s must be sequential", tostring(key))
				end
			end

			local valueSuccess, valueErrMsg = valuesCheck(value)
			if not valueSuccess then
				return false, string.format("[array] %s", valueErrMsg or "")
			end

			return true
		end
	end


Prompt:
--[[

TODO: Slash, three swing string. Swing 1 is 0.00 to 0.27, swing 2 is 0.27 to 0.5, swing 3 is 0.5 to 1.0

]]


Prompt: --Load Nexus VR Character Model.

Response:
NexusVRCharacterModelModule:SetConfiguration(Configuration)
NexusVRCharacterModelModule:Load()


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

Response:
local l__ReplicatedStorage__1 = game.ReplicatedStorage;
local l__CurrentTarget__2 = script.Parent.CurrentTarget;
local l__PetsFrame__1 = script.Parent.PetsFrame;
function resetFrame()
	for v6, v7 in pairs(l__PetsFrame__1.Frame:GetChildren())do
		if v7.Name ~= "UICorner" then
			for v11, v12 in pairs(v7.PetView:GetChildren()) do
				v12:Destroy();
			end;
			v7.Percentage.Text = "";
			v7.Rarity.Text = "";
			v7.ImageColor3 = Color3.fromRGB(25, 25, 25);
		end;
	end;
end;
local u2 = require(l__ReplicatedStorage__1.Pets.Eggs);
local l__CostLabel__3 = script.Parent.CostLabel;
local l__Models__4 = l__ReplicatedStorage__1.Pets.Models;
l__CurrentTarget__2:GetPropertyChangedSignal("Value"):Connect(function()
	if l__CurrentTarget__2.Value == "None" then
		resetFrame();
		return;
	end;
	local v13 = u2[l__CurrentTarget__2.Value];
	local l__Currency__14 = v13.Currency;
	local v15 = 0;
	local v16 = {};
	for v17, v18 in pairs(v13.Pets) do
		v16[#v16 + 1] = {
			Name = v18.Name,
			Type = v18.Type,
			Rarity = v18.Rarity,
			Secret = v18.Secret
		};
		v15 = v15 + v18.Rarity;
	end;
	l__CostLabel__3.CurrencyImage.Image = l__ReplicatedStorage__1.Pets.Settings:FindFirstChild(l__Currency__14 .. "Image").Value;
	l__CostLabel__3.TextLabel.Text = v13.Cost;
	table.sort(v16, function(p1, p2)
		return p2.Rarity < p1.Rarity;
	end);
	if l__Currency__14 ~= "R$" then
		script.Parent.BuyButtonR.Visible = true;
		script.Parent.BuyButtonT.Visible = true;
		script.Parent.BuyButtonE.Size = script.Parent.BuyButtonR.Size;
	else
		script.Parent.BuyButtonR.Visible = false;
		script.Parent.BuyButtonT.Visible = false;
		script.Parent.BuyButtonE.Size = script.Parent.CostLabel.Size;
	end;
	resetFrame();
	for v19, v20 in pairs(v16) do
		if v20.Secret == false then
			local l__Name__21 = v20.Name;
			local v22 = l__Models__4:FindFirstChild(l__Name__21):FindFirstChild(v20.Type):Clone();
			local v23 = l__PetsFrame__1.Frame:FindFirstChild("Slot" .. v19);
			local l__PetView__24 = v23.PetView;
			local v25 = math.floor(v20.Rarity / v15 * 10000) / 100;
			local l__Value__26 = l__Models__4:FindFirstChild(l__Name__21).Settings.Rarity.Value;
			local l__Value__27 = l__ReplicatedStorage__1.Pets.Rarities:FindFirstChild(l__Value__26).Color.Value;
			local v28 = Instance.new("Camera", l__PetView__24);
			local v29 = Vector3.new(0, 0, 0);
			l__PetView__24.CurrentCamera = v28;
			v22:SetPrimaryPartCFrame(CFrame.new(v29));
			v22.Parent = l__PetView__24;
			v23.Percentage.Text = v25 .. "%";
			v23.Rarity.Text = l__Value__26;
			v23.Rarity.TextColor3 = l__Value__27;
			v23.ImageColor3 = Color3.fromRGB(55, 55, 55);
			spawn(function()
				local v30 = 180;
				while wait() and v22.Parent ~= nil do
					v28.CFrame = CFrame.Angles(0, math.rad(v30), 0) * CFrame.new(v29 + Vector3.new(0, 0, 3), v29 + Vector3.new(0, 0, 0));
					v30 = v30 + 1;
				end;
			end);
		end;
	end;
end);


Prompt: -- Setup a list of audio ID's and properties to use. (These values can be changed as needed)


Prompt: -- DefaultValue for spare ammo

Response: local SpareAmmo = 1000


Prompt:
--- Gives `Character` the 'Amount' of silver in the bag, returns true if it was successful.
---@param Amount number
---@param Character Model
---@return boolean

Response:
local function GiveSilver(Amount: number, Character: Model): boolean

	--// One thing I noticed about this function is that the names of variables were.. Odd.
	--// The target is to make anyone be able to see the function and the algorithm just clicks.
	--// So you know, define the prefab, make sure your names are pretty self-explantory but not 'ToolToGive', etc etc.

	local Player = game.Players:GetPlayerFromCharacter(Character)

	if (not Player) then
		return false
	end

	Player.Data.Silver.Value += Amount
	return true
end


Prompt:
----------------------------------
------------FUNCTIONS-------------
----------------------------------

Response:
ContentProvider:PreloadAsync(workspace.Scripts.MainModule:GetDescendants())
function SetSounds(sounds)
	ContentProvider:PreloadAsync(workspace.Scripts.MainModule:GetDescendants())
	LocalSounds = sounds
end

function PlayNoteSound(note, source, range, sounds, vol, SpecialPiano)

	local pitch = 1
	if note > 61 then
		pitch = 1.059463 ^ (note - 61)
	elseif note < 1 then
		pitch = 1.059463 ^ (-(1 - note))
	end
	note = note > 61 and 61 or note < 1 and 1 or note
	local note2 = (note - 1)%12 + 1	-- Which note? (1-12)
	local octave = math.ceil(note/12) -- Which octave?
	local offset = (16 * (octave - 1) + 8 * (1 - note2%2))
	local sound = math.ceil(note2/2) -- Which audio?

	local audio = Instance.new("Sound", SoundFolder) -- Create the audio
	audio.SoundId = "https://roblox.com/asset/?id="..((sounds and sounds[sound]) or LocalSounds[sound]) -- Give its sound

	if source then
		local a = 1/range^2
		local distance = (game.Workspace.CurrentCamera.CoordinateFrame.p - source).magnitude
		local volume = -a*distance^2 + 1
		if volume < 0.01 then
			audio:remove()
			return
		end
		audio.Volume = volume * vol
	else
		audio.Volume = Volume;
	end
	if fade then
		delay(0.75, function()
			for i = 1, 5 do
				audio.Volume = audio.Volume * 0.75
				wait(0.1)
			end
			audio:Stop()
			audio:Destroy()
		end)
	end
	audio.TimePosition = offset + ((SpecialPiano or specialPiano) and 0.04 or (octave - .9)/15) -- set the time position
	audio.Pitch = pitch
	audio:Play() -- Play the audio

	table.insert(ExistingSounds, 1, audio)

	if #ExistingSounds >= 15 then
		ExistingSounds[15]:Stop() -- limit the number of playing sounds!
		ExistingSounds[15] = nil
	end
	delay(5, function() audio:Stop() audio:remove() end ) -- remove the audio in 4 seconds, enough time for it to play
end


Prompt:
--[[if JeffTheKillerScript and JeffTheKiller and JeffTheKiller:FindFirstChild("Thumbnail")then]]--
--[[JeffTheKiller:FindFirstChild("Thumbnail"):Destroy();]]--
--[[end;]]

Response:
--
local JeffTheKillerHumanoid;
for _,Child in pairs(JeffTheKiller:GetChildren())do
if Child and Child.ClassName=="Humanoid"and Child.Health~=0 then
JeffTheKillerHumanoid=Child;
end;
end;
local AttackDebounce=false;
local JeffTheKillerKnife=JeffTheKiller:FindFirstChild("Knife");
local JeffTheKillerHead=JeffTheKiller:FindFirstChild("Head");
local JeffTheKillerHumanoidRootPart=JeffTheKiller:FindFirstChild("HumanoidRootPart");
local WalkDebounce=false;
local Notice=false;
local JeffLaughDebounce=false;
local MusicDebounce=false;
local NoticeDebounce=false;
local ChosenMusic;
function FindNearestBae()
local NoticeDistance=100;
local TargetMain;
for _,TargetModel in pairs(Game:GetService("Workspace"):GetChildren())do
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and TargetModel.className=="Model"and TargetModel~=JeffTheKiller and TargetModel.Name~=JeffTheKiller.Name and TargetModel:FindFirstChild("Torso")and TargetModel:FindFirstChild("Head")then
local TargetPart=TargetModel:FindFirstChild("Torso");
local FoundHumanoid;
for _,Child in pairs(TargetModel:GetChildren())do
if Child and Child.ClassName=="Humanoid"and Child.Health~=0 then
FoundHumanoid=Child;
end;
end;
if TargetModel and TargetPart and FoundHumanoid and FoundHumanoid.Health~=0 and(TargetPart.Position-JeffTheKillerHumanoidRootPart.Position).magnitude<NoticeDistance then
TargetMain=TargetPart;
NoticeDistance=(TargetPart.Position-JeffTheKillerHumanoidRootPart.Position).magnitude;
local hit,pos=raycast(JeffTheKillerHumanoidRootPart.Position,(TargetPart.Position-JeffTheKillerHumanoidRootPart.Position).unit,500)
if hit and hit.Parent and hit.Parent.ClassName=="Model"and hit.Parent:FindFirstChild("Torso")and hit.Parent:FindFirstChild("Head")then
if TargetModel and TargetPart and FoundHumanoid and FoundHumanoid.Health~=0 and(TargetPart.Position-JeffTheKillerHumanoidRootPart.Position).magnitude<9 and not AttackDebounce then
Spawn(function()
AttackDebounce=true;
local SwingAnimation=JeffTheKillerHumanoid:LoadAnimation(JeffTheKiller:FindFirstChild("Swing"));
local SwingChoice=math.random(1,2);
local HitChoice=math.random(1,3);
SwingAnimation:Play();
SwingAnimation:AdjustSpeed(1.5+(math.random()*0.1));
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerKnife and JeffTheKillerKnife:FindFirstChild("Swing")then
local SwingSound=JeffTheKillerKnife:FindFirstChild("Swing");
SwingSound.Pitch=1+(math.random()*0.04);
SwingSound:Play();
end;
Wait(0.3);
if TargetModel and TargetPart and FoundHumanoid and FoundHumanoid.Health~=0 and(TargetPart.Position-JeffTheKillerHumanoidRootPart.Position).magnitude<8 then
FoundHumanoid:TakeDamage(15);
if HitChoice==1 and JeffTheKillerScript and JeffTheKiller and JeffTheKillerKnife and JeffTheKillerKnife:FindFirstChild("Hit1")then
local HitSound=JeffTheKillerKnife:FindFirstChild("Hit1");
HitSound.Pitch=1+(math.random()*0.04);
HitSound:Play();
elseif HitChoice==2 and JeffTheKillerScript and JeffTheKiller and JeffTheKillerKnife and JeffTheKillerKnife:FindFirstChild("Hit2")then
local HitSound=JeffTheKillerKnife:FindFirstChild("Hit2");
HitSound.Pitch=1+(math.random()*0.04);
HitSound:Play();
elseif HitChoice==3 and JeffTheKillerScript and JeffTheKiller and JeffTheKillerKnife and JeffTheKillerKnife:FindFirstChild("Hit3")then
local HitSound=JeffTheKillerKnife:FindFirstChild("Hit3");
HitSound.Pitch=1+(math.random()*0.04);
HitSound:Play();
end;
end;
Wait(0.1);
AttackDebounce=false;
end);
end;
end;
end;
end;
end;
return TargetMain;
end;
while Wait(0)do
local TargetPoint=JeffTheKillerHumanoid.TargetPoint;
local Blockage,BlockagePos=RayCast((JeffTheKillerHumanoidRootPart.CFrame+CFrame.new(JeffTheKillerHumanoidRootPart.Position,Vector3.new(TargetPoint.X,JeffTheKillerHumanoidRootPart.Position.Y,TargetPoint.Z)).lookVector*(JeffTheKillerHumanoidRootPart.Size.Z/2)).p,JeffTheKillerHumanoidRootPart.CFrame.lookVector,(JeffTheKillerHumanoidRootPart.Size.Z*2.5),{JeffTheKiller,JeffTheKiller})
local Jumpable=false;
if Blockage then
Jumpable=true;
if Blockage and Blockage.Parent and Blockage.Parent.ClassName~="Workspace"then
local BlockageHumanoid;
for _,Child in pairs(Blockage.Parent:GetChildren())do
if Child and Child.ClassName=="Humanoid"and Child.Health~=0 then
BlockageHumanoid=Child;
end;
end;
if Blockage and Blockage:IsA("Terrain")then
local CellPos=Blockage:WorldToCellPreferSolid((BlockagePos-Vector3.new(0,2,0)));
local CellMaterial,CellShape,CellOrientation=Blockage:GetCell(CellPos.X,CellPos.Y,CellPos.Z);
if CellMaterial==Enum.CellMaterial.Water then
Jumpable=false;
end;
elseif BlockageHumanoid or Blockage.ClassName=="TrussPart"or Blockage.ClassName=="WedgePart"or Blockage.Name=="Handle"and Blockage.Parent.ClassName=="Hat"or Blockage.Name=="Handle"and Blockage.Parent.ClassName=="Tool"then
Jumpable=false;
end;
end;
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and not JeffTheKillerHumanoid.Sit and Jumpable then
JeffTheKillerHumanoid.Jump=true;
end;
end;
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHead and JeffTheKillerHumanoidRootPart and JeffTheKillerHead:FindFirstChild("Jeff_Step")and (JeffTheKillerHumanoidRootPart.Velocity-Vector3.new(0,JeffTheKillerHumanoidRootPart.Velocity.y,0)).magnitude>=5 and not WalkDebounce and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 then
Spawn(function()
WalkDebounce=true;
local FiredRay=Ray.new(JeffTheKillerHumanoidRootPart.Position,Vector3.new(0,-4,0));
local RayTarget,endPoint=Game:GetService("Workspace"):FindPartOnRay(FiredRay,JeffTheKiller);
if RayTarget then
local JeffTheKillerHeadFootStepClone=JeffTheKillerHead:FindFirstChild("Jeff_Step"):Clone();
JeffTheKillerHeadFootStepClone.Parent=JeffTheKillerHead;
JeffTheKillerHeadFootStepClone:Play();
JeffTheKillerHeadFootStepClone:Destroy();
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and JeffTheKillerHumanoid.WalkSpeed<17 then
Wait(0.5);
elseif JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and JeffTheKillerHumanoid.WalkSpeed>17 then
Wait(0.2);
end
end;
WalkDebounce=false;
end);
end;
local MainTarget=FindNearestBae();
local FoundHumanoid;
if MainTarget then
for _,Child in pairs(MainTarget.Parent:GetChildren())do
if Child and Child.ClassName=="Humanoid"and Child.Health~=0 then
FoundHumanoid=Child;
end;
end;
end;
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and MainTarget and MainTarget.Parent and FoundHumanoid and FoundHumanoid.Jump then
JeffTheKillerHumanoid.Jump=true;
end;
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and MainTarget and FoundHumanoid and FoundHumanoid.Health~=0 and(MainTarget.Position-JeffTheKillerHumanoidRootPart.Position).magnitude<25 then
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHead and JeffTheKillerHead:FindFirstChild("Jeff_Laugh")and not JeffTheKillerHead:FindFirstChild("Jeff_Laugh").IsPlaying then
JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume=1;
JeffTheKillerHead:FindFirstChild("Jeff_Laugh"):Play();
end;
elseif JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and MainTarget and FoundHumanoid and FoundHumanoid.Health~=0 and(MainTarget.Position-JeffTheKillerHumanoidRootPart.Position).magnitude>25 then
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHead and JeffTheKillerHead:FindFirstChild("Jeff_Laugh")and JeffTheKillerHead:FindFirstChild("Jeff_Laugh").IsPlaying then
if not JeffLaughDebounce then
Spawn(function()
JeffLaughDebounce=true;
repeat Wait(0);if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHead and JeffTheKillerHead:FindFirstChild("Jeff_Laugh")then JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume=JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume-0.1;else break;end;until JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume==0 or JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume<0;
JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume=0;
JeffTheKillerHead:FindFirstChild("Jeff_Laugh"):Stop();
JeffLaughDebounce=false;
end);
end;
end;
end;
if not ChosenMusic and JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and MainTarget and FoundHumanoid and FoundHumanoid.Health~=0 and(MainTarget.Position-JeffTheKillerHumanoidRootPart.Position).magnitude<50 then
local MusicChoice=math.random(1,2);
if MusicChoice==1 and JeffTheKillerScript and JeffTheKiller and JeffTheKiller:FindFirstChild("Jeff_Scene_Sound1")then
ChosenMusic=JeffTheKiller:FindFirstChild("Jeff_Scene_Sound1");
elseif MusicChoice==2 and JeffTheKillerScript and JeffTheKiller and JeffTheKiller:FindFirstChild("Jeff_Scene_Sound2")then
ChosenMusic=JeffTheKiller:FindFirstChild("Jeff_Scene_Sound2");
end;
if JeffTheKillerScript and JeffTheKiller and ChosenMusic and not ChosenMusic.IsPlaying then
ChosenMusic.Volume=0.5;
ChosenMusic:Play();
end;
elseif JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and MainTarget and FoundHumanoid and FoundHumanoid.Health~=0 and(MainTarget.Position-JeffTheKillerHumanoidRootPart.Position).magnitude>50 then
if JeffTheKillerScript and JeffTheKiller and ChosenMusic and ChosenMusic.IsPlaying then
if not MusicDebounce then
Spawn(function()
MusicDebounce=true;
repeat Wait(0);if JeffTheKillerScript and JeffTheKiller and ChosenMusic then ChosenMusic.Volume=ChosenMusic.Volume-0.01;else break;end;until ChosenMusic.Volume==0 or ChosenMusic.Volume<0;
if ChosenMusic then
ChosenMusic.Volume=0;
ChosenMusic:Stop();
end;
ChosenMusic=nil;
MusicDebounce=false;
end);
end;
end;
end;
if not MainTarget and not JeffLaughDebounce then
Spawn(function()
JeffLaughDebounce=true;
repeat Wait(0);if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHead and JeffTheKillerHead:FindFirstChild("Jeff_Laugh")then JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume=JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume-0.1;else break;end;until JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume==0 or JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume<0;
JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume=0;
JeffTheKillerHead:FindFirstChild("Jeff_Laugh"):Stop();
JeffLaughDebounce=false;
end);
end;
if not MainTarget and not MusicDebounce then
Spawn(function()
MusicDebounce=true;
repeat Wait(0);if JeffTheKillerScript and JeffTheKiller and ChosenMusic then ChosenMusic.Volume=ChosenMusic.Volume-0.01;else break;end;until ChosenMusic.Volume==0 or ChosenMusic.Volume<0;
if ChosenMusic then
ChosenMusic.Volume=0;
ChosenMusic:Stop();
end;
ChosenMusic=nil;
MusicDebounce=false;
end);
end;
if MainTarget then
Notice=true;
if Notice and not NoticeDebounce and JeffTheKillerScript and JeffTheKiller and JeffTheKillerHead and JeffTheKillerHead:FindFirstChild("Jeff_Susto2")then
JeffTheKillerHead:FindFirstChild("Jeff_Susto2"):Play();
NoticeDebounce=true;
end
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 then
if MainTarget and FoundHumanoid and FoundHumanoid.Health~=0 and(MainTarget.Position-JeffTheKillerHumanoidRootPart.Position).magnitude>5 then
JeffTheKillerHumanoid.WalkSpeed=13;
elseif MainTarget and FoundHumanoid and FoundHumanoid.Health~=0 and(MainTarget.Position-JeffTheKillerHumanoidRootPart.Position).magnitude<5 then
JeffTheKillerHumanoid.WalkSpeed=0.013;
end;
JeffTheKillerHumanoid:MoveTo(MainTarget.Position+(MainTarget.Position-JeffTheKillerHumanoidRootPart.Position).unit*2,Game:GetService("Workspace"):FindFirstChild("Terrain"));
end;
else
Notice=false;
NoticeDebounce=false;
local RandomWalk=math.random(1,150);
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 then
JeffTheKillerHumanoid.WalkSpeed=12;
if RandomWalk==1 then
JeffTheKillerHumanoid:MoveTo(Game:GetService("Workspace"):FindFirstChild("Terrain").Position+Vector3.new(math.random(-2048,2048),0,math.random(-2048,2048)),Game:GetService("Workspace"):FindFirstChild("Terrain"));
end;
end;
end;
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid then
JeffTheKillerHumanoid.DisplayDistanceType="None";
JeffTheKillerHumanoid.HealthDisplayDistance=0;
JeffTheKillerHumanoid.Name="ColdBloodedKiller";
JeffTheKillerHumanoid.NameDisplayDistance=0;
JeffTheKillerHumanoid.NameOcclusion="EnemyOcclusion";
JeffTheKillerHumanoid.AutoJumpEnabled=true;
JeffTheKillerHumanoid.AutoRotate=true;
JeffTheKillerHumanoid.MaxHealth=500;
JeffTheKillerHumanoid.JumpPower=60;
JeffTheKillerHumanoid.MaxSlopeAngle=89.9;
end;
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and not JeffTheKillerHumanoid.AutoJumpEnabled then
JeffTheKillerHumanoid.AutoJumpEnabled=true;
end;
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and not JeffTheKillerHumanoid.AutoRotate then
JeffTheKillerHumanoid.AutoRotate=true;
end;
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.PlatformStand then
JeffTheKillerHumanoid.PlatformStand=false;
end;
if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Sit then
JeffTheKillerHumanoid.Sit=false;
end;
end;


Prompt:
--////////////////////////////// Include
--//////////////////////////////////////

Response:
local Chat = game:GetService("Chat")
local clientChatModules = Chat:WaitForChild("ClientChatModules")
local modulesFolder = script.Parent
local ChatSettings = require(clientChatModules:WaitForChild("ChatSettings"))
local CurveUtil = require(modulesFolder:WaitForChild("CurveUtil"))

local commandModules = clientChatModules:WaitForChild("CommandModules")
local WhisperModule = require(commandModules:WaitForChild("Whisper"))

local MessageSender = require(modulesFolder:WaitForChild("MessageSender"))

local ChatLocalization = nil
pcall(function() ChatLocalization = require(game:GetService("Chat").ClientChatModules.ChatLocalization) end)
if ChatLocalization == nil then ChatLocalization = {} function ChatLocalization:Get(key,default) return default end end

local FFlagUserChatNewMessageLengthCheck2 do
	local success, result = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserChatNewMessageLengthCheck2")
	end)
	FFlagUserChatNewMessageLengthCheck2 = success and result
end


Prompt: --//Value Info//--

Response:
script.Assets.Screen.StockUI.VehicleName.Text = VehicleName

vholder = Instance.new("Folder")
vholder.Name = "Storage"
vholder.Parent = script.Assets.Screen

vexternal = Instance.new("Folder")
vexternal.Name = "Storage"
vexternal.Parent = script.Parent

vname = Instance.new("StringValue")
vname.Parent = vholder
vname.Name = "CarName"
vname.Value = VehicleName

vhorsepower = Instance.new("NumberValue")
vhorsepower.Parent = vholder
vhorsepower.Name = "EngineHorsepower"
vhorsepower.Value = Horsepower

vdisplacement = Instance.new("NumberValue")
vdisplacement.Parent = vholder
vdisplacement.Name = "EngineDisplacement"
vdisplacement.Value = EngineDisplacement

vtirefl = Instance.new("NumberValue", vexternal)
vtirefl.Value = 0.59999999999999998
vtirefl.Name = "HeatFL"

vtirefr = Instance.new("NumberValue", vexternal)
vtirefr.Value = 0.59999999999999998
vtirefr.Name = "HeatFR"

vtirerl = Instance.new("NumberValue", vexternal)
vtirerl.Value = 0.59999999999999998
vtirerl.Name = "HeatRL"

vtirerr = Instance.new("NumberValue", vexternal)
vtirerr.Value = 0.59999999999999998
vtirerr.Name = "HeatRR"

venginetype = Instance.new("StringValue")
venginetype.Parent = vholder
venginetype.Name = "EngineType"
venginetype.Value = EngineType

vforcedinduction = Instance.new("StringValue")
vforcedinduction.Parent = vholder
vforcedinduction.Name = "InductionType"
vforcedinduction.Value = ForcedInduction

vinduction = Instance.new("NumberValue")
vinduction.Parent = vholder
vinduction.Name = "TurboSize"
if ForcedInduction == "Natural" then
	vinduction = 0
	else
vinduction.Value = InductionPartSize
end
vdrivetrain = Instance.new("StringValue")
vdrivetrain.Parent = vholder
vdrivetrain.Name = "Drivetrain"
vdrivetrain.Value = Drivetrain

vtorquesplit = Instance.new("NumberValue")
vtorquesplit.Parent = vexternal
vtorquesplit.Name = "TorqueSplit"
vtorquesplit.Value = TorqueSplit

vdff = Instance.new("NumberValue")
vdff.Parent = vexternal
vdff.Name = "DownforceF"
vdff.Value = DownforceF

vdfr = Instance.new("NumberValue")
vdfr.Parent = vexternal
vdfr.Name = "DownforceR"
vdfr.Value = DownforceR

vFdifferential = Instance.new("NumberValue")
vFdifferential.Parent = vholder
vFdifferential.Name = "FDifferential"
vFdifferential.Value = DifferentialF

vRdifferential = Instance.new("NumberValue")
vRdifferential.Parent = vholder
vRdifferential.Name = "RDifferential"
vRdifferential.Value = DifferentialR

vgears = Instance.new("NumberValue")
vgears.Parent = vholder
vgears.Name = "AmountOfGears"
if EngineType == "Electric" or TransmissionType == "CVT" then
vgears.Value = 1
else
vgears.Value = AmountOfGears
end

vautoflip = Instance.new("BoolValue")
vautoflip.Parent = vholder
vautoflip.Name = "Autoflip"
vautoflip.Value = AUTO_FLIP

vdecay = Instance.new("NumberValue")
vdecay.Parent = vholder
vdecay.Name = "RPMDecay"
vdecay.Value = RevDecay

vtrans = Instance.new("StringValue")
vtrans.Parent = vholder
vtrans.Name = "TransmissionType"
vtrans.Value = TransmissionType

vmanual = Instance.new("BoolValue")
vmanual.Parent = vholder
vmanual.Name = "ManualOnly"
vmanual.Value = ManualOnly

vautoclutch = Instance.new("BoolValue")
vautoclutch.Parent = vholder
vautoclutch.Name = "AutoClutch"

vmode = Instance.new("StringValue")
vmode.Parent = vexternal
vmode.Value = Mode
vmode.Name = "Mode"

if TransmissionType == "HPattern" then
vautoclutch.Value = false
else
vautoclutch.Value = true
end

vclutch = Instance.new("BoolValue")
vclutch.Parent = vholder
vclutch.Name = "Clutch"
vclutch.Value = true

vclutch2 = Instance.new("NumberValue")
vclutch2.Parent = vclutch
vclutch2.Name = "Clutch"
vclutch2.Value = 1

vbrakebias = Instance.new("NumberValue")
vbrakebias.Parent = vexternal
vbrakebias.Name = "BrakeBias"
vbrakebias.Value = BrakeBias

vbrakepower = Instance.new("NumberValue")
vbrakepower.Parent = vexternal
vbrakepower.Name = "BrakePower"
vbrakepower.Value = BrakePower

vabs = Instance.new("BoolValue")
vabs.Parent = vexternal
vabs.Name = "ABS"
vabs.Value = ABS

vtc = Instance.new("BoolValue")
vtc.Parent = vexternal
vtc.Name = "TC"
vtc.Value = TC

vasc = Instance.new("BoolValue")
vasc.Parent = vexternal
vasc.Name = "ASC"
vasc.Value = ActiveStabilityControl

vhb = Instance.new("BoolValue")
vhb.Parent = vexternal
vhb.Name = "Handbrake"
vhb.Value = false

vChb = Instance.new("BoolValue")
vChb.Parent = vhb
vChb.Name = "Computer"
vChb.Value = false

vUhb = Instance.new("BoolValue")
vUhb.Parent = vhb
vUhb.Name = "User"
vUhb.Value = false

vsteeringlock = Instance.new("NumberValue")
vsteeringlock.Parent = vexternal
vsteeringlock.Name = "SteeringAngle"
vsteeringlock.Value = SteeringAngle+5

vtirefront = Instance.new("NumberValue")
vtirefront.Parent = vholder
vtirefront.Name = "TireCompoundFront"
vtirefront.Value = TiresFront

vtirerear = Instance.new("NumberValue")
vtirerear.Parent = vholder
vtirerear.Name = "TireCompoundRear"
vtirerear.Value = TiresRear

vgear1 = Instance.new("NumberValue")
vgear1.Parent = vholder
vgear1.Name = "Gear1"
if EngineType == "Electric" then
vgear1.Value = 4
else
vgear1.Value = Gear1
end

vgear2 = Instance.new("NumberValue")
vgear2.Parent = vholder
vgear2.Name = "Gear2"
vgear2.Value = Gear2

vgear3 = Instance.new("NumberValue")
vgear3.Parent = vholder
vgear3.Name = "Gear3"
vgear3.Value = Gear3

vgear4 = Instance.new("NumberValue")
vgear4.Parent = vholder
vgear4.Name = "Gear4"
vgear4.Value = Gear4

vgear5 = Instance.new("NumberValue")
vgear5.Parent = vholder
vgear5.Name = "Gear5"
vgear5.Value = Gear5

vgear6 = Instance.new("NumberValue")
vgear6.Parent = vholder
vgear6.Name = "Gear6"
vgear6.Value = Gear6

vgear7 = Instance.new("NumberValue")
vgear7.Parent = vholder
vgear7.Name = "Gear7"
vgear7.Value = Gear7

vgear8 = Instance.new("NumberValue")
vgear8.Parent = vholder
vgear8.Name = "Gear8"
vgear8.Value = Gear8

vfinal = Instance.new("NumberValue")
vfinal.Parent = vexternal
vfinal.Name = "FinalDrive"
vfinal.Value = 6.08 - FinalDrive

vidle = Instance.new("NumberValue")
vidle.Parent = vholder
vidle.Name = "EngineIdle"
vidle.Value = EngineIdle+RevDecay

vdyno = Instance.new("BoolValue")
vdyno.Parent = script.Parent
vdyno.Name = "Dyno"
vdyno.Value = false

vboost = Instance.new("NumberValue")
vboost.Parent = vholder
vboost.Name = "Boost"
vboost.Value = 0

vepitch = Instance.new("NumberValue")
vepitch.Parent = script.Assets.Screen
vepitch.Name = "ePitch"
vepitch.Value = enginePitchAdjust

vsteerspeed = Instance.new("NumberValue")
vsteerspeed.Parent = vholder
vsteerspeed.Name = "SteerSpeed"
vsteerspeed.Value = SteerSpeed

vipitch = Instance.new("NumberValue")
vipitch.Parent = script.Assets.Screen
vipitch.Name = "iPitch"
vipitch.Value = idlePitchAdjust

vredline = Instance.new("NumberValue")
vredline.Parent = vholder
vredline.Name = "EngineRedline"
vredline.Value = EngineRedline

vmaxl = Instance.new("NumberValue")
vmaxl.Parent = vholder
vmaxl.Name = "MaxLength"
vmaxl.Value = minL

vminl = Instance.new("NumberValue")
vminl.Parent = vholder
vminl.Name = "MinLength"
vminl.Value = maxL

sturbo = Instance.new("Sound")
sturbo.Parent = engine
sturbo.Name = "Turbo"
sturbo.MaxDistance = 12000
sturbo.EmitterSize = InductionPartSize
sturbo.Volume = turbovolume
if InductionPartSize ~= 0 then
sturbo.SoundId = TurboSound
else
sturbo.SoundId = 0
end
sturbo = Instance.new("NumberValue")
sturbo.Parent = engine
sturbo.Name = "TurboSV"
sturbo.Value = turbovolume

ssupercharger = Instance.new("Sound")
ssupercharger.Parent = engine
ssupercharger.Name = "Supercharger"
ssupercharger.MaxDistance = 12000
ssupercharger.EmitterSize = InductionPartSize
ssupercharger.Volume = superchargervolume
ssupercharger.SoundId = SuperchargerSound

sidle = Instance.new("Sound")
sidle.Parent = diff
sidle.Name = "Idle"
sidle.MaxDistance = 12000
sidle.EmitterSize = 3
sidle.Volume = 0
sidle:Play()
sidle.Looped = true

sengine = Instance.new("Sound")
sengine.Parent = diff
sengine.Name = "Engine"
sengine.MaxDistance = 12000
sengine.EmitterSize = 6
sengine.Volume = 1
sengine:Play()
sengine.Looped = true
sengine.Volume = 0

sefengine = Instance.new("ReverbSoundEffect")
sefengine.DecayTime = 0.3
sefengine.Density = 1
sefengine.Diffusion = 1
sefengine.DryLevel = 3
sefengine.WetLevel = -6

sintake = Instance.new("Sound")
sintake.Parent = engine
sintake.Name = "Intake"
sintake.MaxDistance = 4000
sintake.EmitterSize = 2
sintake:Play()
sintake.Looped = true
sintake.Volume = 1
sintake.Pitch = 0

if EngineType == "Electric" then
sengine.SoundId =	"http://www.roblox.com/asset/?id=359277436"
IdleSound = "http://www.roblox.com/asset/?id=359277436"
sidle.SoundId = "http://www.roblox.com/asset/?id=359277436"
else
sengine.SoundId = EngineSound
sintake.SoundId =	"http://www.roblox.com/asset/?id=255444016"
sidle.SoundId = IdleSound
end

shorn = Instance.new("Sound")
shorn.Parent = script.Parent
shorn.Name = "Horn"
shorn.MaxDistance = 12000
shorn.EmitterSize = 8
shorn.Volume = hornvolume
shorn.SoundId = HornSound

swind = Instance.new("Sound")
swind.Parent = script.Parent
swind.Name = "Wind"
swind.MaxDistance = 12000
swind.EmitterSize = 4
swind.Volume = 0
swind.Pitch = 1
swind.Looped = true
swind.SoundId = "http://www.roblox.com/asset/?id=188608071"

sbsqueal = Instance.new("Sound")
sbsqueal.Parent = diff
sbsqueal.Name = "Brakes"
sbsqueal.MaxDistance = 12000
sbsqueal.EmitterSize = 2
sbsqueal.Volume = 0
sbsqueal.Pitch = 0
sbsqueal.Looped = true
sbsqueal.SoundId = "http://www.roblox.com/asset/?id=185857550"

sblow = Instance.new("Sound")
sblow.Parent = engine
sblow.Name = "Blowoff"
sblow.MaxDistance = 12000
sblow.EmitterSize = 5
sblow.Volume = 0
sblow.Pitch = 0.8
sblow.Looped = false
sblow.SoundId = "http://www.roblox.com/asset/?id=208085141"

sstartup = Instance.new("Sound")
sstartup.Parent = engine
sstartup.Name = "Startup"
sstartup.MaxDistance = 1000
sstartup.EmitterSize = 13
sstartup.Volume = startupvolume
if EngineType == "Electric" then
sstartup.SoundId = "http://www.roblox.com/asset/?id=402899121"
sstartup.Pitch = 2
else
sstartup.SoundId = StartupSound
sstartup.Pitch = 1.1
efstartup = Instance.new("FlangeSoundEffect")
efstartup.Parent = sstartup

ef2startup = Instance.new("DistortionSoundEffect")
efstartup.Parent = sstartup
ef2startup.Level = 0.25
end

sradio = Instance.new("Sound")
sradio.Parent = script.Parent
sradio.Name = "Radio"
sradio.MaxDistance = 400
sradio.EmitterSize = 1
sradio.Volume = 0.4

sspool = Instance.new("Sound")
sspool.Parent = engine
sspool.Name = "Spool"
sspool.Pitch = 0
if ForcedInduction == "Supercharger" then
sspool.SoundId = SuperchargerSound
else
sspool.SoundId = "rbxassetid://234458445"
end
sspool.MaxDistance = 12000
sspool.EmitterSize = 2
sspool.Looped = true

sreverse = Instance.new("Sound")
sreverse.Parent = trans
sreverse.Name = "Reverse"
sreverse.SoundId = SuperchargerSound
sreverse.MaxDistance = 12000
sreverse.EmitterSize = 1
sreverse.Pitch = 0
sreverse.Looped = true

veaj = Instance.new("NumberValue")
veaj.Parent = diff
veaj.Name = "adjuster"
veaj.Value = enginevolume

vstartuplength = Instance.new("NumberValue")
vstartuplength.Parent = vholder
vstartuplength.Name = "startuplength"
vstartuplength.Value = startuplength

vrideheightf = Instance.new("NumberValue")
vrideheightf.Parent = vexternal
vrideheightf.Name = "FrontRideHeight"
vrideheightf.Value = RideHeightFront

vrideheightr = Instance.new("NumberValue")
vrideheightr.Parent = vexternal
vrideheightr.Name = "RearRideHeight"
vrideheightr.Value = RideHeightRear

vstifff = Instance.new("NumberValue")
vstifff.Parent = vexternal
vstifff.Name = "FrontStiffness"
vstifff.Value = StiffnessFront

vmode = Instance.new("BoolValue")
vmode.Parent = vexternal
vmode.Name = "Automatic"
if TransmissionType ~= "HPattern" and TransmissionType ~= "CVT" then
vmode.Value = true
else
vmode.Value = false
end

vstiffr = Instance.new("NumberValue")
vstiffr.Parent = vexternal
vstiffr.Name = "RearStiffness"
vstiffr.Value = StiffnessRear

vrollf = Instance.new("NumberValue")
vrollf.Parent = vexternal
vrollf.Name = "AntirollFront"
vrollf.Value = AntiRollFront

vrollr = Instance.new("NumberValue")
vrollr.Parent = vexternal
vrollr.Name = "AntirollRear"
vrollr.Value = AntiRollRear

vcamberf = Instance.new("NumberValue")
vcamberf.Parent = vexternal
vcamberf.Name = "CamberFront"
vcamberf.Value = CamberFront

vcamberr = Instance.new("NumberValue")
vcamberr.Parent = vexternal
vcamberr.Name = "CamberRear"
vcamberr.Value = CamberRear

venginerpm = Instance.new("NumberValue")
venginerpm.Parent = vholder
venginerpm.Name = "EngineRPM"

vgearboxrpm = Instance.new("NumberValue")
vgearboxrpm.Parent = vholder
vgearboxrpm.Name = "GearboxRPM"

vlimiter = Instance.new("NumberValue")
vlimiter.Parent = vholder
vlimiter.Name = "Limiter"
if ElectronicallyLimited == true then
vlimiter.Value = LimitSpeedValue
else
vlimiter.Value = 1000000
end

vrpm = Instance.new("NumberValue")
vrpm.Parent = vholder
vrpm.Name = "RPM"

vthrottle = Instance.new("NumberValue")
vthrottle.Parent = vholder
vthrottle.Name = "Throttle"

vthrottleV = Instance.new("NumberValue")
vthrottleV.Parent = vthrottle
vthrottleV.Name = "Throttle"

currentgear = Instance.new("NumberValue")
currentgear.Parent = vholder
currentgear.Name = "CurrentGear"
if TransmissionType == "HPattern" then
	currentgear.Value = 3
	else
currentgear.Value = 1
end

vcontrol = Instance.new("StringValue")
vcontrol.Parent = vholder
vcontrol.Name = "Control"
vcontrol.Value = "Keyboard"

vsteer = Instance.new("NumberValue")
vsteer.Parent = vholder
vsteer.Name = "Steer"

vbrake = Instance.new("NumberValue")
vbrake.Parent = vholder
vbrake.Name = "Brake"


Prompt: -- Simulate a raycast by one tick.

Response:
local function SimulateCast(cast: ActiveCast, delta: number, expectingShortCall: boolean)
	assert(cast.StateInfo.UpdateConnection ~= nil, ERR_OBJECT_DISPOSED)
	PrintDebug("Casting for frame.")
	local latestTrajectory = cast.StateInfo.Trajectories[#cast.StateInfo.Trajectories]

	local origin = latestTrajectory.Origin
	local totalDelta = cast.StateInfo.TotalRuntime - latestTrajectory.StartTime
	local initialVelocity = latestTrajectory.InitialVelocity
	local acceleration = latestTrajectory.Acceleration

	local lastPoint = GetPositionAtTime(totalDelta, origin, initialVelocity, acceleration)
	local lastVelocity = GetVelocityAtTime(totalDelta, initialVelocity, acceleration)
	local lastDelta = cast.StateInfo.TotalRuntime - latestTrajectory.StartTime

	cast.StateInfo.TotalRuntime += delta

	-- Recalculate this.
	totalDelta = cast.StateInfo.TotalRuntime - latestTrajectory.StartTime

	local currentTarget = GetPositionAtTime(totalDelta, origin, initialVelocity, acceleration)
	local segmentVelocity = GetVelocityAtTime(totalDelta, initialVelocity, acceleration)
	local totalDisplacement = currentTarget - lastPoint -- This is the displacement from where the ray was on the last from to where the ray is now.

	local rayDir = totalDisplacement.Unit * segmentVelocity.Magnitude * delta
	local targetWorldRoot = cast.RayInfo.WorldRoot
	local resultOfCast = targetWorldRoot:Raycast(lastPoint, rayDir, cast.RayInfo.Parameters)

	local point = currentTarget
	local part: Instance? = nil
	local material = Enum.Material.Air
	local normal = Vector3.new()

	if (resultOfCast ~= nil) then
		point = resultOfCast.Position
		part = resultOfCast.Instance
		material = resultOfCast.Material
		normal = resultOfCast.Normal
	end

	local rayDisplacement = (point - lastPoint).Magnitude
	-- For clarity -- totalDisplacement is how far the ray would have traveled if it hit nothing,
	-- and rayDisplacement is how far the ray really traveled (which will be identical to totalDisplacement if it did indeed hit nothing)

	SendLengthChanged(cast, lastPoint, rayDir.Unit, rayDisplacement, segmentVelocity, cast.RayInfo.CosmeticBulletObject)
	cast.StateInfo.DistanceCovered += rayDisplacement

	local rayVisualization: ConeHandleAdornment? = nil
	if (delta > 0) then
		rayVisualization = DbgVisualizeSegment(CFrame.new(lastPoint, lastPoint + rayDir), rayDisplacement)
	end

	-- HIT DETECTED. Handle all that garbage, and also handle behaviors 1 and 2 (default behavior, go high res when hit) if applicable.
	-- CAST BEHAVIOR 2 IS HANDLED IN THE CODE THAT CALLS THIS FUNCTION.

	if part and part ~= cast.RayInfo.CosmeticBulletObject then
		local start = tick()
		PrintDebug("Hit something, testing now.")

		-- SANITY CHECK: Don't allow the user to yield or run otherwise extensive code that takes longer than one frame/heartbeat to execute.
		if (cast.RayInfo.CanPierceCallback ~= nil) then
			if expectingShortCall == false then
				if (cast.StateInfo.IsActivelySimulatingPierce) then
					cast:Terminate()
					error("ERROR: The latest call to CanPierceCallback took too long to complete! This cast is going to suffer desyncs which WILL cause unexpected behavior and errors. Please fix your performance problems, or remove statements that yield (e.g. wait() calls)")
					-- Use error. This should absolutely abort the cast.
				end
			end
			-- expectingShortCall is used to determine if we are doing a forced resolution increase, in which case this will be called several times in a single frame, which throws this error.
			cast.StateInfo.IsActivelySimulatingPierce = true
		end
		------------------------------

		if cast.RayInfo.CanPierceCallback == nil or (cast.RayInfo.CanPierceCallback ~= nil and cast.RayInfo.CanPierceCallback(cast, resultOfCast, segmentVelocity, cast.RayInfo.CosmeticBulletObject) == false) then
			PrintDebug("Piercing function is nil or it returned FALSE to not pierce this hit.")
			cast.StateInfo.IsActivelySimulatingPierce = false

			if (cast.StateInfo.HighFidelityBehavior == 2 and latestTrajectory.Acceleration ~= Vector3.new() and cast.StateInfo.HighFidelitySegmentSize ~= 0) then
				cast.StateInfo.CancelHighResCast = false -- Reset this here.

				if cast.StateInfo.IsActivelyResimulating then
					cast:Terminate()
					error("Cascading cast lag encountered! The caster attempted to perform a high fidelity cast before the previous one completed, resulting in exponential cast lag. Consider increasing HighFidelitySegmentSize.")
				end

				cast.StateInfo.IsActivelyResimulating = true

				-- This is a physics based cast and it needs to be recalculated.
				PrintDebug("Hit was registered, but recalculation is on for physics based casts. Recalculating to verify a real hit...")

				-- Split this ray segment into smaller segments of a given size.
				-- In 99% of cases, it won't divide evently (e.g. I have a distance of 1.25 and I want to divide into 0.1 -- that won't work)
				-- To fix this, the segments need to be stretched slightly to fill the space (rather than having a single shorter segment at the end)

				local numSegmentsDecimal = rayDisplacement / cast.StateInfo.HighFidelitySegmentSize -- say rayDisplacement is 5.1, segment size is 0.5 -- 10.2 segments
				local numSegmentsReal = math.floor(numSegmentsDecimal) -- 10 segments + 0.2 extra segments
				local realSegmentLength = rayDisplacement / numSegmentsReal -- this spits out 0.51, which isn't exact to the defined 0.5, but it's close

				local timeIncrement = delta / numSegmentsReal
				for segmentIndex = 1, numSegmentsReal do
					if cast.StateInfo.CancelHighResCast then
						cast.StateInfo.CancelHighResCast = false
						break
					end

					local subPosition = GetPositionAtTime(lastDelta + (timeIncrement * segmentIndex), origin, initialVelocity, acceleration)
					local subVelocity = GetVelocityAtTime(lastDelta + (timeIncrement * segmentIndex), initialVelocity, acceleration)
					local subRayDir = subVelocity * delta
					local subResult = targetWorldRoot:Raycast(subPosition, subRayDir, cast.RayInfo.Parameters)

					local subDisplacement = (subPosition - (subPosition + subVelocity)).Magnitude

					if (subResult ~= nil) then
						local subDisplacement = (subPosition - subResult.Position).Magnitude
						local dbgSeg = DbgVisualizeSegment(CFrame.new(subPosition, subPosition + subVelocity), subDisplacement)
						if (dbgSeg ~= nil) then dbgSeg.Color3 = Color3.new(0.286275, 0.329412, 0.247059) end
						if cast.RayInfo.CanPierceCallback == nil or (cast.RayInfo.CanPierceCallback ~= nil and cast.RayInfo.CanPierceCallback(cast, subResult, subVelocity, cast.RayInfo.CosmeticBulletObject) == false) then
							cast.StateInfo.IsActivelyResimulating = false

							SendRayHit(cast, subResult, subVelocity, cast.RayInfo.CosmeticBulletObject)
							cast:Terminate()
							local vis = DbgVisualizeHit(CFrame.new(point), false)
							if (vis ~= nil) then vis.Color3 = Color3.new(0.0588235, 0.87451, 1) end
							return
						else
							SendRayPierced(cast, subResult, subVelocity, cast.RayInfo.CosmeticBulletObject)
							local vis = DbgVisualizeHit(CFrame.new(point), true)
							if (vis ~= nil) then vis.Color3 = Color3.new(1, 0.113725, 0.588235) end
							if (dbgSeg ~= nil) then dbgSeg.Color3 = Color3.new(0.305882, 0.243137, 0.329412) end
						end
					else
						local dbgSeg = DbgVisualizeSegment(CFrame.new(subPosition, subPosition + subVelocity), subDisplacement)
						if (dbgSeg ~= nil) then dbgSeg.Color3 = Color3.new(0.286275, 0.329412, 0.247059) end
					end
				end
				cast.StateInfo.IsActivelyResimulating = false
			elseif (cast.StateInfo.HighFidelityBehavior ~= 1 and cast.StateInfo.HighFidelityBehavior ~= 3) then
				cast:Terminate()
				error("Invalid value " .. (cast.StateInfo.HighFidelityBehavior) .. " for HighFidelityBehavior.")
			else
				PrintDebug("Hit was successful. Terminating.")
				SendRayHit(cast, resultOfCast, segmentVelocity, cast.RayInfo.CosmeticBulletObject)
				cast:Terminate()
				DbgVisualizeHit(CFrame.new(point), false)
				return
			end
		else
			PrintDebug("Piercing function returned TRUE to pierce this part.")
			if rayVisualization ~= nil then
				rayVisualization.Color3 = Color3.new(0.4, 0.05, 0.05)
			end
			DbgVisualizeHit(CFrame.new(point), true)

			local params = cast.RayInfo.Parameters
			local alteredParts = {}
			local currentPierceTestCount = 0
			local originalFilter = params.FilterDescendantsInstances
			local brokeFromSolidObject = false
			while true do
				if resultOfCast.Instance:IsA("Terrain") then
					if material == Enum.Material.Water then
						cast:Terminate()
						error("Do not add Water as a piercable material. If you need to pierce water, set cast.RayInfo.Parameters.IgnoreWater = true instead", 0)
					end
					warn("WARNING: The pierce callback for this cast returned TRUE on Terrain! This can cause severely adverse effects.")
				end

				if params.FilterType == Enum.RaycastFilterType.Exclude then
					local filter = params.FilterDescendantsInstances
					table.insert(filter, resultOfCast.Instance)
					table.insert(alteredParts, resultOfCast.Instance)
					params.FilterDescendantsInstances = filter
				else
					local filter = params.FilterDescendantsInstances
					table.removeObject(filter, resultOfCast.Instance)
					table.insert(alteredParts, resultOfCast.Instance)
					params.FilterDescendantsInstances = filter
				end

				SendRayPierced(cast, resultOfCast, segmentVelocity, cast.RayInfo.CosmeticBulletObject)

				resultOfCast = targetWorldRoot:Raycast(lastPoint, rayDir, params)

				if resultOfCast == nil then
					break
				end

				if currentPierceTestCount >= MAX_PIERCE_TEST_COUNT then
					warn("WARNING: Exceeded maximum pierce test budget for a single ray segment (attempted to test the same segment " .. MAX_PIERCE_TEST_COUNT .. " times!)")
					break
				end
				currentPierceTestCount = currentPierceTestCount + 1;

				if cast.RayInfo.CanPierceCallback(cast, resultOfCast, segmentVelocity, cast.RayInfo.CosmeticBulletObject) == false then
					brokeFromSolidObject = true
					break
				end
			end

			cast.RayInfo.Parameters.FilterDescendantsInstances = originalFilter
			cast.StateInfo.IsActivelySimulatingPierce = false

			if brokeFromSolidObject then
				PrintDebug("Broke because the ray hit something solid (" .. tostring(resultOfCast.Instance) .. ") while testing for a pierce. Terminating the cast.")
				SendRayHit(cast, resultOfCast, segmentVelocity, cast.RayInfo.CosmeticBulletObject)
				cast:Terminate()
				DbgVisualizeHit(CFrame.new(resultOfCast.Position), false)
				return
			end
		end
	end

	if (cast.StateInfo.DistanceCovered >= cast.RayInfo.MaxDistance) then
		cast:Terminate()
		DbgVisualizeHit(CFrame.new(currentTarget), false)
	end
end


Prompt: -- Connections

Response:
game.Players.PlayerAdded:Connect(function(player)
	DataStore:Load(player)
end)
game.Players.PlayerRemoving:Connect(saveOnExit)
game:BindToClose(function()
    for _, player in ipairs(game.Players:GetPlayers()) do
        saveOnExit(player)
    end
end)

return DataStore


Prompt:
--[=[
	Destroys the timer.
]=]

Response:
function Timer:Destroy()
	self.Tick:Destroy()
	self:Stop()
end

return Timer


Prompt: --// Firemode Shot Customization

Response:
	BurstNum = 3; -- How many bullets per burst
	ShotNum = 5; -- How many bullets per shot


Prompt: --[[Transmission]]

Response:
	Tune.TransModes		= {"Semi", "Manual"}												--[[
	[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	= "RPM"												--[[
	[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)
	Tune.ShiftTime = 0				-- The time delay in which you initiate a shift and the car changes gear

	--Gear Ratios
	Tune.FinalDrive		= 3.21		 --	[TRANSMISSION CALCULATIONS FOR NERDS]
	Tune.Ratios			= {			 --		SPEED [SPS]	 = (Wheel diameter(studs) * pi(3.14) * RPM) / (60 * Gear Ratio * Final Drive * Multiplier)
		--[[Reverse]]	5.000		,--		WHEEL TORQUE = Engine Torque * Gear Ratio * Final Drive * Multiplier
		--[[Neutral]]	0			,
		--[[ 1 ]]		3.519      	,
		--[[ 2 ]]		2.320		,
		--[[ 3 ]]		1.700		,
		--[[ 4 ]]		1.400		,
		--[[ 5 ]]		0.907		,
	}
	Tune.FDMult			= 1.3			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)


Prompt: --Load the Nexus VR Character Model module.

Response:
local NexusVRCharacterModelModule
local MainModule = script:FindFirstChild("MainModule")
if MainModule then
    NexusVRCharacterModelModule = require(MainModule)
else
    NexusVRCharacterModelModule = require(6052374981)
end


Prompt: -- Remove back accessories since they frequently block the camera

Response:
local function isBackAccessory(instance)
	if instance and instance:IsA("Accessory") then
		local handle = instance:WaitForChild("Handle", 5)
		if handle and handle:IsA("Part") then
			local bodyBackAttachment = handle:WaitForChild("BodyBackAttachment", 5)
			if bodyBackAttachment and bodyBackAttachment:IsA("Attachment") then
				return true
			end

			local waistBackAttachment = handle:WaitForChild("WaistBackAttachment", 5)
			if waistBackAttachment and waistBackAttachment:IsA("Attachment") then
				return true
			end
		end
	end

	return false
end

local function removeBackAccessoriesFromCharacter(character)
	for _, child in ipairs(character:GetChildren()) do
		coroutine.wrap(function()
			if isBackAccessory(child) then
				child:Destroy()
			end
		end)()
	end
end

local descendantAddedConnection = nil
local function onCharacterAdded(character)
	removeBackAccessoriesFromCharacter(character)
	descendantAddedConnection = character.DescendantAdded:Connect(function(descendant)
		coroutine.wrap(function()
			if isBackAccessory(descendant) then
				descendant:Destroy()
			end
		end)()
	end)
end

local function onCharacterRemoving(character)
	if descendantAddedConnection then
		descendantAddedConnection:Disconnect()
		descendantAddedConnection = nil
	end
end


Prompt:
--[=[
	This allows the storage of subscriptions for keys, such that something
	can subscribe onto a key, and events can be invoked onto keys.
	@class ObservableSubscriptionTable
]=]

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

local Observable = require("Observable")

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

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

	self._subMap = {} -- { TKey: Subscription<TEmit> }

	return self
end


Prompt: -- Overrides Keyboard:UpdateJump() because jump is handled in OnRenderStepped

Response:
function ClickToMove:UpdateJump()
	-- Nothing to do (handled in OnRenderStepped)
end


Prompt: --- Toggles Cmdr window

Response:
function Cmdr:Toggle ()
	if not self.Enabled then
		return self:Hide()
	end

	Interface.Window:SetVisible(not Interface.Window:IsVisible())
end


Prompt: -- << RETRIEVE FRAMEWORK >>

Response:
local main = _G.HDAdminMain
local settings = main.settings


Response:
local weld2 = Instance.new("Weld")
weld2.Part0 = torso
weld2.Parent = torso
weld2.Part1 = arms[2]
weld2.C1 = CFrame.new(-0.5,1,-1) * CFrame.fromEulerAnglesXYZ(math.rad(-90),0,0) --Right leg
arms[2].Name = "RDave"
arms[2].CanCollide = true
welds[2] = weld2


Prompt: --Main Control------------------------------------------------------------------------

Response:
SideLight1 = script.Parent.SideLight1
SideLight1A = script.Parent.SideLight1A
SideLight2 = script.Parent.SideLight2
SideLight2A = script.Parent.SideLight2A
Red1 = script.Parent.Red1.Lamp.Light
Red1A = script.Parent.Red1A.Lamp.Light
Red2 = script.Parent.Red2.Lamp.Light
Red2A = script.Parent.Red2A.Lamp.Light
DRed1 = script.Parent.Red1.DynamicLight
DRed1A = script.Parent.Red1A.DynamicLight
DRed2 = script.Parent.Red2.DynamicLight
Ded2A = script.Parent.Red2A.DynamicLight
while true do
	wait()
	if Signal.Value == false then
		SideLight1.Material = "SmoothPlastic"
		SideLight1A.Material = "SmoothPlastic"
		SideLight2.Material = "SmoothPlastic"
		SideLight2A.Material = "SmoothPlastic"
		SideLight1.BrickColor = BrickColor.new(1003)
		SideLight1A.BrickColor = BrickColor.new(1003)
		SideLight2.BrickColor = BrickColor.new(1003)
		SideLight2A.BrickColor = BrickColor.new(1003)
		Red1.Visible = false
		Red1A.Visible = false
		Red2.Visible = false
		Red2A.Visible = false
		DRed1.Enabled = false
		DRed1A.Enabled = false
		DRed2.Enabled = false
		Ded2A.Enabled = false
	else
		if Flash.Value == true then
		SideLight1.Material = "Neon"
		SideLight1A.Material = "SmoothPlastic"
		SideLight2.Material = "Neon"
		SideLight2A.Material = "SmoothPlastic"
		SideLight1.BrickColor = BrickColor.new(1004)
		SideLight1A.BrickColor = BrickColor.new(1003)
		SideLight2.BrickColor = BrickColor.new(1004)
		SideLight2A.BrickColor = BrickColor.new(1003)
		Red1.Visible = true
		Red1A.Visible = false
		Red2.Visible = true
		Red2A.Visible = false
		DRed1.Enabled = true
		DRed1A.Enabled = false
		DRed2.Enabled = true
		Ded2A.Enabled = false
		else
		SideLight1.Material = "SmoothPlastic"
		SideLight1A.Material = "Neon"
		SideLight2.Material = "SmoothPlastic"
		SideLight2A.Material = "Neon"
		SideLight1.BrickColor = BrickColor.new(1003)
		SideLight1A.BrickColor = BrickColor.new(1004)
		SideLight2.BrickColor = BrickColor.new(1003)
		SideLight2A.BrickColor = BrickColor.new(1004)
		Red1.Visible = false
		Red1A.Visible = true
		Red2.Visible = false
		Red2A.Visible = true
		DRed1.Enabled = false
		DRed1A.Enabled = true
		DRed2.Enabled = false
		Ded2A.Enabled = true
		end
	end
end


Prompt: -- Create sound variables

Response:
local id
local volume
local playbackSpeed


Prompt: --//Script

Response:
Plaka()
CarColor()

Stats.Locked.Changed:Connect(function()
ToogleLock(Stats.Locked.Value)
end)
Stats.Color.Changed:Connect(function()
CarColor()
end)

Fuel = script.Parent.Parent.Stats.Fuel
MainPart = script.Parent.Parent.Body.Main
while wait(.5) do
if oldpos == nil then
oldpos = MainPart.Position
else
newpos = MainPart.Position
Fuel.Value = Fuel.Value - (oldpos - newpos).Magnitude/150
oldpos = newpos
end
end


Prompt: --Don't touch anything in this script unless you know what you're doing

Response:
script.Parent.MouseButton1Click:connect(function()
script.Parent.Parent.Parent.Open.Visible=true
script.Parent.Parent.Visible=false
end)


Prompt: --//Player//--

Response:
local Player = game.Players.LocalPlayer
local Mouse = Player:GetMouse()


Prompt: -- Function to update the text label with the Core's size

Response:
local function UpdateLabel()
	local coreSize = core.Size
	textLabel.Text = "Core Size: " .. tostring(coreSize)
end


Prompt: --// Ammo Settings

Response:
	Ammo = 1;
	StoredAmmo = 1;
	MagCount = math.huge; --  If you want infinate ammo, set to math.huge EX. MagCount = math.huge;
	ExplosiveAmmo = 0;


Prompt:
-- Camera Shake Presets
-- Stephen Leitnick
-- February 26, 2018


Prompt:
--[=[
	Gets whatever object is stored with the given index, if it exists. This was added since Maid allows getting the task using `__index`.

	```lua
	local Obliterator = Janitor.new()
	Obliterator:Add(workspace.Baseplate, "Destroy", "Baseplate")
	print(Obliterator:Get("Baseplate")) -- Returns Baseplate.
	```

	```ts
	import { Workspace } from "@rbxts/services";
	import { Janitor } from "@rbxts/janitor";

	const Obliterator = new Janitor<{ Baseplate: Part }>();
	Obliterator.Add(Workspace.FindFirstChild("Baseplate") as Part, "Destroy", "Baseplate");
	print(Obliterator.Get("Baseplate")); // Returns Baseplate.
	```

	@param Index any -- The index that the object is stored under.
	@return any? -- This will return the object if it is found, but it won't return anything if it doesn't exist.
]=]

Response:
function Janitor:Get(Index: any): any?
	local This = self[IndicesReference]
	if This then
		return This[Index]
	else
		return nil
	end
end


Prompt: --ClickFunctions

Response:
local Size0 = Vector3.new(0.175, 1, 1)
local Size1 = Vector3.new(0.1, 1, 1)
local Material0 = "Metal"
local Material1 = "Neon"
local Min = 0
local Max = 9


Prompt: --Engine--

Response:
script.Parent.Parent.Values.RPM.Changed:connect(function()
local HP = StockHP
local Horsepower = _Tune.Horsepower
local Boost = (((totalPSI/2)*WasteGatePressure)*(CompressionRatio/10)*TurboCount)
local B2 = (Boost)/7.5
local B3 = HP*B2
local B4 = B3/2

_Tune.Horsepower = (HP) + (B4)

end)


Prompt: --//Character//--

Response: local Character = script.Parent


Prompt: -- See if the game is Team or FFA

Response: IsTeams = FetchConfiguration:FireServer("TEAMS")


Prompt:
-- Implements Javascript's `Array.prototype.reduce` as defined below
-- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce

Response:
local function reduce(array: Array, callback: Function, initialValue: any?): any
	if typeof(array) ~= "table" then
		error(string.format("Array.reduce called on %s", typeof(array)))
	end
	if typeof(callback) ~= "function" then
		error("callback is not a function")
	end

	local length = #array

	local value
	local initial = 1

	if initialValue ~= nil then
		value = initialValue
	else
		initial = 2
		if length == 0 then
			error("reduce of empty array with no initial value")
		end
		value = array[1]
	end

	for i = initial, length do
		value = callback(value, array[i], i, array)
	end

	return value
end

return reduce


Prompt:
--	====================
--	BULLET VISUALIZER
--	Enabled the gun to display a fake travelling bullet
--	====================

Response:
		VisualizerEnabled = true;
		BulletSpeed = 25;
		BulletSize = Vector3.new(0.25,0.25,100);
		BulletColor = BrickColor.new("White");
		BulletTransparency = 0.25;
		BulletMaterial = Enum.Material.Neon;
		FadeTime = 0.25; --Only work when bullet travel instantly. For this, you have to set BulletSpeed to "math.huge"


Prompt:
--- An expensive way to spawn a function. However, unlike spawn(), it executes on the same frame, and
-- unlike coroutines, does not obscure errors
-- @module fastSpawn

Response:
return function(func, ...)
	local args = {...}
	local count = select("#", ...)

	local bindable = Instance.new("BindableEvent")
	bindable.Event:Connect(function()
		func(unpack(args, 1, count))
	end)

	bindable:Fire()
	bindable:Destroy()
end


Prompt: --[[ The Module ]]

Response:
--
local BaseCharacterController = {}
BaseCharacterController.__index = BaseCharacterController

function BaseCharacterController.new()
	local self = setmetatable({}, BaseCharacterController)
	self.enabled = false
	self.moveVector = ZERO_VECTOR3
	self.moveVectorIsCameraRelative = true
	self.isJumping = false
	return self
end

function BaseCharacterController:OnRenderStepped(dt)
	-- By default, nothing to do
end

function BaseCharacterController:GetMoveVector()
	return self.moveVector
end

function BaseCharacterController:IsMoveVectorCameraRelative()
	return self.moveVectorIsCameraRelative
end

function BaseCharacterController:GetIsJumping()
	return self.isJumping
end


Prompt: --[[Standardized Values: Don't touch unless needed]]

Response:
	--[WEIGHT // Cubic stud : pounds ratio]
	Tune.WeightScaling = 1/50	--Default = 1/50 (1 cubic stud = 50 lbs)
	Tune.LegacyScaling = 1/10	--Default = 1/10 (1 cubic stud = 10 lbs) [PGS OFF]
	--[ENGINE // Caching]
	Tune.CurveCache = true		--Default = true (Caches the engine and boost curves)
	Tune.CacheInc = 100 		--Default = 100 (How many points the curve will have.)
	--[[Examples: 1 = every RPM increment [will freeze your computer at low settings like this],
				  100 = default and recommended,
				  1000 or more = death															]]

return Tune


Prompt: --SoundPurge

Response:
function SoundPurge()
	local Sound = script.Parent.Parent.BeltSet.SoundMain
	wait(2)
	Sound.PlaybackSpeed = 0.2
	wait(0.4)
	Sound.PlaybackSpeed = 0
end

SoundPurge()

RCMAddress.Contactors.Blower:GetPropertyChangedSignal("Value"):Connect(function()
	script.Parent.BlowerOn.Value = RCMAddress.Contactors.Blower.Value
end)

RunCycle = false
CompleteStop = true
script.Parent.BlowerOn.Changed:Connect(function()
	if CompleteStop == true and script.Parent.BlowerOn.Value == true then
		CompleteStop = false
		--script.Parent.Parent.BeltSet.MotorStart:Play()
		repeat wait()
			if SirenAddress.SirenHeadMovingPartsMain.Sound.SoundMain.On.Value == true then
				if script.Parent.BlowerOn.Value == true and script.Parent.Parent.BeltSet.Sound.PlaybackSpeed > 0 then
					local pitch = script.Parent.Parent.BeltSet.Sound.PlaybackSpeed
					local formula = math.clamp(math.log(math.abs(pitch-1)+0.0001,0.7)/250,0.0004,0.07)
					--local formula = math.clamp(math.log(pitch+0.0001,0.7)/250,0.0004,0.07)
					script.Parent.Parent.BeltSet.Sound.PlaybackSpeed = script.Parent.Parent.BeltSet.Sound.PlaybackSpeed - formula
				elseif script.Parent.BlowerOn.Value == false and script.Parent.Parent.BeltSet.Sound.PlaybackSpeed < 1 then
					local pitch = script.Parent.Parent.BeltSet.Sound.PlaybackSpeed
					local formula = math.clamp(math.log(pitch+0.0001,0.7)/250,0.0004,0.07)
					--local formula = math.clamp(math.log(math.abs(pitch-1)+0.0001,0.7)/250,0.0004,0.07)
					--print(math.abs(pitch-1))
					script.Parent.Parent.BeltSet.Sound.PlaybackSpeed = script.Parent.Parent.BeltSet.Sound.PlaybackSpeed + formula
				end
			else
				if script.Parent.BlowerOn.Value == true and script.Parent.Parent.BeltSet.Sound.PlaybackSpeed > 0 then
					local pitch = script.Parent.Parent.BeltSet.Sound.PlaybackSpeed
					local formula = math.clamp(math.log(math.abs(pitch-1)+0.0001,0.7)/250,0.0004,0.07)
					--local formula = math.clamp(math.log(pitch+0.0001,0.7)/250,0.0004,0.07)
					script.Parent.Parent.BeltSet.Sound.PlaybackSpeed = script.Parent.Parent.BeltSet.Sound.PlaybackSpeed - formula
				elseif script.Parent.BlowerOn.Value == false and script.Parent.Parent.BeltSet.Sound.PlaybackSpeed > 0 then
					local pitch = script.Parent.Parent.BeltSet.Sound.PlaybackSpeed
					local formula = math.clamp(math.log(math.abs(pitch-1)+0.0001,0.7)/250,0.0004,0.07)
					--local formula = math.clamp(math.log(math.abs(pitch-1)+0.0001,0.7)/250,0.0004,0.07)
					--print(math.abs(pitch-1))
					script.Parent.Parent.BeltSet.Sound.PlaybackSpeed = script.Parent.Parent.BeltSet.Sound.PlaybackSpeed - formula
				end
			end
		until CompleteStop == true
	end
end)

LobeSet1 = script.Parent.Parent.Sutorbilt4MBlower.MovingParts.Set1Motor.HingeConstraint
LobeSet2 = script.Parent.Parent.Sutorbilt4MBlower.MovingParts.Set2Motor.HingeConstraint
BlowerMotor = script.Parent.Parent.BlowerMotor.Motor.HingeConstraint

function Rotate()
	LobeSet1.AngularVelocity = -script.Parent.CurrentBlowerSpeed.Value/.01
	LobeSet2.AngularVelocity = script.Parent.CurrentBlowerSpeed.Value/.01
	BlowerMotor.AngularVelocity = -script.Parent.CurrentBlowerSpeed.Value/.01
end

PlayAudio = false

function playAudio()
	if PlayAudio == false then
		PlayAudio = true
		script.Parent.Parent.BeltSet.SoundMain:Play()
		script.Parent.Parent.BeltSet.MotorStart.Volume = 0.5
		wait(0.1)
		if SirenAddress.SirenHeadMovingPartsMain.Sound.SoundMain.On.Value == false then
			SirenAddress.SirenHeadMovingPartsMain.Sound.SoundMain.RollOffMaxDistance = 0
			SirenAddress.SirenHeadMovingPartsMain.Sound.SoundMain.RollOffMinDistance = 0
		end
	end
end

script.Parent.BlowerOn.Changed:Connect(function()
	if script.Parent.BlowerOn.Value == true then
		playAudio()
		RunCycle = true
		repeat game:GetService("RunService").Heartbeat:wait()
			script.Parent.CurrentBlowerSpeed.Value = script.Parent.CurrentBlowerSpeed.Value + 0.06
			script.Parent.Parent.BeltSet.SoundMain.PlaybackSpeed = script.Parent.CurrentBlowerSpeed.Value
			Rotate()
		until script.Parent.CurrentBlowerSpeed.Value >= 1 or script.Parent.BlowerOn.Value == false
		script.Parent.CurrentBlowerSpeed.Value = 1
		script.Parent.Parent.BeltSet.SoundMain.PlaybackSpeed = script.Parent.CurrentBlowerSpeed.Value
		Rotate()
	else
		RunCycle = false
		repeat game:GetService("RunService").Heartbeat:wait()
			script.Parent.CurrentBlowerSpeed.Value = script.Parent.CurrentBlowerSpeed.Value - 0.0032
			script.Parent.Parent.BeltSet.SoundMain.PlaybackSpeed = script.Parent.CurrentBlowerSpeed.Value
			Rotate()
		until script.Parent.CurrentBlowerSpeed.Value <= 0 or RunCycle == true
		if script.Parent.CurrentBlowerSpeed.Value <= 0 then
			script.Parent.CurrentBlowerSpeed.Value = 0
			script.Parent.Parent.BeltSet.SoundMain:Stop()
			PlayAudio = false
			CompleteStop = true
			script.Parent.Parent.BeltSet.SoundMain.Volume = 0
			script.Parent.Parent.BeltSet.SoundMain.PlaybackSpeed = script.Parent.CurrentBlowerSpeed.Value
			Rotate()
		end
	end
end)

script.Parent.BlowerOn.Changed:Connect(function()
	if script.Parent.BlowerOn.Value == true then
		script.Parent.Parent.BeltSet.SoundMain.Volume = 0.5
		script.Parent.Parent.BeltSet.MotorStart:Play()
	else
		script.Parent.Parent.BeltSet.MotorStart:Stop()
	end
end)

script.Parent.Parent.BeltSet.Sound.Changed:Connect(function()
	script.Parent.SpeedInvert.Value = script.Parent.Parent.BeltSet.SoundMain.PlaybackSpeed * -1
	script.Parent.Parent.BeltSet.MotorStart.Volume = script.Parent.SpeedInvert.Value + 1
end)

SirenAddress.SirenHeadMovingPartsMain.Sound.SoundMain.On.Changed:Connect(function()
	if SirenAddress.SirenHeadMovingPartsMain.Sound.SoundMain.On.Value == true and script.Parent.BlowerOn.Value == false then
		script.Parent.Parent.BeltSet.Sound.PlaybackSpeed = 0.68
	end
end)


Prompt: --[[Transmission]]

Response:
	Tune.TransModes		= {"Auto", "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)

	--Gear Ratios
	Tune.FinalDrive		= 4.06			-- Gearing determines top speed and wheel torque
	Tune.Ratios			= {				-- Higher ratio = more torque, Lower ratio = higher top speed
		--[[Reverse]]	3.70		,	-- Copy and paste a ratio to add a gear
		--[[Neutral]]	0			,	-- Ratios can also be deleted
		--[[ 1 ]]		3.53		,	-- Reverse, Neutral, and 1st gear are required
		--[[ 2 ]]		2.04		,
		--[[ 3 ]]		1.38		,
		--[[ 4 ]]		1.13		,
		--[[ 5 ]]		0.63		,
		--[[ 6 ]]		0.47		,
	}
	Tune.FDMult			= 1.5			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)


Prompt: -- Testing AC FE support

Response:
local event = script.Parent
local car=script.Parent.Parent
local LichtNum = 0

event.OnServerEvent:connect(function(player,data)
	if data['ToggleLight'] then
		if car.Body.Light.on.Value==true then
			car.Body.Light.on.Value=false
		else
			car.Body.Light.on.Value=true
		end
	elseif data['EnableBrakes'] then
		car.Body.Brakes.on.Value=true
	elseif data['DisableBrakes'] then
		car.Body.Brakes.on.Value=false
	elseif data['ToggleLeftBlink'] then
		if car.Body.Left.on.Value==true then
			car.Body.Left.on.Value=false
		else
			car.Body.Left.on.Value=true
		end
	elseif data['ToggleRightBlink'] then
		if car.Body.Right.on.Value==true then
			car.Body.Right.on.Value=false
		else
			car.Body.Right.on.Value=true
		end
	elseif data['ReverseOn'] then
		car.Body.Reverse.on.Value=true
	elseif data['ReverseOff'] then
		car.Body.Reverse.on.Value=false
	elseif data['ToggleStandlicht'] then
		if LichtNum == 0 then
			LichtNum = 2
			car.Body.Headlight.on.Value = true
		elseif LichtNum == 1 then
			LichtNum = 2
			car.Body.Headlight.on.Value = true
		elseif LichtNum == 2 then
			LichtNum = 3
			car.Body.Highlight.on.Value = true
		elseif LichtNum == 3 then
			LichtNum = 1
			car.Body.Highlight.on.Value = false
			car.Body.Headlight.on.Value = false
		end
	elseif data["ToggleHazards"] then
		if car.Body.Hazards.on.Value == false then
			car.Body.Hazards.on.Value = true
		elseif car.Body.Hazards.on.Value == true then
			car.Body.Hazards.on.Value = false
		end
	end
end)


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

Response: local b = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"


Prompt:
-- ================================================================================
-- LOCAL FUNCTIONS
-- ================================================================================

Response:
local function weld(folder, main, parent)
	for _,child in pairs(parent:GetChildren()) do
		if ((child:IsA("BasePart")) and (child ~= main) and (child.Name ~= "Head")
			and (child.Name ~= "UpperTorso")) then

			local weld = Instance.new("WeldConstraint")
			weld.Parent = folder
			weld.Name = "Weld"
			weld.Part0, weld.Part1 = child, main
		end
		weld(folder, main, child)
	end
end -- weld()


Prompt: -- Update loop; on every loop, checks if an object should be made and, if so, creates that object

Response:
local last = tick()
while wait() do
    local now = tick()
    local delta = now - last

    for _, object in ipairs(fallingStuffTable) do
        if checkIfShouldDrop(object, delta) then
            local obj = object.MODEL:Clone()
            positionFallingObject(obj)
            setupFallingObjectCollisions(obj, object.DAMAGE)
            objectCleanup(obj, object.CLEANUP_DELAY_IN_SECONDS)
        end
    end

    last = now
end


Prompt: -- setup based on rig type (r15 or r6)

Response:
if humanoid.RigType == Enum.HumanoidRigType.R15 then
	rigtype = "R15"
	torso = character:WaitForChild("UpperTorso")
	lowertorso = character:WaitForChild("LowerTorso")
	larm = character:WaitForChild("LeftUpperArm")
	rarm = character:WaitForChild("RightUpperArm")
	-- setup variables
	waist = torso:WaitForChild("Waist")
	oldc0 = waist.C0
	leftshoulder = character:WaitForChild("LeftUpperArm"):WaitForChild("LeftShoulder")
	rightshoulder = character:WaitForChild("RightUpperArm"):WaitForChild("RightShoulder")
	-- make fake lower torso
	fakelowertorso = Instance.new("Part")
	fakelowertorso.Name = "LowerTorso"
	fakelowertorso.CanCollide = false
	fakelowertorso.Anchored = false
	fakelowertorso.CanTouch = false
	fakelowertorso.Transparency = 1
	--fakelowertorso.Massless = true
	fakelowertorso.Parent = viewmodel
	--
	faketorso.Size = torso.Size
	fakeroot.Size = rootpart.Size
	fakelowertorso.Size = lowertorso.Size
	faketorso.CFrame = fakeroot.CFrame
	roothipclone = lowertorso:WaitForChild("Root"):Clone()
	roothipclone.Parent = fakelowertorso
	roothipclone.Part0 = fakeroot
	roothipclone.Part1 = fakelowertorso
	--
	if firstperson_waist_movements_enabled then
		waistclone = torso:WaitForChild("Waist"):Clone()
		waistclone.Parent = faketorso
		waistclone.Part0 = fakelowertorso
		waistclone.Part1 = faketorso
	else
		-- waist movements not enabled, replace waist joint with a weld
		waistclone = Instance.new("Weld")
		waistclone.Parent = faketorso
		waistclone.Part0 = fakelowertorso
		waistclone.Part1 = faketorso
		waistclone.C0 = waist.C0
		waistclone.C1 = waist.C1
	end
	--
	leftshoulderclone = leftshoulder:Clone()
	leftshoulderclone.Name = "LeftShoulderClone"
	leftshoulderclone.Parent = faketorso
	leftshoulderclone.Part0 = larm
	--
	rightshoulderclone = rightshoulder:Clone()
	rightshoulderclone.Name = "RightShoulderClone"
	rightshoulderclone.Parent = faketorso
	rightshoulderclone.Part0 = rarm
	-- add the arms
	table.insert(armparts, character:WaitForChild("RightLowerArm"))
	table.insert(armparts, character:WaitForChild("LeftUpperArm"))
	table.insert(armparts, character:WaitForChild("RightUpperArm"))
	table.insert(armparts, character:WaitForChild("LeftLowerArm"))
	table.insert(armparts, character:WaitForChild("RightLowerArm"))
	table.insert(armparts,character:WaitForChild("LeftHand"))
	table.insert(armparts,character:WaitForChild("RightHand"))
else
	rigtype = "R6"
	torso = character:WaitForChild("Torso")
	-- add the arms
	table.insert(armparts, character:WaitForChild("Right Arm"))
	table.insert(armparts, character:WaitForChild("Left Arm"))
	-- setup variables
	roothip = rootpart:FindFirstChildOfClass("Motor6D")
	oldc0 = roothip.C0
	leftshoulder = torso:WaitForChild("Left Shoulder")
	rightshoulder = torso:WaitForChild("Right Shoulder")
	--
	faketorso.Size = torso.Size
	fakeroot.Size = rootpart.Size
	faketorso.CFrame = fakeroot.CFrame
	roothipclone = roothip:Clone()
	roothipclone.Parent = fakeroot
	roothipclone.Part0 = fakeroot
	roothipclone.Part1 = faketorso
	--
	leftshoulderclone = leftshoulder:Clone()
	leftshoulderclone.Name = "LeftShoulderClone"
	leftshoulderclone.Parent = torso
	leftshoulderclone.Part0 = torso
	--
	rightshoulderclone = rightshoulder:Clone()
	rightshoulderclone.Name = "RightShoulderClone"
	rightshoulderclone.Parent = torso
	rightshoulderclone.Part0 = torso
	--
	larm = character:WaitForChild("Left Arm")
	rarm = character:WaitForChild("Right Arm")
end

if firstperson_arm_transparency >= 1 then
	armsvisible = false
end


Response:
if not game:IsLoaded() then
	game.Loaded:Wait()
end

local ply = game.Players.LocalPlayer
local inGame = ply:WaitForChild("InGame")

local repStoreService = game:GetService("ReplicatedStorage")
local userInputService = game:GetService("UserInputService")

local gui = script.Parent

local defaultView = gui.Default
local mobileView = gui.Mobile

local gameFolder = repStoreService:WaitForChild("Game")
local IM = require(gameFolder.Modules:WaitForChild("IsMobile"))

local function toggleGameUI()
	local ism = IM.isMobile()
	defaultView.Visible = not ism
	mobileView.Visible = ism
end

toggleGameUI()

userInputService.InputBegan:Connect(function(inputObj, GPE)
	--if GPE then return end
	if inputObj.UserInputType == Enum.UserInputType.MouseMovement and userInputService.MouseEnabled and mobileView.Visible then
		toggleGameUI()
	elseif inputObj.UserInputType == Enum.UserInputType.Touch and not userInputService.MouseEnabled and defaultView.Visible then
		toggleGameUI()
	end
end)

local function onInGameChange()
	gui.Enabled = inGame.Value
end

inGame.Changed:Connect(onInGameChange)
onInGameChange()


Prompt: -- functions

Response:
function stopAllAnimations()
	local oldAnim = currentAnim

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

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

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

function setAnimationSpeed(speed)
	if speed ~= currentAnimSpeed then
		currentAnimSpeed = speed
		currentAnimTrack:AdjustSpeed(currentAnimSpeed)
	end
end

function keyFrameReachedFunc(frameName)
	if (frameName == "End") then


Prompt: -- Set up the event handler for the GClippsly button

Response: Minimalise.MouseButton1Click:Connect(toggleWindow)


Prompt: -- declarations

Response:
local Figure = script.Parent
local Head = waitForChild(Figure, "Head")
local Humanoid = waitForChild(Figure, "Humanoid")
local regening = false


Prompt: -- Keyboard controller is really keyboard and mouse controller

Response:
local computerInputTypeToModuleMap = {
	[Enum.UserInputType.Keyboard] = Keyboard,
	[Enum.UserInputType.MouseButton1] = Keyboard,
	[Enum.UserInputType.MouseButton2] = Keyboard,
	[Enum.UserInputType.MouseButton3] = Keyboard,
	[Enum.UserInputType.MouseWheel] = Keyboard,
	[Enum.UserInputType.MouseMovement] = Keyboard,
	[Enum.UserInputType.Gamepad1] = Gamepad,
	[Enum.UserInputType.Gamepad2] = Gamepad,
	[Enum.UserInputType.Gamepad3] = Gamepad,
	[Enum.UserInputType.Gamepad4] = Gamepad,
}

local lastInputType

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

	-- The Modules above are used to construct controller instances as-needed, and this
	-- table is a map from Module to the instance created from it
	self.controllers = {}

	self.activeControlModule = nil	-- Used to prevent unnecessarily expensive checks on each input event
	self.activeController = nil
	self.touchJumpController = nil
	self.moveFunction = Players.LocalPlayer.Move
	self.humanoid = nil
	self.lastInputType = Enum.UserInputType.None

	-- For Roblox self.vehicleController
	self.humanoidSeatedConn = nil
	self.vehicleController = nil

	self.touchControlFrame = nil

	self.vehicleController = VehicleController.new(CONTROL_ACTION_PRIORITY)

	Players.LocalPlayer.CharacterAdded:Connect(function(char) self:OnCharacterAdded(char) end)
	Players.LocalPlayer.CharacterRemoving:Connect(function(char) self:OnCharacterRemoving(char) end)
	if Players.LocalPlayer.Character then
		self:OnCharacterAdded(Players.LocalPlayer.Character)
	end

	RunService:BindToRenderStep("ControlScriptRenderstep", Enum.RenderPriority.Input.Value, function(dt)
		self:OnRenderStepped(dt)
	end)

	UserInputService.LastInputTypeChanged:Connect(function(newLastInputType)
		self:OnLastInputTypeChanged(newLastInputType)
	end)

	UserGameSettings:GetPropertyChangedSignal("TouchMovementMode"):Connect(function()
		self:OnTouchMovementModeChange()
	end)
	Players.LocalPlayer:GetPropertyChangedSignal("DevTouchMovementMode"):Connect(function()
		self:OnTouchMovementModeChange()
	end)

	UserGameSettings:GetPropertyChangedSignal("ComputerMovementMode"):Connect(function()
		self:OnComputerMovementModeChange()
	end)
	Players.LocalPlayer:GetPropertyChangedSignal("DevComputerMovementMode"):Connect(function()
		self:OnComputerMovementModeChange()
	end)

	--[[ Touch Device UI ]]--
	self.playerGui = nil
	self.touchGui = nil
	self.playerGuiAddedConn = nil

	UserInputService:GetPropertyChangedSignal("ModalEnabled"):Connect(function()
		self:UpdateTouchGuiVisibility()
	end)

	if UserInputService.TouchEnabled then
		self.playerGui = Players.LocalPlayer:FindFirstChildOfClass("PlayerGui")
		if self.playerGui then
			self:CreateTouchGuiContainer()
			self:OnLastInputTypeChanged(UserInputService:GetLastInputType())
		else
			self.playerGuiAddedConn = Players.LocalPlayer.ChildAdded:Connect(function(child)
				if child:IsA("PlayerGui") then
					self.playerGui = child
					self:CreateTouchGuiContainer()
					self.playerGuiAddedConn:Disconnect()
					self.playerGuiAddedConn = nil
					self:OnLastInputTypeChanged(UserInputService:GetLastInputType())
				end
			end)
		end
	else
		self:OnLastInputTypeChanged(UserInputService:GetLastInputType())
	end

	return self
end


Prompt: -- Function to bind to Unequip event

Response:
local function unequip()
	if connection then connection:disconnect() end

	mouse.Icon = oldIcon

	neck.C0 = oldNeckC0
	shoulder.C0 = oldShoulderC0
end


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

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

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

ZoneModelName = "Random homing bone" -- name the zone model

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