function util.Tween(o)local V,q,J,g,p,B,r,e=o[1],o[2],o[3]or 1,o[4]or"\076\105\110\101\097\114",o[5]or"\073\110\079\117\116",o[6]or 0,o[7]or false,o[8]or 0 local U=(game:GetService("\084\119\101\101\110\083\101\114\118\105\099\101")):Create(V,TweenInfo.new(J,Enum.EasingStyle[g].Value,Enum.EasingDirection[p].Value,B,r,e),q)return U end function util.Sound(o,V,q,J,g)local p=o or workspace local B=Instance.new("\083\111\117\110\100")B.Parent=p B.Volume=q or 1 if V then B.SoundId="\114\098\120\097\115\115\101\116\105\100\058\047\047"..tostring(V)end B.Looped=g or false B.Pitch=J or 1 return B end
--[[function util.Tween(part,info,goal)
	local tween = game:GetService("TweenService"):Create(part,info,goal)
	return tween
end]]
--

function util.Tween(tbl)
	-- util.Tween( { part , { Position = Vector3.new(0,0,0) } , 2 , "Linear" , "Out" , 0 , false, 0 } )
	local parent, property, ttime, easingstyle, easingdirect, repeattime, reversable, delay =
		tbl[1], tbl[2], tbl[3] or 1, tbl[4] or "Linear", tbl[5] or "InOut", tbl[6] or 0, tbl[7] or false, tbl[8] or 0
	local ntw = game:GetService("TweenService"):Create(
		parent,
		TweenInfo.new(
			ttime,
			Enum.EasingStyle[easingstyle].Value,
			Enum.EasingDirection[easingdirect].Value,
			repeattime,
			reversable,
			delay
		),
		property
	)
	return ntw
end

function util.Sound(npar, sID, vol, pitch, looped)
	local par = npar or workspace

	local sound = Instance.new("Sound")
	sound.Parent = par

	sound.Volume = vol or 1
	if sID then
		sound.SoundId = "rbxassetid://" .. tostring(sID)
	end
	sound.Looped = looped or false
	sound.Pitch = pitch or 1

	return sound
end
