Please Help, How to Randomize outcomes of Triggerboxes?

Okay, what I would do is (examples are pseudocode, not C++):

First, assume 5 boxes, and 5 different outcomes.

At the start of the game session, randomize the outcomes array:

[0, 1, 2, 3, 4] => [1, 4, 3, 0, 2] (random)

Then, also at the start of the game session (after randomizing the array), assign each box its outcome:

Box0.Outcome = Outcomes[0];
Box1.Outcome = Outcomes[1];
Box2.Outcome = Outcomes[2];
Box3.Outcome = Outcomes[3];
Box4.Outcome = Outcomes[4];

This way, every game session, each box has a unique randomized outcome.
Usually, the start of the game session if represented by the Event BeginPlay, but it could also be a custom event.

Alternatively, we could make each box choose a random outcome, without ensuring every outcome is unique and present, to do so:

Outcomes = [0, 1, 2, 3, 4]; # Not randomized

# In this case, Outcomes.Num() returns the length of the array (5)
# Assume that Random(start, end) choses a random int between start and end (included)

Box0.Outcome = Outcomes[Random(0, Outcomes.Num() - 1)];
Box1.Outcome = Outcomes[Random(0, Outcomes.Num() - 1)];
Box2.Outcome = Outcomes[Random(0, Outcomes.Num() - 1)];
Box3.Outcome = Outcomes[Random(0, Outcomes.Num() - 1)];
Box4.Outcome = Outcomes[Random(0, Outcomes.Num() - 1)];

This would make every box roll a random independant outcome, so it could be all unique or even all the same.