Roblox/luau_corpus huggingface dataset:
--[[Susupension]]
	Tune.SusEnabled		= false		-- works only in with PGSPhysicsSolverEnabled, defaults to false when PGS is disabled
	
	--Front Suspension
	Tune.FSusDamping	= 500		-- Spring Dampening
	Tune.FSusStiffness	= 9000		-- Spring Force
	Tune.FSusLength		= 2			-- Suspension length (in studs)
	Tune.FSusMaxExt		= .3		-- Max Extension Travel (in studs)
	Tune.FSusMaxComp	= .1		-- Max Compression Travel (in studs)
	Tune.FSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
		
	Tune.FWsBoneLen		= 5			-- Wishbone Length
	Tune.FWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.FAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward
	
	--Rear Suspension
	Tune.RSusDamping	= 500		-- Spring Dampening
	Tune.RSusStiffness	= 9000		-- Spring Force
	Tune.RSusLength		= 2			-- Suspension length (in studs)
	Tune.RSusMaxExt		= .3		-- Max Extension Travel (in studs)
	Tune.RSusMaxComp	= .1		-- Max Compression Travel (in studs)
	Tune.RSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
		
	Tune.RWsBoneLen		= 5			-- Wishbone Length
	Tune.RWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.RAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward

	--Aesthetics	
	Tune.SusVisible		= true			-- Spring Visible
	Tune.WsBVisible		= false			-- Wishbone Visible
	Tune.SusRadius		= .2			-- Suspension Coil Radius
	Tune.SusThickness	= .1			-- Suspension Coil Thickness
	Tune.SusColor		= "Really black"	-- Suspension Color [BrickColor]
	Tune.SusCoilCount	= 6				-- Suspension Coil Count
	Tune.WsColor		= "Black"		-- Wishbone Color [BrickColor]
	Tune.WsThickness	= .1			-- Wishbone Rod Thickness
-- Runs to modify the player after they've gotten an upgrade
function UpgradeManager:SetWalkspeedToCurrentUpgrade(player)
	local stats = player:WaitForChild("stats")
	local playerUpgrades = stats:WaitForChild(GameSettings.upgradeName)
	local points = stats:WaitForChild(GameSettings.pointsName)

	--Change the players movement speed 
	local character = player.Character or player.CharacterAdded:wait()
	local humanoid = character:WaitForChild("Humanoid")
	humanoid.WalkSpeed = GameSettings.movementSpeed(playerUpgrades.Value)
end
--Give panel on login/respawn
game.Players.PlayerAdded:connect(function(player)
	player.CharacterAdded:connect(function(character)
		
		wait()
		
		local player = game.Players:GetPlayerFromCharacter(character)
		
		givePanel(player)
		
	end)
end)
--[[
Note to self replace this with a general 
function in the main server later



]]
wait(1);
local TS = game.TweenService;
local R = Random.new(tick()*os.time());

local OnTime = {5,10};
local WaitTime = {5,10}; -- Time between turning on


local N = script.Parent.Parent.Neon;
local A = script.Parent;
function Start ()

	N.A1.A.Enabled = true;
	A.Alarm:Play();
	N.A1.Light.Enabled = true;
	wait(2);
	N.A1.Glow.Enabled = true;
	wait(1);
	A.Alarm:Stop();
	A.Start:Play();
	N.A4.Smoke.Enabled = true;

	
	
	spawn(function ()
		wait(3.0);
		A.Mid:Play();
	end);
	wait(1.5);
	N.A1.BLaser1.Enabled = true;
	N.A1.BLaser2.Enabled = true;
	
	for i, child in pairs(N.A3:GetChildren()) do
		child.Enabled = true;
	end 

end

function Spin ()
	
end

function Update ()
	
	
	-- Spin
	
end

function End ()
	
	
	A.Alarm:Play();
	A.End:Play();
	
	wait(0.2);
	A.Mid:Stop();
	wait(0.5);
	A.Alarm:Stop();
	
	N.A1.Light.Enabled = false;
	N.A4.Smoke.Enabled = false;
	N.A1.A.Enabled = false;
	N.A1.Glow.Enabled = false;
	N.A1.BLaser1.Enabled = false;
	N.A1.BLaser2.Enabled = false;
	
	for i, child in pairs(N.A3:GetChildren()) do
		child.Enabled = false;
	end 	
	
end


