Tool=script.Parent Handle=Tool:WaitForChild("\072\097\110\100\108\101")Players=game:GetService("\080\108\097\121\101\114\115")Debris=game:GetService("\068\101\098\114\105\115")RunService=game:GetService("\082\117\110\083\101\114\118\105\099\101")ContentProvider=game:GetService("\067\111\110\116\101\110\116\080\114\111\118\105\100\101\114")UserInputService=game:GetService("\085\115\101\114\073\110\112\117\116\083\101\114\118\105\099\101")InputCheck=Instance.new("\083\099\114\101\101\110\071\117\105")InputCheck.Name="\073\110\112\117\116\067\104\101\099\107"InputFrame=Instance.new("\070\114\097\109\101")InputFrame.BackgroundTransparency=1 InputFrame.Size=UDim2.new(1,0,1,0)InputFrame.Parent=InputCheck local function U(U)if type(U)~="\115\116\114\105\110\103"then error("\065\114\103\117\109\101\110\116 \111\102 \067\114\101\097\116\101 \109\117\115\116 \098\101 \097 \115\116\114\105\110\103",2)end return function(j)j=j or{}local H=Instance.new(U)local A=nil local Q=nil for U,j in pairs(j)do if type(U)=="\115\116\114\105\110\103"then if U=="\080\097\114\101\110\116"then A=j else H[U]=j end elseif type(U)=="\110\117\109\098\101\114"then if type(j)~="\117\115\101\114\100\097\116\097"then error("\066\097\100 \101\110\116\114\121 \105\110 \067\114\101\097\116\101 \098\111\100\121\058 \078\117\109\101\114\105\099 \107\101\121\115 \109\117\115\116 \098\101 \112\097\105\114\101\100 \119\105\116\104 \099\104\105\108\100\114\101\110\044 \103\111\116 \097\058 "..type(j),2)end j.Parent=H elseif type(U)=="\116\097\098\108\101"and U.__eventname then if type(j)~="\102\117\110\099\116\105\111\110"then error("\066\097\100 \101\110\116\114\121 \105\110 \067\114\101\097\116\101 \098\111\100\121\058 \075\101\121 \096\091\067\114\101\097\116\101\046\069\'"..(U.__eventname..("\'\093\096 \109\117\115\116 \104\097\118\101 \097 \102\117\110\099\116\105\111\110 \118\097\108\117\101\n\t\t\t\t\t\t\t\103\111\116\058 "..tostring(j))),2)end H[U.__eventname]:connect(j)elseif U==t.Create then if type(j)~="\102\117\110\099\116\105\111\110"then error("\066\097\100 \101\110\116\114\121 \105\110 \067\114\101\097\116\101 \098\111\100\121\058 \075\101\121 \096\091\067\114\101\097\116\101\093\096 \115\104\111\117\108\100 \098\101 \112\097\105\114\101\100 \119\105\116\104 \097 \099\111\110\115\116\114\117\099\116\111\114 \102\117\110\099\116\105\111\110\044 \n\t\t\t\t\t\t\t\103\111\116\058 "..tostring(j),2)elseif Q then error("\066\097\100 \101\110\116\114\121 \105\110 \067\114\101\097\116\101 \098\111\100\121\058 \079\110\108\121 \111\110\101 \099\111\110\115\116\114\117\099\116\111\114 \102\117\110\099\116\105\111\110 \105\115 \097\108\108\111\119\101\100",2)end Q=j else error("\066\097\100 \101\110\116\114\121 \040"..(tostring(U)..(" \061\062 "..(tostring(j).."\041 \105\110 \067\114\101\097\116\101 \098\111\100\121"))),2)end end if Q then Q(H)end if A then H.Parent=A end return H end end
--Rescripted by Luckymaxer

Tool = script.Parent
Handle = Tool:WaitForChild("Handle")

Players = game:GetService("Players")
Debris = game:GetService("Debris")
RunService = game:GetService("RunService")
ContentProvider = game:GetService("ContentProvider")
UserInputService = game:GetService("UserInputService")

InputCheck = Instance.new("ScreenGui")
InputCheck.Name = "InputCheck"
InputFrame = Instance.new("Frame")
InputFrame.BackgroundTransparency = 1
InputFrame.Size = UDim2.new(1, 0, 1, 0)
InputFrame.Parent = InputCheck

local function Create_PrivImpl(objectType)
	if type(objectType) ~= "string" then
		error("Argument of Create must be a string", 2)
	end
	--return the proxy function that gives us the nice Create'string'{data} syntax
	--The first function call is a function call using Lua's single-string-argument syntax
	--The second function call is using Lua's single-table-argument syntax
	--Both can be chained together for the nice effect.
	return function(dat)
		--default to nothing, to handle the no argument given case
		dat = dat or {}

		--make the object to mutate
		local obj = Instance.new(objectType)
		local parent = nil

		--stored constructor function to be called after other initialization
		local ctor = nil

		for k, v in pairs(dat) do
			--add property
			if type(k) == "string" then
				if k == "Parent" then
					-- Parent should always be set last, setting the Parent of a new object
					-- immediately makes performance worse for all subsequent property updates.
					parent = v
				else
					obj[k] = v
				end

			--add child
			elseif type(k) == "number" then
				if type(v) ~= "userdata" then
					error("Bad entry in Create body: Numeric keys must be paired with children, got a: " .. type(v), 2)
				end
				v.Parent = obj

			--event connect
			elseif type(k) == "table" and k.__eventname then
				if type(v) ~= "function" then
					error(
						"Bad entry in Create body: Key `[Create.E'"
							.. k.__eventname
							.. "']` must have a function value\
							got: "
							.. tostring(v),
						2
					)
				end
				obj[k.__eventname]:connect(v)

			--define constructor function
			elseif k == t.Create then
				if type(v) ~= "function" then
					error("Bad entry in Create body: Key `[Create]` should be paired with a constructor function, \
							got: " .. tostring(v), 2)
				elseif ctor then
					--ctor already exists, only one allowed
					error("Bad entry in Create body: Only one constructor function is allowed", 2)
				end
				ctor = v
			else
				error("Bad entry (" .. tostring(k) .. " => " .. tostring(v) .. ") in Create body", 2)
			end
		end

		--apply constructor function if it exists
		if ctor then
			ctor(obj)
		end

		if parent then
			obj.Parent = parent
		end

		--return the completed object
		return obj
	end
end
