Verschiedene Actors im Array speichern
- SmartySmart702
- Erledigt
-
-
Du hohlst dir irgendwo eine Referenz, ziehst da die blaue Linie raus und suchst nach "MakeArray".
Du kannst auch eine Neue Variable vom Typ ">>KlassenName<< Reference" benutzen, also in deinem Fall "Baum_Actor Reference", die Variable zu einem Array machen, und dann mit Add, und den anderen Array-Befehlen arbeiten. -
Vielen Dank für deine Antwort!
Wenn ich "Baum_Actor Reference" verwende kann ich aber doch nicht Busch_Actor in diesen Array packen und genau das will ich ja. Also ich will Baum_Actor und Busch_Actor in den gleichen Array packen und dann z.b. den letzten Actor im Array löschen, dass kann dann Baum_Actor oder Busch_Actor sein. -
Mach es doch einfach wie ein Inventar, es gibt nur ein Plant_Actor, aber mit verschiedenen IDs, wenn ID 0 ist es ein Baum, wenn ID 1 ist es ein Busch.
Wenn du den letzten Actor im Array löschen willst, machst ein "Last Index" und das Int daraus geht in "Remove Index" rein.Ich vermute mal du willst Pflanzen abbauen können, dann mach das doch einfach mit Foliage (klick den Link)
-
Nur ein Actor für beides zu verwenden wäre schwierig/aufwendiger und die Namen waren wirklich nur ein Beispiel.
Ich spawne entweder Actor A oder Actor B und diese immer hintereinander (A=80% spwan Wahrscheinlichkeit, B=20% spawn Wahrscheinlichkeit) und ich möchte nach jedem Spawn den jeweiligen Actor in EINEN Array packen damit ich später von hinten wieder die Actors löschen kann, also sobald insgesamt 20 Actors da sind wird, sobald wieder einer gespawnt wird, der älteste bzw letzte im Array gelöscht. -
-
Das mit dem Master-Blueprint wäre auch gegangen aber ich hab jetzt eine ganz andere Lösung verwendet #zukomplexgedacht
Trotzdem vielen Dank an euch! -
Und die währe?
Andere sind vielleicht auch daran interessiert.
-
Ich hätte vllt. meine genaues Problem beschreiben sollen.
Ich wollte etwas hinter dem Charakter löschen und da der CharKcter sich nur auf der +X bewegt hab ich einfach beiden Actors den Tag "delete" gegeben und immer wenn jetzt vor dem Charakter etwas neues spawnt werden alle Actors mit dem Tag "delete" gesucht und dann wird für jeden geguckt ob dieser so und so weit von Charakter entfernt ist und wenn er >= 50m (ist nur ein Beispielwert) vom Charakter entfernt ist wird der jeweilige Actor gelöscht.
Hat den Vorteil, dass sobald ich das auf noch mehr Actors anwenden muss, diese einfach nur den Tag "delete" haben müssen.War ein bisschen doof von mir mein Problem nicht direkt zu erklären da es ja auch oft bessere/einfachere Lösungen gibt als die, die man selber gerade versucht umzusetzen.
-
Wäre es da nicht einfacher, ein Event ActorEndOverlap zu benutzen?
Einfach ne groß genug dimesionierte BoxColli auf den Actor packen und wenn der Char nimmer drin ist, Actor zerstören. -
Einfacher nicht unbedingt (beide Lösungen sind einfach :D) aber vllt. von der Performance her besser da es ja nicht jedes mal alle Actors sammeln und dann diese anhand der Entfernung behalten oder löschen muss.
Vielen Dank für diese Idee!
-
-
Dir ist schon klar, das in die Variable Actor jeder Actor reingeht oder?
Deshalb castet man ja, wenn cast failed, dann ist es nicht der Actor den man haben will^^