wait(4);
while true do
	
	local Total = R:NextNumber(OnTime[1], OnTime[2]);
	
	Start ();
	
	for i = 0, Total, 1 do
		Update();
		wait(1);
	end
	End();
	wait(R:NextNumber(WaitTime[1], WaitTime[2]));
end
--[=[
	Same as [Rx.of] but wraps it in a Brio.

	@param ... T
	@return Observable<Brio<T>>
]=]
function RxBrioUtils.of(...)
	return Rx.of(...):Pipe({
		RxBrioUtils.toBrio()
	})
end
--!strict
type Object = { [string]: any }
type Array<T> = { [number]: T }

local function freeze<T>(t: T & (Object | Array<any>)): T
	-- Luau FIXME: model freeze better so it passes through the type constraint and doesn't erase
	return (table.freeze(t) :: any) :: T
end

return freeze
--local GENERATION_SEED	= math.random(1266073872) 	-- Seed for determining the main height map of the terrain.
local rnd				= Random.new(os.time())-- мой Id 1266073872
local GENERATION_SEED	= rnd:NextNumber()		-- Seed for determining the main height map of the terrain.
local RADIUS			= game.Workspace.Village.Radius.Value/2/CHUNK_SCALE -- CHUNK_SCALE*5			-- радиус деревни
local R_SCALE			= 3					-- растояние пологости от деревни в её радиусах
-- Represents a FastCastBehavior :: https://etithespirit.github.io/FastCastAPIDocs/fastcast-objects/fcbehavior/
export type FastCastBehavior = {
	RaycastParams: RaycastParams?,
	TravelType: string,
	MaxDistance: number,
	Lifetime: number,
	Acceleration: Vector3,
	HighFidelityBehavior: number,
	HighFidelitySegmentSize: number,
	CosmeticBulletTemplate: Instance?,
	CosmeticBulletProvider: any, -- Intended to be a PartCache. Dictated via TypeMarshaller.
	CosmeticBulletContainer: Instance?,
	RaycastHitbox: GenericTable,
	CurrentCFrame: CFrame,
	ModifiedDirection: Vector3,
	AutoIgnoreContainer: boolean,
	HitEventOnTermination: boolean,
	Hitscan: boolean,
	CanPenetrateFunction: CanPenetrateFunction,
	CanHitFunction: CanHitFunction,
}
-- ROBLOX FIXME: Can we define ClientChatModules statically in the project config
pcall(function() ChatLocalization = require((game:GetService("Chat") :: any).ClientChatModules.ChatLocalization :: any) end)
if ChatLocalization == nil then ChatLocalization = { Get = function(self, key, default) return default end } end

function ProcessMessage(message, ChatWindow, ChatSettings)
	if string.sub(message, 1, 3):lower() ~= "/c " then
		return false
	end

	local channelName = string.sub(message, 4)

	local targetChannel = ChatWindow:GetChannel(channelName)
	if targetChannel then
		ChatWindow:SwitchCurrentChannel(channelName)
		if not ChatSettings.ShowChannelsBar then
			local currentChannel = ChatWindow:GetCurrentChannel()
			if currentChannel then
				util:SendSystemMessageToSelf(
					string.gsub(ChatLocalization:Get(
						"GameChat_SwitchChannel_NowInChannel",
						string.format("You are now chatting in channel: '%s'", channelName),
						{RBX_NAME = channelName}
					),"{RBX_NAME}",channelName),
					targetChannel, {}
				)
			end
		end
	else
		local currentChannel = ChatWindow:GetCurrentChannel()
		if currentChannel then
			util:SendSystemMessageToSelf(
				string.gsub(ChatLocalization:Get(
					"GameChat_SwitchChannel_NotInChannel",
					string.format("You are not in channel: '%s'", channelName),
					{RBX_NAME = channelName}
				),"{RBX_NAME}",channelName), 
				currentChannel, {ChatColor = Color3.fromRGB(245, 50, 50)}
			)
		end
	end

	return true
end

return {
	[util.KEY_COMMAND_PROCESSOR_TYPE] = util.COMPLETED_MESSAGE_PROCESSOR,
	[util.KEY_PROCESSOR_FUNCTION] = ProcessMessage
}
-- ANimation
local Sound = script:WaitForChild("Haoshoku Sound")

