InterfaceController = {} local MainProcInterface_Handle = {} function MainProcInterface() for i in pairs(MainProcInterface_Handle) do MainProcInterface_Handle[i].callback() end end function InterfaceController.MainProcInterface(callback) MainProcInterface_Handle[callback] = { callback = callback } end local MainProcWorldKey_Handle = {} function MainProcWorldKey(key) for i in pairs(MainProcWorldKey_Handle) do if MainProcWorldKey_Handle[i].callback(key) then return end end end function InterfaceController.MainProcWorldKey(callback) MainProcWorldKey_Handle[callback] = { callback = callback } end local InterfaceClickEvent_Handle = {} function InterfaceClickEvent() for i in pairs(InterfaceClickEvent_Handle) do if InterfaceClickEvent_Handle[i].callback() then return end end end function InterfaceController.InterfaceClickEvent(callback) InterfaceClickEvent_Handle[callback] = { callback = callback } end local InterfaceClickRightEvent_Handle = {} function InterfaceClickRightEvent() for i in pairs(InterfaceClickRightEvent_Handle) do if InterfaceClickRightEvent_Handle[i].callback() then return end end end function InterfaceController.InterfaceClickRightEvent(callback) InterfaceClickRightEvent_Handle[callback] = { callback = callback } end local ScrollMouse_Handle = {} function ScrollMouse(Direction) for i in pairs(ScrollMouse_Handle) do if ScrollMouse_Handle[i].callback(Direction) then return end end end function InterfaceController.ScrollMouse(callback) ScrollMouse_Handle[callback] = { callback = callback } end local ClientProtocol_Handle = {} function ClientProtocol(Packet, PacketName) for i in pairs(ClientProtocol_Handle) do if ClientProtocol_Handle[i].callback(Packet, PacketName) then return end end ClearPacket(PacketName) end function InterfaceController.ClientProtocol(callback) ClientProtocol_Handle[callback] = { callback = callback } end local PlayerDraw_Handle = {} function PlayerDraw() for i in pairs(PlayerDraw_Handle) do PlayerDraw_Handle[i].callback() end end function InterfaceController.PlayerDraw(callback) PlayerDraw_Handle[callback] = { callback = callback } end -- Bridges p/ os hooks que o cliente (C++) chama por frame: function MainProc() MainProcInterface() end function BeforeMainProc() if PlayerDraw then PlayerDraw() end end function UpdateProc() end function UpdateMouse() end function UpdateKey() end -- Load Definitions OpenFolder("Definitions") -- Load Custom Script OpenFolder("Customs/Config") OpenFolder("Customs/System") return InterfaceController