User:ArceusInator/Sandbox: Difference between revisions
From Legacy Roblox Wiki
Jump to navigationJump to search
>ArceusInator will finish later |
>ArceusInator will finish |
||
Line 1: | Line 1: | ||
Some useful functions... | |||
<pre> | <pre> | ||
function shared:RealType(v) | |||
function | |||
local libraries = {Axes, BrickColor, CFrame, Color3, Faces} | |||
if type(v) == "userdata" then | |||
for _,i in pairs(libraries) do | |||
if v == i then | |||
return string.lower(tostring(i)) | |||
end | end | ||
end | end | ||
if pcall(function() i = v:IsA("Instance") end) then | |||
return "object" | |||
elseif pcall(function() x = v.X end) then | |||
if pcall(function() z = v.Z end) then | |||
if Axes.new(v.X, v.Y, v.Z) == v then | |||
return "axes" | |||
elseif pcall(function() comp = v:components() end) then | |||
return "coordinateframe" | |||
else | |||
return "vector3" | |||
end | |||
elseif Vector2.new(v.X, v.Y) == v then | |||
return "vector2" | |||
elseif pcall(function() xo = | |||
end | |||
elseif pcall(function() r = v.r end) then | |||
if BrickColor.new(v.r, v.g, v.b) == v then | |||
return "brickcolor" | |||
elseif Color3.new(v.r, v.g, v.b) == v then | |||
return "color3" | |||
end | |||
elseif pcall(function() top = v.Top) then | |||
if Faces.new(v.Back, v.Bottom, v.Front, v.Left, v.Right, v.Top) == v then | |||
return "faces" | |||
end | |||
elseif pcall(function() connect = v.connected end) then | |||
return "rbxscriptconnection" | |||
elseif pcall(function() conn = v:connect(function()end)end) then | |||
return "rbxscriptsignal" | |||
elseif pcall(function() origin = v.Origin end) then | |||
return "ray" | |||
elseif pcall(function() cf = v.CFrame end) then | |||
return "region3" |
Revision as of 16:06, 30 March 2011
Some useful functions...
function shared:RealType(v) local libraries = {Axes, BrickColor, CFrame, Color3, Faces} if type(v) == "userdata" then for _,i in pairs(libraries) do if v == i then return string.lower(tostring(i)) end end if pcall(function() i = v:IsA("Instance") end) then return "object" elseif pcall(function() x = v.X end) then if pcall(function() z = v.Z end) then if Axes.new(v.X, v.Y, v.Z) == v then return "axes" elseif pcall(function() comp = v:components() end) then return "coordinateframe" else return "vector3" end elseif Vector2.new(v.X, v.Y) == v then return "vector2" elseif pcall(function() xo = end elseif pcall(function() r = v.r end) then if BrickColor.new(v.r, v.g, v.b) == v then return "brickcolor" elseif Color3.new(v.r, v.g, v.b) == v then return "color3" end elseif pcall(function() top = v.Top) then if Faces.new(v.Back, v.Bottom, v.Front, v.Left, v.Right, v.Top) == v then return "faces" end elseif pcall(function() connect = v.connected end) then return "rbxscriptconnection" elseif pcall(function() conn = v:connect(function()end)end) then return "rbxscriptsignal" elseif pcall(function() origin = v.Origin end) then return "ray" elseif pcall(function() cf = v.CFrame end) then return "region3"