UIS.InputBegan:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.C and Debounce == 1 and Tool.Equip.Value == true and Tool.Active.Value == "None" then
		Debounce = 2
		Track1 = plr.Character.Humanoid:LoadAnimation(script.AnimationCharge)
		Track1:Play()
		script.RemoteEventS:FireServer()
		for i = 1,math.huge do
			if Debounce == 2 then
				
				plr.Character.HumanoidRootPart.Anchored = true
			else
				
				break
				end
	     wait()
	  end
	end
end)

UIS.InputEnded:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.C and Debounce == 2 and Tool.Equip.Value == true and Tool.Active.Value == "None" then
		Debounce = 3
		local Track2 = plr.Character.Humanoid:LoadAnimation(script.AnimationRelease)
		Track2:Play()
		Track1:Stop()
		Sound:Play()
		local mousepos = Mouse.Hit
		script.RemoteEvent:FireServer(mousepos,Mouse.Hit.p)
		wait(1)
		plr.Character.LeftHand.EFhand:Destroy()
		plr.Character.RightHand.EFhand:Destroy()
		Track2:Stop()
		wait(.5)
		Tool.Active.Value = "None"
		wait(1.5)
		plr.Character.HumanoidRootPart.Anchored = false
		wait(5)
		Debounce = 1
	end
end)
----------------------------------------DONT EDIT BELOW------------------------------------------------------------------------------
Color=BrickColor.new(TeamColor)
on=false
s=script.Parent
ss=script.Parent:clone()
s.BrickColor=Color
function Check(hit) if on then return end
if hit==nil then return end
local player=game.Players:FindFirstChild(hit.Parent.Name)
if player==nil then return end
on=true
	if player.TeamColor==Color then
	s.Transparency=0.6
	s.CanCollide=false
	wait(Time)
	s.Transparency=ss.Transparency
	s.CanCollide=true
	else
	local h=player.Character:FindFirstChild("Humanoid")
	local t=player.Character:FindFirstChild("Torso")
	if t==nil or h==nil then s.CanCollide=true s.Transparency=ss.Transparency on=false return end
	if AntiHack==1 then
	h.Sit=true
	t.Velocity=t.CFrame:inverse().lookVector*80
	elseif AntiHack==2 then
	h.Health=0
	elseif AntiHack==0 then
	else hit.Parent=nil
	end
	end
on=false
end

s.Touched:connect(Check)
---Model By: Midnight Productions

location = script.Parent.Parent.Parent
regen = script.Parent.Parent
save = regen:clone()

function onClicked()
	regen:remove()
    wait(.2)
	local back = save:clone()
	back.Parent = location
	back:MakeJoints()
end 

script.Parent.ClickDetector.MouseClick:connect(onClicked)
-- Compiled with roblox-ts v1.3.3
--[[
	*
	* Set a variable's type to a new case of the same variant.
	* @param obj object of concern.
	* @param _type new type tag. Restricted to keys of the variant.
	* @param _typeKey discriminant key.
]]
local function cast(obj, _type, _typeKey)
	return obj
end
return {
	cast = cast,
}
--- Recalculate the window height
function Window:UpdateWindowHeight()
	local windowHeight = Gui.UIListLayout.AbsoluteContentSize.Y
		+ Gui.UIPadding.PaddingTop.Offset
		+ Gui.UIPadding.PaddingBottom.Offset
	Gui.Size = UDim2.new(Gui.Size.X.Scale, Gui.Size.X.Offset, 0, math.clamp(windowHeight, 0, WINDOW_MAX_HEIGHT))
	Gui.CanvasPosition = Vector2.new(0, windowHeight)
end
--[=[
	@param obj any
	@return boolean
	Returns `true` if `obj` is an Option.
]=]
function Option.Is(obj)
	return type(obj) == "table" and getmetatable(obj) == Option
end
--
local function re_index(self, index)
	return re_m[index] or proxy[self].flags[index];
end;

local function re_tostr(self)
	return proxy[self].pattern_repr .. proxy[self].flag_repr;
end;
-- ALEX WAS HERE LOL

local u1 = nil;
coroutine.wrap(function()
	u1 = require(game.ReplicatedStorage:WaitForChild("Resources"));
end)();
local v1 = Random.new();
return function()
	return string.gsub(u1.HttpService:GenerateGUID(false), "-", "");
