Difference between revisions of "Osiris/Shared/DB OneShotPlayerTrigger"

From Divinity Engine Wiki
Jump to: navigation, search
(Created page with "===== Full Definition(s) ===== * '''DB OneShotPlayerTrigger'''(''(TRIGGERGUID)'''''_Trigger''') * '''ProcOneShotTriggerEntered'''(''(CHARACTERGUID)'''''_Player''',''(TRIGGERGU...")
 
m
 
(2 intermediate revisions by 2 users not shown)
Line 5: Line 5:
 
Adding a trigger to the database [[Osiris/Shared/ProcTriggerRegisterForPlayers|registers]] the '''_Trigger''' for all players and ensures the trigger only fires once, calling the [[Osiris/Shared/ProcOneShotTriggerEntered|ProcOneShotTriggerEntered]] procedure when this happens, with the entering '''_Player''' and the '''_Trigger''' as parameters.
 
Adding a trigger to the database [[Osiris/Shared/ProcTriggerRegisterForPlayers|registers]] the '''_Trigger''' for all players and ensures the trigger only fires once, calling the [[Osiris/Shared/ProcOneShotTriggerEntered|ProcOneShotTriggerEntered]] procedure when this happens, with the entering '''_Player''' and the '''_Trigger''' as parameters.
 
===== Notes =====
 
===== Notes =====
* Simply unregistering the trigger when it is first triggered is not safe: if the party teleports somewhere together, multiple events may be thrown simultaneously.
+
* Simply registering a trigger and then unregistering it when you get the first [[Osiris/API/CharacterEnteredTrigger|CharacterEnteredTrigger]] event is not safe: if the party teleports somewhere together, multiple events may be thrown simultaneously.
 
===== See Also =====
 
===== See Also =====
 
* [[Osiris/Shared/ProcTriggerRegisterForPlayers|ProcTriggerRegisterForPlayers]]
 
* [[Osiris/Shared/ProcTriggerRegisterForPlayers|ProcTriggerRegisterForPlayers]]
 +
 +
 +
[[Category:Osiris Shared Mod Helpers|OneShotPlayerTrigger]]

Latest revision as of 12:04, 30 November 2018

Full Definition(s)
  • DB OneShotPlayerTrigger((TRIGGERGUID)_Trigger)
  • ProcOneShotTriggerEntered((CHARACTERGUID)_Player,(TRIGGERGUID)_Trigger)
Description

Adding a trigger to the database registers the _Trigger for all players and ensures the trigger only fires once, calling the ProcOneShotTriggerEntered procedure when this happens, with the entering _Player and the _Trigger as parameters.

Notes
  • Simply registering a trigger and then unregistering it when you get the first CharacterEnteredTrigger event is not safe: if the party teleports somewhere together, multiple events may be thrown simultaneously.
See Also