Difference between revisions of "Osiris/API/CharacterSetForceUpdate"

From Divinity Engine Wiki
Jump to: navigation, search
m
m (ForceUpdate does not imply ForceSynch)
Line 7: Line 7:
 
* If this function is called while the character was inactive, it will '''''not'''''  make it active. It will only keep the character active once it has become active due to a player being nearby, or if it receives an event.
 
* If this function is called while the character was inactive, it will '''''not'''''  make it active. It will only keep the character active once it has become active due to a player being nearby, or if it receives an event.
 
* Characters that are in combat are automatically force updated for the duration of the combat.
 
* Characters that are in combat are automatically force updated for the duration of the combat.
 +
* While this call causes the server to keep the character active and execute its behaviour scripts, it does not force the character to be visible on client. This means that if no player is nearby, moving the camera to this character's location will not show it. Use [[Osiris/API/CharacterSetForceSynch|CharacterSetForceSynch]] to force updating its visuals on client as well.
 
* There is no similar call for items.
 
* There is no similar call for items.
  

Revision as of 12:23, 23 November 2017

Full Definition(s)
  • call CharacterSetForceUpdate((CHARACTERGUID)_Character, (INTEGER)_Bool)
Description

Reactions from behaviour scripts are only active if at least one player character is "nearby" (currently: within 30 meters). This routine can be used to force _Character's reactions to remain active even if no player character are nearby, by passing 1 as _Bool. Once the character's behaviours no longer need to remain permanently active, you can make its activity status again depend on the nearness of a player character by calling it with 0 as _Bool.

Notes
  • Use this functionality very sparingly, as it can easily lead to a lot of unnecessary overhead.
  • If this function is called while the character was inactive, it will not make it active. It will only keep the character active once it has become active due to a player being nearby, or if it receives an event.
  • Characters that are in combat are automatically force updated for the duration of the combat.
  • While this call causes the server to keep the character active and execute its behaviour scripts, it does not force the character to be visible on client. This means that if no player is nearby, moving the camera to this character's location will not show it. Use CharacterSetForceSynch to force updating its visuals on client as well.
  • There is no similar call for items.
See Also