Prompt: --// Special Variables

Response:
return function(Vargs, GetEnv)
	local env = GetEnv(nil, {script = script})
	setfenv(1, env)

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

	local script = script
	local service = Vargs.Service
	local client = Vargs.Client
	local Anti, Core, Functions, Process, Remote, UI, Variables
	local function Init()
		UI = client.UI;
		Anti = client.Anti;
		Core = client.Core;
		Variables = client.Variables;
		Functions = client.Functions;
		Process = client.Process;
		Remote = client.Remote;

		Functions.Init = nil;
	end

	local function RunLast()
		--[[client = service.ReadOnly(client, {
				[client.Variables] = true;
				[client.Handlers] = true;
				G_API = true;
				G_Access = true;
				G_Access_Key = true;
				G_Access_Perms = true;
				Allowed_API_Calls = true;
				HelpButtonImage = true;
				Finish_Loading = true;
				RemoteEvent = true;
				ScriptCache = true;
				Returns = true;
				PendingReturns = true;
				EncodeCache = true;
				DecodeCache = true;
				Received = true;
				Sent = true;
				Service = true;
				Holder = true;
				GUIs = true;
				LastUpdate = true;
				RateLimits = true;

				Init = true;
				RunLast = true;
				RunAfterInit = true;
				RunAfterLoaded = true;
				RunAfterPlugins = true;
			}, true)--]]

		Functions.RunLast = nil;
	end

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

	client.Functions = {
		Init = Init;
		RunLast = RunLast;
		Kill = client.Kill;

		ESPFaces = {"Front", "Back", "Top", "Bottom", "Left", "Right"};
		ESPify = function(obj, color)
			local Debris = service.Debris
			local New = service.New

			local LocalPlayer = service.UnWrap(service.Player)

			for i, part in obj:GetChildren() do
				if part:IsA("BasePart") then
					if part.Name == "Head" and not part:FindFirstChild("__ADONIS_NAMETAG") then
						local player = service.Players:GetPlayerFromCharacter(part.Parent)

						if player then
							local bb = New("BillboardGui", {
								Name = "__ADONIS_NAMETAG",
								AlwaysOnTop = true,
								StudsOffset = Vector3.new(0,2,0),
								Size = UDim2.new(0,100,0,40),
								Adornee = part,
							}, true)
							local taglabel = New("TextLabel", {
								BackgroundTransparency = 1,
								TextColor3 = Color3.new(1,1,1),
								TextStrokeTransparency = 0,
								Text = string.format("%s (@%s)\n> %s <", player.DisplayName, player.Name, "0"),
								Size = UDim2.new(1, 0, 1, 0),
								TextScaled = true,
								TextWrapped = true,
								Parent = bb
							}, true)

							bb.Parent = part

							if player ~= LocalPlayer then
								spawn(function()
									repeat
										if not part then
											break
										end

										local DIST = LocalPlayer:DistanceFromCharacter(part.CFrame.Position)
										taglabel.Text = string.format("%s (@%s)\n> %s <", player.DisplayName, player.Name, DIST and math.floor(DIST) or 'N/A')

										task.wait()
									until not part or not bb or not taglabel
								end)
							end
						end
					end

					for _, surface in Functions.ESPFaces do
						local gui = New("SurfaceGui", {
							AlwaysOnTop = true,
							ResetOnSpawn = false,
							Face = surface,
							Adornee = part,
						}, true)

						New("Frame", {
							Size = UDim2.new(1, 0, 1, 0),
							BackgroundColor3 = color,
							Parent = gui,
						}, true)

						gui.Parent = part;
						local tempConnection;
						tempConnection = gui.AncestryChanged:Connect(function(obj, parent)
							if obj == gui and parent == nil then
								tempConnection:Disconnect()
								Debris:AddItem(gui,0)
								for i,v in Variables.ESPObjects do
									if v == gui then
										table.remove(Variables.ESPObjects, i)
										break;
									end
								end
							end
						end)

						Variables.ESPObjects[gui] = part;
					end
				end
			end
		end;

		CharacterESP = function(mode, target, color)
			color = color or Color3.new(1, 0, 0.917647)

			local Debris = service.Debris
			local UnWrap = service.UnWrap

			if Variables.ESPEvent then
				Variables.ESPEvent:Disconnect();
				Variables.ESPEvent = nil;
			end

			for obj in Variables.ESPObjects do
				if not mode or not target or (target and obj:IsDescendantOf(target)) then
					local __ADONIS_NAMETAG = obj.Parent and obj.Parent:FindFirstChild("__ADONIS_NAMETAG")
					if __ADONIS_NAMETAG then
						__ADONIS_NAMETAG:Destroy()
					end

					Debris:AddItem(obj,0)
					Variables.ESPObjects[obj] = nil;
				end
			end

			if mode == true then
				if not target then
					Variables.ESPEvent = workspace.ChildAdded:Connect(function(obj)
						task.wait()

						local human = obj.ClassName == "Model" and service.Players:GetPlayerFromCharacter(obj)

						if human then
							task.spawn(Functions.ESPify, UnWrap(obj), color);
						end
					end)

					for _, Player in service.Players:GetPlayers() do
						if Player.Character then
							task.spawn(Functions.ESPify, UnWrap(Player.Character), color);
						end
					end
				else
					Functions.ESPify(UnWrap(target), color);
				end
			end
		end;

		GetRandom = function(pLen)
			--local str = ""
			--for i=1,math.random(5,10) do str=`{str}{string.char(math.random(33,90))}` end
			--return str

			local random = math.random
			local format = string.format

			local Len = (type(pLen) == "number" and pLen) or random(5,10) --// reru
			local Res = {};
			for Idx = 1, Len do
				Res[Idx] = format('%02x', random(255));
			end;
			return table.concat(Res)
		end;

		SetView = function(ob)
			local CurrentCamera = workspace.CurrentCamera

			if ob=='reset' then
				CurrentCamera.CameraType = Enum.CameraType.Custom
				CurrentCamera.CameraSubject = service.Player.Character:FindFirstChildOfClass("Humanoid")
				CurrentCamera.FieldOfView = 70
			else
				CurrentCamera.CameraSubject = ob
			end
		end;

		AddAlias = function(alias, command)
			Variables.Aliases[string.lower(alias)] = command;
			Remote.Get("UpdateAliases", Variables.Aliases)
			task.defer(UI.MakeGui, "Notification", {
				Time = 4;
				Icon = client.MatIcons["Add circle"];
				Title = "Notification";
				Message = string.format('Alias "%s" added', string.lower(alias));
			})
		end;

		RemoveAlias = function(alias)
			if Variables.Aliases[string.lower(alias)] then
				Variables.Aliases[string.lower(alias)] = nil;
				Remote.Get("UpdateAliases", Variables.Aliases)
				task.defer(UI.MakeGui, "Notification", {
					Time = 4;
					Icon = client.MatIcons.Delete;
					Title = "Notification";
					Message = string.format('Alias "%s" removed', string.lower(alias));
				})
			else
				task.defer(UI.MakeGui, "Notification", {
					Time = 3;
					Icon = client.MatIcons.Help;
					Title = "Error";
					Message = string.format('Alias "%s" not found', string.lower(alias));
				})
			end
		end;

		Playlist = function()
			return Remote.Get("Playlist")
		end;

		UpdatePlaylist = function(playlist)
			Remote.Get("UpdatePlaylist", playlist)
		end;

		Dizzy = function(speed)
			service.StopLoop("DizzyLoop")
			if speed then
				local cam = workspace.CurrentCamera
				local last = time()
				local rot = 0
				local flip = false
				service.StartLoop("DizzyLoop","RenderStepped",function()
					local dt = time() - last
					if flip then
						rot += math.rad(speed*dt)
					else
						rot -= math.rad(speed*dt)
					end
					cam.CFrame *= CFrame.Angles(0, 0.00, rot)
					last = time()
				end)
			end
		end;

		Base64Encode = function(data)
			local sub = string.sub
			local byte = string.byte
			local gsub = string.gsub

			return (gsub(gsub(data, '.', function(x)
				local r, b = "", byte(x)
				for i = 8, 1, -1 do
					r ..= (b % 2 ^ i - b % 2 ^ (i - 1) > 0 and '1' or '0')
				end
				return r;
			end) .. '0000', '%d%d%d?%d?%d?%d?', function(x)
				if #(x) < 6 then
					return ''
				end
				local c = 0
				for i = 1, 6 do
					c += (sub(x, i, i) == '1' and 2 ^ (6 - i) or 0)
				end
				return sub('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', c + 1, c + 1)
			end)..({
				'',
				'==',
				'='
			})[#(data) % 3 + 1])
		end;

		Base64Decode = function(data)
			local sub = string.sub
			local gsub = string.gsub
			local find = string.find
			local char = string.char

			local b = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'

			data = gsub(data, `[^{b}=]`, '')

			return (gsub(gsub(data, '.', function(x)
				if x == '=' then
					return ''
				end
				local r, f = '', (find(b, x) - 1)
				for i = 6, 1, -1 do
					r ..= (f % 2 ^ i - f % 2 ^ (i - 1) > 0 and '1' or '0')
				end
				return r;
			end), '%d%d%d?%d?%d?%d?%d?%d?', function(x)
				if #x ~= 8 then
					return ''
				end
				local c = 0
				for i = 1, 8 do
					c += (sub(x, i, i) == '1' and 2 ^ (8 - i) or 0)
				end
				return char(c)
			end))
		end;

		GetGuiData = function(args)
			local props = {
				"AbsolutePosition";
				"AbsoluteSize";
				"ClassName";
				"Name";
				"Parent";
				"Archivable";
				"SelectionImageObject";
				"Active";
				"BackgroundColor3";
				"BackgroundTransparency";
				"BorderColor3";
				"BorderSizePixel";
				"Position";
				"Rotation";
				"Selectable";
				"Size";
				"SizeConstraint";
				"Style";
				"Visible";
				"ZIndex";
				"ClipsDescendants";
				"Draggable";
				"NextSelectionDown";
				"NextSelectionLeft";
				"NextSelectionRight";
				"NextSelectionUp";
				"AutoButtonColor";
				"Modal";
				"Image";
				"ImageColor3";
				"ImageRectOffset";
				"ImageRectSize";
				"ImageTransparency";
				"ScaleType";
				"SliceCenter";
				"Text";
				"TextColor3";
				"Font";
				"TextScaled";
				"TextStrokeColor3";
				"TextStrokeTransparency";
				"TextTransparency";
				"TextWrapped";
				"TextXAlignment";
				"TextYAlignment";
			};

			local classes = {
				"ScreenGui";
				"GuiMain";
				"Frame";
				"TextButton";
				"TextLabel";
				"ImageButton";
				"ImageLabel";
				"ScrollingFrame";
				"TextBox";
				"BillboardGui";
				"SurfaceGui";
			}

			local guis = {
				Properties = {
					Name = "ViewGuis";
					ClassName = "Folder";
				};
				Children = {};
			}

			local add; add = function(tab,child)
				local good = false

				for _, v in classes do
					if child:IsA(v) then
						good = true
					end
				end

				if good then
					local new = {
						Properties = {};
						Children = {};
					}

					for _, v in props do
						pcall(function()
							new.Properties[v] = child[v]
						end)
					end

					for _, v in child:GetChildren() do
						add(new,v)
					end
					table.insert(tab.Children, new)
				end
			end
			for _, v in service.PlayerGui:GetChildren() do
				pcall(add, guis, v)
			end
			return guis
		end;

		LoadGuiData = function(data)
			local make; make = function(dat)
				local props = dat.Properties
				local children = dat.Children
				local gui = service.New(props.ClassName)

				for i,v in props do
					pcall(function()
						gui[i] = v
					end)
				end

				for i,v in children do
					pcall(function()
						local g = make(v)
						if g then
							g.Parent = gui
						end
					end)
				end
				return gui
			end

			local temp = Instance.new("Folder")
			for _, v in service.PlayerGui:GetChildren() do
				if not UI.Get(v) then
					v.Parent = temp
				end
			end
			Variables.GuiViewFolder = temp
			local folder = service.New("Folder",{Parent = service.PlayerGui; Name = "LoadedGuis"})
			for _, v in data.Children do
				pcall(function()
					local g = make(v)
					if g then
						g.Parent = folder
					end
				end)
			end
		end;

		UnLoadGuiData = function()
			for _, v in service.PlayerGui:GetChildren() do
				if v.Name == "LoadedGuis" then
					v:Destroy()
				end
			end

			if Variables.GuiViewFolder then
				for _, v in Variables.GuiViewFolder:GetChildren() do
					v.Parent = service.PlayerGui
				end
				Variables.GuiViewFolder:Destroy()
				Variables.GuiViewFolder = nil
			end
		end;

		GetParticleContainer = function(target)
			if target then
				for _, v in service.LocalContainer():GetChildren() do
					if v.Name == `{target:GetFullName()}PARTICLES` then
						local obj = v:FindFirstChild("_OBJECT")
						if obj.Value == target then
							return v
						end
					end
				end
			end
		end;

		NewParticle = function(target, class, properties)
			local effect, index;

			properties.Parent = target;
			properties.Enabled = Variables.ParticlesEnabled;

			effect = service.New(class, properties);
			index = Functions.GetRandom();

			Variables.Particles[index] = effect;

			table.insert(Variables.Particles, effect);

			effect.Changed:Connect(function()
				if not effect or not effect.Parent or effect.Parent ~= target then
					pcall(function() effect:Destroy() end)
					Variables.Particles[index] = nil;
				end
			end)
		end;

		RemoveParticle = function(target, name)
			for i,effect in Variables.Particles do
				if effect.Parent == target and effect.Name == name then
					effect:Destroy();
					Variables.Particles[i] = nil;
				end
			end
		end;

		EnableParticles = function(enabled)
			for _, effect in Variables.Particles do
				if enabled then
					effect.Enabled = true
				else
					effect.Enabled = false
				end
			end
		end;

		NewLocal = function(class, props, parent)
			local obj = service.New(class)
			for prop,value in props do
				obj[prop] = value
			end

			if not parent or parent == "LocalContainer" then
				obj.Parent = service.LocalContainer()
			elseif parent == "Camera" then
				obj.Parent = workspace.CurrentCamera
			elseif parent == "PlayerGui" then
				obj.Parent = service.PlayerGui
			end
		end;

		MakeLocal = function(object,parent,clone)
			if object then
				local object = object
				if clone then object = object:Clone() end
				if not parent or parent == "LocalContainer" then
					object.Parent = service.LocalContainer()
				elseif parent == "Camera" then
					object.Parent = workspace.CurrentCamera
				elseif parent == "PlayerGui" then
					object.Parent = service.PlayerGui
				end
			end
		end;

		MoveLocal = function(object,parent,newParent)
			local par
			if not parent or parent == "LocalContainer" then
				par = service.LocalContainer()
			elseif parent == "Camera" then
				par = workspace.CurrentCamera
			elseif parent == "PlayerGui" then
				par = service.PlayerGui
			end
			for _, obj in par:GetChildren() do
				if obj.Name == object or obj == obj then
					obj.Parent = newParent
				end
			end
		end;

		RemoveLocal = function(object,parent,match)
			local par
			if not parent or parent == "LocalContainer" then
				par = service.LocalContainer()
			elseif parent == "Camera" then
				par = workspace.CurrentCamera
			elseif parent == "PlayerGui" then
				par = service.PlayerGui
			end

			for _, obj in par:GetChildren() do
				if match and string.match(obj.Name,object) or obj.Name == object or object == obj then
					obj:Destroy()
				end
			end
		end;

		NewCape = function(options)
			local char = options.Parent
			if not char then
				return
			end

			local material = options.Material or "Neon"
			local color = options.Color or "White"
			local reflect = options.Reflectance or 0
			local decalId = tonumber(options.Decal or "")

			local torso = char:FindFirstChild("Torso") or char:FindFirstChild("UpperTorso") or char:FindFirstChild("HumanoidRootPart")
			if not (torso and torso:IsA("BasePart")) then
				return
			end

			Functions.RemoveCape(char)

			local isR15 = torso.Name == "UpperTorso"

			local p = service.New("Part", {
				Parent = char;
				Name = "ADONIS_CAPE";
				Anchored = false;
				CanCollide = false;
				Massless = true;
				CanQuery = false;
				Size = Vector3.new(2, 4, 0.1);
				Position = torso.Position;
				BrickColor = BrickColor.new(color);
				Transparency = 0;
				Reflectance = reflect;
				Material = material;
				TopSurface = 0;
				BottomSurface = 0;
			})

			service.New("BlockMesh", {
				Parent = p;
				Scale = Vector3.new(0.9, 0.87, 0.1);
			})

			local motor1 = service.New("Motor", {
				Parent = p;
				Part0 = p;
				Part1 = torso;
				MaxVelocity = 0.1;
				C0 = CFrame.new(0, 1.75, 0) * CFrame.Angles(0, math.rad(90), 0);
				C1 = CFrame.new(0, 1 - (if isR15 then 0.2 else 0), (torso.Size.Z/2)) * CFrame.Angles(0, math.rad(90), 0);
			})

			local decal = if decalId and decalId ~= 0 then service.New("Decal", {
				Parent = p;
				Name = "Decal";
				Face = 2;
				Texture = `rbxassetid://{decalId}`;
				Transparency = 0;
			}) else nil

			local capeData = {
				Part = p;
				Motor = motor1;
				Enabled = true;
				Parent = char;
				Torso = torso;
				Decal = decal;
				Data = options;
				Wave = true;
				isR15 = isR15;
			}
			Variables.Capes[Functions.GetRandom()] = capeData

			local p = service.Players:GetPlayerFromCharacter(char)
			if p and p == service.Player then
				capeData.isPlayer = true
			end

			if not Variables.CapesEnabled then
				p.Transparency = 1
				if decal then
					decal.Transparency = 1
				end
				capeData.Enabled = false
			end

			Functions.MoveCapes()
		end;

		RemoveCape = function(parent)
			for i, v in Variables.Capes do
				if v.Parent == parent or not v.Parent or not v.Parent.Parent then
					pcall(v.Part.Destroy, v.Part)
					Variables.Capes[i] = nil
				end
			end
		end;

		HideCapes = function(hide)
			for i,v in Variables.Capes do
				local torso = v.Torso
				local parent = v.Parent
				local part = v.Part
				local motor = v.Motor
				local wave = v.Wave
				local decal = v.Decal

				if parent and parent.Parent and torso and torso.Parent and part and part.Parent then
					if not hide then
						part.Transparency = 0

						if decal then
							decal.Transparency = 0
						end

						v.Enabled = true
					else
						part.Transparency = 1
						if decal then
							decal.Transparency = 1
						end
						v.Enabled = false
					end
				else
					pcall(part.Destroy,part)
					Variables.Capes[i] = nil
				end
			end
		end;

		MoveCapes = function()
			service.StopLoop("CapeMover")
			service.StartLoop("CapeMover",0.1,function()
				if service.CountTable(Variables.Capes) == 0 or not Variables.CapesEnabled then
					service.StopLoop("CapeMover")
				else
					for i,v in Variables.Capes do
						local torso = v.Torso
						local parent = v.Parent
						local isPlayer = v.isPlayer
						local isR15 = v.isR15
						local part = v.Part
						local motor = v.Motor
						local wave = v.Wave
						local decal = v.Decal

						if parent and parent.Parent and torso and torso.Parent and part and part.Parent then
							if v.Enabled and Variables.CapesEnabled then
								part.Transparency = 0

								if decal then
									decal.Transparency = 0
								end

								local ang = 0.1
								if wave then
									if torso.Velocity.Magnitude > 1 then
										ang += ((torso.Velocity.Magnitude/10)*.05)+.05
									end
									v.Wave = false
								else
									v.Wave = true
								end
								ang += math.min(torso.Velocity.Magnitude/11, .8)
								motor.MaxVelocity = math.min((torso.Velocity.Magnitude/111), .04) + 0.002
								if isPlayer then
									motor.DesiredAngle = -ang
								else
									motor.CurrentAngle = -ang -- bugs
								end
								if motor.CurrentAngle < -.2 and motor.DesiredAngle > -.2 then
									motor.MaxVelocity = .04
								end
							else
								part.Transparency = 1
								if decal then
									decal.Transparency = 1
								end
							end
						else
							pcall(part.Destroy,part)
							Variables.Capes[i] = nil
						end
					end
				end
			end, true)
		end;

		ClearAllInstances = function()
			local objects = service.GetAdonisObjects()
			for i in objects do
				i:Destroy()
			end
			table.clear(objects)
		end;

		PlayAnimation = function(animId)
			if animId == 0 then return end

			local char = service.Player.Character
			local human = char and char:FindFirstChildOfClass("Humanoid")
			local animator = human and human:FindFirstChildOfClass("Animator") or human and human:WaitForChild("Animator", 9e9)
			if not animator then return end

			for _, v in animator:GetPlayingAnimationTracks() do v:Stop() end
			local anim = service.New('Animation', {
				AnimationId = `rbxassetid://{animId}`,
				Name = "ADONIS_Animation"
			})
			local track = animator:LoadAnimation(anim)
			track:Play()
		end;

		SetLighting = function(prop,value)
			if service.Lighting[prop]~=nil then
				service.Lighting[prop] = value
				Variables.LightingSettings[prop] = value
			end
		end;

		ChatMessage = function(msg,color,font,size)
			local tab = {}

			tab.Text = msg

			if color then
				tab.Color = color
			end

			if font then
				tab.Font = font
			end

			if size then
				tab.Size = size
			end

			service.StarterGui:SetCore("ChatMakeSystemMessage",tab)

			if Functions.SendToChat then
				Functions.SendToChat({Name = "::Adonis::"},msg,"Private")
			end
		end;

		SetCamProperty = function(prop,value)
			local cam = workspace.CurrentCamera
			if cam[prop] then
				cam[prop] = value
			end
		end;

		SetFPS = function(fps)
			service.StopLoop("SetFPS")
			local fps = tonumber(fps)
			if fps then
				service.StartLoop("SetFPS",0.1,function()
					local fpslockint = time() +1 /fps
					repeat until time()>=fpslockint
				end)
			end
		end;

		RestoreFPS = function()
			service.StopLoop("SetFPS")
		end;

		Crash = function()
			--[[
			local load = function(f) return f() end
			local s = string.rep("\n", 2^24)
			print(load(function() return s end))--]]
			--print(string.find(string.rep("a", 2^20), string.rep(".?", 2^20)))
			--[[while true do
				spawn(function()
					spawn(function()
						spawn(function()
							spawn(function()
								spawn(function()
									spawn(function()
										spawn(function()
											spawn(function()
												spawn(function()
													spawn(function()
														spawn(function()
															print("Triangles.")
														end)
													end)
												end)
											end)
										end)
									end)
								end)
							end)
						end)
					end)
				end)
			end--]]

			local Run = service.RunService;
			local Lol = 0;

			local Thread; function Thread()
				Run:BindToRenderStep(tostring(Lol), 100, function() print"Stopping"; Thread(); end);
				Lol += 1;
			end;

			Thread();
			--local crash; crash = function() while true do repeat spawn(function() pcall(function() print(game[("%s|"):rep(100000)]) crash() end) end) until nil end end
			--crash()
		end;

		HardCrash = function()
			local crash
			local tab
			local gui = service.New("ScreenGui",service.PlayerGui)
			local rem = service.New("RemoteEvent",workspace.CurrentCamera)
			crash = function()
				for i=1,50 do
					service.Debris:AddItem(service.New("Part",workspace.CurrentCamera),2^4000)
					print("((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)((((**&&#@#$$$$$%%%%:)")
					local f = service.New('Frame',gui)
					f.Size = UDim2.new(1,0,1,0)
					spawn(function() table.insert(tab,string.rep(tostring(math.random()),100)) end)
					rem:FireServer("Hiiiiiiiiiiiiiiii")
					spawn(function()
						spawn(function()
							spawn(function()
								spawn(function()
									spawn(function()
										print("hi")
										spawn(crash)
									end)
								end)
							end)
						end)
					end)
					--print(game[("%s|"):rep(0xFFFFFFF)])
				end
				tab = {}
			end
			while task.wait(0.01) do
				for i = 1,50000000 do
					cPcall(function() client.GPUCrash() end)
					cPcall(function() crash() end)
					print(1)
				end
			end
		end;

		GPUCrash = function()
			local New = service.New
			local gui = New("ScreenGui",service.PlayerGui)
			local scr = UDim2.new(1, 0, 1, 0)
			local crash
			crash = function()
				while task.wait(0.01) do
					for _ = 1,500000 do
						New('Frame', {
							Size = scr;
							Parent = gui,
						})
					end
				end
			end
			crash()
		end;

		RAMCrash = function()
			local Debris = service.Debris
			local New = service.New

			while task.wait(0.1) do
				for i = 1,10000 do
					Debris:AddItem(New("Part",workspace.CurrentCamera),2^4000)
				end
			end
		end;

		KillClient = function()
			client.Kill("KillClient called")
		end;

		KeyCodeToName = function(keyVal)
			local keyVal = tonumber(keyVal);
			if keyVal then
				for _, e in Enum.KeyCode:GetEnumItems() do
					if e.Value == keyVal then
						local name = service.UserInputService:GetStringForKeyCode(e)

						if service.Trim(name) == "" or Variables.KeycodeNames[e] == name then
							return e.Name
						else
							return name
						end
					end
				end
			end
			return "UNKNOWN";
		end;

		KeyBindListener = function(keybinds)
			if not Variables then task.wait() end;
			local timer = 0
			local data = (not keybinds) and Remote.Get("PlayerData");

			Variables.KeyBinds = keybinds or (data and data.Keybinds) or {}

			service.UserInputService.InputBegan:Connect(function(input)
				local key = tostring(input.KeyCode.Value)
				local textbox = service.UserInputService:GetFocusedTextBox()

				if Variables.KeybindsEnabled and not (textbox) and key and Variables.KeyBinds[key] and not Variables.WaitingForBind then
					local isAdmin = Remote.Get("CheckAdmin")
					if time() - timer > 5 or isAdmin then
						Remote.Send('ProcessCommand',Variables.KeyBinds[key],false,true)
						UI.Make("Hint",{
							Message = `[Ran] Key: {Functions.KeyCodeToName(key)} | Command: {Variables.KeyBinds[key]}`
						})
					end
					timer = time()
				end
			end)
		end;

		AddKeyBind = function(key, command)
			local key = tostring(key);
			Variables.KeyBinds[tostring(key)] = command
			Remote.Get("UpdateKeybinds",Variables.KeyBinds)
			UI.Make("Hint",{
				Message = `Bound key "{Functions.KeyCodeToName(key)}" to command: {command}`
			})
		end;

		RemoveKeyBind = function(key)
			local key = tostring(key);

			if Variables.KeyBinds[tostring(key)] ~= nil then
				Variables.KeyBinds[tostring(key)] = nil
				Remote.Get("UpdateKeybinds",Variables.KeyBinds)
				Routine(function()
					UI.Make("Hint",{
						Message = `Removed key "{Functions.KeyCodeToName(key)}" from keybinds`
					})
				end)
			end
		end;

		BrickBlur = function(on, trans, color)
			local exists = service.LocalContainer():FindFirstChild("ADONIS_WINDOW_FUNC_BLUR")
			if exists then exists:Destroy() end
			if on then
				local pa = Instance.new("Part",workspace.CurrentCamera)
				pa.Name = "ADONIS_WINDOW_FUNC_BLUR"
				pa.Material = "Neon"
				pa.BrickColor = color or BrickColor.Black()
				pa.Transparency = trans or 0.5
				pa.CanCollide = false
				pa.Anchored = true
				pa.Size = Vector3.new(100,100,0)
				while pa and pa.Parent and task.wait(1/40) do
					pa.CFrame = workspace.CurrentCamera.CFrame*CFrame.new(0,0,-2.5)*CFrame.Angles(12.6,0,0)
				end
			else
				for _, v in workspace.CurrentCamera:GetChildren() do
					if v.Name == "ADONIS_WINDOW_FUNC_BLUR" then
						v:Destroy()
					end
				end
			end
		end;

		PlayAudio = function(audioId, volume, pitch, looped)
			if Variables.localSounds[tostring(audioId)] then Variables.localSounds[tostring(audioId)]:Stop() Variables.localSounds[tostring(audioId)]:Destroy() Variables.localSounds[tostring(audioId)]=nil end
			local sound = service.New("Sound")
			sound.SoundId = `rbxassetid://{audioId}`
			if looped then sound.Looped = true end
			if volume then sound.Volume = volume end
			if pitch then sound.Pitch = pitch end
			sound.Name = `ADONIS_LOCAL_SOUND {audioId}`
			sound.Parent = service.LocalContainer()
			Variables.localSounds[tostring(audioId)] = sound
			sound:Play()
			task.wait(1)
			if sound.IsPlaying == true then
				sound.Ended:Wait()
			end
			sound:Destroy()
			Variables.localSounds[tostring(audioId)] = nil
		end;

		StopAudio = function(audioId)
			if Variables.localSounds[tostring(audioId)] then
				Variables.localSounds[tostring(audioId)]:Stop()
				Variables.localSounds[tostring(audioId)]:Destroy()
				Variables.localSounds[tostring(audioId)] = nil
			elseif audioId == "all" then
				for i, v in Variables.localSounds do
					v:Stop()
					v:Destroy()
					Variables.localSounds[i] = nil
				end
			end
		end;

		FadeAudio = function(audioId,inVol,pitch,looped,incWait)
			if not inVol then
				local sound = Variables.localSounds[tostring(audioId)]
				if sound then
					for i = sound.Volume,0,-0.01 do
						sound.Volume = i
						task.wait(incWait or 0.1)
					end
					Functions.StopAudio(audioId)
				end
			else
				Functions.StopAudio(audioId)
				Functions.PlayAudio(audioId,0,pitch,looped)
				local sound = Variables.localSounds[tostring(audioId)]
				if sound then
					for i = 0,inVol,0.01 do
						sound.Volume = i
						task.wait(incWait or 0.1)
					end
				end
			end
		end;

		KillAllLocalAudio = function()
			for i,v in Variables.localSounds do
				v:Stop()
				v:Destroy()
				table.remove(Variables.localSounds,i)
			end
		end;

		RemoveGuis = function()
			for _, v in service.PlayerGui:GetChildren() do
				if not UI.Get(v) then
					v:Destroy()
				end
			end
		end;

		SetCoreGuiEnabled = function(element,enabled)
			service.StarterGui:SetCoreGuiEnabled(element,enabled)
		end;

		SetCore = function(...)
			service.StarterGui:SetCore(...)
		end;

		UnCape = function()
			local cape = service.LocalContainer():FindFirstChild("::Adonis::Cape")
			if cape then cape:Destroy() end
		end;

		Cape = function(material,color,decal,reflect)
			local torso = service.Player.Character:FindFirstChild("HumanoidRootPart")
			if torso then
				local p = service.New("Part",service.LocalContainer())
				p.Name = "::Adonis::Cape"
				p.Anchored = true
				p.Transparency=0.1
				p.Material=material
				p.CanCollide = false
				p.TopSurface = 0
				p.BottomSurface = 0
				if type(color) == "table" then
					color = Color3.new(color[1],color[2],color[3])
				end
				p.BrickColor = BrickColor.new(color) or BrickColor.new("White")
				if reflect then
					p.Reflectance=reflect
				end
				if decal and decal~=0 then
					local dec = service.New("Decal", p)
					dec.Face = 2
					dec.Texture = `http://www.roblox.com/asset/?id={decal}`
					dec.Transparency=0
				end
				p.Size = Vector3.new(.2,.2,.2)
				local msh = service.New("BlockMesh", p)
				msh.Scale = Vector3.new(9,17.5,.5)
				task.wait(0.1)
				p.Anchored=false
				local motor1 = service.New("Motor", p)
				motor1.Part0 = p
				motor1.Part1 = torso
				motor1.MaxVelocity = .01
				motor1.C0 = CFrame.new(0,1.75,0)*CFrame.Angles(0,math.rad(90),0)
				motor1.C1 = CFrame.new(0,1,torso.Size.Z/2)*CFrame.Angles(0,math.rad(90),0)--.45
				local wave = false
				repeat task.wait(1/44)
					local ang = 0.1
					local oldmag = torso.Velocity.Magnitude
					local mv = .002
					if wave then
						ang += ((torso.Velocity.Magnitude/10)*.05)+.05
						wave = false
					else
						wave = true
					end
					ang += math.min(torso.Velocity.Magnitude/11, .5)
					motor1.MaxVelocity = math.min((torso.Velocity.Magnitude/111), .04) + mv
					motor1.DesiredAngle = -ang
					if motor1.CurrentAngle < -.2 and motor1.DesiredAngle > -.2 then
						motor1.MaxVelocity = .04
					end

					repeat task.wait() until motor1.CurrentAngle == motor1.DesiredAngle or math.abs(torso.Velocity.Magnitude - oldmag) >=(torso.Velocity.Magnitude/10) + 1

					if torso.Velocity.Magnitude < .1 then
						task.wait(.1)
					end
				until not p or not p.Parent or p.Parent ~= service.LocalContainer()
			end
		end;

		TextToSpeech = function(str)
			local audioId = 296333956

			local audio = Instance.new("Sound",service.LocalContainer())
			audio.SoundId = `rbxassetid://{audioId}`
			audio.Volume = 1

			local audio2 = Instance.new("Sound",service.LocalContainer())
			audio2.SoundId = `rbxassetid://{audioId}`
			audio2.Volume = 1

			local phonemes = {
				{
					str='%so';
					func={17}
				}; --(on)
				{
					str='ing';
					func={41}
				}; --(singer)
				{
					str="oot";
					func={4, 26}; --oo,t
				};
				{
					str='or';
					func={10}
				}; --(door) --oor
				{
					str='oo';
					func={3}
				};  --(good)
				{
					str='hi';
					func={44, 19}; --h, y/ii
				};
				{
					str='ie';
					func={1}; --ee
				};
				{
					str="eye";
					func={19}; --y/ii
				};
				{
					str="$Suy%s"; --%Suy
					real="uy";
					func={19}; --y/ii
				};
				{
					str="%Sey%s"; --%Sey
					func={1}; --ee
				};
				{
					str="%sye"; --%sye
					func={19}; --y/ii
				};
				--[[{
					str='th';
					func={30.9, 31.3}
				}; --(think)--]]
				{
					str='the';
					func={25, 15}; --th, u
				};
				{
					str='th';
					func={32, 0.2395}
				}; --(this)
				--[[
				{
					str='ow';
					func={10, 0.335}
				}; --(show) --ow
				--]]
				{
					str='ow';
					func={20}
				}; --(cow) --ow
				{
					str="qu";
					func={21,38};--c,w
				};
				{
					str='ee';
					func={1}
				}; --(sheep)
				{
					str='i%s';
					delay=0.5;
					func={19}
				}; --(I)
				{
					str='ea';
					func={1}
				}; --(read)
				{
					str='u(.*)e';
					real='u';
					capture=true;
					func={9}
				}; --(cure) (match ure) --u
				{
					str='ch';
					func={24}
				}; --(cheese)
				{
					str='ere';
					func={5}
				}; --(here)
				{
					str='ai';
					func={6}
				}; --(wait)
				{
					str='la';
					func={39,6}
				};
				{
					str='oy';
					func={8}
				}; --(boy)
				{
					str='gh';
					func={44};
				};
				{
					str='sh';
					func={22}
				}; --(shall)
				{
					str='air';
					func={18}
				}; --(hair)

				{
					str='ar';
					func={16}
				}; --(far)
				{
					str='ir';
					func={11}
				}; --(bird)
				{
					str='er';
					func={12}
				}; --(teacher)
				{
					str='sio';
					func={35}
				}; --(television)
				{
					str='ck';
					func={21}
				}; --(book)
				{
					str="zy";
					func={34,1}; --z,ee
				};
				{
					str="ny";
					func={42, 1}; --n,ee
				};
				{
					str="ly";
					func={39, 1}; --l,ee
				};
				{
					str="ey";
					func={1} --ee
				};
				{
					str='ii';
					func={19}
				}; --(ii?)
				{
					str='i';
					func={2}
				};--(ship)

				{
					str='y'; --y%S
					func={37}
				}; --(yes)
				--[[
				{
					str='%Sy';
					func={23.9, 24.4}
				}; --(my)
				--]]
				{
					str='y';
					func={37}
				}; --(my)

				{
					str='s';
					func={23}
				}; --(see)

				{
					str='e';
					func={13};
				}; --(bed)
				--[[--]]
				{
					str='a';
					func={14}
				}; --(cat)
				--[[
				{
					str='a';
					func={6}
				}; --(lazy) --ai--]]
				{
					str="x";
					func={21, 23} --c, s
				};
				{
					str='u';
					func={15}
				}; --(up)
				{
					str='o';
					func={17}
				}; --(on)
				{
					str='c';
					func={21}
				}; --(car)
				{
					str='k';
					func={21}
				}; --(book)
				{
					str='t';
					func={26}
				}; --(tea)
				{
					str='f';
					func={27}
				}; --(fly)
				{
					str='i';
					func={2}
				};--(ship)
				{
					str='p';
					func={28}
				}; --(pea)
				{
					str='b';
					func={29}
				}; --(boat)
				{
					str='v';
					func={30}
				}; --(video)
				{
					str='d';
					func={31}
				}; --(dog)
				{
					str='j';
					func={33}
				}; --(june)
				{
					str='z';
					func={34}
				}; --(zoo)
				{
					str='g';
					func={36}
				}; --(go)
				{
					str='w';
					func={38}
				}; --(wet)
				{
					str='l';
					func={39}
				}; --(love)
				{
					str='r';
					func={40}
				}; --(red)
				{
					str='n';
					func={42}
				}; --(now)
				{
					str='m';
					func={43}
				}; --(man)
				{
					str='h';
					func={44}
				}; --(hat)
				{
					str=' ';
					func="wait";
				};
				{
					str='%.';
					func="wait";
				};
				{
					str='!';
					func="wait";
				};
				{
					str='?';
					func="wait";
				};
				{
					str=';';
					func="wait";
				};
				{
					str=':';
					func="wait";
				};

			}

			game:service("ContentProvider"):Preload(`rbxassetid://{audioId}`)

			local function getText(str)
				local tab = {}
				local str = str
				local function getNext()
					for _, v in phonemes do
						local occ,pos = string.find(string.lower(str), `^{v.str}`)
						if occ then
							if v.capture then
								local real = v.real
								local realStart,realEnd = string.find(string.lower(str),real)
								--local captStart,captEnd = str:lower():find(v.str)
								local capt = string.match(string.lower(str),v.str)
								if occ>realEnd then
									table.insert(tab,v)
									getText(capt)
								else
									getText(capt)
									table.insert(tab,v)
								end
							else
								table.insert(tab,v)
							end
							str = string.sub(str,pos+1)
							getNext()
						end
					end
				end
				getNext()
				return tab
			end

			local phos=getText(str)
			local swap = false

			local function say(pos)
				local sound=audio
				--[[--]]
				if swap then
					sound=audio2
				end--]]
				sound.TimePosition=pos
				--sound:Play()
				--wait(0.2) --wait(pause)
				--sound:Stop()
			end

			audio:Play()
			audio2:Play()
			for _, v in phos do
				--print(i,v.str)
				if type(v.func)=="string" then--v.func=="wait" then
					task.wait(0.5)
				elseif type(v)=="table" then
					for _, p in v.func do
						--[[--]]
						if swap then
							swap=false
						else
							swap=true
						end--]]
						say(p)
						if v.delay then
							task.wait(v.delay)
						else
							task.wait(0.1)
						end
					end
				end
			end
			task.wait(0.5)
			audio:Stop()
			audio2:Stop()
		end;

		IsValidTexture = function(id)
			local id = tonumber(id)
			local ran, info = pcall(function() return service.MarketPlace:GetProductInfo(id) end)

			if ran and info and info.AssetTypeId == 1 then
				return true;
			else
				return false;
			end
		end;

		GetTexture = function(id)
			local id = tonumber(id);
			if id and Functions.IsValidTexture(id) then
				return id;
			else
				return 6825455804;
			end
		end;

		GetUserInputServiceData = function(args)
			local data = {}
			local props = {
				"AccelerometerEnabled";
				"GamepadEnabled";
				"GyroscopeEnabled";
				"KeyboardEnabled";
				"MouseDeltaSensitivity";
				"MouseEnabled";
				"OnScreenKeyboardVisible";
				"TouchEnabled";
				"VREnabled";
			}
			for _, p in props do
				data[p] = service.UserInputService[p]
			end
			return data
		end;
	};
