Garry's Mod Wiki

net.WriteUInt

  net.WriteUInt( number unsignedInteger, number bitCount )

Description

Appends an unsigned integer with the specified number of bits to the current net message.

Use net.WriteInt if you want to send negative and positive numbers. Use net.WriteFloat for a non-whole number (e.g. 2.25).

Unsigned numbers do not support negative numbers.

Arguments

1 number unsignedInteger
The unsigned integer to be sent.
2 number bitCount
The size of the integer to be sent, in bits. Acceptable values range from any number 1 to 32 inclusive.

For reference: 1 = bit, 4 = nibble, 8 = byte, 16 = short, 32 = long.

Consult the table below to determine the bit count you need. The minimum value for all bit counts is 0.

Bit Count Maximum value
1 1
2 3
3 7
4 15
5 31
6 63
7 127
8 255
9 511
10 1023
11 2047
12 4095
13 8191
14 16383
15 32767
16 65535
17 131071
18 262143
19 524287
20 1048575
21 2097151
22 4194303
23 8388607
24 16777215
25 33554431
26 67108863
27 134217727
28 268435455
29 536870911
30 1073741823
31 2147483647
32 4294967295

Example

Sends the server the client's age.

-- Client net.Start( "SendAge" ) net.WriteUInt( 3, 2 ) -- Only 2 bits are needed to store the number "3". net.SendToServer() -- Server util.AddNetworkString( "SendAge" ) net.Receive( "SendAge", function( len, ply ) local age = net.ReadUInt( 2 ) -- use the same number of bits that were written. print("Player " .. ply:Nick() .. " is " .. age .. " years old.") end )
Output:
Player <name> is 3 years old.