Hi Detect. CharacterLaunchIterator calls the event you specify (a string value) on every character in the current level.

Example:
Code
IF
GameStarted(_,_)
THEN
CharacterLaunchIterator("Detect_Events_OnCharacterIterate");

IF
StoryEvent((CHARACTERGUID)_Character, "Detect_Events_OnCharacterIterate")
AND
_Character != NULL_00000000-0000-0000-0000-000000000000
AND
CharacterGetDisplayName(_Character,_,_Name)
AND
StringConcatenate("[Detect] Iterator ran on ", _Name, _Message)
THEN
DebugBreak(_Message);

IF
StoryEvent(NULL_00000000-0000-0000-0000-000000000000, "Detect_Events_OnCharacterIterate")
THEN
DebugBreak("[Detect] Character iteration finished.");


As you can see here, it's pretty straightforward. The iterator simply creates an event, with the name you specify, for each character in the current level. Then, once that's done, it calls the event one last time for the value of a null GUIDSTRING (NULL_00000000-0000-0000-0000-000000000000).