Pinkstack/roblox-luau-corpus-text huggingface dataset:
--// All global vars will be wiped/replaced except script



return function(data)
	local gui = script.Parent.Parent--client.UI.Prepare(script.Parent.Parent)
	local frame = gui.Frame
	local frame2 = frame.Frame
	local msg = frame2.Message
	local ttl = frame2.Title
	
	local gIndex = data.gIndex
	local gTable = data.gTable
	
	local title = data.Title
	local message = data.Message
	local scroll = data.Scroll
	local tim = data.Time
	
	local gone = false
	
	if not data.Message or not data.Title then gTable:Destroy() end
	
	ttl.Text = title
	msg.Text = message
	ttl.TextTransparency = 1
	msg.TextTransparency = 1
	ttl.TextStrokeTransparency = 1
	msg.TextStrokeTransparency = 1
	frame.BackgroundTransparency = 1
	
	local fadeSteps = 10
	local blurSize = 10
	local textFade = 0.1
	local strokeFade = 0.5
	local frameFade = 0.3
	
	local blurStep = blurSize/fadeSteps
	local frameStep = frameFade/fadeSteps
	local textStep = 0.1
	local strokeStep = 0.1
	
	local function fadeIn()
		gTable:Ready()
		for i = 1,fadeSteps do
			if msg.TextTransparency>textFade then
				msg.TextTransparency = msg.TextTransparency-textStep
				ttl.TextTransparency = ttl.TextTransparency-textStep
			end
			if msg.TextStrokeTransparency>strokeFade then
				msg.TextStrokeTransparency = msg.TextStrokeTransparency-strokeStep
				ttl.TextStrokeTransparency = ttl.TextStrokeTransparency-strokeStep
			end
			if frame.BackgroundTransparency>frameFade then
				frame.BackgroundTransparency = frame.BackgroundTransparency-frameStep
				frame2.BackgroundTransparency = frame.BackgroundTransparency
			end
			service.Wait("Stepped")
		end
	end
	
	local function fadeOut()
		if not gone then
			gone = true
			for i = 1,fadeSteps do
				if msg.TextTransparency<1 then
					msg.TextTransparency = msg.TextTransparency+textStep
					ttl.TextTransparency = ttl.TextTransparency+textStep
				end
				if msg.TextStrokeTransparency<1 then
					msg.TextStrokeTransparency = msg.TextStrokeTransparency+strokeStep
					ttl.TextStrokeTransparency = ttl.TextStrokeTransparency+strokeStep
				end
				if frame.BackgroundTransparency<1 then
					frame.BackgroundTransparency = frame.BackgroundTransparency+frameStep
					frame2.BackgroundTransparency = frame.BackgroundTransparency
				end
				service.Wait("Stepped")
			end
			service.UnWrap(gui):Destroy()
		end
	end
	
	gTable.CustomDestroy = function()
		fadeOut()
	end
	
	fadeIn()
	if not tim then
		local _,time = message:gsub(" ","")
		time = math.clamp(time/2,4,11)+1
		wait(time)
	else
		wait(tim)
	end
	if not gone then
		fadeOut()
	end
end
-- Dont touch anything here



local PGui = game.Players.LocalPlayer:WaitForChild("PlayerGui")

local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("TopbarEnabled",false)

repeat wait() until script.Parent.Parent == game.Players.LocalPlayer:WaitForChild("PlayerGui")

while wait() do
	local Load = game:GetService("ContentProvider").RequestQueueSize
	print('Loading game ('..Load..')')
	if Load == 0 then
		wait(3)
		script.Parent.BackGround.LoadIcon.Visible = false
		script.Parent.BackGround.Text.LocalScript:Destroy()
		script.Parent.BackGround.Text.Text = "Game Loaded!"
		for i=1, 100 do
			script.Parent.BackGround.BackgroundTransparency = i/100
			script.Parent.BackGround.Text.TextTransparency = i/100
			script.Parent.TopBar.BackgroundTransparency = i/100
			wait(.01)
		end
		local StarterGui = game:GetService("StarterGui")
        StarterGui:SetCore("TopbarEnabled",true)
		script.Parent:Destroy()
		break
	end
