Roblox/luau_corpus huggingface dataset:
--// Hash: f6f8a53b8fb53b6bb213ce5c450d251c38c486f5a6d02cfc39a92f834893d8671f02b6efe37bb03b1040d059682630da
-- Decompiled with the Synapse X Luau decompiler.

local u1 = require(script.Parent:WaitForChild("getLastWordFromPascalCase"));
local u2 = {
	Hand = "Arm", 
	Foot = "Leg"
};
function getLimbType(p1)
	local v1 = u1(p1);
	return u2[v1] and v1;
end;
function getLimbs(p2, p3)
	local u3 = {};
	local u4 = {};
	local u5 = {};
	local function u6(p4, p5)
		if p4.Name ~= "HumanoidRootPart" then
			local v2 = getLimbType(p4.Name);
			u3[v2] = u3[v2] or {};
			table.insert(u3[v2], p4);
			local v3 = u3[v2];
			if v2 ~= p5 then
				u4[v2] = u4[v2] or {};
				if p5 then
					u4[v2][p5] = true;
				end;
				table.insert(u5, {
					Part = p4, 
					Type = v2
				});
				p5 = v2;
			end;
		end;
		local v4, v5, v6 = pairs(p4:GetChildren());
		while true do
			local v7, v8 = v4(v5, v6);
			if v7 then

			else
				break;
			end;
			v6 = v7;
			if v8:isA("Attachment") then
				if p3[v8.Name] then
					local l__Parent__9 = p3[v8.Name].Attachment1.Parent;
					if l__Parent__9 then
						if l__Parent__9 ~= p4 then
							u6(l__Parent__9, p5);
						end;
					end;
				end;
			end;		
		end;
	end;
	u6(p2);
	return u3, u5, u4;
end;
function createNoCollision(p6, p7)
	local v10 = Instance.new("NoCollisionConstraint");
	v10.Name = p6.Name .. "<->" .. p7.Name;
	v10.Part0 = p6;
	v10.Part1 = p7;
	return v10;
end;
return function(p8, p9)
	local v11 = Instance.new("Folder");
	v11.Name = "NoCollisionConstraints";
	local v12, v13, v14 = getLimbs(p9, p8);
	for v15 = 1, #v13 do
		for v16 = v15 + 1, #v13 do
			local l__Type__17 = v13[v15].Type;
			local l__Type__18 = v13[v16].Type;
			if not v14[l__Type__17][l__Type__18] and not v14[l__Type__18][l__Type__17] then
				createNoCollision(v13[v15].Part, v13[v16].Part).Parent = v11;
			end;
		end;
	end;
	for v19, v20 in pairs(v12) do
		for v21, v22 in pairs(v14[v19]) do
			for v23, v24 in pairs(v12[v21]) do
				for v25, v26 in pairs(v20) do
					createNoCollision(v26, v24).Parent = v11;
				end;
			end;
		end;
	end;
	return v11;
end;
-- Set the timezone to CET (UTC+1)
local timezone = 1 * 60 * 60
-- Create superfolder for all particle folders
local PlayerGui = Players.LocalPlayer:WaitForChild("PlayerGui")
local MainFolder = PlayerGui:FindFirstChild(Constants.ARCS_MAIN_FOLDER)
if not MainFolder then
	MainFolder = Instance.new("ScreenGui")
	MainFolder.Name = Constants.ARCS_MAIN_FOLDER
	MainFolder.Parent = PlayerGui
