Pinkstack/roblox-luau-corpus-text huggingface dataset:
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------




function onRunning(speed)
	if speed>0.01 then
		playAnimation("walk", 0.1, Humanoid)
		pose = "Running"
	else
		playAnimation("idle", 0.1, Humanoid)
		pose = "Standing"
	end
end

function onDied()
	pose = "Dead"
end

function onJumping()
	playAnimation("jump", 0.1, Humanoid)
	jumpAnimTime = jumpAnimDuration
	pose = "Jumping"
end

function onClimbing(speed)
	playAnimation("climb", 0.1, Humanoid)
	setAnimationSpeed(speed / 12.0)
	pose = "Climbing"
end

function onGettingUp()
	pose = "GettingUp"
end

function onFreeFall()
	if (jumpAnimTime <= 0) then
		playAnimation("fall", fallTransitionTime, Humanoid)
	end
	pose = "FreeFall"
end

function onFallingDown()
	pose = "FallingDown"
end

function onSeated()
	pose = "Seated"
end

function onPlatformStanding()
	pose = "PlatformStanding"
end

function onSwimming(speed)
	if speed>0 then
		pose = "Running"
	else
		pose = "Standing"
	end
end

function getTool()
	for _, kid in ipairs(Figure:GetChildren()) do
		if kid.className == "Tool" then return kid end
	end
	return nil
end

function getToolAnim(tool)
	for _, c in ipairs(tool:GetChildren()) do
		if c.Name == "toolanim" and c.className == "StringValue" then
			return c
		end
	end
	return nil
end

function animateTool()

	if (toolAnim == "None") then
		playToolAnimation("toolnone", toolTransitionTime, Humanoid)
		return
	end

	if (toolAnim == "Slash") then
		playToolAnimation("toolslash", 0, Humanoid)
		return
	end

	if (toolAnim == "Lunge") then
		playToolAnimation("toollunge", 0, Humanoid)
		return
	end
end

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

local lastTick = 0

function move(time)
	local amplitude = 1
	local frequency = 1
  	local deltaTime = time - lastTick
  	lastTick = time

	local climbFudge = 0
	local setAngles = false

  	if (jumpAnimTime > 0) then
  		jumpAnimTime = jumpAnimTime - deltaTime
  	end

	if (pose == "FreeFall" and jumpAnimTime <= 0) then
		playAnimation("fall", fallTransitionTime, Humanoid)
	elseif (pose == "Seated") then
		stopAllAnimations()
		moveSit()
		return
	elseif (pose == "Running") then
		playAnimation("walk", 0.1, Humanoid)
	elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
--HEYECANLIYT ABONE OLMASSANIZ ÇALIŞMAZ!!!


local StatsName = "TL" -- statsının adı neyse onu buraya yazıyorsunuz
local MaxItems = 10 -- en fazla kaç kişi görünsün tabloda
local MinValueDisplay = 1 -- en az kaç olsun yani taloda kaçın üstünde göstersin
local MaxValueDisplay = 10e15 -- max sınır kaç olsun
local UpdateEvery = 30 -- (saniye cinsinde) ne kadar sürede yenilensin
-------------------
---[[Functions]]---
-------------------




local function UpdateSpeedometer()
	
	if Humanoid.SeatPart ~= nil and Humanoid.SeatPart.Parent:FindFirstChild("Stats") then
		Gui.Enabled = true
		
		local Cached_Magnitude = Char.Head.Velocity.magnitude

		--print(Char.Humanoid.SeatPart.Parent["Stats"].MaxSpeed.Value)
		
		--print(math.ceil())
	
		
		Pointer.Rotation = ( 180 / ( Humanoid.SeatPart.Parent["Stats"].MaxSpeed.Value / ((Cached_Magnitude)*1.62) ) ) ---OLD 1.8
		--print(math.abs(90 - ((Cached_Magnitude)*1.8))/45)
		Pointer.Arc.Size = UDim2.new(4.5 +(math.abs(90 - Pointer.Rotation)/45),0,0.5,0)
		
		Board.Speed.Text = math.floor((Cached_Magnitude)*1.62).." KM/H" ---OLD 1.8
		
		---Changing fov based on speed
		workspace.Camera.FieldOfView = 70 + ((Cached_Magnitude)*0.1)
		
	else
		Gui.Enabled = false
		
		if script.Parent.Parent.Parent:FindFirstChild("TouchGui") then
			script.Parent.Parent.Parent["TouchGui"].Enabled = true
			script.Parent.Parent.MobileControls.Visible = false
			script.Parent.Parent.PCHandbrake.Visible = false
		end
		
	end