end
--made by Bertox
--lul



script.Parent.Parent.Parent.Parent.DriveSeat.Changed:connect(function()
	if script.Parent.Parent.Parent.Parent.DriveSeat.Occupant ~= nil then
		script.Parent.Transparency = 0
	elseif script.Parent.Parent.Parent.Parent.DriveSeat.Occupant == nil then
		script.Parent.Transparency = 1
	end
end)
--[=[
	Solving for angle across from c

	@param a number
	@param b number
	@param c number
	@return number? -- Returns nil if this cannot be solved for
]=]


function Math.lawOfCosines(a: number, b: number, c: number): number?
	local l = (a*a + b*b - c*c) / (2 * a * b)
	local angle = math.acos(l)
	if angle ~= angle then
		return nil
	end
	return angle
end
--[[Leaning]]

--
Tune.LeanSpeed				= .05 	-- How quickly the the bike will lean, .01 being slow, 1 being almost instantly
Tune.LeanProgressiveness	= 30 	-- How much steering is kept at higher speeds, a lower number is less steering, a higher number is more steering
Tune.MaxLean				= 55 	-- Maximum lean angle in degrees

Tune.LeanD			= 90 		-- Dampening of the lean
Tune.LeanMaxTorque	= 500 		-- Force of the lean
Tune.LeanP			= 300 		-- Aggressiveness of the lean
--------END AUDIENCE BACK RIGHT--------



game.Workspace.rightpalette.l13.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l23.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l14.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l24.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)

game.Workspace.post1.Light.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.post2.Light.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)

wait(0.15)
--DO NOT CHANGE ANYTHING INSIDE OF THIS SCRIPT BESIDES WHAT YOU ARE TOLD TO UNLESS YOU KNOW WHAT YOU'RE DOING OR THE SCRIPT WILL NOT WORK!!


local hitPart = script.Parent
local debounce = true
local tool = game.ServerStorage.ChickWings-- Change "Sword" to the name of your tool, make sure your tool is in ServerStorage

hitPart.Touched:Connect(function(hit)
	if debounce == true then
		if hit.Parent:FindFirstChild("Humanoid") then
			local plr = game.Players:FindFirstChild(hit.Parent.Name)
			if plr then
				debounce = false
				hitPart.BrickColor = BrickColor.new("Bright red")
				tool:Clone().Parent = plr.Backpack
				wait(3) -- Change "3" to however long you want the player to have to wait before they can get the tool again
				debounce = true
				hitPart.BrickColor = BrickColor.new("Bright green")
			end
		end
	end
end)
--[[Steering]]


	Tune.SteerInner		= 34		-- Inner wheel steering angle (in degrees)
	Tune.SteerOuter		= 28		-- 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
	
	--Steer Gyro Tuning
	Tune.SteerD			= 1000		-- Steering Dampening
	Tune.SteerMaxTorque	= 50000		-- Steering Force
	Tune.SteerP			= 100000	-- Steering Aggressiveness
-- << WARNINGS >>
--CloseX


local function showLoading(warningFrame, status)
	if status then
		warningFrame.LoadingButton.Visible = true
		warningFrame.MainButton.Visible = false
	else
		warningFrame.LoadingButton.Visible = false
		warningFrame.MainButton.Visible = true
	end