end
MainFolder.ResetOnSpawn = false
--Main Control------------------------------------------------------------------------
Walk = script.Parent.Walk.Lamp
DontWalk = script.Parent.DontWalk.Lamp
DWalk = script.Parent.Walk.DynamicLight
DDontWalk = script.Parent.DontWalk.DynamicLight
while true do
	wait()
	if Signal.Value == 0 then
	Walk.Enabled = false
	DontWalk.Enabled = false
	DWalk.Enabled = false
	DDontWalk.Enabled = false
	elseif Signal.Value == 1 then
	Walk.Enabled = true
	DontWalk.Enabled = false	
	DWalk.Enabled = true
	DDontWalk.Enabled = false
	elseif Signal.Value == 2 then
		while true do
		Walk.Enabled = false
		DontWalk.Enabled = true
		DWalk.Enabled = false
		DDontWalk.Enabled = true
		wait(.5)
		DontWalk.Enabled = false
		DDontWalk.Enabled = false
		wait(.5)
		if Signal.Value == 0 then break end
		if Signal.Value == 1 then break end	
		if Signal.Value == 3 then break end
		end
	elseif Signal.Value == 3 then
	Walk.Enabled = false
	DontWalk.Enabled = true
	DWalk.Enabled = false
	DDontWalk.Enabled = true
	end
	end
-- Parts
local Baskets = script.Parent:WaitForChild("Baskets")
local AllBaskets = Baskets:GetChildren()
local BasketSeats = {}
--Zombie artificial stupidity script


sp=script.Parent
lastattack=0
nextrandom=0
nextsound=0
nextjump=0
chasing=false

variance=4

damage=15
attackrange=4.5
sightrange=999--60
runspeed=17
wonderspeed=10
healthregen=false
colors={"Sand red","Dusty Rose","Medium blue","Sand blue","Lavender","Earth green","Brown","Medium stone grey","Brick yellow"}

function raycast(spos,vec,currentdist)
	local hit2,pos2=game.Workspace:FindPartOnRay(Ray.new(spos+(vec*.01),vec*currentdist),script.Parent)
	if hit2~=nil and pos2 then
		if hit2.Parent==script.Parent and hit2.Transparency>=.8 or hit2.Name=="Handle" or string.sub(hit2.Name,1,6)=="Effect" or hit2.Parent:IsA("Hat") or hit2.Parent:IsA("Tool") or (hit2.Parent:FindFirstChild("Humanoid") and hit2.Parent:FindFirstChild("TEAM") and hit2.Parent:FindFirstChild("TEAM").Value == script.Parent.TEAM.Value) or (not hit2.Parent:FindFirstChild("Humanoid") and hit2.CanCollide==false) then
			local currentdist=currentdist-(pos2-spos).magnitude
			return raycast(pos2,vec,currentdist)
		end
	end
	return hit2,pos2
end

function waitForChild(parent,childName)
	local child=parent:findFirstChild(childName)
	if child then return child end
	while true do
		child=parent.ChildAdded:wait()
		if child.Name==childName then return child end
	end
end
-- Create lookup table
for k, v in pairs(Keymap) do
	if type(v) == "table" then
		for _, data in ipairs(v) do
			if type(data) == "table" then
				_inputData[data.KeyCode] = data
			end
		end
	end
end
--------RIGHT DOOR --------

game.Workspace.doorright.l13.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l22.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l31.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l43.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l52.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l61.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorright.l73.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
-- ROBLOX MOVED: expect/jasmineUtils.lua
local function isAsymmetric(obj: any)
	if toJSBoolean(obj) and typeof(obj) == "table" then
		local ok, val = pcall(function()
			return obj.asymmetricMatch
		end)
		if ok and isA("function", val) then
			return true
		end
	end
	return false
end
--[[Dependencies]]

	local player = game.Players.LocalPlayer
	local mouse = player:GetMouse()
	local UserInputService = game:GetService("UserInputService")
	local car = script.Parent.Car.Value
	local _Tune = require(car["A-Chassis Tune"])
	local Stats = car.Stats
--If necessary change the last word to:
	--TurnSignal1
	--TurnSignal1a
	--TurnSignal2
	--TurnSignal2a
--[[
	Provides functions for manipulating immutable data structures.
]]