end


Prompt:
-- A simple function to extend reverse paths from (d - 1) to d changes
-- when reverse and forward paths cannot yet overlap.

Response:
local function extendPathsR(
	d: number,
	aStart: number,
	bStart: number,
	bR: number,
	isCommon: IsCommon,
	aIndexesR: Indexes,
	iMaxR: number
): number
	-- Unroll the first iteration.
	local iR = 0
	local kR = d -- kR = d - 2 * iR
	-- ROBLOX FIXME? should the values inserted into aIndexesR be 1-based so we don't have to adjust in several places here?
	local aFirst = aIndexesR[iR + 1] -- in first iteration always insert
	local aIndexPrev1 = aFirst -- prev value of [iR - 1] in next iteration
	aIndexesR[iR + 1] -= countCommonItemsR(aStart, aFirst - 1, bStart, bR + aFirst - kR - 1, isCommon)

	-- Optimization: skip diagonals in which paths cannot ever overlap.
	local nR = d < iMaxR and d or iMaxR

	-- The diagonals kR are odd when d is odd and even when d is even.
	iR += 1
	kR -= 2
	while iR <= nR do
		-- To get first point of path segment, move one change in reverse direction
		-- from last point of previous path segment in an adjacent diagonal.
		-- In last possible iteration when iR === d and kR === -d always delete.
		if iR ~= d and aIndexesR[iR + 1] < aIndexPrev1 then
			aFirst = aIndexesR[iR + 1] -- vertical to insert from b
		else
			aFirst = aIndexPrev1 - 1 -- horizontal to delete from a

			if aFirst < aStart then
				-- Optimization: delete moved past left of graph.
				return iR - 1
			end
		end

		-- To get last point of path segment, move along diagonal of common items.
		aIndexPrev1 = aIndexesR[iR + 1]
		aIndexesR[iR + 1] = aFirst - countCommonItemsR(aStart, aFirst - 1, bStart, bR + aFirst - kR - 1, isCommon)
		iR += 1
		kR -= 2
	end

	return iMaxR
