From Garry's Mod
Jump to: navigation, search
 Entity:NetworkVar( )



Creates a network variable on the entity and adds Set/Get functions for it. This function should only be called in ENTITY:SetupDataTables.


string type

Supported choices:

  • "String"
  • "Bool"
  • "Float"
  • "Int" (32-bit signed integer)
  • "Vector"
  • "Angle"
  • "Entity"


number slot

Each network var has to have a unique slot. The slot is per type - so you can have an int in slot 0, a bool in slot 0 and a float in slot 0 etc. but you can't have two ints in slot 0 instead you would do a int in slot 0 and another int in slot 1.

The max slots right now are 32 - so you should pick a number between 0 and 31. An exception to this is strings which has a max slots of 4.


string name

The name will affect how you access it. If you call it "Foo" you would add two new functions on your entity - SetFoo and GetFoo. So be careful that what you call it won't collide with any existing functions (don't call it "Pos" for example).


table extended=nil

A table of extended information.


If the table contains a "KeyName" key the value can be set using Entity:SetKeyValue. This is useful if you're making an entity that you want to be loaded in a map. The sky entity uses this.


The edit key lets you mark this variable as editable. See Editable Entities for more information.



Setting up data tables

function ENT:SetupDataTables()

	self:NetworkVar( "Float", 0, "Amount" )
	self:NetworkVar( "Vector", 0, "StartPos" )
	self:NetworkVar( "Vector", 1, "EndPos" )


-- Code...

-- Setting values on the entity
self:SetStartPos( Vector( 1, 0, 0 ) )
self:SetAmount( 100 )

-- Code...

-- Getting values
local startpos = self:GetStartPos()

Personal tools