I don’t fully understand what’s happening but I have a couple of theories.
When you pick random animations, there could be duplicates. If there are then the price gets added. Although, because the events are only expecting 1 object they can’t add more than 1 text object. It adds 1 text object for the older object or since it’s a group, it might be the object that was added to the group list the earliest.
Either way, it only adds 1 text object and because of the trigger once, it won’t add another.
Now the 2nd issue. Say a sword was picked on the first roll. If a sword is picked on the 2nd roll (or a repick when the items are the same multiple times) , I don’t think it will trigger again. A different object might have the sword animation but since it’s using a group list, the trigger once didn’t get reset. To clear the trigger once all of the objects would have to not be the selected animation.
My recommendations.
If the text objects are always going to be in the same place then they don’t need to be added and deleted each time.
You could add and link them at the beginning with a for each object using the group name. You would then just need to pick the linked objects.
You could simplify the adding of the prices by using a structure with the prices. Get the price using the animation name as the child name. It’s best (required to) not use spaces with child names , so the animation names shouldn’t have spaces. Another option would be to have the price at the end of the animation name and use SubStr() to get the last say 3 characters. I prefer the structure.
As for picking the items. There are a lot of posts about picking random numbers. My preferred method is to create an array with the animation numbers, say 0,1, 2. Shuffle the array and then there’s an array tools action that removes the value from the array. That way, you can’t get duplicates. You then recreate the array before picking new numbers. Again, there are a lot of threads about picking numbers that don’t repeat.
Try to simplify and fix things. If you need more help, we’re all here at various times.
Here’s a concept.
At the beginning add the text and link
When you roll
Create an array with the possible animation numbers. You can use repeat with a variable counter or the array tools split a string into an array action.
Use for each object to pick a random item for each object in the group. The action removes the item from the array and assigns it to a variable. Use that variable to set the animation.
Pick the text linked to the object.
Use the value in a price structure to change the text to the price and set the objects price variable.
All of the events should be subevents of the roll button. There’s no need to have them processed on every frame.