Garry's Mod Wiki

Revision Difference

net.WriteVector#510718

<function name="WriteVector" parent="net" type="libraryfunc">⤶ <description>⤶ Appends a vector to the current net message.⤶ Vectors sent by this function are compressed, which may result in precision loss. XYZ components greater than 16384 or less than -16384 are irrecoverably altered (most significant bits are trimmed) and precision after the decimal point is low.⤶ </description>⤶ <realm>Shared</realm>⤶ <args>⤶ <arg name="vector" type="Vector">The vector to be sent.</arg>⤶ </args>⤶ </function>⤶ ⤶ <example>⤶ <description>Create a serverside command to send a vector to all clients, and a function to receive the vector on the clientside. This example displays the vector compression discussed above.</description>⤶ <code>⤶ if SERVER then⤶ ⤶ util.AddNetworkString("testingvecs")⤶ function testvecs_sv()⤶ net.Start("testingvecs")⤶ net.WriteVector(Vector(10000, 20000, -20000.123456789))⤶ net.Broadcast()⤶ end⤶ concommand.Add("dovectest", testvecs_sv)⤶ ⤶ elseif CLIENT then⤶ ⤶ function testvecs_cl(len)⤶ print("RECV: vec = " .. tostring(net.ReadVector()) .. "\n")⤶ end⤶ net.Receive("testingvecs", testvecs_cl)⤶ ⤶ end⤶ </code>⤶ <output>RECV: vec = 10000.000000 3616.000000 -3616.093750</output>⤶ ⤶ </example>