mirror of
https://github.com/edubart/otclient.git
synced 2025-04-29 17:19:20 +02:00

Lots of chagnes to add multi protocol flexibility, not really completed yet, still have to rework text messages opcodes and other stuff, so this still a working in progress feature * Rework dat reader, the dat reader can now * dinamically detect dat version * Split game into gamelib and game_interface * Lots of other minor changes
24 lines
510 B
Lua
24 lines
510 B
Lua
local opcodeCallbacks = {}
|
|
|
|
function ProtocolGame:onOpcode(opcode, msg)
|
|
for i, callback in pairs(opcodeCallbacks) do
|
|
if i == opcode then
|
|
callback(msg)
|
|
return true
|
|
end
|
|
end
|
|
return false
|
|
end
|
|
|
|
function ProtocolGame.registerOpcode(opcode, callback)
|
|
if opcodeCallbacks[opcode] then
|
|
error('opcode ' .. opcode .. ' already registered will be overriden')
|
|
end
|
|
|
|
opcodeCallbacks[opcode] = callback
|
|
end
|
|
|
|
function ProtocolGame.unregisterOpcode(opcode)
|
|
opcodeCallbacks[opcode] = nil
|
|
end
|