| Next revision | Previous revision |
| actor_properties [2017/06/13 11:39] – created korshun | actor_properties [2017/07/04 12:06] (current) – korshun |
|---|
| | ====== Actor properties ====== |
| | ACSUtils provides wrapper functions for all actor properties. For every property ''**PropertyName**'', ACSUtils provides two functions: |
| | |
| | ''type GetActor**PropertyName**(int tid)'' |
| | |
| | ''void SetActor**PropertyName**(int tid, type value)'' |
| | |
| <note important>The only exception is that [[zdoom>GetActorViewHeight]] is a native ZDoom function that takes crouching into account. To access the actual value of the ViewHeight property, use ''GetActorProperty(tid, APROP_ViewHeight)''.</note> | <note important>The only exception is that [[zdoom>GetActorViewHeight]] is a native ZDoom function that takes crouching into account. To access the actual value of the ViewHeight property, use ''GetActorProperty(tid, APROP_ViewHeight)''.</note> |
| | |
| | ===== Network optimization ===== |
| | |
| | All ''SetActor**PropertyName**'' functions first call [[zdoom>GetActorProperty]] and compare the new value of the property to the current one. If both values are the same, [[zdoom>SetActorProperty]] is **not** called. This automatically optimizes bandwidth use in Zandronum multiplayer. |
| | |
| | <code> |
| | function void SetActorHealth(int tid, int Health) |
| | { |
| | if (GetActorProperty(tid, APROP_Health) != Health) |
| | SetActorProperty(tid, APROP_Health, Health); |
| | } |
| | </code> |
| | |
| | Some actor properties are optimized by zandronum itself. However, the set of optimized actor properties depends on zandronum version, and not all actor properties are currently optimized (https://zandronum.com/tracker/view.php?id=1609). |
| | |
| | <note important>All string properties are compared in a case-insensitive way before being set. This means, for example, that ''%%SetActorNameTag(0, "Thing")%%'' will not call ''SetActorProperty'' if the **NameTag** property is already set to ''%%"thing"%%''.</note> |
| | |
| | ===== List of all properties ===== |
| |
| ^ type ^ Name ^ | ^ type ^ Name ^ |