Garry's Mod Wiki

Revision Difference

net.WriteTable#552640

<function name="WriteTable" parent="net" type="libraryfunc"> <description> Appends a table to the current net message. Adds **16 extra bits** per key/value pair, so you're better off writing each individual key/value as the exact type if possible. <warning>All net messages have a **64kb** buffer. This function will not check or error when that buffer is overflown. You might want to consider using <page>util.TableToJSON</page> and <page>util.Compress</page> and send the resulting string in **60kb** chunks, doing the opposite on the receiving end.</warning> </description> <realm>Shared</realm> <file line="139-L166">lua/includes/extensions/net.lua</file> <args> <arg name="table" type="table">The table to be sent. <warning>If the table contains a `nil` key the table may not be read correctly. Not all objects can be sent over the network. Things like functions, <page>IMaterial</page>s, etc will cause errors when reading the table from a net message.</warning></arg> <arg name="sequential" type="boolean" default="false">Set to `true` if the input table is sequential. This saves on bandwidth, adding **8 extra bits** per key/value pair instead of 16 bits. ⤶ <note>This was just added in the latest version (2023.09.06). It might only be available on the [Dev Branch](/gmod/Dev_Branch) right now. ⤶ To read the table you need to give <page>net.ReadTable</page> the same value!⤶ </note>⤶ <arg name="sequential" type="boolean" default="false" added="2023.09.06">Set to `true` if the input table is sequential. This saves on bandwidth, adding **8 extra bits** per key/value pair instead of 16 bits. ⤶ <note>To read the table you need to give <page>net.ReadTable</page> the same value!</note>⤶ </arg> </args> </function>