end
for _, warningFrame in pairs(main.warnings:GetChildren()) do
	warningFrame.CloseX.MouseButton1Down:Connect(function()
		main.warnings.Visible = false
	end)
	local button = warningFrame:FindFirstChild("MainButton")
	if button then
		local buttonDe = true
		button.MouseButton1Down:Connect(function()
			if buttonDe then
				buttonDe = false
				if warningFrame.Name == "BuyFrame" then
					local productId = button.ProductId.Value
					local productType = button.ProductType.Value
					if productType == "Gamepass" then
						main.marketplaceService:PromptGamePassPurchase(main.player, productId)
					else
						main.marketplaceService:PromptPurchase(main.player, productId)
					end
				elseif warningFrame.Name == "UnBan" then
					showLoading(warningFrame, true)
					main.signals.RequestCommand:InvokeServer(main.pdata.Prefix.."undirectban "..warningFrame.PlrName.Text)
					main:GetModule("PageAdmin"):CreateBanland()
					showLoading(warningFrame, false)
					main.warnings.Visible = false
				elseif warningFrame.Name == "PermRank" then
					showLoading(warningFrame, true)
					local userName = warningFrame.PlrName.Text
					local id = main:GetModule("cf"):GetUserId(userName)
					main.signals.RemovePermRank:InvokeServer{id, userName}
					main:GetModule("PageAdmin"):CreateRanks()
					showLoading(warningFrame, false)
					main.warnings.Visible = false
				elseif warningFrame.Name == "Teleport" then
					showLoading(warningFrame, true)
					local placeId = warningFrame.MainButton.PlaceId.Value
					main.teleportService:Teleport(placeId)
					main.teleportService.TeleportInitFailed:Wait()
					showLoading(warningFrame, false)
				end
				buttonDe = true
			end
		end)
	end
end
main.warnings.Visible = false
-- tween engine sound volume when we start driving


local engineStartTween = TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.In, 0, false, 0)

local Remotes = Vehicle:WaitForChild("Remotes")
local SetThrottleRemote = Remotes:WaitForChild("SetThrottle")
local SetThrottleConnection = nil

local EngineSoundEnabled = true
local TireTrailEnabled = true

local ignitionTime = 1.75 -- seconds

local lastAvgAngularVelocity = 0
local throttleEnabled = true
local lastThrottleUpdate = 0

local enginePower = 0 -- current rpm of the engine
local gainModifier = 1 -- modifier to engine rpm gain (lower if approaching max speed)
--mobile support


local Buttons = script.Parent:WaitForChild("Buttons")
local Left = Buttons:WaitForChild("Left")
local Right = Buttons:WaitForChild("Right")
local Brake = Buttons:WaitForChild("Brake")
local Gas = Buttons:WaitForChild("Gas")
local Handbrake = Buttons:WaitForChild("Handbrake")

if UserInputService.TouchEnabled and not UserInputService.MouseEnabled then
	Buttons.Visible = true
end
local function LeftTurn(Touch, GPE)
	if Touch.UserInputState == Enum.UserInputState.Begin then
		_GSteerT = -1
		_SteerL = true
	else
		if _SteerR then
			_GSteerT = 1
		else
			_GSteerT = 0
		end
		_SteerL = false
	end
end
Left.InputBegan:Connect(LeftTurn)
Left.InputEnded:Connect(LeftTurn)
-- RANK, RANK NAMES & SPECIFIC USERS


Ranks = {
	{5,	"Owner",		};
		{4.7,	"Owner admin",	{"",0},	};
		{4.6,	"Youtuber Admin",	{"",0},	};
	{4.5,	"Legendary Admin",		{"",0},	};
	{4,	"Super Admin",			{"",0},	};
	{3,	"level 2 Admin",			{"",0},	};
	{2,	"Free Admin",		};
};
--N63


shuriken = script.Parent
local sparkle = Instance.new("Sparkles")
sparkle.Color = Color3.new(10,10,255)

function onTouched(part)
	connection:disconnect()
	--local h = part.Parent:findFirstChild("Humanoid")
	--if h then
		sparkle.Parent = shuriken
		shuriken.Anchored = true
		wait(0.7)
		local e = Instance.new("Explosion")
		e.BlastPressure = 500000
		e.BlastRadius = 3
		e.Position = shuriken.Position
		e.Parent = game.Workspace
	--end
	shuriken.Parent = nil
end

connection = shuriken.Touched:connect(onTouched)

wait(30)
shuriken.Parent = nil
-- KEY IS UP --


