This article's documentation is for anything that uses the Source engine. Click here for more information.

EF NODRAW: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
 
mNo edit summary
 
(12 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{wrongtitle|title=EF_NODRAW}}
{{LanguageBar|_=1}}
'''EF_NODRAW''' is defined as 0x020, or 32.
{{tabsBar|main=gs|base=EF_NODRAW}}
{{back|Effect flags}}
{{source topicon}}
[[EF_NODRAW]] prevents ''any'' data about an entity from being transmitted to the client, without affecting it on the server. In other words, it makes the entity disappear from the player's view without deleting it.


To prevent an entity from being networked to the client, also preventing it from being rendered, turn off SmartEdit mode and add the following keyvalue pair to the entity: <code>effects 32</code>.
It is defined as 0x020, or 32.
 
{{note|Since the client doesn't draw entities with this at all, collisions may be strange in multiplayer games.}}
 
{{effect|32|mapcfg=
Starting with {{Portal2|4}}, this effect can be toggled via the <code>Enable</code>/<code>DisableDraw</code> inputs.
 
In earlier titles, you must turn off SmartEdit mode and add the following keyvalue pair to the entity: <code style=padding:0>effects 32</code>.
 
{{note|If it is desired to use this with other [[effects enum|effects]], you should add the integer value of each effect to the value.}}
 
You can set the <code>effects</code> keyvalue during runtime using {{ent|AddOutput}} with the input value <code>effects x</code> (x being any summation of effects flags to enable).
 
{{warning|Using <code>AddOutput</code> to change an entity's effects may interfere with an entity's simulation functionality.}}
}}


{{note|If it is desired to use this with other [[effects]], you should add the integer value of each effect to the value.}}
[[Category:Constants]]
[[Category:Constants]]
[[Category:Effect flags]]

Latest revision as of 15:12, 15 September 2024

English (en)Translate (Translate)
Effect flags

EF_NODRAW prevents any data about an entity from being transmitted to the client, without affecting it on the server. In other words, it makes the entity disappear from the player's view without deleting it.

It is defined as 0x020, or 32.

Note.pngNote:Since the client doesn't draw entities with this at all, collisions may be strange in multiplayer games.

Usage

In code

Inside of the codebase, effects are defined as a bit-based enum and are stored in m_fEffects. This effect can be manipulated with AddEffects( EF_NODRAW ), RemoveEffects( EF_NODRAW ), and SetEffects( EF_NODRAW ). This effect can be obtained with GetEffects() & EF_NODRAW or IsEffectActive( EF_NODRAW ).

In scripting

The functions mentioned above are supported in VScript starting with Dota 2 Dota 2 . They can also be found in Garry's Mod Garry's Mod .

In a map

Starting with Portal 2 Portal 2, this effect can be toggled via the Enable/DisableDraw inputs.

In earlier titles, you must turn off SmartEdit mode and add the following keyvalue pair to the entity: effects 32.

Note.pngNote:If it is desired to use this with other effects, you should add the integer value of each effect to the value.

You can set the effects keyvalue during runtime using AddOutput with the input value effects x (x being any summation of effects flags to enable).

Warning.pngWarning:Using AddOutput to change an entity's effects may interfere with an entity's simulation functionality.