bb:GetDataBitsLength():numberLength of the buffer in bits.
Read and write binary buffers — the payload of user messages.
bb:GetDataBitsLength():numberLength of the buffer in bits.
bb:GetDataBytesLength():numberLength of the buffer in bytes.
bb:Reset()Reset the read and write positions.
bb:ReadByte():number, numberRead one byte; returns (value, current bit).
bb:ReadBit():number, numberRead one bit; returns (value, current bit).
bb:ReadFloat(bits?:number):number, numberRead a float; returns (value, current bit).
bb:ReadInt(bits?:number):number, numberRead an int; returns (value, current bit).
bb:ReadString(maxLen:number):string, numberRead a string; returns (value, current bit).
bb:GetCurBit():numberCurrent read position in bits.
bb:SetCurBit(bit:number)Seek to a bit position.
bb:WriteBit(bit:number)Write one bit.
bb:WriteByte(value:number)Write one byte.
bb:WriteString(value:string)Write a length-prefixed string.
bb:WriteInt(value:number, bits?:number)Write an int with an optional bit count.
bb:WriteFloat(value:number, bits?:number)Write a float; optional bit length defaults to 32.
bb:Delete()Release the buffer's underlying data.
Parses the text of a SayText2 chat message (user message 4) out of its bit buffer.
callbacks.Register("DispatchUserMessage", function(um)
if um:GetID() ~= E_UserMessage.SayText2 then return end
local buf = um:GetBitBuffer()
buf:ReadByte() -- client index
buf:ReadByte() -- sender index
local text = buf:ReadString(256)
print("chat:", text)
end)