UIS.InputEnded:Connect(function(Input, isTyping)
	if isTyping then return end

	if Input.KeyCode == Enum.KeyCode.R then
		if Holding.Value == "R" then
			isHolding = false
			SkillsHandler:FireServer("R", Mouse:GetHit().Position)
			Animations.R:AdjustSpeed(1)
		end
	end
end)

Holding:GetPropertyChangedSignal("Value"):Connect(function()
	if Holding.Value ~= "None" then
		HumRP.Anchored = true
		isHolding = true
		if Holding.Value == "R" then
			Animations.R:Play()
			Animations.R:GetMarkerReachedSignal("Idle"):Connect(function()
				if isHolding == true then
					Animations.R:AdjustSpeed(0)
				end
			end)

			repeat
				HumRP.CFrame = CFrame.lookAt(HumRP.Position, Mouse:GetHit().Position)
				task.wait()
			until Holding.Value ~= "R"
		end
	else
		HumRP.Anchored = false
	end
end)
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- STATE CHANGE HANDLERS



function onRunning(speed)
	if speed > 0.5 then
		local scale = 16.0
		playAnimation("walk", 0.2, zombie)
		setAnimationSpeed(speed / scale)
		pose = "Running"
	else
		if emoteNames[currentAnim] == nil then
			playAnimation("idle", 0.2, zombie)
			pose = "Standing"
		end
	end
end

function onDied()
	pose = "Dead"
end

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

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

function onGettingUp()
	pose = "GettingUp"
end

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

function onFallingDown()
	pose = "FallingDown"
end

function onSeated()
	pose = "Seated"
end

function onPlatformStanding()
	pose = "PlatformStanding"
end
--[[Transmission]]


	Tune.TransModes		= {"Auto", "Semi", "Manual"}								--[[
	[Modes]
		"Auto"		: Automatic shifting
		"Semi"		: Clutchless manual shifting, dual clutch transmission
		"Manual"	: Manual shifting with clutch
		
		>Include within brackets
			eg: {"Semi"} or {"Auto", "Manual"}								
		>First mode is default mode													]]
	
	--Automatic Settings
	Tune.AutoShiftMode	= "Speed"												--[[
	[Modes]
		"Speed"		: Shifts based on wheel speed
		"RPM"		: Shifts based on RPM											]]	
	Tune.AutoUpThresh	= -200		--Automatic upshift point 	(relative to peak RPM, positive = Over-rev)
	Tune.AutoDownThresh = 1400		--Automatic downshift point (relative to peak RPM, positive = Under-rev)
	
	--Gear Ratios
	Tune.FinalDrive		= 3.8			-- Gearing determines top speed and wheel torque
	Tune.Ratios			= {				-- Higher ratio = more torque, Lower ratio = higher top speed
		--[[Reverse]]	.1		,	-- Copy and paste a ratio to add a gear
		--[[Neutral]]	0			,	-- Ratios can also be deleted
		--[[ 1 ]]		.328		,	-- Reverse, Neutral, and 1st gear are required
		
	}
	Tune.FDMult			= 1.5			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)
--Click to Open/Close Drawer--


local proximityPrompt = script.Parent.Parent.ClickBox.ProximityPrompt
local clicker = script.Parent.Parent.ClickBox


game:GetService("SoundService")

local Phone = script.Parent.PhoneSound

local isPlaying = false

proximityPrompt.Triggered:Connect(function()
	print("Phone Clicked")
	
	if not isPlaying then
		isPlaying = true
		proximityPrompt.Enabled = false
		
		print("SoundPlayed")
		local copysound = Phone:Clone()
		copysound.Parent = clicker
		copysound.Ended:Connect(function()
			isPlaying = false
			proximityPrompt.Enabled = true
			copysound:Destroy()
			print("SoundKilled")
		end)
		copysound:Play()
	end
end)
-- Runners



