Roblox/luau_corpus huggingface dataset:
--[[
	Controls transparency of Humanoid parts.
]]

local HumanoidController = {}
HumanoidController.__index = HumanoidController

local States = {
	Idle = 0,
	Animating = 1,
}

function HumanoidController.new(player)
	local self = {
		player = player,
		characterParts = {},
		state = States.Idle,
		animationCompleted = Instance.new("BindableEvent"),
		spring = Otter.spring,
	}

	self.setOriginalTransparencies = function()
		local character = self.player.Character
		if character and self.state == States.Idle then
			for _, descendant in ipairs(character:GetDescendants()) do
				if descendant:IsA("BasePart") or descendant:IsA("Decal") then
					self.characterParts[descendant] = descendant.Transparency
				end
			end
		end
	end

	self.motor = Otter.createSingleMotor(0)
	self.motor:onStep(function(value)
		for part, originalTransparency in pairs(self.characterParts) do
			part.Transparency = math.max(value, originalTransparency)
		end
	end)
	self.motor:onComplete(function(value: number)
		if value == 1 then
			local character = self.player.Character
			if not character then
				return
			end

			character.Parent = ReplicatedStorage -- Move the character out of the world
		end

		self.state = States.Idle
		self.animationCompleted:Fire()
	end)

	setmetatable(self, HumanoidController)

	return self
end

function HumanoidController:show()
	local character = self.player.Character
	if not character then
		return
	end

	character.Parent = workspace -- Place character back to the world

	self.state = States.Animating
	self.motor:setGoal(self.spring(0))
end

function HumanoidController:hide()
	self.setOriginalTransparencies()

	self.state = States.Animating
	self.motor:setGoal(self.spring(1))
end

function HumanoidController:isAnimating()
	return self.state == States.Animating
end

return HumanoidController
--------LIGHTED RECTANGLES--------

game.Workspace.rightpalette.l11.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l12.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l13.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l14.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l15.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l16.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l21.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l22.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l23.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l24.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l25.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l26.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
-- the random part/tool spawn positions.
Pos1 = script.Parent.Pos1.CFrame
Pos2 = script.Parent.Pos2.CFrame
Pos3 = script.Parent.Pos3.CFrame
Pos4 = script.Parent.Pos4.CFrame
-- I like being simple.

local Tool = script.Parent
local Handle = Tool:WaitForChild("Handle")
local Receiver = Tool:WaitForChild("Receiver")
local Flash = Tool:WaitForChild("Flash")
local Spur = Flash:WaitForChild("Image")
local Smoke = Flash:WaitForChild("ImageTwo")

Receiver.OnServerEvent:connect(function (player, action, ...)
	local Data = {...}
	if action and Data then
		if action == "PlaySound" then
			if Handle:FindFirstChild(Data[1]) then
				Handle[Data[1]]:Play()
			end
		elseif action == "Flash" then
			Handle:WaitForChild("Flash").Enabled = Data[1]
			Flash:WaitForChild("Embers").Enabled = Data[1]
			Spur:WaitForChild("Flash").Rotation = math.random(0, 360)
			Smoke:WaitForChild("Flash").Rotation = math.random(0, 360)
			Spur.Enabled = Data[1]
			Smoke.Enabled = Data[2]
		elseif action == "Damage" then
			if Data[1]:IsA("Humanoid") and type(Data[2]) == "number" then
				Data[1]:TakeDamage(Data[2])
			end
		end
	end
end)
--[=[
	Utility function that returns whether or not a spring is animating based upon
	velocity and closeness to target, and as the second value, the value that should be
	used.

	@param spring Spring<T>
	@param epsilon number? -- Optional epsilon
	@return boolean, T
]=]
function SpringUtils.animating(spring, epsilon)
	epsilon = epsilon or EPSILON

	local position = spring.Position
	local target = spring.Target

	local animating
	if type(target) == "number" then
		animating = math.abs(spring.Position - spring.Target) > epsilon
			or math.abs(spring.Velocity) > epsilon
	else
		local rbxtype = typeof(target)
		if rbxtype == "Vector3" or rbxtype == "Vector2" or LinearValue.isLinear(target) then
			animating = (spring.Position - spring.Target).magnitude > epsilon
				or spring.Velocity.magnitude > epsilon
		else
			error("Unknown type")
		end
	end

	if animating then
		return true, position
	else
		-- We need to return the target so we use the actual target value (i.e. pretend like the spring is asleep)
		return false, target
	end
