Roblox/luau_corpus huggingface dataset:
--do -- springs, ok, totally not from treyreynolds
	--local runtime = game ("GetService", "RunService")
	local t = 0
	
	spring = {mt = {}}
	spring.mt.__index = spring
	
	function spring.new( initial )
		local t0 = tick()
		local p0 = initial or 0
		local v0 = initial and 0 * initial or 0
		local t	= initial or 0
		local d	= 1
		local s = 1
		
		local function positionvelocity(tick)
			local x			=tick-t0
			local c0		=p0-t
			if s==0 then
				return		p0,0
			elseif d<1 then
				local c		=(1-d*d)^0.5
				local c1	=(v0/s+d*c0)/c
				local co	=math.cos(c*s*x)
				local si	=math.sin(c*s*x)
				local e		=2.718281828459045^(d*s*x)
				return		t+(c0*co+c1*si)/e,
							s*((c*c1-d*c0)*co-(c*c0+d*c1)*si)/e
			else
				local c1	=v0/s+c0
				local e		=2.718281828459045^(s*x)
				return		t+(c0+c1*s*x)/e,
							s*(c1-c0-c1*s*x)/e
			end
		end
		return setmetatable({},{
			__index=function(_, index)
				if index == "value" or index == "position" or index == "p" then
					local p,v = positionvelocity(tick())
					return p
				elseif index == "velocity" or index == "v" then
					local p,v = positionvelocity(tick())
					return v
				elseif index == "acceleration" or index == "a" then
					local x	= tick()-t0
					local c0 = p0-t
					if s == 0 then
						return 0
					elseif d < 1 then
						local c	=(1-d*d)^0.5
						local c1 = (v0/s+d*c0)/c
						return s*s*((d*d*c0-2*c*d*c1-c*c*c0)*math.cos(c*s*x)
								+(d*d*c1+2*c*d*c0-c*c*c1)*math.sin(c*s*x))
								/2.718281828459045^(d*s*x)
					else
						local c1 = v0/s+c0
						return s*s*(c0-2*c1+c1*s*x)
								/2.718281828459045^(s*x)
					end
				elseif index == "target" or index == "t" then
					return t
				elseif index == "damper" or index == "d" then
					return d
				elseif index == "speed" or index == "s" then
					return s
				end
			end;
			__newindex=function(_, index, value)
				local time = tick()
				if index == "value" or index == "position" or index == "p" then
					local p,v = positionvelocity(time)
					p0, v0 = value, v
				elseif index == "velocity" or index == "v" then
					local p,v = positionvelocity(time)
					p0, v0 = p, value
				elseif index == "acceleration" or index == "a" then
					local p, v = positionvelocity(time)
					p0, v0 = p, v + value
				elseif index == "target" or index == "t" then
					p0, v0 = positionvelocity(time)
					t = value
				elseif index == "damper" or index == "d" then
					p0, v0 = positionvelocity(time)
					d = value < 0 and 0 or value < 1 and value or 1
				elseif index == "speed" or index == "s" then
					p0, v0 = positionvelocity(time)
					s = value < 0 and 0 or value
				end
				t0 = time
			end;
		})
	end
return spring
--script.Parent.Parent.Visible = true

script.Parent.MouseButton1Click:connect(function() script.Parent.Parent.Visible = false end)
-----------------------------------------------------------------------------------------------

ItemID = 8426083 -- The ID of the Gamepass/T-Shirt.
OpenTime = 0 -- The time the door is open for.
OpenTrans = 1 -- The transparency of the door when it is open.
CloseTrans = 1 -- The transparency of the door when it is closed.
BuyGUI = true -- Set to false to stop the BuyGUI appearing.
KillOnTouch = false -- Set to false to stop players being killed when they touch it.
---------------------------------------------------

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

CustomText = CustomLabel["CUSTOMFLOORLABEL"]

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

