View difference between Paste ID: 9q76aAXz and hkFbVZPj
SHOW: | | - or go back to the newest paste.
1
--//U_M9's Remote Explorer!
2
--//https://discord.me/reh
3
4
local GameMeta = getrawmetatable(game)
5
local GameNamecall = GameMeta.__namecall
6
local RemoteCount = 0
7
8
if setreadonly then
9
	setreadonly(GameMeta, false)
10
end
11
12
local TableStorage = {
13
	
14
	EnabledEvents = {
15
    ["Fire"] = true,
16
    ["FireServer"] = true,
17
    ["Invoke"] = true,
18
    ["InvokeServer"] = true,
19
	};
20
	
21
	Instances = {
22
    ["FireServer"] = Instance.new("RemoteEvent").FireServer,
23
    ["InvokeServer"] = Instance.new("RemoteFunction").InvokeServer,
24
    ["Fire"] = Instance.new("BindableEvent").Fire,
25
    ["Invoke"] = Instance.new("BindableFunction").Invoke,
26
};
27
	}; 
28
29
30
function GetArguments(item)
31
   if type(item) == "string" then
32
       return "\""..item.."\""
33
   elseif type(item) == "table" then
34
local str = "{"
35
local max = 0
36
local numb = 1
37
       for i,v in pairs(item) do
38
           max = max+1
39
       end
40
       for i,v in pairs(item) do
41
           if numb == max then
42
               str = str.."["..GetArguments(i).."] = "..GetArguments(v)
43
           else
44
               str = str.."["..GetArguments(i).."] = "..GetArguments(v)..", "
45
           end
46
           numb = numb + 1
47
       end
48
       str = str.."}"
49
       return str
50
   elseif type(item) == "userdata" then
51
      local a,b = pcall(function()
52
      return item.ClassName 
53
       end)
54
       if a then
55
           return item:GetFullName()
56
       else
57
           if tostring(b):match("not a valid member of %w+") then
58
               local c, d = tostring(b):match("not a valid member of %w+"):find("of ")
59
               local class = tostring(b):match("not a valid member of %w+"):sub(d+1)
60
               return class..".new(".. tostring(item) ..")"
61
           end
62
       end
63
   else
64
       return tostring(item)
65
   end
66
end
67
68
69
GameMeta.__namecall = function (t, ...)
70
   local args = {...}
71
   local k = args[#args]
72
if TableStorage.EnabledEvents[k] then
73
           table.remove(args)
74
RemoteCount = RemoteCount + 1
75
           warn("\n [Remote Count : "..tostring(RemoteCount).."] \n [Event : "..k.."] \n [ClassName : "..t.ClassName.."] \n [Path : "..t:GetFullName().."] \n [Args : "..GetArguments(args).."]")
76
           return TableStorage.Instances[k](t,...)
77
   else
78
       return GameNamecall(t,...)
79
   end
80
end