end
--- Get (or create) BindableEvent
function GetEvent(eventName)
	--- Variables
	eventName = string.lower(eventName)
	local event = events[eventName]

	--- Check if event already exists
	if not event then
		--- Create event
		event = Instance.new("BindableEvent")
		event.Name = eventName
		events[eventName] = event
	end
	
	--
	return event
end
-------------------------
 
mouse.KeyDown:connect(function (key)
    key = string.lower(key)
			if key == "f" then
					carSeat.Parent.SS.Motor.DesiredAngle = -0.2
			elseif key == "g" then
					carSeat.Parent.Parent.SFR.SS.Motor.DesiredAngle = 0.2
			elseif key == "j" then
					carSeat.Parent.SS.Motor.DesiredAngle = 0
					carSeat.Parent.Parent.SFR.SS.Motor.DesiredAngle = 0
			elseif key == "t" then --Camera controls
				        if cam == ("car") then
							Camera.CameraSubject = player.Character.Humanoid
							Camera.CameraType = ("Custom")
							cam = ("freeplr")
							Camera.FieldOfView = 70
							limitButton.Text = "Free Camera"
							wait(3)
							limitButton.Text = ""
						elseif cam == ("freeplr") then
							Camera.CameraSubject = player.Character.Humanoid
							Camera.CameraType = ("Attach")
							cam = ("lockplr")
							Camera.FieldOfView = 45
							limitButton.Text = "FPV Camera"
							wait(3)
							limitButton.Text = ""
				        elseif cam == ("lockplr") then
							Camera.CameraSubject = carSeat
							Camera.CameraType = ("Custom")
							cam = ("car")
							Camera.FieldOfView = 70
							limitButton.Text = "Standard Camera"
							wait(3)
							limitButton.Text = ""
				else
				end
			end
		end)
-- Decompiled with the Synapse X Luau decompiler.

client = nil;
cPcall = nil;
Pcall = nil;
Routine = nil;
service = nil;
gTable = nil;
return function(p1)
	local v1 = client.UI.Prepare(script.Parent.Parent);
	local l__Frame__2 = v1.Frame;
	local l__Frame__3 = l__Frame__2.Frame;
	local l__Message__4 = l__Frame__3.Message;
	local l__Title__5 = l__Frame__3.Title;
	local l__gIndex__6 = p1.gIndex;
	local l__gTable__7 = p1.gTable;
	local l__Message__8 = p1.Message;
	local l__Scroll__9 = p1.Scroll;
	local l__Time__10 = p1.Time;
	if not p1.Message or not p1.Title then
		l__gTable__7:Destroy();
	end;
	l__Title__5.Text = p1.Title;
	l__Message__4.Text = l__Message__8;
	local function u1()
		for v11 = 1, 12 do
			l__Message__4.TextTransparency = l__Message__4.TextTransparency + 0.05;
			l__Title__5.TextTransparency = l__Title__5.TextTransparency + 0.05;
			l__Message__4.TextStrokeTransparency = l__Message__4.TextStrokeTransparency + 0.05;
			l__Title__5.TextStrokeTransparency = l__Title__5.TextStrokeTransparency + 0.05;
			l__Frame__3.BackgroundTransparency = l__Frame__3.BackgroundTransparency + 0.05;
			service.Wait("Stepped");
		end;
		service.UnWrap(v1):Destroy();
	end;
	function l__gTable__7.CustomDestroy()
		u1();
	end;
	spawn(function()
		local v12 = Instance.new("Sound", service.LocalContainer());
		v12.SoundId = "rbxassetid://7152561753";
		v12.Volume = 0.3;
		wait(0.1);
		v12:Play();
		wait(1);
		v12:Destroy();
	end);
	l__gTable__7.Ready();
	l__Frame__2:TweenSize(UDim2.new(0, 350, 0, 150), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.2);
	if not l__Time__10 then
		local v13, v14 = l__Message__8:gsub(" ", "");
		wait(math.clamp(v14 / 2, 4, 11) + 1);
	else
		wait(l__Time__10);
	end;
	u1();
end;
-- Public Constructors