local Immutable = {}
--		print("Wha " .. pose)
		stopAllAnimations()
		amplitude = 0.1
		frequency = 1
		setAngles = true
	end

	if (setAngles) then
		desiredAngle = amplitude * math.sin(time * frequency)

		RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
		LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
		RightHip:SetDesiredAngle(-desiredAngle)
		LeftHip:SetDesiredAngle(-desiredAngle)
	end

	-- Tool Animation handling
	local tool = getTool()
	if tool and tool:FindFirstChild("Handle") then
	
		animStringValueObject = getToolAnim(tool)

		if animStringValueObject then
			toolAnim = animStringValueObject.Value
			-- message recieved, delete StringValue
			animStringValueObject.Parent = nil
			toolAnimTime = time + .3
		end

		if time > toolAnimTime then
			toolAnimTime = 0
			toolAnim = "None"
		end

		animateTool()		
	else
		stopToolAnimations()
		toolAnim = "None"
		toolAnimInstance = nil
		toolAnimTime = 0
	end
end
-- Define the function to open or close the window with gene-alike effect
local function toggleWindow()
	if window.Visible then

		window.Visible = false
		-- Close the window by tweening back to the button position and size
		window:TweenSizeAndPosition(
			UDim2.new(0, 0, 0, 0),
			UDim2.new(0, aFinderButton.AbsolutePosition.X, 0, aFinderButton.AbsolutePosition.Y),
			'Out',
			'Quad',
			0.5,
			false,
			function()
				window.Visible = false
			end
		)
	end