end


Prompt:
--  fun = what they have to type (make sure it is lowercased)
--        The first value in the table is what shows in the cmds
--                        Make sure to set this "2" to the rank you want players to have to use this
--                            This function is what runs the command when it is called

Response:
	fun = {"Fun [Player]";{2};{"Player"};function(plr, cmds)
		for i,v in pairs(cmds[1]) do -- This would basically get all the players it could find. Example: ;fun me would return only you in the table.
			print(v.Name)
		end
	end;};
}


Prompt: --// Unused (Don't delete)

Response:
	RestMode = false;
	AttachmentsEnabled = true;
	UIScope = true;
	CanSlideLock = true;


Prompt: -- Espera 2 segundos antes de reproducir el sonido

Response: wait(4)


Prompt: --easter egg

Response:
mouse.KeyDown:connect(function(key)
	if key=="o" then
		Heat = BlowupTemp-11
	end
end)

if not FE then

radiator.Oil.Enabled = false
radiator.Antifreeze.Enabled = false
radiator.Liquid.Volume = 0
radiator.Fan:Play()
radiator.Fan.Pitch = 1+FanSpeed
radiator.Steam:Play()
radiator.Liquid:Play()
script.Blown.Value = false

while wait(.2) do
	if Heat > FanTemp and Fan == true then
		FanCool = -FanSpeed
		radiator.Fan.Volume = FanVolume
	else
		FanCool = 0
		radiator.Fan.Volume = 0
	end

	Load = ((script.Parent.Parent.Parent.Parent.Values.Throttle.Value*script.Parent.Parent.Parent.Parent.Values.RPM.Value*10*OverheatSpeed)/math.ceil((car.DriveSeat.Velocity.magnitude+.0000001)/100)/75000)-CoolingEfficiency
	Heat = math.max(RunningTemp,(Heat+Load)+FanCool)

	if Heat >= BlowupTemp then
		Heat = BlowupTemp
		radiator.Break:Play()
		radiator.Liquid.Volume = .5
		radiator.Oil.Enabled = true
		radiator.Antifreeze.Enabled = true
		script.Parent.Parent.Parent.Parent.IsOn.Value = false
		script.Blown.Value = true
	elseif Heat >= BlowupTemp-10 then
		radiator.Smoke.Transparency = NumberSequence.new((BlowupTemp-Heat)/10,1)
		radiator.Smoke.Enabled = true
		radiator.Steam.Volume = math.abs(((BlowupTemp-Heat)-10)/10)
	else
		radiator.Smoke.Enabled = false
		radiator.Steam.Volume = 0
	end

	script.Celsius.Value = Heat
	script.Parent.Temp.Text = math.floor(Heat).."°c"