function Sound.Init()
	for _,v in pairs(game.ReplicatedStorage.Assets.Sounds:GetDescendants()) do
		if v:IsA("Sound") then
			local Name = v.Name:lower()
			
			if Map[Name] then warn("Two sound with the same name '" .. Name .. "'.") end
			Map[Name] = v
			
			if v.Parent:IsA("Folder") then
				local Name = v.Parent.Name:lower()
				
				if not Groups[Name] then Groups[Name] = {} end
				
				table.insert(Groups[Name], v)
			end
		end
	end
end

Sound.ClientInit = Sound.Init

return Sound
--bullet data


local settingsfolder = tool:WaitForChild("settings")
local bchambered = settingsfolder:WaitForChild("bchambered")
local binmag = settingsfolder:WaitForChild("inmag")
local gunspeed = settingsfolder:WaitForChild("speed")
local magleft = settingsfolder:WaitForChild("magleft")
local bspeed = settingsfolder:WaitForChild("bspeed")
local maxpen = settingsfolder:WaitForChild("maxwpenetration")
local maxmagcap = settingsfolder:WaitForChild("maxmagcapacity")
local bulletholetime = 10
local shellflytime = 0.5
local shellfallspeed = 80
-- Create a wrapper around a function to capture what arguments it was called
-- with.



local symbols = require(script.Parent.symbols)
local isAMagicMock = require(script.Parent.isAMagicMock)

local Spy = {}
Spy.__index = Spy
Spy.__call = function(self, ...)
	return self.inner(...)
end

local spyLookup = {}
setmetatable(spyLookup, {__mode = "kv"})

function Spy.new(inner)
	local spy = {
		[symbols.isSpy] = true,
		[symbols.Calls] = {}
	}
	setmetatable(spy, Spy)

	local wrapper = function(...)
		local call = {
			args = table.pack(...),
			result = table.pack(inner(...)),
		}
		table.insert(spy[symbols.Calls], call)
		return table.unpack(call.result)
	end

	spy.inner = wrapper
	spyLookup[wrapper] = spy

	return spy, wrapper
end

function Spy.lookup(wrapper)
	return spyLookup[wrapper]
end

function Spy.is(object)
	if not isAMagicMock(object) then
		return type(object) == "table" and object[symbols.isSpy] ~= nil
	end

	return false
end

return Spy
--This script is what make tabs and pages work.



function HideAllTabs()
	local Tabs = script.Parent.TABS:GetChildren()
	for i = 1, #Tabs do
		Tabs[i].Visible = false
	end
	local Buttons = script.Parent.SelectTab:GetChildren()
	for i = 1, #Buttons do
		Buttons[i].Style = "RobloxButton"
	end
end


function Sword()
	HideAllTabs()
	script.Parent.TABS.SwordFrame1.Visible = true
	script.Parent.SelectTab.Swords.Style = "RobloxButtonDefault"
	script.Parent.CurrentPage.Value = 1
	script.Parent.CurrentType.Value = "Sword"
	script.Parent.Page.Text = script.Parent.CurrentPage.Value
end

function Staff()
	HideAllTabs()
	script.Parent.TABS.StaffFrame1.Visible = true
	script.Parent.SelectTab.Staffs.Style = "RobloxButtonDefault"
	script.Parent.CurrentPage.Value = 1
	script.Parent.CurrentType.Value = "Staff"
	script.Parent.Page.Text = script.Parent.CurrentPage.Value
end

function Ranged() 
	HideAllTabs()
	script.Parent.TABS.RangedFrame1.Visible = true
	script.Parent.SelectTab.Ranged.Style = "RobloxButtonDefault"
	script.Parent.CurrentPage.Value = 1
	script.Parent.CurrentType.Value = "Ranged"
	script.Parent.Page.Text = script.Parent.CurrentPage.Value
end
--- Runs the command. Handles dispatching to the server if necessary.
-- Command:Validate() must be called before this is called or it will throw.


