Also ich arbeite derzeit an einem Multiplayer game.
Für den Schwertangriff nutze ich einen RPC (Auf Server). Der fragt ab wie der Skill ist, berechnet ob ich treffe, speichert das in einer Variable ab, spielt die Animation und ruft dann einen zweiten RPC (Multicast) auf. Der Multicast nimmt die Variable die der Server brechnet hat und spielt dann ANimation usw auf den Clients per Multicast ab.
Ja ich weiss klingt erst mal kompliziert aber die Spieler sind beide "AI controlled" - siehe "Top Down" template von UE4. man sieht sein männchen von oben, steuert es aber nicht direkt sondern klickt nur nen Punkt im navmesh an und es läuft dann irgendwie dahin.
Das mit dem Schwert klappt Super, ich hab da tolle Schwertprügeleien mit blocken, klirren usw. Alle glücklich
Jetzt mache ich aber das gleiche mit nem Bogen und weil man nen Bogen spannt und zielt - was ja etwas zeit kostet - dachte ich ich bin schlau und mach einfach ein delay rein.
Saudumm. Natürlich durchläuft der RPC auf dem Server das delay und ruft DANACH den Multicast RPC auf.
Ich wollte jetzt intuitiv alles in Macros packen und vielleicht kann ich beides gleichzeitig aufrufen oder so? Oder ist meine Vorgehensweise grundsätzlich Grütze?
Bonus frage - kann ich mir den Delay sparen? Gibt es eventuell so ne art "On finished playing animation" event oder sowas? Dann könnte ich einfach die Animation schneller oder langsamer spielen lassen und gut ist, keine delays mehr...
PS: Haut mich nicht! ich frag ja eigentlich sehr selten was...