Hallo,
so, nachdem mir das restliche Internet keine Antwort geben konnte, will ich hier mal nachfragen:
Ist es möglich nur per Blueprints zB den Gamemode "Teamdeathmatch" zu scripten?
Hat das schonmal jemand gemacht?
Grüße, Tobi
Hallo,
so, nachdem mir das restliche Internet keine Antwort geben konnte, will ich hier mal nachfragen:
Ist es möglich nur per Blueprints zB den Gamemode "Teamdeathmatch" zu scripten?
Hat das schonmal jemand gemacht?
Grüße, Tobi
Hey,
hier eine gute TutorialReihe, die das alles klären sollte.
https://www.youtube.com/playli…O1gYwhBTjNLSFPRiBpwe5sTwc
lg
Hab die schon durch. Bin jetzt gerade dabei, ich hau nachher mal was raus.
Also: das mag nicht die schlauste oder beste Methode sein, aber Sie sollte funktionieren.
Schritt 1. Level:
Zwei Variablen vom Typ "Player Start" > "Reference" erstellen. Jeweils "Faction(Nummer)[LevelName]" nennen, als Array definieren, bei Editable und Expose on Spawn Haken setzen und "Replicated" auswählen.
Diese beide als "Set Variable" in den EventGraph droppen und mit "EventBeginPlay" verbinden.
Nun die selbe Anzahl an Variablen erstellen, wie Spawnpoints im Level vorhanden sind. Diese dementsprechend "SpawnPoint(nummer)" etc benennen. Diese Variablen sind alle vom Typ "PlayerStart" > "AssetID". Editable und Expose on Spawn und "Replicated". Dann Compilen und als DefaultValue nacheinander je einen Spawnpoint pro variable auswählen.
Dann linksklick in den blueprint und "make array". Nun die SpawnPoint Variablen mit den "make arrays" verbinden und diese wiederum mit den "Faction(Nummer)[LevelName]" verbinden.
Gruß, Tobi
Versuch deine Leute nicht per LevelBP zu spawnen. Das LevelBP ist schneller aktiv, als der PlayerController. Dann kann es passieren, dass das LevelBP den PlayerController nicht sofort findet und nur Fehler ausspuckt.
Alles würde ich dir empfehlen in ein PlayerController zu scripten, den du erstellen musst. Den natürlich in den GameMode einstellen. Ist schön aufwendig was du da vorhast. ich habe sowas ähnliches schon durch, aber ja, es funktioniert mit BP.
Das hier soll dir nur ein Ansatz geben. So habe ich das mit 3 Charaktere gelöst.
Auf der Map sind die Actors SoldatSpawn1 bis 3 an einer Base verteilt. Jeder hat eine Variable "gespawnt" um zu sagen, hier darf nicht gespawnt werden, weil einer schon war. Bis der letzt Spieler aufgeteilt wurde.
Wichtig ist, dass nur der Server das ausführen darf.
Ich kenne deine Skills nicht, aber das ist schon was aufwendiges und gebe dir nur ein Ansatz.
siehe https://docs.unrealengine.com/…FindingActors/Blueprints/
Am besten ist es immer von der Quelle den Output zu nutzen, dann bekommst du auch die richtigen Nodes dafür. Hier in diesem Fall ist es bei ein GetAllActorsOfClass der OutActors, das ist ja nun ein Array und dort nimmst du den Output, ziehst das in die Leere, lässt los und suchst get. Nun haben wir ein Ausgang für ein Actor. Natürlich muss vorher GetAllActorsOfClass eine Class Datei zugewiesen werden, dann kann man von Get den Ausgang nehmen und nach der Variable suchen, die im Actor vorhanden ist und dann bekommst du den target mit der Variable.
Vielen Dank, jetzt ist alles klar und funktioniert. Danke für deine Zeit und Erklärungen.
Das steckt im PlayerController. Somit ruft jeder es für sich auf.