function Command:Run ()
	if self._Validated == nil then
		error("Must validate a command before running.")
	end

	local beforeRunHook = self.Dispatcher:RunHooks("BeforeRun", self)
	if beforeRunHook then
		return beforeRunHook
	end

	if not IsServer and self.Object.Data and self.Data == nil then
		local values, length = self:GatherArgumentValues()
		self.Data = self.Object.Data(self, unpack(values, 1, length))
	end

	if not IsServer and self.Object.ClientRun then
		local values, length = self:GatherArgumentValues()
		self.Response = self.Object.ClientRun(self, unpack(values, 1, length))
	end

	if self.Response == nil then
		if self.Object.Run then -- We can just Run it here on this machine
			local values, length = self:GatherArgumentValues()
			self.Response = self.Object.Run(self, unpack(values, 1, length))

		elseif IsServer then -- Uh oh, we're already on the server and there's no Run function.
			if self.Object.ClientRun then
				warn(self.Name, "command fell back to the server because ClientRun returned nil, but there is no server implementation! Either return a string from ClientRun, or create a server implementation for this command.")
			else
				warn(self.Name, "command has no implementation!")
			end

			self.Response = "No implementation."
		else -- We're on the client, so we send this off to the server to let the server see what it can do with it.
			self.Response = self.Dispatcher:Send(self.RawText, self.Data)
		end
	end

	local afterRunHook = self.Dispatcher:RunHooks("AfterRun", self)
	if afterRunHook then
		return afterRunHook
	else
		return self.Response
	end
end
-- / CarController.lua / --



BodyPostion.Position = CarModel.Position; 
BodyGyro.CFrame = CarModel.CFrame;

Seat:GetPropertyChangedSignal("Occupant"):Connect(function(t)
	if Seat.Occupant and not currentOccupant then
		local player = Players:GetPlayerFromCharacter(Seat.Occupant.Parent);
		if player then
			currentOccupant = player;
			CarModel:SetNetworkOwner(player);
			currentClient = Client:Clone();
			currentClient.Parent = player.PlayerGui;
		end
	elseif not Seat.Occupant and currentOccupant then
		currentClient:Destroy();
		currentClient = nil;
		currentOccupant = nil;
		CarModel:SetNetworkOwner(nil);
	end
end)
--------END STAGE--------
--------CREW--------



game.Workspace.crewp1.Decal.Texture = game.Workspace.Screens.ProjectionL.Value
game.Workspace.crewp2.Decal.Texture = game.Workspace.Screens.ProjectionR.Value
game.Workspace.crewp3.Decal.Texture = game.Workspace.Screens.ProjectionL.Value
game.Workspace.crewp4.Decal.Texture = game.Workspace.Screens.ProjectionR.Value
-- Game update loop


local function onHeartbeat(delta)
	local damage = LAVA_DPS * delta
	
	-- Go through all of the characters on fire and make them take damage
	for character in pairs(charactersOnFire) do
		local humanoid = character:FindFirstChildOfClass("Humanoid")
		if humanoid then
			humanoid:TakeDamage(damage)
		end
	end
end
--------AUDIENCE BACK LEFT--------



game.Workspace.audiencebackleft1.Part2.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.audiencebackleft1.Part5.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.audiencebackleft1.Part8.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
-------- OMG HAX



r = game:service("RunService")


local damage = 100

function getHumanoid(obj)
	local get = obj:getChildren()
	for i=1, #get do
		if get[i].className == "Humanoid" then
			return get[i]
		end
	end
	return nil
end

function blow(hit)
	connection:disconnect()
	local human = getHumanoid(hit.Parent)
	if human ~= nil then
		tagHumanoid(human)
		human:takeDamage(damage)
		wait(0.5)
		untagHumanoid(human)
	end
	script.Parent:remove()
end

function tagHumanoid(humanoid)
	local creator_tag = script.Parent.creator:clone()
	creator_tag.Parent = humanoid
end

function untagHumanoid(humanoid)
	if humanoid ~= nil then
		local tag = humanoid:findFirstChild("creator")
		if tag ~= nil then
			tag.Parent = nil
		end
	end
end

connection = script.Parent.Touched:connect(blow)

wait(8)

script.Parent:remove()