Beiträge von JonnyMachony

    Hi, sollte eig einfach sein, komme aber nicht drauf.


    Ich will ein Line Trace abfeuern, wenn der getroffene Actor nicht den gleichen ,, Tag '' hat wie ich, dann richte erst Schaden an.


    Eigene Teammates sollen kein Schaden erhalten.

    Ich habe vorher jeden Character ein Tag zugewiesen natürlich.


    Hat jemand ne Idee?

    Danke schonmal

    Ich bin am verzweiflen^^, ich versuchs nun anders aufzubauen. Hab übrigens gerade herausgefunden, dass erst mit dem ,,Delay'' (unten im Bild) jeder Spieler seine ID vernünftig bekommt.


    Ich fang es nun so an: Jeder PlayerController erstellt seine eigene ID und schickt diese zum GameState.


    Durch diesen kleinen Schritt erhalte ich allerdings schon bei 3 Spielern, 3 ID's.

    Die vom Server, Client 1 und Client 2. Wie kann ich über eine Variable, die ja immer eine andere Information (ID) inne hat, diese in einem Widget in 3 Zeilen darstellen lassen? Es ist ja kein Array. Ich checks nicht.

    Was wäre der nächste Schritt, wenn ich hiernach allein im GameState eine Vollständige SpielerListe erstellen will.

    Diese Spielerliste kann dann jeder Spieler über sein PlayerController anzeigen lassen.

    Bitte um Hilfe.

    hm vielen Dank schonmal, darüber muss ich erstmal nachdenken^^.

    Zu deiner ersten Frage: weil ich gemerkt habe, wenn ich PlayerArray nicht vom Widget hole, dann waren die anderen Clienten ID's immer leer, auch kein Plan warum. Aber erst, als es im Widget zuerst ausgeführt wurde, dann hatte jeder Spieler seine eigene ID.


    über dein zweiten Teil muss ich mal nachdenken, danke schonmal, ich melde mich, wenns raus hab.

    Hi Leutz, ich war stolz auf mich, zu schaffen, dass ein Spieler einem anderen eine Teameinladung schicken kann über ein Widget.

    Jedoch funktioniert es im Moment nur vom Server Spieler aus, bei den Clienten gehts noch nicht, obwohl die Logik ja wahrscheinlich richtig ist. Irgendwo ist der Wurm drin, bin auch noch neu was Replikation angeht, vllt sieht ein Profi den Fehler schnell, hier ein paar Bilder, wäre super nett, danke.


    Im PlayerController durch drücken der T-Taste, erscheint nur für den Server Spieler ein Widget.



    Wenn das Widget erscheint, dann hole ich das PlayerArray und schicke es zum Mein_GameStateBase



    In Meinem GameStateBase hole ich aus dem PlayerArray die Player ID`s aus den ersten drei Spielern und speichere und repliziere diese.

    Das darf auch nur der ServerSpieler.



    Wieder im PlayerController, kann nun jeder Spieler über Tab-Taste ein SpielerListe-Widget für sich aufrufen lassen.



    Wenn das Widget erscheint werden die zuvor gespeicherten und replizierten ID's geholt aus dem Mein_GameState.



    Diese ID's werden über ein Button im Widget zum MeinGameState geschickt und mulitcastet.



    Im MeinGameState wird wie gesagt über ein Multicast-Event die ID's weitergeschickt zum PlayerController


    Im PlayerController wird die oft weitergegebene ID mit der ID verglichen, die der aktuelle Spieler selbst hat, wenn die gleich ist, dann erscheint das Team-AnfrageWidget,sonst nicht.


    Und es funktioniert auch, leider nur für den Server Spieler. Frage warum nur für diesen?

    Wenn ich über einen Clienten die Buttons anklicke passiert nichts.

    Wäre super nett, wenn einer ne Idee hat, wo der Denkfehler ist, ich vermute, dass irgendwie ein Replikationsdenkfehler oder OwnerFehler ist.

    Danke für den Hinweis, mir gehts mehr darum, wie man eine Einladung an einen anderen Spieler schickt, ob er ins eigene Team eintreten will.


    Wie kann man einen Widget-Aufruf für einen spezifischen Spieler bzw. Client ermöglichen, anders formuliert: wie kommuniziert man von spezifischen Client zu anderen spezifischen Client.

    Mir fällt eine Möglichkeit ein, dass ein Client zum Server sendet, dieser an alle anderen Clienten repliziert und nur der Client mit der richtigen ID das gewünschte Einladungswidget öffnet. Würde evtl funktionieren, aber sauber find ich die Lösung nicht, da eig an alle Clienten repliziert wird.

    Wie repliziere ich an einen gezielten Clienten bzw. Spieler?

    Ok, folgende Frage, komme nicht weiter:


    Wenn ich die Spieleranzahl erhöhe und abspielen lasse,

    bekomme ich den ersten Spielernamen aus ,,Get (0)'' wie im Bild, funktioniert.


    Aber ,,Get(1)'' und ,,Get(2)'' Spielernamen sind leer bzw. über ,,PrintString'' steht da nur ,,Server''

    Warum??? Wie kriege ich die anderen Spielernamen aus dem ,,PlayerArray''?

    Ich bin hier im GameState.

    Mein Ziel ist es, jedem Spielernamen eine Farbe zuzuweisen im GameState, dass dann jeder Spieler für sein Widget anzeigen lassen kann. Hat jemand ne Ahnung?

    Hallo zusammen,


    betreibe UE4 über Blueprints als Hobby.


    Komme hier und da schon etwas weiter, aber beim Thema Replikation, Ownership, RPC's, Authorität, Client und Server und den ganzen ...GameMode, GameState, PlayerController, PlayerState, GameInstance, und wie die alle zueinander stehen, da explodiert mein Kopf^^.


    Wenn dort draußen jemand wäre, der schon gut Ahnung von der Materie hat , mir anhand von guten Erklärungen auf deutsch und paar Anwendungsbeispielen veranschaulichen könnte, wie das alles zu verstehen ist und funktioniert, dann würde ich mich auch gerne erkenntlich zeigen über Paypal.


    Mir gehts vorallem ums Verstehen, einfach Youtuber nachmachen, hab ich zu genüge und bringt nicht weiter.


    Zum Beipsiel versuche ich im ersten Schritt, von jedem beigetretenen Spieler, den SpielerNamen in einem Widget darzustellen, dass jeder aufrufen kann.


    Klar findet man dazu Youtube-Beispiele, aber ich möchte die UE4 Kommunikation richtig verstehen.

    Hi, neue Frage: hab dazu noch kein einziges gutes Tutorial gefunden. Die Basisbewegungsanimationen ,,WASD'' krieg ich hin mit ,,inPlace'' Animationen, ,,InPlace'' soll ja einfacher sein und besser für MP.


    Wie kriegt man es aber hin, dass Animationen, die die Figur als Ganzes ,,Ober und Unterkörper'' bewegen lassen, genau im richtigen Maß in die exact richtige Richtung bewegen lassen? Die ,,Capsule'' bewegt sich ja nicht mit, In Root Motion hingegen lassen große und kleine Schritte egal in welche Richtung die Capsule genau richtig bewegen, dass es optimal aussieht, wie lässt sich das akurat auf ,,InPlace'' übetragen?


    Danke

    Danke schonmal für die Tipps, hab auch eingesehen, dass zwar der Anfang mit Behavior Tree bisschen zäh ist, aber auf Dauer die bessere Lösung. Jetzt neue Frage, kann ich zwei Behavior Tree gleichzeitig laufen lassen?


    Ich will bei den AI's z.b einmal den Zustand einstellen ,,agressiv,passiv,neutral'' und parallel dazu ,,mirFolgen, bleiben''. Wie bei WoW Begleitern als Beispiel.


    Da fällt mir nur die Lösung ein, dass mit zwei Behavior Trees zu machen, wenn das geht.

    Hi bin bisschen eingearbeitet mit AI's mit Hilfe von Behavior Tree, hab in verschiedenen Tutorials gesehen, dass manche mit dem BP ,,AI Controller'' dort die Logiken bauen z.b wann der AI den Spieler sieht, aber auch schon oft gesehen, dass das Gleiche im ,,New Service'' gebaut wird und dann an ein ,,Selector'' drangehängt wird.


    Bevor ich mich jetzt so richtig austobe würde ich gern eure Erfahrung dazu hören, gibts da irgendwelche Vor und Nachteile? Beides ist ja möglich, was würdet ihr empfehlen.
    Vielen Dank schonmal.

    jo danke von den Ideen her, Tomura ich versuch deine ,,einfache Version'' mal bzw. könnt einer von euch das so in Nodes mal ausdrücken, etwas einfaches was auch rel gut funktioniert?

    hi, hat einer von euch ne Idee, wie ein AI, das einen sieht und feuert, mich nicht immer an meine derzeitige Position beschießt, an meine alte Position, während ich laufe, sondern intelligenter schießt, vorhalteschießt? Weil sonst ist es sehr einfach seinen Schüssen auszuweichen.

    Hi Leutz, bin noch weit davon entfernt, aber interessieren tut mich das trotzdem.


    Die ganzen Sachen aus dem UE4 Marketplace, kann ich die auch alle uneingeschränkt irgendwann zur Veröffentlichung meines Spiels verwenden? Habe ja schließlich dafür bezahlt oder wie siehts da aus?


    Ich weiß, dass es Seiten gibt, die bieten auch kostenlos Dinge an, aber dafür ist die Lizenz geschützt, wie ists da bei dem UE4 Shop?

    Hi, bin noch sehr neu, habe mir vom UE4 Markt einiges geholt und wenn dann an einem Projekt arbeite, wird das sehr schnell viel zu viel, sodass man 1. sehr viel Zeit mit dem neuen Ordnerdurchsuchen nach Static Meshes verbringt und 2. alles sehr schnell unübersichtlich wird 3. weiß ich nicht, was ich wieder löschen kann um die Übersicht zu behalten und was nicht, ein Heidenchaos, wie arbeitet man am besten?


    Ich dachte schon eine Art Lagerprojekt zu öffnen, wo man alle Meshes platziert und dann bei Bedarf dieses oder jenes sofort gut sehen kann und dann in sein eigentliches Projekt hinzufügt?
    Da bin ich mir wieder unsicher, ob dieses kopieren / importieren auch immer klappt? weil habe schon schlechte Erfahrungen mit dem Importieren gemacht, generelle Frage, wie geht man am besten vor, wenn man an einem Projekt arbeitet, aber ständig Items etc aus anderen sich ziehen will?


    danke