Garry's Mod Wiki

Revision Difference

net.ReadTable#547384

<function name="ReadTable" parent="net" type="libraryfunc"> <description> Reads a table from the received net message. <note>Sometimes when sending a table through the net library, the order of the keys may be switched. So be cautious when comparing (See example 1).</note> <warning>You **must** read information in same order as you write it.</warning> See <page>net.WriteTable</page> for extra info. You may get `net.ReadType: Couldn't read type X` during the execution of the function, the problem is that you are sending objects that **cannot** be serialized/sent over the network. </description> <realm>Shared</realm> <file line="115-L128">lua/includes/extensions/net.lua</file> <file line="123-L136">lua/includes/extensions/net.lua</file> <rets> <ret name="" type="table">Table recieved via the net message, or a blank table if no table could be read.</ret> </rets> </function> <example> <description>This is an example of how the keys order may be switched:</description> <code> -- Client: local tbl = { Type = "Dining", Legs = "4", Material = "Wood" } net.Start( "TableSend" ) net.WriteTable( tbl ) net.SendToServer() PrintTable( tbl ) -- Prints the order client-side. -- Server: net.Receive( "TableSend", function( len, ply ) PrintTable( net.ReadTable() ) -- Prints the order server-side. end ) </code> <output> Client: ``` Type = "Dining" Legs = 4 Material = "Wood" ``` Server: ``` Legs = 4 Material = "Wood" Type = "Dining" ``` </output> </example>