--@name RPC --@author Opti1337 --@shared RPC = {} function RPC.add(name, cb) net.receive(name, function() local result = {} for i = 1, net.readInt(8) do table.insert(result, net.readType()) end if CLIENT then cb(unpack(result)) else RPC.start(name, find.allPlayers(), unpack(result)) end end) end function RPC.start(name, target, ...) net.start(name) local args = {...} net.writeInt(#args, 8) for _, v in pairs(args) do net.writeType(v) end net.send(target) end