end

else

	handler:FireServer("Initialize",FanSpeed)
while wait(.2) do

	if Heat > FanTemp and Fan == true then
		FanCool = -FanSpeed
		handler:FireServer("FanVolume",FanVolume)
	else
		FanCool = 0
		handler:FireServer("FanVolume",0)
	end

	Load = ((script.Parent.Parent.Parent.Parent.Values.Throttle.Value*script.Parent.Parent.Parent.Parent.Values.RPM.Value*10*OverheatSpeed)/math.ceil((car.DriveSeat.Velocity.magnitude+.0000001)/100)/75000)-CoolingEfficiency
	Heat = math.max(RunningTemp,(Heat+Load)+FanCool)

	if Heat >= BlowupTemp then
		Heat = BlowupTemp
		handler:FireServer("Blown")
		script.Parent.Parent.Parent.Parent.IsOn.Value = false
		script.Blown.Value = true
	elseif Heat >= BlowupTemp-10 then
		handler:FireServer("Smoke",true,BlowupTemp,Heat)
	else
		handler:FireServer("Smoke",false,BlowupTemp,Heat)
	end

	script.Celsius.Value = Heat
	script.Parent.Temp.Text = math.floor(Heat).."°c"
end
end


Prompt:
--[[local url = ''

local http = game:GetService("HttpService")

local HookData = {
	['username'] = player.Name,

	['content'] = msg

}

HookData = http:JSONEncode(HookData)
http:PostAsync(url, HookData)--]]

Response:
end)

game.ReplicatedStorage.Messages.Faction.OnServerEvent:Connect(function(player, sender, msg)
		local filter = game:GetService("Chat"):FilterStringForBroadcast(msg, player)
	game.ReplicatedStorage.Messages.Faction:FireAllClients(filter, sender)

end)


Prompt:
-- All characters have a Humanoid object
-- If the model has one, it is a character

Response:
 local h = part.Parent:findFirstChild("Humanoid") -- Find Humanoids in whatever touched this
 if (h ~=nil) then -- If there is a Humanoid then
       h.Health = h.MaxHealth -- Set the health to maximum (full healing)
 end
 end

script.Parent.Touched:connect(onTouched) -- Make it call onTouched when touched


Prompt: -- CONNECTIONS

Response:
local iconCreationCount = 0
IconController.iconAdded:Connect(function(icon)
	topbarIcons[icon] = true
	if IconController.gameTheme then
		icon:setTheme(IconController.gameTheme)
	end
	icon.updated:Connect(function()
		IconController.updateTopbar()
	end)
	-- When this icon is selected, deselect other icons if necessary
	icon.selected:Connect(function()
		local allIcons = IconController.getIcons()
		for _, otherIcon in pairs(allIcons) do
			if icon.deselectWhenOtherIconSelected and otherIcon ~= icon and otherIcon.deselectWhenOtherIconSelected and otherIcon:getToggleState() == "selected" then
				otherIcon:deselect(icon)
			end
		end
	end)
	-- Order by creation if no order specified
	iconCreationCount = iconCreationCount + 1
	icon:setOrder(iconCreationCount)
	-- Apply controller view if enabled
	if IconController.controllerModeEnabled then
		IconController._enableControllerModeForIcon(icon, true)
	end
	IconController:_updateSelectionGroup()
	IconController.updateTopbar()
end)

