04.09.2014, 20:36 | #1 (permalink) |
Registriert seit: 04.09.2014
Beiträge: 8
|
[Arma 3] Npc's Animationen wiederholen lassen?
Hallo Community,
ich hätte da mal eine wichtige Frage, und zwar hatte ich vor ein Szenario zu machen und damit es etwas attraktiver und lebendiger wird, hatte ich vor, dass die Npc's Liegestützen machen sollen. Zwar hab ich jetzt hinbekommen, dass sie eigenständig eine Liegestütz machen, aber danach nicht wiederholen? Und ich wüsste gerne, was ich machen muss, damit sie es machen, ich benutze einen Trigger wo ich in das Bedinungsfeld: time>1; und in das Aktivierungsfeld: soldier1 playMoveNow "AmovPercMstpSnonWnonDnon_exercisePushup"; P.S.: Habe schon versucht einfach Time>2, etc. einzugeben, hat aber auch nicht funktioniert?? Benötige dringen Hilfe, wäre nett, wenn mir schnell geantwortet werden kann! MfG TombStone |
04.09.2014, 20:54 | #2 (permalink) |
Registriert seit: 10.10.2006
Beiträge: 263
|
Die Bedingung die du da sagst ist das er "time>1" heist ist die Mission schon 1 sekunde am Laufen. Der 2 Triger denn du erstellst sagt das selbe nur Läuft die Mission schon seit 2 sek umd löst ihn aus was du brauchst ist eine Schleife
Code:
while {true} do { waituntil {animationState soldier1 != "AmovPercMstpSnonWnonDnon_exercisePushup"}; soldier1 playMoveNow "AmovPercMstpSnonWnonDnon_exercisePushup"; }; waituntil er wartet bis das in {} erfüllt ist animationState abfrage welche animation gerade der soldier1 macht wenn es NICHT die Pushup ist führt er die Animation aus. und fängt wieder von vorne an und wartet bis es vorbei ist. Code:
while {true} do { sleep XXXX; soldier1 playMoveNow "AmovPercMstpSnonWnonDnon_exercisePushup"; }; Geändert von Nokman (04.09.2014 um 21:01 Uhr). |
04.09.2014, 21:07 | #4 (permalink) |
Registriert seit: 10.10.2006
Beiträge: 263
|
Habe denn Code gerade noch mal Oben geändert While Bedingung muss in einer {} stehen
Du musst es in einen Script packen wenn es immer sein soll dann in die Init.sqf in einen Ordner wo die Mission.sqf liegt erstellst du einfach eine init.sqf und fügst denn script rein dann Läuft es von allein bei missionsstart. Ein Trigger kann keine Sleep oder wait befehle bearbeiten. |
05.09.2014, 13:54 | #6 (permalink) |
Registriert seit: 15.05.2011
Beiträge: 1.110
|
Mach ein Spawnscript in die Init der Einheit. Reicht doch völlig aus.
Soll es SP oder MP sein? Animationen sind lokal und müssen über das Netzwerk verbreitet werden.
__________________
Bewegende Momente bei ArmA 3 |
05.09.2014, 19:04 | #7 (permalink) |
Registriert seit: 10.10.2006
Beiträge: 263
|
aber nur um sie Syncron zu halten so wie sie ist in der Init.sqf läuft die Animation bei jeden ab minimaler Zeitlicher unterschied.
Was Drunken Officer Sagt ist das du in der Init der Einheit es auch eintragen kanst dort aber ein Spawn befehl auslösen. Code:
nul = [] spawn { while {true} do { waituntil {animationState soldier1 != "AmovPercMstpSnonWnonDnon_exercisePushup"}; soldier1 playMoveNow "AmovPercMstpSnonWnonDnon_exercisePushup"; }; }; |
08.09.2014, 09:25 | #9 (permalink) |
Registriert seit: 15.05.2011
Beiträge: 1.110
|
Dann wird das so nix werden. Du mußt die Animationen über das Netzwerk verteilen.
__________________
Bewegende Momente bei ArmA 3 |
08.09.2014, 15:44 | #11 (permalink) |
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 42
Beiträge: 32.977
|
Wat? Kann es sein, das du sowas einfach noch nie selber probiert hast? Ich kenn da einige Missionen mit Liegestütz, und die haben alle Null Probleme die Animationen übers Netzwerk zu verteilen. Weshalb auch, denn wenn das ein Problem wäre, würdest du wohl kaum deine Mitspieler sich jemals im MP bewegen sehen @OP: Mach den Animationsaufruf Quatsch innen Trigger. Ist quasi "Easymode" für MP, funzt immer. |
08.09.2014, 16:55 | #12 (permalink) |
Registriert seit: 15.05.2011
Beiträge: 1.110
|
Doch Burns habe ich.
Ich habe einem Verletzen in der init eine Animation zugewiesen, das hat nicht so einfach geklappt. Genauso wenig, wenn du via AddAction jemanden die HÄnde hoch nehmen läßt. Ich habe mir dazu eine globaleVariabel gebaut usw. Dann hat es funktioniert Wenn die Sache über einen Trigger funktioniert, dann ist ja toll. Dann habe ich auch wieder etwas dazu gelernt. Habe es gerade auf dem Dedi mit einem Trigger getest und es funktioniert.
__________________
Bewegende Momente bei ArmA 3 Geändert von Drunken Officer (08.09.2014 um 17:07 Uhr). |
08.09.2014, 19:08 | #13 (permalink) |
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 42
Beiträge: 32.977
|
Ausm Script heraus muss man die Variable erst rumschicken, das hast du richtig erkannt. (und dabei ist dann auch die Reihenfolge wichtig, Terp ist damals an mir verzeifelt weil ich's so machte: Code:
publicvariable "terpistfies"; terpistfies = true; Wie gesagt, Trigger sind Easymode. Darin ist der ganze Publicvariable Mist quasi engineseitig implementiert. Hatte mal ne Missi gebaut in der gibts pro Arieinschlag nochn bösen Sound der gleichzeitig abgespielt wird, selbst das geht einwandfrei im Netz, dank Triggermagie |
09.09.2014, 18:05 | #14 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Trigger sind lokal! Es kommt auf die Bedingung an, die den Trigger schaltet. Schaltet der Trigger bei Anwesenheit einer Seite mit this, dann wird das auf allen PCs auslösen, weil die Anwesenheit bei allen gegeben ist. Oder man schaltet den Trigger mit der Entfernung von Objekten (Objekt1 distance Objket2), so wird auch in diesem Fall der Trigger bei allen auslösen. Wenn aber zum Schalten eine Variable verwendet wird, dann ist diese mit publicVariable zu übertragen. |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Frage zu den freundlichen NPcs auf der Map. | Avatar-X | Editing & Scripting | 3 | 07.06.2013 16:20 |