function RotatedRegion3:CastPoint(point)
	local gjk = GJK.new(self.Set, {point}, self.Centroid, point, self.Support, Supports.PointCloud)
	return gjk:IsColliding()
end

function RotatedRegion3:CastPart(part)
	local r3 = RotatedRegion3.FromPart(part)
	local gjk = GJK.new(self.Set, r3.Set, self.Centroid, r3.Centroid, self.Support, r3.Support)
	return gjk:IsColliding()
end

function RotatedRegion3:FindPartsInRegion3(ignore, maxParts)
	local found = {}
	local parts = game.Workspace:FindPartsInRegion3(self.AlignedRegion3, ignore, maxParts)
	for i = 1, #parts do
		if (self:CastPart(parts[i])) then
			table.insert(found, parts[i])
		end
	end
	return found
end

function RotatedRegion3:FindPartsInRegion3WithIgnoreList(ignore, maxParts)
	ignore = ignore or {}
	local found = {}
	local parts = game.Workspace:FindPartsInRegion3WithIgnoreList(self.AlignedRegion3, ignore, maxParts)
	for i = 1, #parts do
		if (self:CastPart(parts[i])) then
			table.insert(found, parts[i])
		end
	end
	return found
end

function RotatedRegion3:FindPartsInRegion3WithWhiteList(whiteList, maxParts)
	whiteList = whiteList or {}
	local found = {}
	local parts = game.Workspace:FindPartsInRegion3WithWhiteList(self.AlignedRegion3, whiteList, maxParts)
	for i = 1, #parts do
		if (self:CastPart(parts[i])) then
			table.insert(found, parts[i])
		end
	end
	return found
end

function RotatedRegion3:Cast(ignore, maxParts)
	ignore = type(ignore) == "table" and ignore or {ignore}
	return self:FindPartsInRegion3WithIgnoreList(ignore, maxParts)
end
--[=[
	Converts the value back to the base value

	@return T
]=]
function LinearValue:ToBaseValue()
	return self._constructor(unpack(self._values))
end

local function operation(func)
	return function(a, b)
		if LinearValue.isLinear(a) and LinearValue.isLinear(b) then
			assert(a._constructor == b._constructor, "a is not the same type of linearValue as b")

			local values = {}
			for i=1, #a._values do
				values[i] = func(a._values[i], b._values[i])
			end
			return LinearValue.new(a._constructor, values)
		elseif LinearValue.isLinear(a) then
			if type(b) == "number" then
				local values = {}
				for i=1, #a._values do
					values[i] = func(a._values[i], b)
				end
				return LinearValue.new(a._constructor, values)
			else
				error("Bad type (b)")
			end
		elseif LinearValue.isLinear(b) then
			if type(a) == "number" then
				local values = {}
				for i=1, #b._values do
					values[i] = func(a, b._values[i])
				end
				return LinearValue.new(b._constructor, values)
			else
				error("Bad type (a)")
			end
		else
			error("Neither value is a linearValue")
		end
	end
end
--------------------- TEMPLATE WEAPON ---------------------------
--edited by DestinyHarbinger
-- Waits for the child of the specified parent
local function WaitForChild(parent, childName)
	while not parent:FindFirstChild(childName) do parent.ChildAdded:wait() end
	return parent[childName]
end
-- Print that runs only if debug mode is active.
local function PrintDebug(message: string)
	if FastCast.DebugLogging == true then
		print(message)
	end
end

local function FindCharacterAncestor(subject)
	if subject and subject ~= workspace then
		local targethumanoid = subject:FindFirstChildWhichIsA("Humanoid")
		if targethumanoid then
			return targethumanoid
		else
			return FindCharacterAncestor(subject.Parent)
		end
	end
	return nil
end
--LockController

Closed = true

script.Parent.Touched:connect(function(P)
	if P ~= nil and P.Parent ~= nil and P.Parent:FindFirstChild("CardNumber") ~= nil  and P.Parent.CardNumber.Value == 0 then
		if Closed == true then
			Closed = 1
			script.Locked.Value = false
			script.Parent.Open.Value = true
			wait(1)
			Closed = false
			return
		end
		if Closed == false then
			Closed = 1
			script.Locked.Value = true
			script.Parent.Open.Value = false
			wait(1)
			Closed = true
			return
		end

	end
end)
--------LEFT DOOR --------
game.Workspace.doorleft.l13.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorleft.l23.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorleft.l33.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorleft.l43.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorleft.l53.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorleft.l63.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorleft.l73.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)