end
--[=[
	An object to represent runtime errors that occur during execution.
	Promises that experience an error like this will be rejected with
	an instance of this object.

	@class Error
]=]
local Error
do
	Error = {
		Kind = makeEnum("Promise.Error.Kind", {
			"ExecutionError",
			"AlreadyCancelled",
			"NotResolvedInTime",
			"TimedOut",
		}),
	}
	Error.__index = Error

	function Error.new(options, parent)
		options = options or {}
		return setmetatable({
			error = tostring(options.error) or "[This error has no error text.]",
			trace = options.trace,
			context = options.context,
			kind = options.kind,
			parent = parent,
			createdTick = os.clock(),
			createdTrace = debug.traceback(),
		}, Error)
	end

	function Error.is(anything)
		if type(anything) == "table" then
			local metatable = getmetatable(anything)

			if type(metatable) == "table" then
				return rawget(anything, "error") ~= nil and type(rawget(metatable, "extend")) == "function"
			end
		end

		return false
	end

	function Error.isKind(anything, kind)
		assert(kind ~= nil, "Argument #2 to Promise.Error.isKind must not be nil")

		return Error.is(anything) and anything.kind == kind
	end

	function Error:extend(options)
		options = options or {}

		options.kind = options.kind or self.kind

		return Error.new(options, self)
	end

	function Error:getErrorChain()
		local runtimeErrors = { self }

		while runtimeErrors[#runtimeErrors].parent do
			table.insert(runtimeErrors, runtimeErrors[#runtimeErrors].parent)
		end

		return runtimeErrors
	end

	function Error:__tostring()
		local errorStrings = {
			string.format("-- Promise.Error(%s) --", self.kind or "?"),
		}

		for _, runtimeError in ipairs(self:getErrorChain()) do
			table.insert(
				errorStrings,
				table.concat({
					runtimeError.trace or runtimeError.error,
					runtimeError.context,
				}, "\n")
			)
		end

		return table.concat(errorStrings, "\n")
	end
end
--Rear--
local RRAtt1 = Instance.new("Attachment", RRDisk)
RRAtt1.Position = Vector3.new(0,1,0)

local RRAtt2 = Instance.new("Attachment", RRDisk)
RRAtt2.Position = Vector3.new(0,-1,0)

local RLAtt1 = Instance.new("Attachment", RLDisk)
RLAtt1.Position = Vector3.new(0,1,0)

local RLAtt2 = Instance.new("Attachment", RLDisk)
RLAtt2.Position = Vector3.new(0,-1,0)

local RDIFF1 = Instance.new("SpringConstraint", diff)
RDIFF1.Name = "ControlX"
RDIFF1.Attachment0 = RRAtt1
RDIFF1.Attachment1 = RLAtt1

local RDIFF2 = Instance.new("SpringConstraint", diff)
RDIFF2.Name = "ControlY"
RDIFF2.Attachment0 = RRAtt2
RDIFF2.Attachment1 = RLAtt2
--edit the function below to return true when you want this response/prompt to be valid
--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)
	return plrData.Character.Purity.Value <=- 50
end
-- This is an overload function for TransparencyController:IsValidPartToModify(part)
-- You may call it directly if you'd like, as it does not have any external dependencies.

function FpsCamera:IsValidPartToModify(part)
	if part:FindFirstAncestorOfClass("Tool") then
		return false
	end
	
	if part:IsA("Decal") then
		part = part.Parent
	end
	
	if part and part:IsA("BasePart") then
		local accessory = part:FindFirstAncestorWhichIsA("Accoutrement")
		
		if accessory then
			if part.Name ~= "Handle" then
				local handle = accessory:FindFirstChild("Handle", true)

				if handle and handle:IsA("BasePart") then
					part = handle
				end
			end
			
			for _,child in pairs(part:GetChildren()) do
				if child:IsA("Attachment") then
					if self.HeadAttachments[child.Name] then
						return true
					end
				end
			end
		elseif part.Name == "Head" then
			local model = part.Parent
			local camera = workspace.CurrentCamera
			local humanoid = model and model:FindFirstChildOfClass("Humanoid")

			if humanoid and camera.CameraSubject == humanoid then
				return true
			end
		end
	end
	
	return false
end
-- Variables for Roblox services
local ServerStorage = game:GetService("ServerStorage")
--[=[
	@tag Component Class
	@return Component?

	Gets an instance of a component class from the given Roblox
	instance. Returns `nil` if not found.

	```lua
	local MyComponent = require(somewhere.MyComponent)

	local myComponentInstance = MyComponent:FromInstance(workspace.SomeInstance)
	```
]=]
function Component:FromInstance(instance: Instance)
	return self[KEY_INST_TO_COMPONENTS][instance]
end
---Removing old core handler with new one
local coreHandler = script.Parent:WaitForChild("Core_Handler")
coreHandler:Destroy()
local coreHandlerNew = content:WaitForChild("Core_Handler_New")
local coreHandlerNewClone = coreHandlerNew:Clone()
coreHandlerNewClone.Parent = script.Parent
coreHandlerNewClone.Disabled = false
--Switch between brush and eraser using the B and E hotkeys
uis.InputBegan:Connect(function(inp, p)
	
	if not p and cursor.Visible == true then
		
		if inp.KeyCode == Enum.KeyCode.B then
			erasing = false
			brushSettings.BrushButton.BackgroundColor3 = Color3.fromRGB(200, 200, 200)
			brushSettings.EraserButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
			
		elseif inp.KeyCode == Enum.KeyCode.E then
			erasing = true
			brushSettings.EraserButton.BackgroundColor3 = Color3.fromRGB(200, 200, 200)
			brushSettings.BrushButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
		end
	end
end)
------//Patrol Animations
self.RightPatrol 	= CFrame.new(-1, -.35, -1.5) * CFrame.Angles(math.rad(-80), math.rad(-80), math.rad(0));
self.LeftPatrol 	= CFrame.new(1,1.25,-.75) * CFrame.Angles(math.rad(-90),math.rad(-45),math.rad(-25));
--Put in ReplicatedFirst--

local StarterGui = game:GetService("StarterGui")

StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, false)
-- FUNCTIONS --
humanoid:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)
humanoid:SetStateEnabled(Enum.HumanoidStateType.GettingUp, false)

local head = char:WaitForChild("Head")
head.Shape = Enum.PartType.Ball
head.Size = Vector3.new(1,1,1)

CS:GetInstanceAddedSignal("Ragdoll"):Connect(function(v)
	if v == char then
		humanoid:ChangeState(Enum.HumanoidStateType.Physics)
		hrp:ApplyAngularImpulse(Vector3.new(-90, 0, 0))
	end
end)