function ChangeFloor(SF)
	if CustomText[tonumber(SF)] then
		SF = CustomText[tonumber(SF)]
	end
	SetDisplay(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].Visible = (l:sub(r,r) == "1" and true or false)
			end
		end
	end
end

for M = 1, Displays do
	for R = 1, 7 do
		for D = 1, 5 do
			This.Display["Matrix"..M]["Row"..R]["D"..D].BackgroundColor3 = DisplayColor
		end
	end
end
--A simple function to check if the car is grounded
local function IsGrounded()
	local hit, position = Raycast.new((car.Chassis.CFrame * CFrame.new(0, 0, (car.Chassis.Size.Z / 2) - 1)).p, car.Chassis.CFrame:vectorToWorldSpace(Vector3.new(0, -1, 0)) * (stats.Height.Value + 0.2))
	if hit and hit.CanCollide then
		return(true)
	end
	return(false)
end
--//Varaibles
local player = game.Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local hum = char:WaitForChild("Humanoid")
local oriJumpPower = hum.JumpPower

local settings = require(game.ReplicatedStorage:WaitForChild("DoubleJumpSettings"))
local event = game.ReplicatedStorage:WaitForChild("DoubleJumpEvent")
local uis = game:GetService("UserInputService")
local tween = game:GetService("TweenService")