IconController.iconRemoved:Connect(function(icon)
	topbarIcons[icon] = nil
	icon:setEnabled(false)
	icon:deselect()
	icon.updated:Fire()
	IconController:_updateSelectionGroup()
end)


Prompt: --gun parts

Response:
local gunparts = {}

for i,v in pairs(gunmodel:GetDescendants()) do
	if v:IsA("BasePart") then
		table.insert(gunparts, v)
	end
end

function guntransparency(tr)
	for i,v in pairs(gunparts) do --looping through an already made table alone is faster than getdescendants and then looping
		v.LocalTransparencyModifier = tr
	end
end

function modeltransparency(m, tr) -- this is for stuff like fps mags
	for i,v in pairs(m:GetDescendants()) do
		if v:IsA("BasePart") then
			v.LocalTransparencyModifier = tr
		end
	end
end


Prompt: --// Bullet Physics

Response:
	BulletPhysics = Vector3.new(0,55,0); -- Drop fixation: Lower number = more drop
	BulletSpeed = 2700; -- Bullet Speed
	BulletSpread = 1; -- How much spread the bullet has

	ExploPhysics = Vector3.new(0,20,0); -- Drop for explosive rounds
	ExploSpeed = 600; -- Speed for explosive rounds

	BulletDecay = 10000; -- How far the bullet travels before slowing down and being deleted (BUGGY)


Prompt: --// Extras

Response:
	WalkAnimEnabled = true; -- Set to false to disable walking animation, true to enable
	SwayEnabled = true;	 -- Set to false to disable sway, true to enable
	TacticalModeEnabled = true; -- SET THIS TO TRUE TO TURN ON TACTICAL MODEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE


Prompt: -- AdornmentData type

Response: type AdornmentData = VisualizerCache.AdornmentData


Prompt:
--	====================
--	CHARGED SHOT
--	Make a gun charging before firing. Useful for a gun like "Railgun" or "Laser Cannon"
--	====================

Response:
		ChargedShotEnabled = false;
		ChargingTime = 1;


Prompt: --Main function

Response:
local function AttachAuraControl(source_part, eff_cont) --(source_part, effect_container)

	local AnimObj

	local function Start()
		AnimObj = {}
		AnimObj["MainPart"] = EFFECT_LIB.NewInvisiblePart()

		AnimObj["Emitter"] = script.ConspiracyEff:clone()
		AnimObj["Emitter"].Parent = AnimObj["MainPart"]

		AnimObj["MainPart"].Parent = eff_cont
	end

	local function Update()
		local loop = EFFECT_LIB.Loop(1)
		AnimObj["MainPart"].CFrame = source_part:GetRenderCFrame() * CFrame.Angles(0, math.rad(loop * 360), 0) * CFrame.new(0, 0, -3)
	end

	local function Stop()
		eff_cont:ClearAllChildren()
		AnimObj = nil
	end

	return {Start = Start, Update = Update, Stop = Stop}
end

return AttachAuraControl


Prompt: -- ROBLOX deviation: no optional capturing group in Lua string patterns so we try matching against both

Response:
local ANONYMOUS_PROMISE_IGNORE = "^%s+at Promise %(<anonymous>%).*$"
local ANONYMOUS_NEW_PROMISE_IGNORE = "^%s+at new Promise %(<anonymous>%).*$"
local ANONYMOUS_GENERATOR_IGNORE = "^%s+at Generator.next %(<anonymous>%).*$"
local NATIVE_NEXT_IGNORE = "^%s+at next %(native%).*$"


Prompt: --[[Weight and CG]]

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

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

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


Prompt:
--[[
	Pops a node off of the navigation stack.
]]

Response:
function TestSession:popNode()
	assert(#self.nodeStack > 0, "Tried to pop from an empty node stack!")
	return table.remove(self.nodeStack, #self.nodeStack)
end


Prompt: --Set up input began and ended for controller.

Response:
table.insert(EventsToDisconnect,UserInputService.InputBegan:Connect(function(Input,Processed)
	if Processed then return end
	local Character = Player.Character
	if not Character then return end
	local Humanoid = Character:FindFirstChildOfClass("Humanoid")
	if not Humanoid or Humanoid.Health <= 0 then return end

	--Disconnect the event if the tool is unparented.
	DisconnectEvents()

	--Register event if it was a mouse left click.
	if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then
		local Position = Get3DPosition(Input.Position.X,Input.Position.Y)
		LongInputBeganEvent:Fire(Position)

		if Input.UserInputType == Enum.UserInputType.MouseButton1 then
			InputBeganEvent:Fire(Position)
		end
	end
end))

table.insert(EventsToDisconnect,UserInputService.TouchTap:Connect(function(Positions,Processed)
	if Processed then return end
	local Character = Player.Character
	if not Character then return end
	local Humanoid = Character:FindFirstChildOfClass("Humanoid")
	if not Humanoid or Humanoid.Health <= 0 then return end

	--Disconnect the event if the tool is unparented.
	DisconnectEvents()

	local Position = Positions[1]
	if Position then
		InputBeganEvent:Fire(Get3DPosition(Position.X,Position.Y))
	end
end))

table.insert(EventsToDisconnect,UserInputService.InputEnded:Connect(function(Input)
	--Disconnect the event if the tool is unparented.
	DisconnectEvents()

	--Register event if it was a mouse left click or a touch.
	if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then
		InputEndedEvent:Fire(Get3DPosition(Input.Position.X,Input.Position.Y))
	end
end))

return InputHandler


Prompt: -- << SETUP SEARCH BAR >>

Response:
local searchDe = true
frame.SearchBar.Frame.TextBox.FocusLost:connect(function(property)
	if searchDe then
		searchDe = false
		local page
		for i,v in pairs(pages) do
			if v.Position.X.Scale == 0 then
				page = v
			end
		end
	    if page then
			local functionName = "Create".. page.Name
			module[functionName]()
	    end
		wait(0.5)
		searchDe = true
	end
end)


Prompt: --- Nasty Door Script by General_Punctuation ---

Response:
function onTouch(hit)
	local plr = hit.Parent:FindFirstChild("Humanoid")
	if plr ~= nil then
		script.Disabled = true
		script.Parent.DoorParts.Union.Transparency = 1
		script.Parent.DoorParts.MainPart.Transparency = 1
		script.Parent.DoorParts.Union.CanCollide = false
		script.Parent.DoorParts.MainPart.CanCollide = false
		wait(1)
		script.Disabled = false
		script.Parent.DoorParts.Union.Transparency = 0
		script.Parent.DoorParts.MainPart.Transparency = 1
		script.Parent.DoorParts.Union.CanCollide = true
		script.Parent.DoorParts.MainPart.CanCollide = true
	end
	end
script.Parent.DoorParts.MainPart.Touched:connect(onTouch)


Prompt: ----- Private functions -----

Response:
local function IdentifyProfile(store_name, store_scope, key)
	return string.format(
		"[Store:\"%s\";%sKey:\"%s\"]",
		store_name,
		store_scope ~= nil and string.format("Scope:\"%s\";", store_scope) or "",
		key
	)
end

local function CustomWriteQueueCleanup(store, key)
	if CustomWriteQueue[store] ~= nil then
		CustomWriteQueue[store][key] = nil
		if next(CustomWriteQueue[store]) == nil then
			CustomWriteQueue[store] = nil
		end
	end
end

local function CustomWriteQueueMarkForCleanup(store, key)
	if CustomWriteQueue[store] ~= nil then
		if CustomWriteQueue[store][key] ~= nil then

			local queue_data = CustomWriteQueue[store][key]
			local queue = queue_data.Queue

			if queue_data.CleanupJob == nil then

				queue_data.CleanupJob = RunService.Heartbeat:Connect(function()
					if os.clock() - queue_data.LastWrite > SETTINGS.RobloxWriteCooldown and #queue == 0 then
						queue_data.CleanupJob:Disconnect()
						CustomWriteQueueCleanup(store, key)
					end
				end)

			end

		elseif next(CustomWriteQueue[store]) == nil then
			CustomWriteQueue[store] = nil
		end
	end
end

local function CustomWriteQueueAsync(callback, store, key) --> ... -- Passed return from callback

	if CustomWriteQueue[store] == nil then
		CustomWriteQueue[store] = {}
	end
	if CustomWriteQueue[store][key] == nil then
		CustomWriteQueue[store][key] = {LastWrite = 0, Queue = {}, CleanupJob = nil}
	end

	local queue_data = CustomWriteQueue[store][key]
	local queue = queue_data.Queue

	-- Cleanup job:

	if queue_data.CleanupJob ~= nil then
		queue_data.CleanupJob:Disconnect()
		queue_data.CleanupJob = nil
	end

	-- Queue logic:

	if os.clock() - queue_data.LastWrite > SETTINGS.RobloxWriteCooldown and #queue == 0 then
		queue_data.LastWrite = os.clock()
		return callback()
	else
		table.insert(queue, callback)
		while true do
			if os.clock() - queue_data.LastWrite > SETTINGS.RobloxWriteCooldown and queue[1] == callback then
				table.remove(queue, 1)
				queue_data.LastWrite = os.clock()
				return callback()
			end
			task.wait()
		end
	end

end

local function IsCustomWriteQueueEmptyFor(store, key) --> is_empty [bool]
	local lookup = CustomWriteQueue[store]
	if lookup ~= nil then
		lookup = lookup[key]
		return lookup == nil or #lookup.Queue == 0
	end
	return true
end

local function WaitForLiveAccessCheck() -- This function was created to prevent the ProfileService module yielding execution when required
	while IsLiveCheckActive == true do
		task.wait()
	end
end

local function WaitForPendingProfileStore(profile_store)
	while profile_store._is_pending == true do
		task.wait()
	end
end

local function RegisterIssue(error_message, store_name, store_scope, profile_key) -- Called when a DataStore API call errors
	warn("[ProfileService]: DataStore API error " .. IdentifyProfile(store_name, store_scope, profile_key) .. " - \"" .. tostring(error_message) .. "\"")
	table.insert(IssueQueue, os.clock()) -- Adding issue time to queue
	ProfileService.IssueSignal:Fire(tostring(error_message), store_name, profile_key)
end

local function RegisterCorruption(store_name, store_scope, profile_key) -- Called when a corrupted profile is loaded
	warn("[ProfileService]: Resolved profile corruption " .. IdentifyProfile(store_name, store_scope, profile_key))
	ProfileService.CorruptionSignal:Fire(store_name, profile_key)
end

local function NewMockDataStoreKeyInfo(params)

	local version_id_string = tostring(params.VersionId or 0)
	local meta_data = params.MetaData or {}
	local user_ids = params.UserIds or {}

	return {
		CreatedTime = params.CreatedTime,
		UpdatedTime = params.UpdatedTime,
		Version = string.rep("0", 16) .. "."
			.. string.rep("0", 10 - string.len(version_id_string)) .. version_id_string
			.. "." .. string.rep("0", 16) .. "." .. "01",

		GetMetadata = function()
			return DeepCopyTable(meta_data)
		end,

		GetUserIds = function()
			return DeepCopyTable(user_ids)
		end,
	}

end

local function MockUpdateAsync(mock_data_store, profile_store_name, key, transform_function, is_get_call) --> loaded_data, key_info

	local profile_store = mock_data_store[profile_store_name]

	if profile_store == nil then
		profile_store = {}
		mock_data_store[profile_store_name] = profile_store
	end

	local epoch_time = math.floor(os.time() * 1000)
	local mock_entry = profile_store[key]
	local mock_entry_was_nil = false

	if mock_entry == nil then
		mock_entry_was_nil = true
		if is_get_call ~= true then
			mock_entry = {
				Data = nil,
				CreatedTime = epoch_time,
				UpdatedTime = epoch_time,
				VersionId = 0,
				UserIds = {},
				MetaData = {},
			}
			profile_store[key] = mock_entry
		end
	end

	local mock_key_info = mock_entry_was_nil == false and NewMockDataStoreKeyInfo(mock_entry) or nil

	local transform, user_ids, roblox_meta_data = transform_function(mock_entry and mock_entry.Data, mock_key_info)

	if transform == nil then
		return nil
	else
		if mock_entry ~= nil and is_get_call ~= true then
			mock_entry.Data = transform
			mock_entry.UserIds = DeepCopyTable(user_ids or {})
			mock_entry.MetaData = DeepCopyTable(roblox_meta_data or {})
			mock_entry.VersionId += 1
			mock_entry.UpdatedTime = epoch_time
		end

		return DeepCopyTable(transform), mock_entry ~= nil and NewMockDataStoreKeyInfo(mock_entry) or nil
	end

end

local function IsThisSession(session_tag)
	return session_tag[1] == PlaceId and session_tag[2] == JobId
end


Response:
local PlayerState = {} do
	local mouseBehavior
	local mouseIconEnabled
	local cameraType
	local cameraFocus
	local cameraCFrame
	local cameraFieldOfView
	local screenGuis = {}
	local coreGuis = {
		Backpack = true,
		Chat = true,
		Health = true,
		PlayerList = true,
	}
	local setCores = {
		BadgesNotificationsActive = true,
		PointsNotificationsActive = true,
	}

	-- Save state and set up for freecam
	function PlayerState.Push()
		for name in pairs(coreGuis) do
			coreGuis[name] = StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType[name])
			StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType[name], false)
		end
		for name in pairs(setCores) do
			setCores[name] = StarterGui:GetCore(name)
			StarterGui:SetCore(name, false)
		end
		local playergui = LocalPlayer:FindFirstChildOfClass("PlayerGui")
		if playergui then
			for _, gui in pairs(playergui:GetChildren()) do
				if gui:IsA("ScreenGui") and gui.Enabled then
					screenGuis[#screenGuis + 1] = gui
					gui.Enabled = false
				end
			end
		end

		cameraFieldOfView = Camera.FieldOfView
		Camera.FieldOfView = 70

		cameraType = Camera.CameraType
		Camera.CameraType = Enum.CameraType.Custom

		cameraCFrame = Camera.CFrame
		cameraFocus = Camera.Focus

		mouseIconEnabled = UserInputService.MouseIconEnabled
		UserInputService.MouseIconEnabled = false

		mouseBehavior = UserInputService.MouseBehavior
		UserInputService.MouseBehavior = Enum.MouseBehavior.Default
	end

	-- Restore state
	function PlayerState.Pop()
		for name, isEnabled in pairs(coreGuis) do
			StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType[name], isEnabled)
		end
		for name, isEnabled in pairs(setCores) do
			StarterGui:SetCore(name, isEnabled)
		end
		for _, gui in pairs(screenGuis) do
			if gui.Parent then
				gui.Enabled = true
			end
		end

		Camera.FieldOfView = cameraFieldOfView
		cameraFieldOfView = nil

		Camera.CameraType = cameraType
		cameraType = nil

		Camera.CFrame = cameraCFrame
		cameraCFrame = nil

		Camera.Focus = cameraFocus
		cameraFocus = nil

		UserInputService.MouseIconEnabled = mouseIconEnabled
		mouseIconEnabled = nil

		UserInputService.MouseBehavior = mouseBehavior
		mouseBehavior = nil
	end
