Difference between revisions of "Osiris/API/IterateUsers"

From Divinity Engine Wiki
Jump to: navigation, search
m
m
Line 4: Line 4:
 
Throws a [[Osiris/API/UserEvent|user event]] for each [[Osiris/API/CharacterGetReservedUserID|user]] in the game.
 
Throws a [[Osiris/API/UserEvent|user event]] for each [[Osiris/API/CharacterGetReservedUserID|user]] in the game.
 
===== Notes =====
 
===== Notes =====
* No special event is thrown after the last user has been iterated. You can use [[Osiris/API/GetUserCount|GetUserCount]] in advance to record the number of users and decrease it every time you get a user event, but keep in mind this creates a (very unlikely) race condition in case someone connects while the events are still firing.
+
* No special event is thrown after the last user has been iterated. You can use [[Osiris/API/GetUserCount|GetUserCount]] in advance to record the number of users and decrease it every time you get a user event. Note that users could join/leave while the events are still queued, so you may get events for users that just disconnected and miss events for users that just joined. If possible, it is better to rely on [[Osiris/API/CharacterReservedUserIDChanged|CharacterReservedUserIDChanged]] events.
 
===== See Also =====
 
===== See Also =====
 
* [[Osiris/API/CharacterAssignToUser|CharacterAssignToUser]]
 
* [[Osiris/API/CharacterAssignToUser|CharacterAssignToUser]]

Revision as of 16:00, 28 November 2017

Full Definition(s)
  • call IterateUsers((STRING)_Event)
Description

Throws a user event for each user in the game.

Notes
  • No special event is thrown after the last user has been iterated. You can use GetUserCount in advance to record the number of users and decrease it every time you get a user event. Note that users could join/leave while the events are still queued, so you may get events for users that just disconnected and miss events for users that just joined. If possible, it is better to rely on CharacterReservedUserIDChanged events.
See Also