end;
--Don't worry about the rest of the code, except for line 25.
game.Players.PlayerAdded:connect(function(player)
local leader = Instance.new("Folder",player)
leader.Name = "Skins"
local Cash = Instance.new("StringValue",leader)
Cash.Name = stat
Cash.Value = ds:GetAsync(player.UserId) or startamount
ds:SetAsync(player.UserId, Cash.Value)
Cash.Changed:connect(function()
ds:SetAsync(player.UserId, Cash.Value)
end)
end)

game.Players.PlayerRemoving:connect(function(player)
	ds:SetAsync(player.UserId, player.Skins.Equipped.Value) --Change "Points" to the name of your leaderstat.
end)
-- made by Weeve. for all of you lamo scripters out there, can you at least leave my name here?
-- don't edit anything here
seat = script.Parent

function onChildAdded(part)
	if (part.className == "Weld") then
		while true do
local			welde = seat:FindFirstChild("SeatWeld")

			if (welde ~= nil) then
local			sitted = welde.Part1.Parent
			end

			if (sitted.Name ~= script.Parent.Owner.Value) then
				if (script.Parent.Owner.Value == "NoOne") then
					script.Parent.Owner.Value = sitted.Name
					print ("sitted steal")
				else
					print ("stolen!!")
local					shipstealer = game.Workspace:FindFirstChild(sitted.Name)
					if (shipstealer ~= nil) then
						shipstealer.Humanoid.Jump=true
					end
				end
			end


			wait(0.2)

			if (welde == nil) then
				print("BreakLoop")
				script.Parent.Owner.Value = "NoOne"
			break end
		end
	end
end
-- Hover Sound

local Hovered = false

script.Parent.MouseEnter:Connect(function()
	if Hovered == false then
		Hovered = true
		script.HoverSound:Play()
	end
end)

script.Parent.MouseLeave:Connect(function()
	if Hovered == true then
		Hovered = false
	end
end)
----------------------------------------------------------------------------------------------------------------
function GunUp()
Holstered = false
Tool.Enabled = true
torso = Tool.Parent:FindFirstChild("Torso")
if torso ~= nil then
torso.weld1.C1 = CFrame.new(-.1, 1.25, .6) * CFrame.fromEulerAnglesXYZ(math.rad(290), math.rad(10), math.rad(-90))
torso.weld2.C1 = CFrame.new(-1, -0.2, 0.35) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-15), 0)
end
end

function GunDown()
Holstered = true
Tool.Enabled = false -- You don't want to be shooting if your not aiming
torso = Tool.Parent:FindFirstChild("Torso")
if torso ~= nil then
torso.weld1.C1 = CFrame.new(-.1, 1.25, .6) * CFrame.fromEulerAnglesXYZ(math.rad(280), math.rad(-10), math.rad(-80))
torso.weld2.C1 = CFrame.new(-1, -0.2, 0.35) * CFrame.fromEulerAnglesXYZ(math.rad(-70), math.rad(-25), math.rad(0))
end
end
--//Server Animations
	RightHighReady = CFrame.new(-1, -1, -1.25) * CFrame.Angles(math.rad(-160), math.rad(0), math.rad(0));
	LeftHighReady = CFrame.new(.85,-0.35,-1.15) * CFrame.Angles(math.rad(-170),math.rad(60),math.rad(15));

	RightLowReady = CFrame.new(-1, 0.5, -1.25) * CFrame.Angles(math.rad(-60), math.rad(0), math.rad(0));
	LeftLowReady = CFrame.new(1.25,1.15,-1.35) * CFrame.Angles(math.rad(-60),math.rad(35),math.rad(-25));

	RightPatrol = CFrame.new(-1, -.35, -1.5) * CFrame.Angles(math.rad(-80), math.rad(-80), math.rad(0));
	LeftPatrol = CFrame.new(1,1.25,-.75) * CFrame.Angles(math.rad(-90),math.rad(-45),math.rad(-25));

	RightAim = CFrame.new(-.575, 0.1, -1) * CFrame.Angles(math.rad(-90), math.rad(0), math.rad(0));
	LeftAim = CFrame.new(1.4,0.25,-1.45) * CFrame.Angles(math.rad(-120),math.rad(35),math.rad(-25));
	
	RightSprint = CFrame.new(-1, 0.5, -1.25) * CFrame.Angles(math.rad(-60), math.rad(0), math.rad(0));
	LeftSprint = CFrame.new(1.25,1.15,-1.35) * CFrame.Angles(math.rad(-60),math.rad(35),math.rad(-25));

	ShootPos = CFrame.new(0,0,.25);
	
}

