Garry's Mod Wiki

Revision Difference

Networking_Entities#561740

<title>Networking Variables on Entities</title>⤶ <cat>Dev.Entities</cat> # Data Table Variables These variables are the preferred method as they use the built in network variable system, so they get networked, saved and predicted properly. You should use this method by default. To add a new variable simply add a SetupDataTables() function to it. For example. ``` function ENT:SetupDataTables() self:NetworkVar( "Float", 0, "Amount" ) self:NetworkVar( "Vector", 0, "BloodPos" ) self:NetworkVar( "Vector", 1, "UrinePos" ) end ``` <note>Network variables should be defined both on server and client.</note> You have now defined three variables on your entity. You can access these variables like this: ``` local bloodpos = self:GetBloodPos() ``` And set them like: ``` self:SetBloodPos( Vector( 1, 0, 0 ) ) self:SetAmount( 100 ) ``` You can of course set and get from outside of the entity: ``` MyEntity:GetAmount() ``` <note> The String type has a length limit of 512 chars. If there are Strings that are repeatedly used in your entity, it is a good idea to store those Strings in a table and network the table index of the String, rather than networking the entire String each time. </note>