game.Workspace.doorleft.pillar.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
--[[**
	ensures Roblox Enums type

	@param value The value to check against

	@returns True iff the condition is satisfied, false otherwise
**--]]
t.Enums = t.typeof("Enums")
--local spark = Instance.new("Sparkles")
--spark.Color = Color3.new(0,1,0)

function fire(v)

	local vCharacter = Tool.Parent
	local vPlayer = game.Players:playerFromCharacter(vCharacter)

	local missile = script.Parent.Handle:Clone()
	
	--spark:Clone().Parent = missile

	local spawnPos = vCharacter.PrimaryPart.Position
	
	local PewPew = Tool.Handle:FindFirstChild("PewPew")

	if (PewPew == nil) then
		PewPew = Instance.new("Sound")
		PewPew.Name = "PewPew"
		PewPew.SoundId = "http://www.roblox.com/asset/?id=11944350"
		PewPew.Parent = Tool.Handle
		PewPew.Volume = 1
	end
	

	spawnPos  = spawnPos + (v * 3)

	
	missile.Position = spawnPos
	missile.Size = Vector3.new(1,1,1)
	missile.Velocity = v * 60
	missile.BrickColor = BrickColor.new(1020)
	missile.Shape = 0
	missile.BottomSurface = 0
	missile.TopSurface = 0
	missile.Name = "Spark"
	missile.Reflectance = .5


	local force = Instance.new("BodyForce")
	force.force = Vector3.new(0,98,0)
	force.Parent = missile

	local creator_tag = Instance.new("ObjectValue")
	creator_tag.Value = vPlayer
	creator_tag.Name = "creator"
	creator_tag.Parent = missile
	
	local new_script = script.Parent.LaserBlast:clone()
	new_script.Disabled = false
	new_script.Parent = missile

	missile.Parent = game.Workspace

	PewPew:Play()

end



function gunUp()
	--Tool.GripForward = Vector3.new(0,.981,-.196)
	--Tool.GripRight = Vector3.new(1,0,0)
	--Tool.GripUp = Vector3.new(0,.196,.981)
end

function gunOut()
	--Tool.GripForward = Vector3.new(0,1,0)
	--Tool.GripRight = Vector3.new(1,0,0)
	--Tool.GripUp = Vector3.new(0,0,1)
end

function isTurbo(character)
	return character:FindFirstChild("BoltHelm") ~= nil
end


function onActivated()
	if not enabled  then
		return
	end

	enabled = false


	local character = Tool.Parent;
	local humanoid = character.Immortal
	if humanoid == nil then
		print("Humanoid not found")
		return 
	end

	local targetPos = humanoid.TargetPoint
	local lookAt = (targetPos - character.Head.Position).unit

	local reload = .1
	--if (isTurbo(character)) then
	--	reload = .25
	--	print("turbo")
	--end

	gunUp()
	fire(lookAt)
	wait(reload)
	gunOut()
	wait(reload)

	enabled = true

end

function onEquipped()
	Tool.Handle.EquipSound:play()
end

script.Parent.Activated:connect(onActivated)
script.Parent.Equipped:connect(onEquipped)
--[=[
	Executes the task as requested.

	@param job MaidTask -- Task to execute
]=]
function MaidTaskUtils.doTask(job)
	if type(job) == "function" then
		job()
	elseif typeof(job) == "RBXScriptConnection" then
		job:Disconnect()
	elseif type(job) == "table" and type(job.Destroy) == "function" then
		job:Destroy()
	-- selene: allow(if_same_then_else)
	elseif typeof(job) == "Instance" then
		job:Destroy()
	else
		error("Bad job")
	end
end
----------------//
UI.Name = Name
UI.Parent = plr.PlayerGui:WaitForChild("UI").Main.Keys.Holder
UI.Info.Text = Text
UI.Key.Text = Key
if Order then UI.LayoutOrder = Order end
UI.Visible = true
--[=[
	Returns whether `value` is within `table`

	@param _table table -- To search in for value
	@param value any -- Value to search for
	@return boolean -- `true` if within, `false` otherwise
]=]
function Table.contains(_table, value)
	for _, item in pairs(_table) do
		if item == value then
			return true
		end
	end

	return false