return module
--!strict
local BloxbizSDK = script.Parent.Parent.Parent.Parent

local UtilsStorage = BloxbizSDK:FindFirstChild("Utils")
local Fusion = require(UtilsStorage:WaitForChild("Fusion"))

return function(radius: number?): Instance
	return Fusion.New("UICorner")({
		CornerRadius = UDim.new(0, radius or 16),
	})
end
-- Table containing player data
local sessionData = {}

local NEW_PLAYER_DATA = {
	Points = GameSettings.startPoints, 		
	Upgrades = GameSettings.startUpgrades,
	TotalPoints = GameSettings.startPoints,
	RedeemedCodes = {},
}
-- When a player with the game pass touches the door, teleport them to the other side
local function OnTouched(otherPart)
	if otherPart and otherPart.Parent and otherPart.Parent:FindFirstChild('Humanoid') then
		local player = PlayersService:GetPlayerFromCharacter(otherPart.Parent)
		if player and not JustTouched[player] then
			JustTouched[player] = time()
			if GamePassService:PlayerHasPass(player, GamePassIdObject.Value) then
				TeleportToOtherSide(player.Character, otherPart)
			end
		end
	end
end
--[[Engine]]
	--Torque Curve
	Tune.Horsepower		= 500		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 6000		--		Use sliders to manipulate values
	Tune.Redline		= 6700		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 5500
	Tune.PeakSharpness	= 7.5
	Tune.CurveMult		= 0.16
	
	--Incline Compensation
	Tune.InclineComp	= 4.7			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Misc
	Tune.RevAccel		= 150		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 75		-- RPM decay when clutch is off
	Tune.RevBounce		= 500		-- RPM kickback from redline
	Tune.IdleThrottle	= 3			-- Percent throttle at idle
	Tune.ClutchTol		= 500		-- Clutch engagement threshold (higher = faster response)
--!strict
local Types = require(script.Parent.Parent.Parent.Types)

return function(player: Player): Types.PlayerContainer
	return { kind = "single", value = player }
