mirror of
https://github.com/ErikasKontenis/SabrehavenServer.git
synced 2025-10-16 23:33:27 +02:00
fix items, map, protocls
This commit is contained in:
51
800OTClient/modules/corelib/inputmessage.lua
Normal file
51
800OTClient/modules/corelib/inputmessage.lua
Normal file
@@ -0,0 +1,51 @@
|
||||
function InputMessage:getData()
|
||||
local dataType = self:getU8()
|
||||
if dataType == NetworkMessageTypes.Boolean then
|
||||
return numbertoboolean(self:getU8())
|
||||
elseif dataType == NetworkMessageTypes.U8 then
|
||||
return self:getU8()
|
||||
elseif dataType == NetworkMessageTypes.U16 then
|
||||
return self:getU16()
|
||||
elseif dataType == NetworkMessageTypes.U32 then
|
||||
return self:getU32()
|
||||
elseif dataType == NetworkMessageTypes.U64 then
|
||||
return self:getU64()
|
||||
elseif dataType == NetworkMessageTypes.NumberString then
|
||||
return tonumber(self:getString())
|
||||
elseif dataType == NetworkMessageTypes.String then
|
||||
return self:getString()
|
||||
elseif dataType == NetworkMessageTypes.Table then
|
||||
return self:getTable()
|
||||
else
|
||||
perror('Unknown data type ' .. dataType)
|
||||
end
|
||||
return nil
|
||||
end
|
||||
|
||||
function InputMessage:getTable()
|
||||
local ret = {}
|
||||
local size = self:getU16()
|
||||
for i=1,size do
|
||||
local index = self:getData()
|
||||
local value = self:getData()
|
||||
ret[index] = value
|
||||
end
|
||||
return ret
|
||||
end
|
||||
|
||||
function InputMessage:getColor()
|
||||
local color = {}
|
||||
color.r = self:getU8()
|
||||
color.g = self:getU8()
|
||||
color.b = self:getU8()
|
||||
color.a = self:getU8()
|
||||
return color
|
||||
end
|
||||
|
||||
function InputMessage:getPosition()
|
||||
local position = {}
|
||||
position.x = self:getU16()
|
||||
position.y = self:getU16()
|
||||
position.z = self:getU8()
|
||||
return position
|
||||
end
|
Reference in New Issue
Block a user