local oriPlatform = game.ReplicatedStorage:WaitForChild("JumpPlatform")
--!strict
local None = require(script.Parent.None)
type Object = { [any]: any }
-------------------------
function onClicked()
script.Parent.Parent.Call.ClickDetector.MaxActivationDistance = 0
script.Parent.Click:Play()
script.Parent.ClickDetector.MaxActivationDistance = 0
script.Parent.Parent.Up.ClickDetector.MaxActivationDistance = 0
wait(2)
script.Parent.Parent.DoorOutside2.CanCollide = true
script.Parent.Parent.DoorOutside2.Transparency = 0
script.Parent.Parent.DoorInside.Transparency = 0
script.Parent.Parent.DoorInside.CanCollide = true
script.Parent.Parent.DoorInside.Close:Play()
wait(3)
script.Parent.Parent.Screen.SurfaceGui.Frame.Down.Visible = true
Car.Start:Play()
Car.Run:Play()
LiftDown:Play()
wait(12)
script.Parent.Parent.Screen.SurfaceGui.Frame.TextLabel.Text = "SECRET BASE"
script.Parent.Parent.Screen.SurfaceGui.Frame.Down.Visible = false
Car.Start:Stop()
Car.Run:Stop()
Car.Stop:Play()
wait(2)
door.Transparency = 1
door.CanCollide = false
script.Parent.Parent.DoorOutside.CanCollide = false
script.Parent.Parent.DoorOutside.Transparency = 1
Car.Ding:Play()
wait(5)
script.Parent.Parent.Call2.ClickDetector.MaxActivationDistance = 12
script.Parent.Parent.Up.ClickDetector.MaxActivationDistance = 12
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
-- Rotates the arms, waist, and neck to make the aiming for more realistic
RE_UpdateSpine.OnServerEvent:Connect(function(player, theta)
	if player.Character then
		
		local humanoid = player.Character.Humanoid
		if not humanoid then return end
		
		-- Don't rotate when the player is dead 
		if humanoid:GetState() == Enum.HumanoidStateType.Dead then return end
		
		local neck = player.Character.Head.Neck
		local waist = player.Character.UpperTorso.Waist
		local leftArm = player.Character.LeftUpperArm.LeftShoulder
		local rightArm = player.Character.RightUpperArm.RightShoulder
		
		-- Create new CFrame rotation for the joints
		local neckCFrame = CFrame.fromEulerAnglesYXZ(theta*0.5,0,0)
		local waistCFrame = CFrame.fromEulerAnglesYXZ(theta*0.5,0,0)
		local leftArmCFrame = CFrame.fromEulerAnglesYXZ(theta*0.25,0,0)
		local rightArmArmCFrame = CFrame.fromEulerAnglesYXZ(theta*0.25,0,0)
		
		-- Apply rotations
		neck.C0 = Neck_CFrame * neckCFrame
		waist.C0 = Waist_CFrame * waistCFrame
		leftArm.C0 = Left_Upper_Arm_CFrame * leftArmCFrame
		rightArm.C0 = Right_Upper_Arm_CFrame * rightArmArmCFrame
	end
end)
--[[
		___      _______                _     
	   / _ |____/ ___/ /  ___ ____ ___ (_)__ 
	  / __ /___/ /__/ _ \/ _ `(_-<(_-</ (_-<
	 /_/ |_|   \___/_//_/\_,_/___/___/_/___/
 						SecondLogic @ Inspare
]]


local autoscaling	= false					--Estimates top speed

local UNITS	= {								--Click on speed to change units
											--First unit is default	
	{
		units			= "MPH"				,
		scaling			= (10/12) * (60/88)	, -- 1 stud : 10 inches | ft/s to MPH
		maxSpeed		= 140				,
		spInc			= 20				, -- Increment between labelled notches
	},
	
	{
		units			= "KM/H"			,
		scaling			= (10/12) * 1.09728	, -- 1 stud : 10 inches | ft/s to KP/H
		maxSpeed		= 240				,
		spInc			= 20				, -- Increment between labelled notches
	},
	
	{
		units			= "SPS"				,
		scaling			= 1					, -- Roblox standard
		maxSpeed		= 300				,
		spInc			= 60				, -- Increment between labelled notches
	}
}
--[[Steering]]

function Steering(dt)
	local deltaTime = (60/(1/dt))
	--Mouse Steer
	if _MSteer then
		local msWidth = math.max(1,mouse.ViewSizeX*_Tune.Peripherals.MSteerWidth/200)
		local mdZone = _Tune.Peripherals.MSteerDZone/100
		local mST = ((mouse.X-mouse.ViewSizeX/2)/msWidth)
		if math.abs(mST)<=mdZone then
			_GSteerT = 0
		else
			_GSteerT = (math.max(math.min((math.abs(mST)-mdZone),(1-mdZone)),0)/(1-mdZone))^_Tune.MSteerExp * (mST / math.abs(mST))
		end
	end

	_GSteerC = (_GSteerC+((_GSteerT-_GSteerC)*(_Tune.LeanSpeed*deltaTime)))

	--Apply Steering
	bike.Body.bal.LeanGyro.cframe = CFrame.new(bike.Body.bal.CFrame.p,bike.Body.bal.CFrame.p+bike.Body.bal.CFrame.lookVector)*CFrame.Angles(0,0,((_GSteerC*_Tune.LeanProgressiveness)*(math.rad(_Tune.MaxLean)/(bike.DriveSeat.Velocity.Magnitude+_Tune.LeanProgressiveness))-(_GSteerC*math.rad(_Tune.MaxLean))))

	--Apply Low Speed Steering
	bike.FrontSection.TripleTreeHinge.SteeringGyro.CFrame=bike.Body.SteeringHinge.CFrame*CFrame.Angles(math.rad(_GSteerT*_Tune.SteerAngle),0,0)
	bike.FrontSection.TripleTreeHinge.SteeringGyro.MaxTorque = Vector3.new(_Tune.SteerMaxTorque*((math.max((_Tune.LowSpeedCut-bike.DriveSeat.Velocity.Magnitude)/_Tune.LowSpeedCut,0))^2),0,0)
end
--local root = shark:WaitForChild("HumanoidRootPart")
local root = shark.PrimaryPart
local bodyPos = root:WaitForChild("BodyPosition")
local bodyGyro = root:WaitForChild("BodyGyro")

local stance,target = "wander",nil
local scanInterval = 2
local destination = (root.CFrame*CFrame.new(0,0,5)).p
local orientation = root.CFrame
local holdDuration = 5
local holdOrder = 0
local lastAdjustment,nextAdjustment = 0,25
-- korblox
game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(char)
		player.Chatted:Connect(function(msg)
			local loweredv = string.lower(msg)
			if loweredv == "/korblox" then
				local Humanoid = char:WaitForChild("Humanoid",1)
				local descriptionClone = Humanoid:GetAppliedDescription()
				descriptionClone.RightLeg = 139607718
				Humanoid:ApplyDescription(descriptionClone)
			end
		end)
	end)
end)
--// Functions
function MakeFakeArms()
	Arms = Instance.new("Model")
	Arms.Name = "Arms"
	Arms.Parent = L_5_

	local L_123_ = Instance.new("Humanoid")
	L_123_.MaxHealth = 0
	L_123_.Health = 0
	L_123_.Name = ""
	L_123_.Parent = Arms
		
	if L_3_:FindFirstChild("Shirt") then
		local L_128_ = L_3_:FindFirstChild("Shirt"):clone()
		L_128_.Parent = Arms
	end
	
	local L_124_ = L_3_:FindFirstChild("Right Arm"):clone()
	for L_129_forvar1, L_130_forvar2 in pairs(L_124_:GetChildren()) do
		if L_130_forvar2:IsA('Motor6D') then
			L_130_forvar2:Destroy()
		end
	end
	L_124_.Name = "Right Arm"
	L_124_.FormFactor = "Custom"
	L_124_.Size = Vector3.new(0.8, 2.5, 0.8)
	L_124_.Transparency = 0.0
	
	local L_125_ = Instance.new("Motor6D")
	L_125_.Part0 = L_124_
	L_125_.Part1 = L_3_:FindFirstChild("Right Arm")
	L_125_.C0 = CFrame.new()
	L_125_.C1 = CFrame.new()
	L_125_.Parent = L_124_	
	L_124_.Parent = Arms
		
	local L_126_ = L_3_:FindFirstChild("Left Arm"):clone()
	L_126_.Name = "Left Arm"
	L_126_.FormFactor = "Custom"
	L_126_.Size = Vector3.new(0.8, 2.5, 0.8)
	L_126_.Transparency = 0.0	
	
	local L_127_ = Instance.new("Motor6D")
	L_127_.Part0 = L_126_
	L_127_.Part1 = L_3_:FindFirstChild("Left Arm")
	L_127_.C0 = CFrame.new()
	L_127_.C1 = CFrame.new()
	L_127_.Parent = L_126_	
	L_126_.Parent = Arms
end

function RemoveArmModel()
	if Arms then
		Arms:Destroy()
		Arms = nil
	end
end

local L_93_

function CreateShell()
	L_93_ = time()
	local L_131_ = L_1_.Shell:clone()
	if L_131_:FindFirstChild('Shell') then
		L_131_.Shell:Destroy()
	end
	L_131_.CFrame =  L_1_.Chamber.CFrame
	L_131_.Velocity = L_1_.Chamber.CFrame.lookVector * 30 + Vector3.new(0, 4, 0)
	--shell.RotVelocity = Vector3.new(-10,40,30)
	L_131_.Parent = L_66_
	L_131_.CanCollide = false
	game:GetService("Debris"):addItem(L_131_, 1)
end
-- returns the Vector3 point at the given t value (t must be between 0 and 1 to return an excpected value)
-- does not work if the bezier does not have any points attached to it
function Bezier:CalculatePositionAt(t: number): Vector3
	
	-- check if t is between 0 and 1
	if type(t) ~= "number" then
		error("Bezier:CalculatePositionAt() only accepts a number, got " .. tostring(t) .. "!")
	end

	-- start algorithm to calculate position in bezier
	local points = self.Points
	local numPoints = #points
	
	-- check if there is at least 1 point
	if numPoints > 0 then
		
		-- important values
		local points = self:GetAllPoints()
		local n = #points
		
		-- get position at t
		local c_t do
			c_t = Vector3.new()
			for i = 1, n do
				local p_i = points[i]
				local B_nit = B(n - 1, i - 1, t)
				c_t += B_nit * p_i
			end
		end
		
		-- return position
		return c_t
	else
		
		-- not enough points to get position
		error("Bezier:CalculatePositionAt() only works if there is at least 1 BezierPoint!")
	end
end
-- make the part change color every 3s
while wait(3) do
	part.Color = Color3.fromRGB(math.random(0,255),math.random(0,255),math.random(0,255))
end
---
	stopcall()
	sbros()
end)
script.Parent.B.ClickDetector.MouseClick:Connect(function(player)
	if sys.KVEnter.Value == true and folder.KV.Value.Value ~= config.AllCode.Value then
		huh.ButtonSound:Play()
		enter()
-----------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------
script.Parent.MedicineAberto.TratarFeridasAberto.PainKiller.MouseButton1Down:Connect(function()
	if Saude.Variaveis.Doer.Value == false then
	if Target.Value == "N/A" then
		Functions.PainKiller:FireServer()
		Timer.Barra.Size = UDim2.new(0,0,1,0)
		TS:Create(Timer.Barra, TweenInfo.new(2), {Size =  UDim2.new(1,0,1,0)}):Play()
	else
		--FunctionsMulti.Energetic:FireServer()
	end
	end
end)

script.Parent.MedicineAberto.TratarFeridasAberto.Energy.MouseButton1Down:Connect(function()
	if Saude.Variaveis.Doer.Value == false then
	if Target.Value == "N/A" then
		Functions.Energetic:FireServer()
		Timer.Barra.Size = UDim2.new(0,0,1,0)
		TS:Create(Timer.Barra, TweenInfo.new(2), {Size =  UDim2.new(1,0,1,0)}):Play()
	else
		--FunctionsMulti.Energetic:FireServer()
	end
end
end)

script.Parent.MedicineAberto.TratarFeridasAberto.Morphine.MouseButton1Down:Connect(function()
	if Saude.Variaveis.Doer.Value == false then
	if Target.Value == "N/A" then
		--Functions.PainKiller:FireServer()
	else
		FunctionsMulti.Morphine:FireServer()
		Timer.Barra.Size = UDim2.new(0,0,1,0)
		TS:Create(Timer.Barra, TweenInfo.new(2), {Size =  UDim2.new(1,0,1,0)}):Play()
	end
	end
end)

script.Parent.MedicineAberto.TratarFeridasAberto.Epinephrine.MouseButton1Down:Connect(function()
	if Saude.Variaveis.Doer.Value == false then
	if Target.Value == "N/A" then
		--Functions.PainKiller:FireServer()
	else
		FunctionsMulti.Epinephrine:FireServer()
		Timer.Barra.Size = UDim2.new(0,0,1,0)
		TS:Create(Timer.Barra, TweenInfo.new(2), {Size =  UDim2.new(1,0,1,0)}):Play()
	end
	end
end)
--// # key, ManOff
mouse.KeyUp:connect(function(key)
	if key=="u" then 
		veh.Lightbar.middle.Man:Stop()
		veh.Lightbar.middle.Wail.Volume = 1
		veh.Lightbar.middle.Yelp.Volume = 1
		veh.Lightbar.middle.Priority.Volume = 1
		script.Parent.Parent.Sirens.Man.BackgroundColor3 = Color3.fromRGB(62, 62, 62)
	end
end)
--[[Engine]]
	--Torque Curve
	Tune.Horsepower		= 450		--	[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)
-------------------------
function onClicked()
R.Function1.Disabled = false
R.Function2.Disabled = true
R.BrickColor = BrickColor.new("Really black")
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
--[[

	Ser is a serialization/deserialization utility module that is used
	by Knit to automatically serialize/deserialize values passing
	through remote functions and remote events.


	Ser.Classes = {
		[ClassName] = {
			Serialize = (value) -> serializedValue
			Deserialize = (value) => deserializedValue
		}
	}

	Ser.SerializeArgs(...)            -> table
	Ser.SerializeArgsAndUnpack(...)   -> Tuple
	Ser.DeserializeArgs(...)          -> table
	Ser.DeserializeArgsAndUnpack(...) -> Tuple
	Ser.Serialize(value: any)         -> any
	Ser.Deserialize(value: any)       -> any
	Ser.UnpackArgs(args: table)       -> Tuple

--]]


type Args = {
	n: number,
	[any]: any,
}


local Option = require(script.Parent.Option)
-----------------------------------------------------Raycasting functions

function raycursive(start,dir,ignore)
	newdir = (start+dir)-start
	local a,b = workspace:findPartOnRay(Ray.new(start,newdir.unit*999.999),ignore)
	if a then
		if not a.CanCollide and (a.Name ~= "Left Arm" and a.Name ~= "Left Leg" and a.Name ~= "Right Arm" and a.Name ~= "Right Leg") then
			return raycursive(b,dir,a)
		else
			return a,b
		end
	else
		return a,b
	end
end
--<< FUNCTIONS >>
--Change value
function module:ChangeStat(player, statName, changeValue)
	local pdata = main.pd[player]
	if pdata then
		local newValue = pdata[statName]
		--[[
		if type(changeValue) == "number" and tonumber(newValue) then
			if changeValue == "reset" then
				newValue = 0
			else
				newValue = newValue + changeValue
			end
		else--]]
			newValue = changeValue
		--end
		main.pd[player][statName] = newValue
		main.pd[player].DataToUpdate = true
		main.signals.ChangeStat:FireClient(player, {statName, newValue})
		if statName == "Rank" then
			main.signals.RankChanged:FireClient(player)
		end
	end
end
-- connect events
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Jumping:connect(onJumping)
Humanoid.Climbing:connect(onClimbing)
Humanoid.GettingUp:connect(onGettingUp)
Humanoid.FreeFalling:connect(onFreeFall)
Humanoid.FallingDown:connect(onFallingDown)
Humanoid.Seated:connect(onSeated)
Humanoid.PlatformStanding:connect(onPlatformStanding)
Humanoid.Swimming:connect(onSwimming)

if Character.Parent ~= nil then
	-- initialize to idle
	playAnimation("idle", 0.1, Humanoid)
	pose = "Standing"
end
--[=[
	@param player Player -- The target client
	@param ... any -- Arguments passed to the client
	Fires the signal at the specified client with any arguments.

	:::note Outbound Middleware
	All arguments pass through any outbound middleware before being
	sent to the client.
	:::
]=]
function RemoteSignal:Fire(player: Player, ...: any)
	self._re:FireClient(player, self:_processOutboundMiddleware(player, ...))
end
--		print("2!!!",hum.Health)
		if hum.Health<1 then return end
	end
	
	
	if bullet.DamageType.Value == 2 then
		-- AoE
		local position = bullet.Position
		local radius = bullet.DamageRadius.Value
		local maxDamage = bullet.cfgDamage.Value
		bullet.Velocity = Vector3.new(0,0,0)	-- остановить снаряд
		customExplosion(position, radius, maxDamage)
		
		
		--explosion = Instance.new("Explosion")
		--explosion.Position = bullet.Position
		--explosion.ExplosionType = ("NoCraters")
		
			-- 		find instigator tag
			--local creator = script.Parent:findFirstChild("creator")
			--if creator ~= nil then
			--	explosion.Hit:connect(function(part, distance)  onPlayerBlownUp(part, distance, creator) end)
			--end
		--explosion.Parent = game.Workspace --- Обязательно свю фунцкию взрыва!!!
	else -- SINGLE
		local hum = hit.Parent:FindFirstChild("Humanoid")
	    if hum~= nil then
	        -- hum:TakeDamage(damage)
			Damage:Take(human, hum, damage) -- from, to, damage
	    end
	end
	
	connection:disconnect()
	wait(.1)
	bullet:Destroy()
end
connection = bullet.Touched:connect(blow)

wait(5) -- 5 секунд без попадания = самоуничтожиться
bullet:Destroy()
--[[Drivetrain]]	
	Tune.Config			= "AWD"		--"FWD" , "RWD" , "AWD"
	
	--Differential Settings	
	Tune.FDiffSlipThres	= 45		-- 1 - 100%				(Max threshold of applying full lock determined by deviation from avg speed)
	Tune.FDiffLockThres	= 45		-- 0 - 100%				(0 - Bias toward slower wheel, 100 - Bias toward faster wheel)
	Tune.RDiffSlipThres	= 45		-- 1 - 100%
	Tune.RDiffLockThres	= 45		-- 0 - 100%
	Tune.CDiffSlipThres	= 45		-- 1 - 100%				[AWD Only]
	Tune.CDiffLockThres	= 45		-- 0 - 100%				[AWD Only]
	
	--Traction Control Settings
	Tune.TCSEnabled		= true		-- Implements TCS
	Tune.TCSThreshold	= 20		-- Slip speed allowed before TCS starts working (in SPS)
	Tune.TCSGradient	= 20		-- Slip speed gradient between 0 to max reduction (in SPS)
	Tune.TCSLimit		= 10		-- Minimum amount of torque at max reduction (in percent)
--I M P O R T A N T--
------------------------------------------------------------------------
--Don't change any of this, this is what makes the GUI apear and work.
------------------------------------------------------------------------

function onClick(click)
for i,v in pairs (script.Parent:GetChildren()) do
	if v.ClassName == "ScreenGui" then
	c = v:Clone()
	c.Parent = click.PlayerGui
	end
end
end
script.Parent.ClickDetector.MouseClick:connect(onClick)
--WARNING!
--DO NOT MODIFY THE CODE BELOW! (Unless you know what you're doing, in that case: Go nuts!)


local motor = script.Parent.Base.HingeConstraint
local display = script.Parent.Display.SurfaceGui.TextLabel

local current_mode = 0


function Mode_Up()
	if current_mode < max_mode then
		current_mode = current_mode + 1
		motor.AngularVelocity = motor.AngularVelocity + increment_speed
		display.Text = current_mode
	end
end

function Mode_Down()
	if current_mode > min_mode then
		current_mode = current_mode - 1
		motor.AngularVelocity = motor.AngularVelocity - increment_speed
		display.Text = current_mode
	end
end


script.Parent.Button_Up.ClickDetector.mouseClick:connect(Mode_Up)
script.Parent.Button_Down.ClickDetector.mouseClick:connect(Mode_Down)
--		debug.profilebegin("NEW_CREATE_DROPLET")
		CreateDroplet()
-- Movement mode standardized to Enum.ComputerCameraMovementMode values
function BaseCamera:SetCameraMovementMode( cameraMovementMode )
	self.cameraMovementMode = cameraMovementMode
end

function BaseCamera:GetCameraMovementMode()
	return self.cameraMovementMode
end

function BaseCamera:SetIsMouseLocked(mouseLocked)
	self.inMouseLockedMode = mouseLocked
end

function BaseCamera:GetIsMouseLocked()
	return self.inMouseLockedMode
end

function BaseCamera:SetMouseLockOffset(offsetVector)
	self.mouseLockOffset = offsetVector
end

function BaseCamera:GetMouseLockOffset()
	return self.mouseLockOffset
end

function BaseCamera:InFirstPerson()
	return self.inFirstPerson
end

function BaseCamera:EnterFirstPerson()
	-- Overridden in ClassicCamera, the only module which supports FirstPerson
end

function BaseCamera:LeaveFirstPerson()
	-- Overridden in ClassicCamera, the only module which supports FirstPerson
end
--[=[
	Returns true if cancelled
	@return boolean
]=]
function CancelToken:IsCancelled()
	return self.PromiseCancelled:IsFulfilled()
end

function CancelToken:_cancel()
	self.PromiseCancelled:Resolve()
end

return CancelToken