end

RunService.Heartbeat:Connect(UpdateSpeedometer)
--only works for R6


game.Players.PlayerAdded:connect(function(player)
		player.CharacterAdded:connect(function(character)
		player.Character.Animate.walk.WalkAnim.AnimationId = "http://www.roblox.com/asset/?id=8667134401" -- Insert your animation's ID here or leave this one, I don't really care--
		end)
end)
--[[
	Constructs a new computed state object which maps pairs of an array using
	a `processor` function.

	Optionally, a `destructor` function can be specified for cleaning up values.
	If omitted, the default cleanup function will be used instead.
]]



local Package = script.Parent.Parent
local PubTypes = require(Package.PubTypes)
local Types = require(Package.Types)
local captureDependencies = require(Package.Dependencies.captureDependencies)
local initDependency = require(Package.Dependencies.initDependency)
local useDependency = require(Package.Dependencies.useDependency)
local parseError = require(Package.Logging.parseError)
local logErrorNonFatal = require(Package.Logging.logErrorNonFatal)
local cleanup = require(Package.Utility.cleanup)

local class = {}

local CLASS_METATABLE = {__index = class}
local WEAK_KEYS_METATABLE = {__mode = "k"}
--Electric Only Setup



if not _Tune.Engine and _Tune.Electric then 
	_Tune.Redline = _Tune.E_Redline 
	_Tune.PeakRPM = _Tune.E_Trans2 
	_Tune.Turbochargers = 0
	_Tune.Superchargers = 0
	_Tune.Clutch = false 
	_Tune.IdleRPM = 0 
	_Tune.ClutchType = "Clutch" 
	_Tune.AutoShiftType = "DCT" 
	_Tune.ShiftUpTime = 0.1 
	_Tune.ShiftDnTime = 0.1 
end
--edit the below function to execute code when this response is chosen OR this prompt is shown
--player is the player speaking to the dialogue, and dialogueFolder is the object containing the dialogue data


return function(player, dialogueFolder)
	local plrData = require(game.ReplicatedStorage.Source.Modules.Util):GetPlayerData(player)
	plrData.Money.Gold.Value = plrData.Money.Gold.Value - 30
end
--[Main]--


game:GetService("RunService").Heartbeat:connect(function()
	if On.Value then
		if NWUD.Value then
			Pitch=script.Parent.Pitch.Value
		else
			if Pitch<MP.Value then
				Pitch=Pitch+(0.005*((1*MP.Value)-((Pitch*MP.Value)*(Pitch*MP.Value)*(Pitch*MP.Value)*(Pitch*MP.Value)*(Pitch*MP.Value)*(Pitch*MP.Value)*(Pitch*MP.Value))))
			else
				Pitch=MP.Value
			end
		end
		if Hi.Volume<1 then
			Hi.Volume=Hi.Volume+(1*(Hi.Volume))
			Lo.Volume=Lo.Volume+(1*(Lo.Volume))
			Hi.Volume=Hi.Volume+1
			Lo.Volume=Lo.Volume+1
		else
			Hi.Volume=1
			Lo.Volume=1
		end
		script.Parent.LEDClip.Material="Neon"
		script.Parent.LEDClip.BrickColor=BrickColor.new("Persimmon")
	else
		if NWUD.Value then
			Pitch=0
			script.Parent.LEDClip.Material="Metal"
			script.Parent.LEDClip.BrickColor=BrickColor.new("Maroon")
		else
			if Pitch>Lowest then
				if NWD.Value and script.Parent.Mode.Value==0 then
					Pitch=Lowest
				else
					if script.Parent.Mode.Value==0 then
						Pitch=Pitch-(0.0015*Pitch*Pitch)
					else
						if script.Parent.Mode.Value==2 then
							Pitch=Pitch-(0.002*Pitch)
						elseif script.Parent.Mode.Value==3 then
							Pitch=Pitch-(0.0015*Pitch)
						elseif script.Parent.Mode.Value==6 then
							Pitch=Pitch-(0.0015*Pitch*Pitch)
						end
					end
				end
			else
				if script.Parent.Mode.Value==0 then
					script.Parent.Rotate.Value=false
				end
				Hi.Volume=0
				Lo.Volume=0
				Pitch=Lowest
				script.Parent.LEDClip.Material="Metal"
				script.Parent.LEDClip.BrickColor=BrickColor.new("Maroon")
			end
		end
	end
	script.Parent.CurrentPitch.Value=Pitch
	Hi.PlaybackSpeed=Pitch*1
	Lo.PlaybackSpeed=Pitch*1
end)
--[[
	Creates a new monster within the specified room, finding a random clear location to spawn it.
]]