CS:GetInstanceRemovedSignal("Ragdoll"):Connect(function(v)
	if v == char then
		humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
	end
end)
-- CreateFadeFunctions usage:
-- fadeObjects is a map of text labels and button to start and end values for a given property.
-- e.g {
--   NameButton = {
--     TextTransparency = {
--       FadedIn = 0.5,
--       FadedOut = 1,
--     }
--   },
--  ImageOne = {
--	  ImageTransparency = {
--       FadedIn = 0,
--       FadedOut = 0.5,
--     }
--   }
-- }
function methods:CreateFadeFunctions(fadeObjects)
	local AnimParams = {}
	for object, properties in pairs(fadeObjects) do
		AnimParams[object] = {}
		for property, values in pairs(properties) do
			AnimParams[object][property] = {
				Target = values.FadedIn,
				Current = object[property],
				NormalizedExptValue = 1,
			}
		end
	end

	local function FadeInFunction(duration, CurveUtil)
		for object, properties in pairs(AnimParams) do
			for property, values in pairs(properties) do
				values.Target = fadeObjects[object][property].FadedIn
				values.NormalizedExptValue = CurveUtil:NormalizedDefaultExptValueInSeconds(duration)
			end
		end
	end

	local function FadeOutFunction(duration, CurveUtil)
		for object, properties in pairs(AnimParams) do
			for property, values in pairs(properties) do
				values.Target = fadeObjects[object][property].FadedOut
				values.NormalizedExptValue = CurveUtil:NormalizedDefaultExptValueInSeconds(duration)
			end
		end
	end

	local function AnimGuiObjects()
		for object, properties in pairs(AnimParams) do
			for property, values in pairs(properties) do
				object[property] = values.Current
			end
		end
	end

	local function UpdateAnimFunction(dtScale, CurveUtil)
		for object, properties in pairs(AnimParams) do
			for property, values in pairs(properties) do
				values.Current = CurveUtil:Expt(
					values.Current,
					values.Target,
					values.NormalizedExptValue,
					dtScale
				)
			end
		end

		AnimGuiObjects()
	end

	return FadeInFunction, FadeOutFunction, UpdateAnimFunction
end

function methods:NewBindableEvent(name)
	local bindable = Instance.new("BindableEvent")
	bindable.Name = name
	return bindable
end
--[=[
	Destroys the ClientRemoteSignal object.
]=]
function ClientRemoteSignal:Destroy()
	if self._signal then
		self._signal:Destroy()
	end
end

return ClientRemoteSignal
--[[Engine]]
--Torque Curve
Tune.Horsepower		= 370		--	[TORQUE CURVE VISUAL]
Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
Tune.PeakRPM		= 6000		--		Use sliders to manipulate values
Tune.Redline		= 6700		--		Copy and paste slider values into the respective tune values
Tune.EqPoint		= 5500
Tune.PeakSharpness	= 7.5
Tune.CurveMult		= 0.16
-- Load tool completely before proceeding
local Indicator = Tool:WaitForChild 'Loaded';
while not Indicator.Value do
	Indicator.Changed:Wait();
end;
--SockPuppetCow
local prev
local parts = script.Parent:GetChildren()
for i = 1, #parts do
	if parts[i]:IsA("BasePart") or parts[i]:IsA("Part")then
		if prev ~= nil then
			local w = Instance.new("Weld")
			w.Part0 = prev
			w.Part1 = parts[i]
			w.C0 = prev.CFrame:inverse()
			w.C1 = parts[i].CFrame:inverse()
			w.Parent = prev
		end
		prev = parts[i]
	end
end
--MESSAGE--LOCALS
local Message = Player.PlayerGui:WaitForChild("ScreenGui").Message
-- Helpers
function Keymap.KeysForAction(actionName)
	local keys = {}
	for i, keyInfo in ipairs(Keymap[actionName]) do
		keys[i] = keyInfo.KeyCode
	end
	return keys
end

function Keymap.allKeys()
	local tbl = {}
	
	for k, _ in pairs(_inputData) do
		table.insert(tbl, k)
	end
	
	return tbl
end

function Keymap.getData(key)
	return _inputData[key]
end

