Difference between revisions of "Osiris/Shared/ProcGetClosestAvailableCharacterTo"

From Divinity Engine Wiki
Jump to: navigation, search
m
m
Line 2: Line 2:
 
* PROC '''ProcGetClosestAvailableCharacterTo'''(''(CHARACTERGUID)'''''_Obj''',''(INTEGER)'''''_SightCheck''')
 
* PROC '''ProcGetClosestAvailableCharacterTo'''(''(CHARACTERGUID)'''''_Obj''',''(INTEGER)'''''_SightCheck''')
 
* PROC '''ProcGetClosestAvailableCharacterTo'''(''(CHARACTERGUID)'''''_Obj''',''(INTEGER)'''''_SightCheck''',''(INTEGER)'''''_PartyCheck''',''(CHARACTERGUID)'''''_Player''')
 
* PROC '''ProcGetClosestAvailableCharacterTo'''(''(CHARACTERGUID)'''''_Obj''',''(INTEGER)'''''_SightCheck''',''(INTEGER)'''''_PartyCheck''',''(CHARACTERGUID)'''''_Player''')
 +
* PROC '''ProcGetClosestAvailableCharacterTo'''(''(CHARACTERGUID)'''''_Obj''',''(INTEGER)'''''_SightCheck''',''(INTEGER)'''''_PartyCheck''',''(CHARACTERGUID)'''''_Player''',''(CHARACTERGUID)'''''_ExceptPlayer''')
 +
 
===== Description =====
 
===== Description =====
 
The first invocation is equivalent to calling the second one with '''_PartyCheck == 0''' and '''_Player == NULL'''.
 
The first invocation is equivalent to calling the second one with '''_PartyCheck == 0''' and '''_Player == NULL'''.
  
+
The second invocation is equivalent to calling the third one with '''_ExceptPlayer === NULL''' .
Gets the closest '''player''' character to '''_Obj''' that is available to start a dialog with '''_Obj'''. Set '''_SightCheck''' to 1 if that character must be able to see '''_Obj'''. If '''_PartyCheck''' is 1, you must also and pass a valid parameter for '''_Player''', and the found player character (if any) will be guaranteed to be in the same party as '''_Player'''.
+
 
 +
Gets the closest '''player''' character to '''_Obj''' that is available to start a dialog with '''_Obj'''. Set '''_SightCheck''' to 1 if that character must be able to see '''_Obj'''. If '''_PartyCheck''' is 1, you must also and pass a valid parameter for '''_Player''', and the found player character (if any) will be guaranteed to be in the same party as '''_Player'''. If '''_ExceptPlayer''' is not NULL, then this routine will consider '''_ExceptPlayer''' to be unavailable even if they pass the other checks.
 +
 
 
===== Return Values =====
 
===== Return Values =====
 
* '''DB_ClosestAvailablePlayer'''(''(CHARACTERGUID)'''''_Char''''',(CHARACTERGUID)'''''_Obj'''): closest player that can start a dialog with '''_Obj''' (conforming to all requested conditions), if any.
 
* '''DB_ClosestAvailablePlayer'''(''(CHARACTERGUID)'''''_Char''''',(CHARACTERGUID)'''''_Obj'''): closest player that can start a dialog with '''_Obj''' (conforming to all requested conditions), if any.
 
* '''DB_ClosestAvailablePlayer_NoAvailablePlayer'''(''(CHARACTERGUID)'''''_Obj'''): Set if no player character is available that conforms to the requested conditions.
 
* '''DB_ClosestAvailablePlayer_NoAvailablePlayer'''(''(CHARACTERGUID)'''''_Obj'''): Set if no player character is available that conforms to the requested conditions.
 +
 
===== Notes =====
 
===== Notes =====
 
* /
 
* /
 +
 
===== See Also =====
 
===== See Also =====
 
* [[Osiris/API/GetClosestAlivePlayer|GetClosestAlivePlayer]]
 
* [[Osiris/API/GetClosestAlivePlayer|GetClosestAlivePlayer]]
 
   
 
   
 
[[Category:Osiris Shared Mod Helpers]]
 
[[Category:Osiris Shared Mod Helpers]]

Revision as of 17:07, 30 August 2017

Full Definition(s)
  • PROC ProcGetClosestAvailableCharacterTo((CHARACTERGUID)_Obj,(INTEGER)_SightCheck)
  • PROC ProcGetClosestAvailableCharacterTo((CHARACTERGUID)_Obj,(INTEGER)_SightCheck,(INTEGER)_PartyCheck,(CHARACTERGUID)_Player)
  • PROC ProcGetClosestAvailableCharacterTo((CHARACTERGUID)_Obj,(INTEGER)_SightCheck,(INTEGER)_PartyCheck,(CHARACTERGUID)_Player,(CHARACTERGUID)_ExceptPlayer)
Description

The first invocation is equivalent to calling the second one with _PartyCheck == 0 and _Player == NULL.

The second invocation is equivalent to calling the third one with _ExceptPlayer === NULL .

Gets the closest player character to _Obj that is available to start a dialog with _Obj. Set _SightCheck to 1 if that character must be able to see _Obj. If _PartyCheck is 1, you must also and pass a valid parameter for _Player, and the found player character (if any) will be guaranteed to be in the same party as _Player. If _ExceptPlayer is not NULL, then this routine will consider _ExceptPlayer to be unavailable even if they pass the other checks.

Return Values
  • DB_ClosestAvailablePlayer((CHARACTERGUID)_Char,(CHARACTERGUID)_Obj): closest player that can start a dialog with _Obj (conforming to all requested conditions), if any.
  • DB_ClosestAvailablePlayer_NoAvailablePlayer((CHARACTERGUID)_Obj): Set if no player character is available that conforms to the requested conditions.
Notes
  • /
See Also