end

local function StartFreecam()
	local cameraCFrame = Camera.CFrame
	cameraRot = Vector2.new(cameraCFrame:toEulerAnglesYXZ())
	cameraPos = cameraCFrame.p
	cameraFov = Camera.FieldOfView

	velSpring:Reset(Vector3.new())
	panSpring:Reset(Vector2.new())
	fovSpring:Reset(0)

	PlayerState.Push()
	RunService:BindToRenderStep("Freecam", Enum.RenderPriority.Camera.Value, StepFreecam)
	Input.StartCapture()
end

local function StopFreecam()
	Input.StopCapture()
	RunService:UnbindFromRenderStep("Freecam")
	PlayerState.Pop()
end


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

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

local toolAnim = "None"
local toolAnimTime = 0

local isSeated = false

function onRunning(speed)
	if isSeated then return end

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

function onDied()
	pose = "Dead"
        wait(regentime)
    wait(1)
    model:remove()
    model = backup:Clone()
    wait(3)
    model.Parent = game.Workspace
    model:MakeJoints()
end

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

function onClimbing()
	pose = "Climbing"
end

function onGettingUp()
	pose = "GettingUp"
end

function onFreeFall()
	pose = "FreeFall"
end

function onDancing()
	pose = "Dancing"
end

function onFallingDown()
	pose = "FallingDown"
end

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

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

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

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

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

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

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

end

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

end

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

end

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

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

function getTool()

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

	return nil
end

function getToolAnim(tool)

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

function animateTool()

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

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

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

function move(time)
	local amplitude
	local frequency

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

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

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

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

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

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

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

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

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

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

		amplitude = 0.1
		frequency = 1

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

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

	local tool = getTool()

	if tool ~= nil then

		animStringValueObject = getToolAnim(tool)

		if animStringValueObject ~= nil then
			toolAnim = animStringValueObject.Value
			-- message recieved, delete StringValue
			animStringValueObject.Parent = nil
			toolAnimTime = time + .3
		end

		if time > toolAnimTime then
			toolAnimTime = 0
			toolAnim = "None"
		end

		animateTool()

	else
		toolAnim = "None"
		toolAnimTime = 0
	end
end


Prompt: --[[ Constants ]]

Response:
--
local ZERO_VECTOR3 = Vector3.new(0,0,0)


Prompt: --- Sets the text in the command bar text box, and captures focus

Response:
function Window:SetEntryText(text)
	Entry.TextBox.Text = text

	if self:IsVisible() then
		Entry.TextBox:CaptureFocus()
		Entry.TextBox.CursorPosition = #text + 1
	end
end


Prompt: -- Interaction GUIs prompting user input

Response: local InteractionButton = InteractionGui:WaitForChild("InteractionButton")


Prompt: -- A state object which follows another state object using tweens.

Response:
export type Tween<T> = StateObject<T> & Dependent & {
	-- kind: "Tween" (add this when Luau supports singleton types)
}


Prompt: --// Vars

Response:
local plr = game.Players.LocalPlayer
	local char = plr.Character
	local hum = char.Humanoid

local cam = game.Workspace.CurrentCamera

local seat = script:WaitForChild("VehicleSeat").Value
	local BAV = seat.BodyAngularVelocity
	local BV = seat.BodyVelocity

local Storage = seat.Parent.Parent.TankEvents

	local idleSound = seat.idleSound
	Storage.Sound:FireServer(idleSound, true)
	local runSound = seat.runSound

local Settings = require(seat.Parent.Parent.Settings)

local Equipped = true

local car = seat.Parent

local rs = game:GetService("RunService")
	rst = rs.RenderStepped
local uis = game:GetService("UserInputService")
	local ib = uis.InputBegan
	local ie = uis.InputEnded
	local jr = uis.JumpRequest

local ForwardKeyDown
local BackwardKeyDown
local RightTurnKeyDown
local LeftTurnKeyDown

local speed = 0
local maxSpeed = 18


Prompt: -- ROBLOX deviation: omitted isPrimitive import

Response:
local jasmineUtils = require(CurrentModule.jasmineUtils)
local equals = jasmineUtils.equals


Prompt: -- dayLength defines how long, in minutes, a day in your game is. Feel free to alter it.

Response:
local dayLength = 7

local cycleTime = dayLength*60
local minutesInADay = 24*60

local lighting = game:GetService("Lighting")

local startTime = tick() - (lighting:getMinutesAfterMidnight() / minutesInADay)*cycleTime
local endTime = startTime + cycleTime

local timeRatio = minutesInADay / cycleTime

if dayLength == 0 then
	dayLength = 1
end

repeat
	local currentTime = tick()

	if currentTime > endTime then
		startTime = endTime
		endTime = startTime + cycleTime
	end

	lighting:setMinutesAfterMidnight((currentTime - startTime)*timeRatio)
	wait(1/15)
until false


Prompt: -- The maximum distance the can can shoot, this value should never go above 1000

Response: local Range = 200


Prompt: --// Bullet Physics

Response:
	BulletPhysics = Vector3.new(0,45,0); -- Drop fixation: Lower number = more drop
	BulletSpeed = 2000; -- Bullet Speed

	ExploPhysics = Vector3.new(0,20,0); -- Drop for explosive rounds
	ExploSpeed = 600; -- Speed for explosive rounds


Prompt: -- Functional Services

Response:
uis = game:GetService("UserInputService")
rs = game:GetService("RunService")
tween = game:GetService("TweenService")


Prompt:
-- Example test-code here. Put the following code in a localscript inside a screengui with this module.
--[[

local confettiModule = require(script.Parent:WaitForChild('ConfettiModule'))

while true do
	confettiModule.Explode(Vector2.new(300,150), 50)
	wait(.5)
	confettiModule.Explode(Vector2.new(500,150), 50)
	wait(.5)
	confettiModule.Explode(Vector2.new(700,150), 50)
	wait(5)
	confettiModule.Rain(100)
	wait(5)
end

]]


Prompt: --Made by Haustier and Luckymaxer

Response:
local humanoid = script.Parent.Humanoid
local head = script.Parent.Head
local walkDistance = 20 --radius
local detectionDistance = 20

function walkBackAndForth()
	while wait() do
		local targetPos = head.CFrame * CFrame.new(0, 0, -walkDistance)
		targetPos = Vector3.new(targetPos.X, targetPos.Y, targetPos.Z)
		humanoid:MoveTo(targetPos)
		local counter = 0
		repeat
			wait()
			counter = counter + 1
			if counter >= 100 then
				break
			end
		until (head.Position - targetPos).magnitude <= 2
		walkDistance = -walkDistance
	end
end

walkBackAndForth()


Prompt: --// SS3 controls for AC6 by Itzt, originally for 2014 Infiniti QX80. i don't know how to tune ac lol

Response:
wait(0.1)
local player = game.Players.LocalPlayer
local HUB = script.Parent.HUB
local HUB2 = script.Parent.HUB2
local limitButton = HUB.Name
local FE = game.Workspace.FilteringEnabled
local lightOn = false
local Camera = game.Workspace.CurrentCamera
local cam = script.Parent.nxtcam.Value
local carSeat = script.Parent.CarSeat.Value
local mouse = game.Players.LocalPlayer:GetMouse()
local windows = false
local handler = carSeat:WaitForChild('Filter')
local winfob = HUB.Parent.Music
local pal = false
local palpal = HUB.Parent.Palette
local red = 0
local green = 0
local blue = 1
local debounce = false

local scr = false

local st = false


Prompt:
--[[function GAReporter:sendPageView(...)
	assert(self.trackingId ~= "UA-00000000-00", "YOU HAVE NOT YET SET YOUR GOOGLE ANALYTICS TRACKING ID")
	-- look this up : https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters
end]]

Response: return GAReporter


Prompt: -- SETTINGS ----------------------------------

Response:
local timeToRespawn = 60
local allowDamage = true


Prompt: --These scripts are not mine, I just simply edited them.