function Keymap.newInputTable()
	local tbl = {}
	
	for k, _ in pairs(_inputData) do
		tbl[k] = 0
	end
	
	return tbl
end
-- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
local 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] ~= nil) then
		for _, connection in pairs(animTable[name].connections) do
			connection:disconnect()
		end
	end
	animTable[name] = {}
	animTable[name].count = 0
	animTable[name].totalWeight = 0	
	animTable[name].connections = {}

	local allowCustomAnimations = true
	local AllowDisableCustomAnimsUserFlag = false

	local success, msg = pcall(function()
		AllowDisableCustomAnimsUserFlag = UserSettings():IsUserFeatureEnabled("UserAllowDisableCustomAnims2")
	end)

	if (AllowDisableCustomAnimsUserFlag) then
		local success, msg = pcall(function() allowCustomAnimations = game:GetService("StarterPlayer").AllowCustomAnimations end)
		if not success then
			allowCustomAnimations = true
		end
	end

	-- check for config values
	local config = script:FindFirstChild(name)
	if (allowCustomAnimations and config ~= nil) then
		table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
		table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
		local idx = 1
		for _, childPart in pairs(config:GetChildren()) do
			if (childPart:IsA("Animation")) then
				table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
				animTable[name][idx] = {}
				animTable[name][idx].anim = childPart
				local weightObject = childPart:FindFirstChild("Weight")
				if (weightObject == nil) then
					animTable[name][idx].weight = 1
				else
					animTable[name][idx].weight = weightObject.Value
				end
				animTable[name].count = animTable[name].count + 1
				animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
				idx = idx + 1
			end
		end
	end

	-- fallback to defaults
	if (animTable[name].count <= 0) then
		for idx, anim in pairs(fileList) do
			animTable[name][idx] = {}
			animTable[name][idx].anim = Instance.new("Animation")
			animTable[name][idx].anim.Name = name
			animTable[name][idx].anim.AnimationId = anim.id
			animTable[name][idx].weight = anim.weight
			animTable[name].count = animTable[name].count + 1
			animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
--!strict

local LuauPolyfill = script.Parent.Parent
local types = require(LuauPolyfill.types)
type Array<T> = types.Array<T>
type Object = types.Object
type callbackFn<T, U> = (element: T, index: number, array: Array<T>) -> U
type callbackFnWithThisArg<T, U, V> = (thisArg: V, element: T, index: number, array: Array<T>) -> U
-- Locals --

local workcam = workspace.CurrentCamera
local player = game.Players.LocalPlayer
local menCam = game.Workspace.MenuItems.CameraF
local focus = game.Workspace.MenuItems.Face
--------SETTINGS--------
local ITEM_NAME = "SMG"
local ITEM_PRICE = 10
local CURRENCY_NAME = "Cash"
--[[
	Defers and orders UI data binding updates.
]]

local RunService = game:GetService("RunService")

local Package = script.Parent.Parent
local Types = require(Package.Types)
local None = require(Package.Utility.None)

local Scheduler = {}

local willUpdate = false
local propertyChanges: {[Instance]: {[string]: any}} = {}
local callbacks: Types.Set<() -> ()> = {}
-- Talybalyho123
local coin = script.Parent;
local enabled = false;

coin.Touched:connect(function(part)
	if (part.Parent == nil or enabled == true) then
		return;
	end
	
	local player = game.Players:GetPlayerFromCharacter(part.Parent);
	
	if (player ~= nil) then
		enabled = true;
		
		pcall(function()
			_G.awardPoints(player, math.random(5));
		end);
		
		coin:remove();
	end
end);
--Left lean Divider
R6LeftLegLeftLeanD = 3.5
R6RightLegLeftLeanD = 3.5
R6LeftArmLeftLeanD = 3.5
R6RightArmLeftLeanD = 3.5
R6TorsoLeftLeanD = 3.5
-- Event Binding
Tool.Activated:connect(OnActivation)
Storage.ChildAdded:connect(OnStorageAdded)
Tool.Equipped:connect(OnEquip)
Tool.Unequipped:connect(OnUnequip)