アイテムのランダム生成の重複を避けたい

こちらはTargetポイントを指定して、2秒おきにランダムでポイントにBPアイテムを配置してくれるノードです。しかし問題があります。

同じ場所に2つアイテムが出てしまいます。重なっていると非常にダサいです。一つ生成されたらそこにはもう一つ生成されないといったやり方などはあるのでしょうか?

一応こちらのリンク先で、英語の方でも聞いており、答えが帰ってきました。翻訳してもなんとなく言ってることは分かるのですが、自分が初心者すぎるのと翻訳すれば大丈夫でしょうと安易な考えで質問してしまい、せっかく丁寧に解説してくださっているのに申し訳ないです。

英語版で回答されたものの翻訳版となりますが
(【配列】がわかっている前提となります)

まずMakeArrayの部分を配列の変数にします
(この画像ではSpawnPointsという名前のもの)

最初のSpawnPointsの中身は
[0]:Point0
[1]:Point1
[2]:Point2

となっています

2秒後にSpawnRandomイベントが動き、配列の中からランダムにポイントを選びます
配列[SpawnPoints]から伸ばしたRandomノードは、配列の中からランダムに内容物を選び出し、何番のものだったかも合わせて返します
(例として[1]のPoint1が選ばれたとします)
RandIndexという変数に、何番が選ばれたかを記録しておきます

SpawnActorの後、RemoveIndexにより先ほど選ばれた[1]のPoint1を配列から除外します

この時のSpawnPointsの中身は
[0]:Point0
[1]:Point2
となっています。

そして2度目のSpawnRandomイベントの時には上記2つからランダムに選ばれて、選ばれたものが配列から消えて…を繰り返すことで、一度使ったポイントを二度選ばれないようにしています。


なお、この画像の処理には2点注意点があります

まず、この処理を続けるといずれ配列の中身が空になり、無を取得してしまいます
そのため、isValidノードで中身がなかったら処理を行わないようにしたりする必要があります

また、横着してRandomノードから直接RemoveIndexにつなぐのも厳禁です
かならず一度変数に保存したうえで渡してください


(横着すると、さっき使ったものと違う番号のものが除外されます)

ありがとうございます!