function MonsterManager.spawnMonsterInRoom(room)
	local regions = room:getRegions()
	local region = regions[math.random(1, #regions)]

	spawn(
		function()
			local position = getRandomClearLocationInRegionAsync(region, CLEAR_AREA_TO_SPAWN)

			monsters:add(monsterId, position, interests)

			monsterId = monsterId + 1
		end
	)
end
--!strict



local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")

local donationProducts = require(script.Parent.DonationProducts)
local instances = script.Parent:WaitForChild("Instances")

local player = Players.LocalPlayer :: Player
local playerGui = player:FindFirstChild("PlayerGui") :: PlayerGui
local leaderboard = script.Parent:WaitForChild("Leaderboard")
local leaderboardGui = leaderboard:WaitForChild("Display"):WaitForChild("LeaderboardGui")

local ROBUX_TEMPLATE = utf8.char(0xE002) .. " %d" -- char code 0xE002 is reserved for the Robux icon
local ASSET_TEMPLATE = "rbxassetid://%d"
---------------------------------------------------



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

CustomText = CustomLabel["CUSTOMFLOORLABEL"]

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

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



function SetDisplay(ID,CHAR)
	if This.Display:FindFirstChild("Matrix"..ID) and Characters[CHAR] ~= nil then
 		for i,l in pairs(Characters[CHAR]) do 
			for r=1,7 do	
				This.Display["Matrix"..ID]["Row"..i]["D"..r].Visible = (l:sub(r,r) == "1" and true or false)
			end
		end
	end
end
--[[
	Creates a Promise that resolves after given number of seconds.
]]


do
	-- uses a sorted doubly linked list (queue) to achieve O(1) remove operations and O(n) for insert

	-- the initial node in the linked list
	local first
	local connection

	function Promise.delay(seconds)
		assert(type(seconds) == "number", "Bad argument #1 to Promise.delay, must be a number.")
		-- If seconds is -INF, INF, NaN, or less than 1 / 60, assume seconds is 1 / 60.
		-- This mirrors the behavior of wait()
		if not (seconds >= 1 / 60) or seconds == math.huge then
			seconds = 1 / 60
		end

		return Promise._new(debug.traceback(nil, 2), function(resolve, _, onCancel)
			local startTime = Promise._getTime()
			local endTime = startTime + seconds

			local node = {
				resolve = resolve,
				startTime = startTime,
				endTime = endTime,
			}

			if connection == nil then -- first is nil when connection is nil
				first = node
				connection = Promise._timeEvent:Connect(function()
					local threadStart = Promise._getTime()

					while first ~= nil and first.endTime < threadStart do
						local current = first
						first = current.next

						if first == nil then
							connection:Disconnect()
							connection = nil
						else
							first.previous = nil
						end

						current.resolve(Promise._getTime() - current.startTime)
					end
				end)
			else -- first is non-nil
				if first.endTime < endTime then -- if `node` should be placed after `first`
					-- we will insert `node` between `current` and `next`
					-- (i.e. after `current` if `next` is nil)
					local current = first
					local next = current.next

					while next ~= nil and next.endTime < endTime do
						current = next
						next = current.next
					end

					-- `current` must be non-nil, but `next` could be `nil` (i.e. last item in list)
					current.next = node
					node.previous = current

					if next ~= nil then
						node.next = next
						next.previous = node
					end
				else
					-- set `node` to `first`
					node.next = first
					first.previous = node
					first = node
				end
			end

			onCancel(function()
				-- remove node from queue
				local next = node.next

				if first == node then
					if next == nil then -- if `node` is the first and last
						connection:Disconnect()
						connection = nil
					else -- if `node` is `first` and not the last
						next.previous = nil
					end
					first = next
				else
					local previous = node.previous
					-- since `node` is not `first`, then we know `previous` is non-nil
					previous.next = next

					if next ~= nil then
						next.previous = previous
					end
				end
			end)
		end)
	end
	Promise.Delay = Promise.delay
end
--



function CharacterClone:GetLookup()
	local lookup = {}
	local character = self.Character
	for _, item in next, self.Clone:GetChildren() do
		if (item:IsA("BasePart")) then
			item.Anchored = true
			local match = character:FindFirstChild(item.Name)
			lookup[item] = match
		elseif (item:IsA("Accessory")) then
			local match = character:FindFirstChild(item.Name).Handle
			item = item.Handle
			item.Anchored = true
			lookup[item] = match
		elseif (item:IsA("LuaSourceContainer")) then
			item:Destroy()
		end
	end
	return lookup
end

function CharacterClone:Update()
	for fake, real in next, self.Lookup do
		fake.CFrame = real.CFrame
	end
end
-- Private functions



local function worldBoundingBox(set)
	local x, y, z = {}, {}, {}
	for i = 1, #set do x[i], y[i], z[i] = set[i].x, set[i].y, set[i].z end
	local min = Vector3.new(math.min(unpack(x)), math.min(unpack(y)), math.min(unpack(z)))
	local max = Vector3.new(math.max(unpack(x)), math.max(unpack(y)), math.max(unpack(z)))
	return min, max
end
-- This is the fall script, reading this is propably harder then most scripts, dont mess with this if you dont know how it works.
-- (You can edit the damage, but i advice you dont. the current one works the best.)



char = script.Parent
active = false
falld = script.Fall
falld.Parent = char.Torso
function onfall()
active = true
curr = 0
while active == true do
vel = char.Torso.Velocity.y
wait()
if vel > curr then
active = false
if curr < -80 then
char.Humanoid:TakeDamage((curr*curr)*0.004)
char.Torso.Fall:Play()
char.Torso.Velocity = char.Torso.Velocity * 0
end
else
curr = vel
end
end
end

char.Humanoid.FreeFalling:connect(function()
if active == false then
onfall()
end
end)
-- Push dedented lines of start tag onto output and return true;
-- otherwise return false because:
-- * props include a multiline string (or text node, if props have markup)
-- * start tag does not close


function dedentStartTag(input: Array<string>, output: Array<string>): boolean
	local line = input[#output + 1]
	table.insert(output, dedentLine(line))

	if string.find(line, ">") then
		return true
	end

	while #output < #input do
		line = input[#output + 1]

		if hasUnmatchedDoubleQuoteMarks(line) then
			return false -- because props include a multiline string
		elseif isFirstLineOfTag(line) then
			-- Recursion only if props have markup.
			if not dedentMarkup(input, output) then
				return false
			end
		else
			table.insert(output, dedentLine(line))

			if string.find(line, ">") then
				return true
			end
		end
	end

	return false
end
--[[Engine]]



	--		[TORQUE CURVE VISUAL]
	--		https://www.desmos.com/calculator/nap6stpjqf
	--		Use sliders to manipulate values
	--		Edit everything as if your car is NATURALLY aspirated, or as if it lacks a turbo.
	
	Tune.Horsepower		= 300
	Tune.IdleRPM		= 700
	Tune.PeakRPM		= 7000
	Tune.Redline		= 8000
	Tune.EqPoint		= 5252
	Tune.PeakSharpness	= 20
	Tune.CurveMult		= 0.2
	
	Tune.InclineComp	= 1.7		-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Turbo Settings
	Tune.Aspiration		= "Single"												--[[
	[Aspiration]
		"Natural"		: N/A, Naturally aspirated engine
		"Single"		: Single turbocharger
		"Double"		: Twin turbocharger											]]
	
	Tune.Boost			= 18		--Max PSI per turbo (If you have two turbos and this is 15, the PSI will be 30)
	Tune.TurboSize		= 80		--Turbo size; the bigger it is, the more lag it has.
	Tune.CompressRatio	= 9			--The compression ratio (look it up)
	
	--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, lower = more stable RPM)
--


local d2close = tweenservice:Create(door2, tweeninfo, {Position = script.Parent.Door2ClosePos.Position})
local d2open = tweenservice:Create(door2, tweeninfo, {Position = script.Parent.Door2OpenPos.Position})






cl_api.Event:Connect(function()
	d1close:Play()
	d2close:Play()
	door1.Close:Play()
end)

op_api.Event:Connect(function()
	d1open:Play()
	d2open:Play()
	door1.Open:Play()
end)
--// All global vars will be wiped/replaced except script



return function(data)
	local playergui = service.PlayerGui
	local gui = client.UI.Prepare(script.Parent.Parent)
	local label = gui.LABEL
	local str = data.Message
	local topbar = client.UI.Get("TopBar")
	
	client.UI.Remove("Notif",script.Parent.Parent)
	
	local log  = {
		Type = "Notif";
		Title = "Notif";
		Message = str;
		Icon = "rbxassetid://7501175708";
		Time = os.date("%X");
		Function = nil;
	}

	table.insert(client.Variables.CommunicationsHistory, log) 
	service.Events.CommsPanel:Fire(log)

	
	if str and type(str)=="string" then
		label.Text = str
		label.Position = UDim2.new(0, 0, 0, ((topbar and 40) or 0) - 35)
		gTable:Ready()
	else
		gui:Destroy()
	end
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- STATE CHANGE HANDLERS



function onRunning(speed)
	local movedDuringEmote = currentlyPlayingEmote and Humanoid.MoveDirection == Vector3.new(0, 0, 0)
	local speedThreshold = movedDuringEmote and Humanoid.WalkSpeed or 0.75
	humanoidSpeed = speed
	if speed > speedThreshold then
		playAnimation("walk", 0.2, Humanoid)
		if pose ~= "Running" then
			pose = "Running"
			updateVelocity(0) -- Force velocity update in response to state change
		end
	else
		if emoteNames[currentAnim] == nil and not currentlyPlayingEmote then
			playAnimation("idle", 0.2, Humanoid)
			pose = "Standing"
		end
	end



end

function onDied()
	pose = "Dead"
end

function onJumping()
	playAnimation("jump", 0.1, Humanoid)
	jumpAnimTime = jumpAnimDuration
	pose = "Jumping"
end

function onClimbing(speed)
	local scale = 5.0
	playAnimation("climb", 0.1, Humanoid)
	setAnimationSpeed(speed / scale)
	pose = "Climbing"
end

function onGettingUp()
	pose = "GettingUp"
end

function onFreeFall()
	if (jumpAnimTime <= 0) then
		playAnimation("fall", fallTransitionTime, Humanoid)
	end
	pose = "FreeFall"
end

function onFallingDown()
	pose = "FallingDown"
end

function onSeated()
	pose = "Seated"
end

function onPlatformStanding()
	pose = "PlatformStanding"
end
-- dayLength defines how long, in minutes, a day in your game is. Feel free to alter it.


local dayLength = 30

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
--Uberubert


local ting = 0 --debouncer

function onTouched(hit)
	if ting == 0 then --debounce check
	ting = 1 --activate debounce
	check = hit.Parent:FindFirstChild("Humanoid") --Find the human that touched the button
	if check ~= nil then --If a human is found, then
		local user = game.Players:GetPlayerFromCharacter(hit.Parent) --get player from touching human
		local stats = user:findFirstChild("leaderstats") --Find moneyholder
		if stats ~= nil then --If moneyholder exists then
			local cash = stats:findFirstChild("Cash")
			local cash2 = stats:findFirstChild("Money")
			local cash3 = stats:findFirstChild("Points")
			local cash4 = stats:findFirstChild("Tickets")
			local cash5 = stats:findFirstChild("Tix")
			if cash ~= nil then
			cash.Value  = cash.Value +1
			script.Parent:Remove()
			elseif cash2 ~= nil then
			cash2.Value  = cash2.Value +1
			script.Parent:Remove()
			elseif cash3 ~= nil then
			cash3.Value  = cash3.Value +1
			script.Parent:Remove()
			elseif cash4 ~= nil then
			cash4.Value  = cash4.Value +1
			script.Parent:Remove()
			elseif cash5 ~= nil then
			cash5.Value  = cash5.Value +1
			script.Parent:Remove()
			end
		end
	end
	wait()
	ting = 0 --remove debounce
	end
end

script.Parent.Touched:connect(onTouched)
--Made by Luckymaxer



Character = script.Parent

BaseColor = BrickColor.new("Bright yellow")
Color = BaseColor.Color

Duration = 15

Classes = {
	BasePart = {
		BrickColor = BaseColor,
		Material = Enum.Material.Plastic,
		Reflectance = 0.5,
		Anchored = true,
	},
	FileMesh = {
		TextureId = "",
	},
	DataModelMesh = {
		VertexColor = Vector3.new(Color.r, Color.g, Color.b),
	},
	CharacterMesh = {
		BaseTextureId = 0,
		OverlayTextureId = 0,
	},
	Shirt = {
		ShirtTemplate = "",
	},
	Pants = {
		PantsTemplate = "",
	},
	Decal = {
		Texture = "",
	}
}

Objects = {}

function Redesign(Parent)
	for i, v in pairs(Parent:GetChildren()) do
		local Object = {
			Object = nil,
			Properties = {},
		}
		for ii, vv in pairs(Classes) do
			if v:IsA(ii) then
				Object.Object = v
				for iii, vvv in pairs(vv) do
					local PropertyValue = nil
					pcall(function()
						PropertyValue = v[iii]
						v[iii] = vvv
					end)
					if PropertyValue then
						Object.Properties[iii] = PropertyValue
					end
				end
			end
		end
		table.insert(Objects, Object)
		Redesign(v)
	end
end

Redesign(script.Parent) --Goldify the player

wait(Duration)

for i, v in pairs(Objects) do --Unfreeze the player
	for ii, vv in pairs(v.Properties) do
		v.Object[ii] = vv
	end
end

script:Destroy()
-- Animate In, fast


local i_total = 2
local wiggle_total = 0
local wiggle_i = 0.02
for i=1,i_total do
overlay.Position = UDim2.new( (-2 + (2 * (i/i_total)) + wiggle_total/2), 0, (-2 + (2 * (i/i_total)) + wiggle_total/2), -22 )
overlay.Size = UDim2.new( (4.5 - (3.5 * (i/i_total)) + wiggle_total), 0, (4.65 - (3.5 * (i/i_total)) + wiggle_total), 30 )
wait(0.01)
end
i_total = 30




if humanoid then
if humanoid:FindFirstChild("creator") then
if humanoid:FindFirstChild("creator").Value then
	if humanoid:FindFirstChild("creator").Value.Character then
	if humanoid:FindFirstChild("creator").Value.Character:FindFirstChild("Torso") then
	Indicator:new{}

	end	
	end
end
end
end
wait(0.1)
--Must be placed on StarterPlayer > StarterCharacterScripts


local UserInputService = game:GetService("UserInputService")
local Character = script.Parent
local Humanoid = Character:WaitForChild("Humanoid")
local isRunning = false
local Animation = Humanoid:LoadAnimation(script:WaitForChild("Animation"))



UserInputService.InputBegan:Connect(function(key)
	if key.KeyCode == Enum.KeyCode.C then
		if not isRunning then
			isRunning = true
			Animation:Play()
		else
			Animation:Stop()
			isRunning = false
		end
	end
end)