end
--mute button stuff
local canmute = settings.DisplayMuteButton
local clonegui
if canmute then
	clonegui = script.MuteButtonGui:clone()
end
script.MuteButtonGui:Destroy()

local musicon = true

function SetButtonStyle(button)
	button.Text = "Music: ".. (musicon and "ON" or "OFF")
	button.Style = musicon and Enum.ButtonStyle.RobloxRoundDefaultButton or Enum.ButtonStyle.RobloxRoundDropdownButton
	button.TextColor3 = musicon and Color3.new(1,1,1) or Color3.new(.2,.2,.23)
end

function CreateButton()
	local gui = clonegui:clone()
	local button = gui.Button
	button.Visible = true
	SetButtonStyle(button)
	button.MouseButton1Click:connect(function()
		musicon = not musicon
		local bgm = script:FindFirstChild("BGM")
		if bgm then
			bgm.Volume = musicon and bgm.OriginalVolume.Value or 0
		end
		SetButtonStyle(button)
	end)
	gui.Parent = plr:WaitForChild("PlayerGui")
end

function CharInit()
	char = plr.Character
	torso = char:WaitForChild("HumanoidRootPart")
	if canmute then CreateButton() end
end

if plr.Character and plr.Character.Parent ~= nil then
	CharInit()
end
plr.CharacterAdded:connect(function()
	CharInit()
end)
-- Signal:Fire(...) implemented by running the handler functions on the
-- coRunnerThread, and any time the resulting thread yielded without returning
-- to us, that means that it yielded to the Roblox scheduler and has been taken
-- over by Roblox scheduling, meaning we have to make a new coroutine runner.
function Signal.Fire(self: ClassType, ...: any?)
	local item = self._handlerListHead
	while item do
		if item._connected then
			if not freeRunnerThread then
				freeRunnerThread = coroutine.create(runEventHandlerInFreeThread)
			end
			task.spawn(freeRunnerThread :: thread, item._fn, ...)
		end
		item = item._next
	end
end
-- When key released
function onKeyUp(key)
	if key == nil then return end
	key = key:lower()
	
	-- Stop firing MG
	if key == 'f' then
		firingMg = false;
	end
end
script.Parent.Equipped:connect(onSelected)
script.Parent.Unequipped:connect(onDeselected)
-- True ...... Synchronized
-- False ..... Free Run

val2 = script.Parent.Parent.Parent.Parent.VisualCircuit
strobe = script.Parent.Parent.Strobe
salarm = false

if candela == 0 then
	strobe.Flasher.Size = UDim2.new(2,0,3,0)
elseif candela == 1 then
	strobe.Flasher.Size = UDim2.new(3,0,4,0)
elseif candela == 2 then
	strobe.Flasher.Size = UDim2.new(4,0,5,0)
elseif candela == 3 then
	strobe.Flasher.Size = UDim2.new(5.5,0,6.5,0)
end

function Flash()
strobe.BrickColor = BrickColor.new(1001)
strobe.Flasher.Strobe.Visible = true
strobe.Light.Enabled = true
wait(0.06)
strobe.BrickColor = BrickColor.new(194)
strobe.Flasher.Strobe.Visible = false
strobe.Light.Enabled = false
end

sval = math.random(85,95)/100

function PowerStrobe()
	if salarm then return end
	salarm = true
	wait(sval)
	while val2.Value == 1 do
	Flash()
	wait(sval)
	end
	salarm = false
end

if strobesync then
val2.Changed:connect(function() if val2.Value == 1 then Flash() end end)
else
val2.Changed:connect(function() if val2.Value == 1 then PowerStrobe() end end)	
end
-- canonicalize an angle to +-180 degrees
function CameraUtils.sanitizeAngle(a)
	return (a + math.pi)%(2*math.pi) - math.pi
end
-- For AwardBadge
function module.applyBadgeFunction(badgeId: number, func: badgeFunction): boolean?
	if Functions.badges[badgeId] then return true end
	local success, errorMessage, badgeInfo

	success, errorMessage = pcall(function()
		badgeInfo = BadgeService:GetBadgeInfoAsync(badgeId)
	end)
	
	assert(badgeInfo, `BadgeService error: {errorMessage}`)
	if not badgeInfo.IsEnabled then return nil end
	
	Functions.badges[badgeId] = func

	return true
