Garry's Mod Wiki

Revision Difference

net.WriteInt#551497

<function name="WriteInt" parent="net" type="libraryfunc"> <description> Appends an integer - a whole number - to the current net message. Can be read back with <page>net.ReadInt</page> on the receiving end. Appends a signed integer - a whole number, positive/negative - to the current net message. Can be read back with <page>net.ReadInt</page> on the receiving end. Use <page>net.WriteUInt</page> to send an unsigned number (that you know will **never** be negative). Use <page>net.WriteFloat</page> for a non-whole number (e.g. `2.25`). </description> <realm>Shared</realm> <args> <arg name="integer" type="number">The integer to be sent.</arg> <arg name="bitCount" type="number">The amount of bits the number consists of. This must be **32** or less. If you are unsure what to set, just set it to `32`. Consult the table below to determine the bit count you need: | Bit Count | Minimum value | Maximum value | |-----------|:--------------:|:--------------:| | 3 | -4 | 3 | | 4 | -8 | 7 | | 5 | -16 | 15 | | 6 | -32 | 31 | | 7 | -64 | 63 | | 8 | -128 | 127 | | 9 | -256 | 255 | | 10 | -512 | 511 | | 11 | -1024 | 1023 | | 12 | -2048 | 2047 | | 13 | -4096 | 4095 | | 14 | -8192 | 8191 | | 15 | -16384 | 16383 | | 16 | -32768 | 32767 | | 17 | -65536 | 65535 | | 18 | -131072 | 131071 | | 19 | -262144 | 262143 | | 20 | -524288 | 524287 | | 21 | -1048576 | 1048575 | | 22 | -2097152 | 2097151 | | 23 | -4194304 | 4194303 | | 24 | -8388608 | 8388607 | | 25 | -16777216 | 16777215 | | 26 | -33554432 | 33554431 | | 27 | -67108864 | 67108863 | | 28 | -134217728 | 134217727 | | 29 | -268435456 | 268435455 | | 30 | -536870912 | 536870911 | | 31 | -1073741824 | 1073741823 | | 32 | -2147483648 | 2147483647 | </arg> </args> </function> <example> <description>Sends the server the client's age.</description> <code> -- Client net.Start( "SendAge" ) net.WriteInt( 3, 3 ) -- Only 2 bits are needed to store the number "3", but we add one because of the rule. net.SendToServer() -- Server util.AddNetworkString( "SendAge" ) net.Receive( "SendAge", function( len, ply ) local age = net.ReadInt( 3 ) -- use the same number of bits that were written. print("Player " .. ply:Nick() .. " is " .. age .. " years old.") end ) </code> <output>Player `<name>` is 3 years old.</output> </example>