end
--First build your Gun, make sure all the parts and Non-Colliding and Not Anchored.
--Second put these parts inside the Tool (Call one of the parts 'Handle' and the rest 'Part'
--Lastly, make/get your gun script and test it out! 

local prev 
local parts = script.Parent:GetChildren() 

for i = 1,#parts do 
	if (parts[i].className == "Part") or (parts[i].className == "VehicleSeat") then 
		if (prev ~= nil)then 
			local weld = Instance.new("Weld") 
			weld.Part0 = prev 
			weld.Part1 = parts[i] 
			weld.C0 = prev.CFrame:inverse() 
			weld.C1 = parts[i].CFrame:inverse() 
			weld.Parent = prev 
		end 
		prev = parts[i] 
	end 
end
---SG Is  Here---
---Please Dont Change Anything Can Dont Work If You Change--

local player = game.Players.LocalPlayer
local stats = player:WaitForChild("leaderstats")
local coins = stats:WaitForChild("Clicks")
local text = script.Parent

text.Text = "Clicks: "..coins.Value
coins:GetPropertyChangedSignal("Value"):Connect(function()
	text.Text = "Clicks: "..coins.Value
end)
--[[
	Calls a callback on `finally` with specific arguments.
]]
function Promise.prototype:finallyCall(callback, ...)
	assert(type(callback) == "function", string.format(ERROR_NON_FUNCTION, "Promise:finallyCall"))
	local length, values = pack(...)
	return self:_finally(debug.traceback(nil, 2), function()
		return callback(unpack(values, 1, length))
	end)
end
Promise.prototype.FinallyCall = Promise.prototype.finallyCall
--[[
	
	
	[ Note: Make sure to invoke these remotes using :Invoke(), and also invoke them from the SERVER, not from the client. ]
	
	 - GiveItems [instance Player] [string Item name] (optional number amount)
	 - SetTicks [number Ticks]  --  Changes time of day
	 
	 - Gamemode does not work yet.
		
		
]]
return nil
--[[Engine]]
	--Torque Curve
	Tune.Horsepower		= 330   	--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 9000		--		Use sliders to manipulate values
	Tune.Redline		= 9000		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 5600
	Tune.PeakSharpness	= 25
	Tune.CurveMult		= 0.55
	
	--Incline Compensation
	Tune.InclineComp	= 1.3			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Misc
	Tune.RevAccel		= 150		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 75		-- RPM decay when clutch is off
	Tune.RevBounce		= 500		-- RPM kickback from redline
	Tune.IdleThrottle	= 3			-- Percent throttle at idle
	Tune.ClutchTol		= 500		-- Clutch engagement threshold (higher = faster response)
--------
Thread:Spawn(function()
	while true do
		for Index, Object in ipairs(ActiveHitboxes) do
			if Object.deleted then
				Handler:remove(Object.object)
			else
				for _, Point in ipairs(Object.points) do
					if not Object.active then
						Point.LastPosition = nil
					else
						local rayStart, rayDir, RelativePointToWorld, debugPart = Point.solver:solve(Point, game:GetService("ReplicatedStorage"):WaitForChild("ClientSettings").Debug.Value)

						local function castFunction(rayStart, rayDir, params)
							local resultOfCast = workspace:Raycast(rayStart, rayDir, params)

							if resultOfCast then
								local hitInstance = resultOfCast.Instance

								if hitInstance.Parent:IsA("Accoutrement") then
									table.insert(params.FilterDescendantsInstances, hitInstance)
									resultOfCast = nil
								end
							end

							return resultOfCast
						end

						local raycastResult = castFunction(rayStart, rayDir, Object.raycastParams)
						Point.solver:lastPosition(Point, RelativePointToWorld)

						if raycastResult then
							local hitPart = raycastResult.Instance
							local findModel = not Object.partMode and hitPart:FindFirstAncestorOfClass("Model")
							local humanoid = findModel and findModel:FindFirstChildOfClass("Humanoid")
							local target = humanoid or (Object.partMode and hitPart)

							if target and not Object.targetsHit[target] then
								Object.targetsHit[target] = true
								
								if debugPart ~= nil and typeof(debugPart) == "Instance" then
									debugPart.Color = Color3.fromRGB(85, 255, 0)
								end
								
								Object.OnHit:Fire(hitPart, humanoid, raycastResult, Point.group)
							end
						end

						if Object.endTime > 0 then
							if Object.endTime <= clock() then
								Object.endTime = 0
								Object:HitStop()
							end
						end

						Object.OnUpdate:Fire(Point.LastPosition)
					end
				end
			end
		end
		
		Thread:Wait(0.028)
	end
end)

return Handler
--// Bullet Physics
	BulletPhysics = Vector3.new(0,58,0); -- Drop fixation: Lower number = more drop
	BulletSpeed = 1200; -- Bullet Speed
	BulletSpread = 0; -- How much spread the bullet has
	
	ExploPhysics = Vector3.new(0,20,0); -- Drop for explosive rounds
	ExploSpeed = 600; -- Speed for explosive rounds
	
	BulletDecay = 120; -- How far the bullet travels before slowing down and being deleted (BUGGY)
-- constants

local PLAYER	= Players.LocalPlayer

local REMOTES	= ReplicatedStorage:WaitForChild("Remotes")

local GUI		= script.Parent
local INFO_GUI	= GUI:WaitForChild("InfoFrame")
local MAP_GUI	= GUI:WaitForChild("Minimap")
----------------------------------------------------------------------------------------------------
------------------=[ Status UI ]=-------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
	,EnableStatusUI 	= true				--- Don't disabled it...
	,RunWalkSpeed 		= 18
	,NormalWalkSpeed 	= 12
	,SlowPaceWalkSpeed 	= 6	
	,CrouchWalkSpeed 	= 6
	,ProneWalksSpeed 	= 3
	
	,InjuredWalksSpeed 		= 8
	,InjuredCrouchWalkSpeed = 4

	,EnableHunger = false				--- Hunger and Thirst system 		(Removed)
	,HungerWaitTime = 25

	,CanDrown = true 					--- Glub glub glub *ded*
	
	,EnableStamina = false 				--- Weapon Sway based on stamina	(Unused)
	,RunValue = 1						--- Stamina consumption
	,StandRecover = .25					--- Stamina recovery while stading
	,CrouchRecover = .5					--- Stamina recovery while crouching
	,ProneRecover = 1					--- Stamina recovery while lying

	,EnableGPS = false					--- GPS shows your allies around you
	,GPSdistance = 150

	,InteractionMenuKey = Enum.KeyCode.LeftAlt