end
--[[
	Creates a new EmoteManager which handles adding emotes to each player's
	HumanoidDescription and keeping those emotes up to date when anything
	changes.

	Returns:
	An EmoteManager instance
]]
function EmoteManager.new()
	local self = {
		playerOwnedEmotes = {},
		playerEmoteConfig = {},
		MarketplaceService = game:GetService("MarketplaceService"),
		updatedPlayerEmotes = Instance.new("BindableEvent"),
		remotes = { sendUpdatedEmotes = sendUpdatedEmotes },
	}

	setmetatable(self, EmoteManager)

	return self
end
---------------------------
--Seat Offset (Make copies of this block for passenger seats)

car.DriveSeat.ChildAdded:connect(function(child)
	if child.Name=="SeatWeld" and child:IsA("Weld") and game.Players:GetPlayerFromCharacter(child.Part1.Parent)~=nil then
		child.C0=CFrame.new(0,-.5,0)*CFrame.fromEulerAnglesXYZ(-(math.pi/2),0,0)
	end
end)

car.DriveSeat.ChildAdded:connect(function(child)
	if child.Name=="SeatWeld" and child:IsA("Weld") and game.Players:GetPlayerFromCharacter(child.Part1.Parent)~=nil then
		child.C0=CFrame.new(0,-.5,0)*CFrame.fromEulerAnglesXYZ(-(math.pi/2),0,0)
	end
end)
--//seats
local hd = Instance.new("Motor", script.Parent.Parent.Misc.HD.SS)
hd.MaxVelocity = 0.03
hd.Part0 = script.Parent.HD
hd.Part1 = hd.Parent

fl.MaxVelocity = 0.03
fl.Part0 = script.Parent.FL
fl.Part1 = fl.Parent

fr.MaxVelocity = 0.03
fr.Part0 = script.Parent.FR
fr.Part1 = fr.Parent
--This will apply your settings to the player. Don't change what's below.
game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(char)
		if defaultOwnerOverride == false then
			print("Default Owner Override is not active. The Owner Title will automatically be given to the place's owner. Change the setting in the READ ME script if you wish to toggle this.")
			if game.CreatorType == Enum.CreatorType.User then
				playername = game.Players:GetNameFromUserIdAsync(game.CreatorId)
			else
				local groupOwnerName = game:GetService("GroupService"):GetGroupInfoAsync(game.CreatorId).Owner.Name
				playername = groupOwnerName
			end
		else
			print("Default Owner Override is active. The Owner Title will be given to the name specified in the READ ME script inside of the Owner TItle by bendarobloxian model. Change the setting in the READ ME script if you wish to toggle this.")
		end
		if player.Name == playername then
			local newgui = billboard:Clone()
			newgui.Parent = char.Head
			local txtColor
			if dynamicRainbow == true then
				txtColor = Color3.new(1,1,1)
				newgui.TextLabel.dynamicRainbow.Disabled = false
			elseif stillRainbow == true then
				txtColor = Color3.new(1,1,1)
				local newGrad = script.UIGradient:Clone()
				newGrad.Parent = newgui.TextLabel
			else
				txtColor = Color3.fromRGB(redV, greenV, blueV)
			end
			newgui.TextLabel.TextColor3 = txtColor
			newgui.TextLabel.Text = text
		end
	end)
end)
--------------------) Settings
Damage = 0 -- the ammout of health the player or mob will take

Cooldown = 1 -- cooldown for use of the tool again

ZoneModelName = "Homing axe" -- name the zone model

MobHumanoidName = "Humanoid"-- the name of player or mob u want to damage
-- DO NOT EDIT ANYTHING HERE (unless you are willing to risk the plane breaking)

wait(0.1)	-- Yes, this is needed. If it's not here, the plane will only work once.
--[[
Creating a command module:
1) Create a new module inside the CommandModules folder.
2) Create a function that takes a message, the ChatWindow object and the ChatSettings and returns
a bool command processed.
3) Return this function from the module.
--]]

local clientChatModules = script.Parent.Parent
local ChatConstants = require(clientChatModules:WaitForChild("ChatConstants"))

local COMMAND_MODULES_VERSION = 1

local KEY_COMMAND_PROCESSOR_TYPE = "ProcessorType"
local KEY_PROCESSOR_FUNCTION = "ProcessorFunction"