Difference between revisions of "Osiris/Shared/ProcGetClosestAvailableCharacterTo"
From Divinity Engine Wiki
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
- /