-snip-
in a way this is correct but there's a more reliable way to randomize the dice roll. you can have an onVariableTrue use the default incScore function in client to remove 50 points from the player before checking ifRandomDice
under event line 1, you should have
2 onVariableTrue -> Self -> VCE_modVariable -> [rolldice] SET [0]
3 onVariableTrue -> Self -> VCE_modVariable -> [rolldice] RANDOM [6]
4 onVariableTrue -> Client -> incScore -> [-50]
5 onVariableTrue -> Client -> BottomPrint -> "Mystery Box Item Purchased!"
rolldice is going to be a brick variable (it can be a player/client variable) that will act as a dice for whole numbers. don't know if setting the variable to 0 before random is required but it's probably best to have one there anyway.
after that's done, change all VCE_retroCheck events to VCE_ifVariable and have it check if the brick variable rolldice == 1, rolldice == 2, and so on in the same way it did with retroCheck.
anything under onActivate at line 11 in the picture can go.