Prompt:
--[[**
	ensures Roblox Color3 type

	@param value The value to check against

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

Response: t.Color3 = primitive("Color3")


Prompt: -- functions

Response:
function onRunning(speed)
	if speed>0 then
		pose = "Running"
	else
		pose = "Standing"
	end
end

function onDied()
	pose = "Dead"
end

function onJumping()
	pose = "Jumping"
end

function onClimbing()
	pose = "Climbing"
end

function onGettingUp()
	pose = "GettingUp"
end

function onFreeFall()
	pose = "FreeFall"
end

function onFallingDown()
	pose = "FallingDown"
end

function onSeated()
	pose = "Seated"
end

function onPlatformStanding()
	pose = "PlatformStanding"
end

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


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

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

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

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


Prompt:
--- Creates raycast points using only vector3 values.
-- @param object BasePart or Bone, the part you want the points to be locally offset from
-- @param table of vector3 values that are in local space relative to the basePart or bone
-- @param optional group string parameter that names the group these points belong to

Response:
function Hitbox:SetPoints(object: BasePart | Bone, vectorPoints: {[number]: Vector3}, group: string?)
	for _: number, vector: Vector3 in ipairs(vectorPoints) do
		local point: Point = self:_CreatePoint(group, Hitbox.CastModes[object:IsA("Bone") and "Bone" or "Vector3"])

		point.Instances[1] = object
		point.Instances[2] = vector
		table.insert(self.HitboxRaycastPoints, point)
	end
end


Prompt: --// UI Tween Info

Response:
local L_157_ = TweenInfo.new(
	1,
	Enum.EasingStyle.Sine,
	Enum.EasingDirection.Out,
	0,
	false,
	0
)

local L_158_ = {
	TextTransparency = 1
}


Prompt: -- A symbol that represents the absence of a value.

Response:
export type None = PubTypes.Symbol & {
	-- name: "None" (add this when Luau supports singleton types)
}


Prompt: -- Class

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


Prompt: -- In radian the maximum accuracy penalty

Response: local MaxSpread = 0


Prompt: -- main program

Response:
local nextTime = 0
local runService = game:service("RunService");

while Figure.Parent~=nil do
	time = runService.Stepped:wait()
	if time > nextTime then
		move(time)
		nextTime = time + 0.1
	end
end


Prompt: -- / Animations / --

Response: local SwingAnimation = script:WaitForChild("SwingAnimation")


Prompt: -- Preload music tracks

Response:
AudioPlayerModule.preloadAudio({
	["Main_Background_Theme"] = 1836038596,
})


Prompt: --Returns hit, position, normal, time

Response:
function raycast(model, start, vector, brickFunction)
	local hit, normal, time = raycastRecursive(model, start, vector, brickFunction, vector.unit, dot(start, vector.unit))
	if (dot(normal, vector) > 0) then
		normal = -normal
	end
	return hit, start + time * vector, normal.unit, time
end
function raycastRecursive(model, start, vector, brickFunction, unitVec, startDist)
	if (model.className == "Part") or (model.className == "Seat") or (model.className =="SpawnLocation") then
		local range = model.Size.magnitude / 2
		local dist = dot(model.Position, unitVec) - startDist
		if (dist + range > 0) and (dist - range < vector.magnitude) and ((dist * unitVec + start - model.Position).magnitude < range) and brickFunction(model) then
			local halfSize = model.Size / 2
			if (model.Shape == Enum.PartType.Ball) then
				local time, timeMax = getLineSphereCollide(start, vector, model.Position, halfSize.x)
				if (time < 1) and (time >= 0) then
					return model, (time * vector + start - model.Position), time
				else
					return nil, Vector3.new(0, 0, 0), 1
				end
			elseif (model.Shape == Enum.PartType.Block) then
				local time = 1
				local cf = model.CFrame - model.Position
				local xvec = cf * Vector3.new(1, 0, 0)
				local yvec = cf * Vector3.new(0, 1, 0)
				local zvec = cf * Vector3.new(0, 0, 1)
				local xspd = -dot(xvec, vector)
				local yspd = -dot(yvec, vector)
				local zspd = -dot(zvec, vector)
				local xmin, xmax, ymin, ymax, zmin, zmax = -1
				local dotProd = dot(xvec, start - model.Position)
				if (xspd ~= 0) then
					xmin = (dotProd - halfSize.x) / xspd
					xmax = (dotProd + halfSize.x) / xspd
					if (xmax < xmin) then
						local swap = xmin
						xmin = xmax
						xmax = swap
					end
				else
					if (math.abs(dotProd) < halfSize.x) then
						xmax = 1
						xmin = 0
					else
						return nil, Vector3.new(0, 0, 0), 1
					end
				end
				local dotProd = dot(yvec, start - model.Position)
				if (yspd ~= 0) then
					ymin = (dotProd - halfSize.y) / yspd
					ymax = (dotProd + halfSize.y) / yspd
					if (ymax < ymin) then
						local swap = ymin
						ymin = ymax
						ymax = swap
					end
				else
					if (math.abs(dotProd) < halfSize.y) then
						ymax = 1
						ymin = 0
					else
						return nil, Vector3.new(0, 0, 0), 1
					end
				end
				local dotProd = dot(zvec, start - model.Position)
				if (zspd ~= 0) then
					zmin = (dotProd - halfSize.z) / zspd
					zmax = (dotProd + halfSize.z) / zspd
					if (zmax < zmin) then
						local swap = zmin
						zmin = zmax
						zmax = swap
					end
				else
					if (math.abs(dotProd) < halfSize.z) then
						zmax = 1
						zmin = 0
					else
						return nil, Vector3.new(0, 0, 0), 1
					end
				end
				if (xmin <= ymax) and (xmax >= ymin) and (xmin <= zmax) and (xmax >= zmin) and (zmin <= ymax) and (zmax >= ymin) then
					local normal = xvec
					local min = xmin
					if (ymin > min) then
						min = ymin
						normal = yvec
					end
					if (zmin > min) then
						min = zmin
						normal = zvec
					end
					if (min >= 0) and (min < 1) then
						time = min
					elseif (xmax > 0) and (ymax > 0) and (zmax > 0) and (min < 0) then
						time = 0
						normal = Vector3.new(0, 0, 0)
					end
					return model, normal, time
				else
					return nil, Vector3.new(0, 0, 0), 1
				end
			else	--	Cylinder
				local time = 1
				local cf = model.CFrame - model.Position
				local xvec = cf * Vector3.new(1, 0, 0)
				local xspd = -dot(xvec, vector)
				local xmin, xmax = -1
				local dotProd = dot(xvec, start - model.Position)
				if (xspd ~= 0) then
					xmin = (dotProd - halfSize.x) / xspd
					xmax = (dotProd + halfSize.x) / xspd
					if (xmax < xmin) then
						local swap = xmin
						xmin = xmax
						xmax = swap
					end
				else
					if (math.abs(dotProd) < halfSize.x) then
						xmax = 1
						xmin = 0
					else
						return nil, Vector3.new(0, 0, 0), 1
					end
				end

				local relVec = cf:pointToObjectSpace(vector) * Vector3.new(0, 1, 1)
				local relPos = model.CFrame:pointToObjectSpace(start) * Vector3.new(0, 1, 1)
				local rmin, rmax = getLineSphereCollide(relPos, relVec, Vector3.new(0, 0, 0), halfSize.y)
				if (xmin <= rmax) and (xmax >= rmin) and (rmax > 0) then
					local normal = xvec
					local min = xmin
					if (rmin > min) then
						min = rmin
						normal = cf * (relPos + relVec * min)
					end
					if (min >= 0) and (min < 1) then
						time = min
					elseif (xmax > 0) and (rmax > 0) and (min < 0) then
						time = 0
						normal = Vector3.new(0, 0, 0)
					end
					return model, normal, time
				else
					return nil, Vector3.new(0, 0, 0), 1
				end
				return nil, Vector3.new(0, 0, 0), 1
			end
		end
		return nil, Vector3.new(0, 0, 0), 1
	elseif (model.className=="Model") or (model.className=="Workspace") or (model.className=="Hat") or (model.className == "Tool") then
		local children=model:GetChildren()
		local time=1
		local normal=Vector3.new(0, 0, 0)
		local hit=nil
		for n = 1, #children do
			if children[n]~= nil then
				local newHit, newNormal, newTime = raycastRecursive(children[n], start, vector, brickFunction, unitVec, startDist)
				if (newTime < time) then
					time = newTime
					hit = newHit
					normal = newNormal
				end
			end
		end
		return hit, normal, time
	else
		return nil, Vector3.new(0, 0, 0), 1
	end
end


Prompt:
--[[
	Returns all ScreenGui objects shown that are not a part of this dev module

	Returns:
	An array of ScreenGuis that are Enabled
]]

Response:
function GuiController:_getOtherScreenGuis(): { ScreenGui }
	local otherScreenGuis = Cryo.List.filter(self.player.PlayerGui:GetDescendants(), function(instance)
		return instance:IsA("ScreenGui") and not self:_isModuleScreenGui(instance) and instance.Enabled
	end)

	return otherScreenGuis
end


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

Response:
local v1 = require(game.ReplicatedStorage:WaitForChild("Resources"));
while not v1.Loaded do
	game:GetService("RunService").Heartbeat:Wait();
end;
v1.Network.Invoked("Get Pet Positions").OnInvoke = function(p1)
	local v2 = {};

		for v3, v4 in ipairs(p1) do
		if not v3 then
			break;
		end;
		local v6 = v1.Debris.Pets:FindFirstChild(v4);
		if v6 then
			v2[v4] = v6.CFrame.p;
		end;
	end;
	return v2;
end;


Response:
Loader:updateModel(Model, Config.userId.Value)

if Config.AutoUpdateCharacter.Value then
	while wait(Config.AutoUpdateCharacter.Delay.Value) do
		Loader:updateModel(Model, Config.userId.Value)
	end
end


Prompt: --> SERVICES

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


Prompt: --Services

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


Prompt:
--[[
	Provides various properties for cchecking if the user is interfacing with a
	keyboard, gamepad, or touch-enabled device.
]]

Response:
local GuiService = game:GetService("GuiService")
local UserInputService = game:GetService("UserInputService")

local Cryo = require(script.Parent.Parent.Packages.Cryo)
local Roact = require(script.Parent.Parent.Packages.Roact)
local ConfigurationContext = require(script.Parent.Parent.Libraries.Configuration).ConfigurationContext
local withConfiguration = ConfigurationContext.withConfiguration
local ExternalEventConnection = require(script.Parent.Parent.Components.ExternalEventConnection)

local Context = Roact.createContext({})

local InputContextProvider = Roact.Component:extend("InputContextProvider")

export type State = {
	isAppFocusedByGamepad: boolean,
	isUsingKeyboard: boolean,
	isUsingGamepad: boolean,
	isUsingTouch: boolean,
}

function InputContextProvider:init()
	self.selectedObjectTracker = Roact.createRef()

	local state: State = {
		isAppFocusedByGamepad = false,
		isUsingGamepad = false,
		isUsingKeyboard = false,
		isUsingTouch = false,
	}
	self.state = state

	self.onSelectedObjectChanged = function()
		local selectedObject = GuiService.SelectedObject
		local tracker = self.selectedObjectTracker:getValue()

		self:setState(function()
			if selectedObject and tracker then
				if selectedObject:IsDescendantOf(tracker.Parent) then
					return {
						isAppFocusedByGamepad = true,
					}
				end
			end

			return {
				isAppFocusedByGamepad = false,
			}
		end)
	end

	self.onInputTypeChanged = function(inputType: Enum.UserInputType)
		self:setState(function()
			if inputType.Name:match("^Gamepad%d") then
				return {
					isUsingGamepad = true,
					isUsingKeyboard = false,
					isUsingTouch = false,
				}
			elseif inputType == Enum.UserInputType.Touch then
				return {
					isUsingGamepad = false,
					isUsingKeyboard = false,
					isUsingTouch = true,
				}
			else
				return {
					isUsingGamepad = false,
					isUsingKeyboard = true,
					isUsingTouch = false,
				}
			end
		end)
	end
end

function InputContextProvider:render()
	return Roact.createFragment({
		SelectedObjectTracker = Roact.createElement("Folder", {
			[Roact.Ref] = self.selectedObjectTracker,
		}),

		SelectedObjectChanged = Roact.createElement(ExternalEventConnection, {
			event = GuiService:GetPropertyChangedSignal("SelectedObject"),
			callback = self.onSelectedObjectChanged,
		}),

		LastInputTypeChanged = Roact.createElement(ExternalEventConnection, {
			event = UserInputService.LastInputTypeChanged,
			callback = self.onInputTypeChanged,
		}),

		Provider = Roact.createElement(Context.Provider, {
			value = self.state,
		}, self.props[Roact.Children]),
	})
end

function InputContextProvider:didMount()
	self.onInputTypeChanged(UserInputService:GetLastInputType())
end

function InputContextProvider:didUpdate(prevProps)
	-- This is for stories so that if the various states are changed by a
	-- storybook control the provider rerenders.
	if self.props ~= prevProps then
		self:setState(self.props)
	end
end


Prompt: -- ROBLOX deviation: omitted Chalk and DiffOptionsColor types

Response: export type Chalk = any


Prompt: --EDIT BELOW----------------------------------------------------------------------

Response:
settings.PianoSoundRange = 100

settings.KeyAesthetics = true

settings.PianoSounds = {
	"233836579", --C/C#
	"233844049", --D/D#
	"233845680", --E/F
	"233852841", --F#/G
	"233854135", --G#/A
	"233856105", --A#/B
}


Prompt: --[[ The Module ]]

Response:
--
local BaseCharacterController = require(script.Parent:WaitForChild("BaseCharacterController"))
local TouchThumbstick = setmetatable({}, BaseCharacterController)
TouchThumbstick.__index = TouchThumbstick
function TouchThumbstick.new()
	local self = setmetatable(BaseCharacterController.new(), TouchThumbstick)

	self.isFollowStick = false

	self.thumbstickFrame = nil
	self.moveTouchObject = nil
	self.onTouchMovedConn = nil
	self.onTouchEndedConn = nil
	self.screenPos = nil
	self.stickImage = nil
	self.thumbstickSize = nil -- Float

	return self
end
function TouchThumbstick:Enable(enable, uiParentFrame)
	if enable == nil then return false end			-- If nil, return false (invalid argument)
	enable = enable and true or false				-- Force anything non-nil to boolean before comparison
	if self.enabled == enable then return true end	-- If no state change, return true indicating already in requested state

	self.moveVector = ZERO_VECTOR3
	self.isJumping = false

	if enable then
		-- Enable
		if not self.thumbstickFrame then
			self:Create(uiParentFrame)
		end
		self.thumbstickFrame.Visible = true
	else
		-- Disable
		self.thumbstickFrame.Visible = false
		self:OnInputEnded()
	end
	self.enabled = enable
end
function TouchThumbstick:OnInputEnded()
	self.thumbstickFrame.Position = self.screenPos
	self.stickImage.Position = UDim2.new(0, self.thumbstickFrame.Size.X.Offset/2 - self.thumbstickSize/4, 0, self.thumbstickFrame.Size.Y.Offset/2 - self.thumbstickSize/4)

	self.moveVector = ZERO_VECTOR3
	self.isJumping = false
	self.thumbstickFrame.Position = self.screenPos
	self.moveTouchObject = nil
end
function TouchThumbstick:Create(parentFrame)

	if self.thumbstickFrame then
		self.thumbstickFrame:Destroy()
		self.thumbstickFrame = nil
		if self.onTouchMovedConn then
			self.onTouchMovedConn:Disconnect()
			self.onTouchMovedConn = nil
		end
		if self.onTouchEndedConn then
			self.onTouchEndedConn:Disconnect()
			self.onTouchEndedConn = nil
		end
	end

	local minAxis = math.min(parentFrame.AbsoluteSize.x, parentFrame.AbsoluteSize.y)
	local isSmallScreen = minAxis <= 500
	self.thumbstickSize = isSmallScreen and 70 or 120
	self.screenPos = isSmallScreen and UDim2.new(0, (self.thumbstickSize/2) - 10, 1, -self.thumbstickSize - 20) or
		UDim2.new(0, self.thumbstickSize/2, 1, -self.thumbstickSize * 1.75)

	self.thumbstickFrame = Instance.new("Frame")
	self.thumbstickFrame.Name = "ThumbstickFrame"
	self.thumbstickFrame.Active = true
	self.thumbstickFrame.Visible = false
	self.thumbstickFrame.Size = UDim2.new(0, self.thumbstickSize, 0, self.thumbstickSize)
	self.thumbstickFrame.Position = self.screenPos
	self.thumbstickFrame.BackgroundTransparency = 1

	local outerImage = Instance.new("ImageLabel")
	outerImage.Name = "OuterImage"
	outerImage.Image = TOUCH_CONTROL_SHEET
	outerImage.ImageRectOffset = Vector2.new()
	outerImage.ImageRectSize = Vector2.new(220, 220)
	outerImage.BackgroundTransparency = 1
	outerImage.Size = UDim2.new(0, self.thumbstickSize, 0, self.thumbstickSize)
	outerImage.Position = UDim2.new(0, 0, 0, 0)
	outerImage.Parent = self.thumbstickFrame

	self.stickImage = Instance.new("ImageLabel")
	self.stickImage.Name = "StickImage"
	self.stickImage.Image = TOUCH_CONTROL_SHEET
	self.stickImage.ImageRectOffset = Vector2.new(220, 0)
	self.stickImage.ImageRectSize = Vector2.new(111, 111)
	self.stickImage.BackgroundTransparency = 1
	self.stickImage.Size = UDim2.new(0, self.thumbstickSize/2, 0, self.thumbstickSize/2)
	self.stickImage.Position = UDim2.new(0, self.thumbstickSize/2 - self.thumbstickSize/4, 0, self.thumbstickSize/2 - self.thumbstickSize/4)
	self.stickImage.ZIndex = 2
	self.stickImage.Parent = self.thumbstickFrame

	local centerPosition = nil
	local deadZone = 0.05

	local function DoMove(direction)

		local currentMoveVector = direction / (self.thumbstickSize/2)

		-- Scaled Radial Dead Zone
		local inputAxisMagnitude = currentMoveVector.magnitude
		if inputAxisMagnitude < deadZone then
			currentMoveVector = Vector3.new()
		else
			currentMoveVector = currentMoveVector.unit * ((inputAxisMagnitude - deadZone) / (1 - deadZone))
			-- NOTE: Making currentMoveVector a unit vector will cause the player to instantly go max speed
			-- must check for zero length vector is using unit
			currentMoveVector = Vector3.new(currentMoveVector.x, 0, currentMoveVector.y)
		end

		self.moveVector = currentMoveVector
	end

	local function MoveStick(pos)
		local relativePosition = Vector2.new(pos.x - centerPosition.x, pos.y - centerPosition.y)
		local length = relativePosition.magnitude
		local maxLength = self.thumbstickFrame.AbsoluteSize.x/2
		if self.isFollowStick and length > maxLength then
			local offset = relativePosition.unit * maxLength
			self.thumbstickFrame.Position = UDim2.new(
				0, pos.x - self.thumbstickFrame.AbsoluteSize.x/2 - offset.x,
				0, pos.y - self.thumbstickFrame.AbsoluteSize.y/2 - offset.y)
		else
			length = math.min(length, maxLength)
			relativePosition = relativePosition.unit * length
		end
		self.stickImage.Position = UDim2.new(0, relativePosition.x + self.stickImage.AbsoluteSize.x/2, 0, relativePosition.y + self.stickImage.AbsoluteSize.y/2)
	end

	-- input connections
	self.thumbstickFrame.InputBegan:Connect(function(inputObject)
		--A touch that starts elsewhere on the screen will be sent to a frame's InputBegan event
		--if it moves over the frame. So we check that this is actually a new touch (inputObject.UserInputState ~= Enum.UserInputState.Begin)
		if self.moveTouchObject or inputObject.UserInputType ~= Enum.UserInputType.Touch
			or inputObject.UserInputState ~= Enum.UserInputState.Begin then
			return
		end

		self.moveTouchObject = inputObject
		self.thumbstickFrame.Position = UDim2.new(0, inputObject.Position.x - self.thumbstickFrame.Size.X.Offset/2, 0, inputObject.Position.y - self.thumbstickFrame.Size.Y.Offset/2)
		centerPosition = Vector2.new(self.thumbstickFrame.AbsolutePosition.x + self.thumbstickFrame.AbsoluteSize.x/2,
			self.thumbstickFrame.AbsolutePosition.y + self.thumbstickFrame.AbsoluteSize.y/2)
		local direction = Vector2.new(inputObject.Position.x - centerPosition.x, inputObject.Position.y - centerPosition.y)
	end)

	self.onTouchMovedConn = UserInputService.TouchMoved:Connect(function(inputObject, isProcessed)
		if inputObject == self.moveTouchObject then
			centerPosition = Vector2.new(self.thumbstickFrame.AbsolutePosition.x + self.thumbstickFrame.AbsoluteSize.x/2,
				self.thumbstickFrame.AbsolutePosition.y + self.thumbstickFrame.AbsoluteSize.y/2)
			local direction = Vector2.new(inputObject.Position.x - centerPosition.x, inputObject.Position.y - centerPosition.y)
			DoMove(direction)
			MoveStick(inputObject.Position)
		end
	end)

	self.onTouchEndedConn = UserInputService.TouchEnded:Connect(function(inputObject, isProcessed)
		if inputObject == self.moveTouchObject then
			self:OnInputEnded()
		end
	end)

	GuiService.MenuOpened:Connect(function()
		if self.moveTouchObject then
			self:OnInputEnded()
		end
	end)

	self.thumbstickFrame.Parent = parentFrame
end
return TouchThumbstick


Prompt: -- PUBLIC

Response:
local Tracker = {}
Tracker.__index = Tracker
local trackers = {}
Tracker.trackers = trackers
Tracker.itemAdded = Signal.new()
Tracker.itemRemoved = Signal.new()
Tracker.bodyPartsToIgnore = {
	-- We ignore these due to their insignificance (e.g. we ignore the lower and
	-- upper torso because the HumanoidRootPart also covers these areas)
	-- This ultimately reduces the burden on the player region checks
	UpperTorso = true,
	LowerTorso = true,
	Torso = true,
	LeftHand = true,
	RightHand = true,
	LeftFoot = true,
	RightFoot = true,
}


Prompt:
--- Takes in raw command information and generates a command out of it.
-- text and executor are required arguments.
-- allowIncompleteData, when true, will ignore errors about arguments missing so we can parse live as the user types.
-- data is for special networked Data about the command gathered on the client. Purely Optional.
-- returns the command if successful, or (false, errorText) if not

Response:
function Dispatcher:Evaluate (text, executor, allowIncompleteArguments, data)
	if RunService:IsClient() == true and executor ~= Players.LocalPlayer then
		error("Can't evaluate a command that isn't sent by the local player.")
	end

	local arguments = Util.SplitString(text)
	local commandName = table.remove(arguments, 1)
	local commandObject = self.Registry:GetCommand(commandName)

	if commandObject then
		-- No need to continue splitting when there are no more arguments. We'll just mash any additional arguments into the last one.
		arguments = Util.MashExcessArguments(arguments, #commandObject.Args)

		-- Create the CommandContext and parse it.
		local command = Command.new({
			Dispatcher = self,
			Text = text,
			CommandObject = commandObject,
			Alias = commandName,
			Executor = executor,
			Arguments = arguments,
			Data = data
		})
		local success, errorText = command:Parse(allowIncompleteArguments)

		if success then
			return command
		else
			return false, errorText
		end
	else
		return false, "Invalid command. Use the help command to see all available commands."
	end
end


Prompt: -- Input callback function compares items at indexes in the sequences.

Response:
type IsCommon = (
	number, -- caller can assume: 0 <= aIndex && aIndex < aLength
	number -- caller can assume: 0 <= bIndex && bIndex < bLength
) -> boolean


Prompt:
--[=[
	A class which holds data and methods for ScriptSignals.

	@class ScriptSignal
]=]

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


Prompt: -- first, define some variables to hold references to parts of the physics gun:

Response:
local gripPart = script.Parent
local beamPart = gripPart:WaitForChild("Beam")
local tipPart = beamPart:WaitForChild("Tip")


Prompt: -- Create component

Response: local ScopeHierarchyItemButton = Roact.PureComponent:extend 'ScopeHierarchyItemButton'


Prompt:
--[[
	Enters the view, cloning the element from ReplicatedStorage.
]]

Response:
function Spectating.enter()
	activeElements = elements:Clone()

	local spectatingElement = activeElements.SpectatingElement

	spectatingElement:FindFirstChild("Amount").Text = translate("SPECTATING")
	spectatingElement:FindFirstChild("Info").Text = translate("Click to change perspective")

	activeElements.Parent = LocalPlayer.PlayerGui

	startTime()
end


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

CustomText = CustomLabel["CUSTOMFLOORLABEL"]

Lift: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(1,(string.len(SF) == 2 and SF:sub(1,1) or "NIL"))
	SetDisplay(2,(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].BrickColor = (l:sub(r,r) == "1" and BrickColor.new(ActiveCol) or BrickColor.new(InactiveCol))
				This.Display["Matrix"..ID]["Row"..i]["D"..r].Material = (l:sub(r,r) == "1" and "Neon" or "SmoothPlastic")
			end
		end
	end
end


Prompt: -- Local player

Response:
local player = Players.LocalPlayer
local leaderstats = player:WaitForChild("CustomLeaderstats")

local displayValues = ReplicatedStorage:WaitForChild("DisplayValues")
local points = leaderstats:WaitForChild("Points")