Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local service = {}
- local service_mt = {}
- service_mt.__index = function(t, k)
- return game:GetService(k)
- end
- setmetatable(service, service_mt)
- getgenv().service = service
- getgenv().print = function(...)
- local arg = {...} -- what?
- local builder = ""
- for k, v in pairs(arg) do
- builder = builder .. tostring(v) .. "\t"
- end
- local time = os.date("*t", tick())
- printoutput("[" .. string.format("%02d:%02d:%02d", time.hour, time.min, time.sec) .. "] " .. builder)
- end
- local function getfcontext(f)
- local env = debug.getfenv(f) or {} -- ??
- for k, v in next, debug.getupvalues(f) do
- env[k] = v
- end
- return env
- end
- getgenv().getfcontext = getfcontext
- local function setfcontext(fn, cf)
- local env = debug.getfenv(cf) or {} -- ?????
- for k, v in next, debug.getupvalues(cf) do
- env[k] = v
- end
- setfenv(fn, env)
- end
- getgenv().setfcontext = setfcontext
- local game_mt = getrawmetatable(game)
- make_writeable(game_mt)
- local old_index = game_mt.__index
- _G.network = nil
- getgenv().bait = print
- getgenv().bait_stack_level = 1
- local game_mt = getrawmetatable(game)
- make_writeable(game_mt)
- local old_namecall = game_mt.__namecall
- local xhook = {}
- getgenv().xhook = xhook
- function xhook.yInvoke(name, args, rets)
- print("Invoke! from " .. name)
- print("ARGS--")
- table.foreach(args, print)
- print("RETS--")
- table.foreach(rets, print)
- end
- function xhook.yFire(name, args)
- print("Fire! from " .. name)
- print("ARGS--")
- table.foreach(args, print)
- end
- xhook.ship = {
- speed = 60;
- turn = 10;
- damage_mult = 40;
- }
- game_mt.__namecall = function(t, ...)
- local tb = {...}
- k = tb[#tb]
- table.remove(tb)
- --if not stick[k] then stick[k] = true printoutput(xformat(...)) end
- if k == "InvokeServer" then
- if t:IsDescendantOf(game.ReplicatedStorage.ServerEvents) then
- local invoke = {old_namecall(t, ...)}
- local shiprv = invoke[1]
- if t.Name == "SpawnShip" then
- shiprv[2] = xhook.ship.speed;
- shiprv[1] = xhook.ship.turn;
- end
- xhook.yInvoke(t.Name, tb, invoke)
- return unpack(invoke)
- end
- elseif k == "FireServer" then
- if t:IsDescendantOf(game.ReplicatedStorage.ServerEvents) then
- if t.Name == 'RegisterDamage' then
- local GAY = {...}
- GAY[2] = GAY[2] * xhook.ship.damage_mult;
- return old_namecall(t, unpack(GAY))
- end
- xhook.yFire(t.Name, tb)
- end
- end
- return old_namecall(t, ...)
- end
- --[[
- local ev = game.ReplicatedStorage.Event:FireServer("Combat", sb2util.rpckey, {
- "Attack",
- nil,
- sb2util.last_attack[3][3],
- sb2util.nextkey()
- })
- ]]
- print("hookd")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement