KI Erzeugen via Auslöser mit angepassten Ausrüstungen.
Hallo Community
Mal eine frage, weiss jemand wie man Einheiten mit angepassten Ausrüstungen erzeugen kann? Ich weiss wie einheiten erzeugen werden mit wegpunkten. Doch die Angepassten einheiten die ich gerne erzeugen möchte, kann ich nicht via Auslöser erstellen. Bevorzugte Ausrüstung: Waffen,vesten,helme und klamotten. hier mal ein beispiel script für das Erzeugen von Einheiten und Wegpunkte; Code:
"I_Soldier_AAR_F" createUnit [getMarkerPos "born1",chef, "e1=this;",0.9,"captain"]; Weiss einer noch wie Respawn Punkte mit angepassten einheiten respawnt werden können? (ist für MP Missionen / Player Respawnpunkte) |
KI Erzeugen via Auslöser mit angepassten Ausrüstungen. (Lösung)
Hab die Lösung gefunden.
Es war nicht mal so eine schwere arbeit. Das einzige was man machen muss sind eigene dateien erstellen. und dies dann mit einem Trigger auslösen. Code:
[player] exec "clothing.sqs";[player] exec "erzeugen.sqs" |
Alter! SQS? 2013? Na prost Mahlzeit... :daumen:
|
Zitat:
Zum Thema Ausrüstung removeallWeapons e1; e1 removeMagazines "20Rnd_762x51_Mag"; //entfernt die MAgazine e1 addWeapon "EBR_Rifle_F"; e1 addUniform "U_B_CombatUniform_mcam"; .... Einfach mal durchklicken, wenn du noch Pistolen oder Waffenzusätze entfernen willst. http://community.bistudio.com/wiki/C...ommands_Arma_3 |
Nun ich dachte es sei ein Wegpunkt.
wenn ich e1 doMove (getMarkerPos "wa1"); eingebe. und so sieht der code bei mir aus: Erzeugen.sqf Code:
"B_Soldier_F" createUnit [getMarkerPos "born1",chef, "e1=this;",0.9,"captain"]; Code:
removeHeadgear e1; opfec#4.sqf Code:
ochef setDammage 1; grp1 = group chef; ochef setPosATL (ochef modelToWorld[0,0,-10]) |
Schmeiss mal am Anfang nach
removeHeadgear a1; removeUniform a1; folgende Zeile dazu: removeallassigneditems a1; Ich denke dann dürfte das blöde Nachtsichtglas weg sein. Habe mich auch sehr lange damit herumgequält ... Folgendes läuft bei mir anstandslos wenn ich sie in eine bestimmte Blickrichtung haben will: {_x setDir 180} foreach [a1,a2,a3 usw.]; Und nebenbei bemerkt - falls es kein Flüchtigkeitsfehler beim Kopieren war: e2 doMove (getMarkerPos "wa1"); Hier wirst du eine Fehlermeldung erhalten weil das ";" fehlt. LG Jan |
Danke JanIs für den Hinweis.
werds mir heute abend mal anschauen. Melde mich heute abend wieder und gebe dir auskunft obs funktioniert. also bis dann. |
Hab mir den Script jetzt mal angeschaut und mir ist dabei folgendes aufgefallen:
1. Warum arbeitest du mit so vielen Markern? Du kannst die Einheit ja genausogut zum "ochef" anstatt zum Marker createn: Code:
"O_Soldier_F" createUnit [[(getPos ochef select 0)+1,(getPos ochef select 1)+1,0],grp1, "a1=this;",0.9,"captain"]; 3. Dein Ausrichten der Einheiten kann nicht funktionieren, da du den setDir Befehl gibst bevor die Einheit überhaupt created wurde. Wenn du am Ende des Scripts Code:
{_x setDir 180} foreach [a1,a2,a3,a4]; 4. Wozu dient das "ochef setPosATL (ochef modelToWorld[0,0,-10])" ?? Das bewirkt ja nur, dass "ochef" in die Luft gewirbelt wird und dann erst wieder tot am Boden liegt. Warum löscht du den Kerl nicht einfach nachdem die erzeugte Einheit an seine tote Position gestellt wurden? 5. Mit der Befehlszeile Code:
removeallassigneditems a1; 6. Ich glaube du willst doch die erzeugten Einheiten in der Gruppe "grp1" haben nicht ochef wie in deinem Script ... Habe es gerade getestet und läuft einwandfrei ... |
Zitat:
Ich wollte das die Einheiten am Marker respawnen, und die Einheiten in einer Gruppe sind. zu Punkt 2: Momentan hab ich kein Plan wie ich Wegpunkte erzeugen kann, arbeite mich noch ein. zu Punkt 3: Ach so! Dann werd ich dies so umsetzten, dass der befehl weiter unten ist. zu Punkt 4: Ich dachte es sei eine gute lösung für mein Problem. Die Einheiten sollten in einer Grp respawnen (wenn Player im trigger ist) doch dies klappt nicht ohne einen Teamleader der bereits auf der Karte ist. Und da ich nicht will, das schon am beginn meiner Mission Einheiten sind, habe ich mich für diese Variante entschieden zu Punkt 5: Hab dank! werde es so schnellst wie möglich ausprobieren! |
noch nen paar Hinweise zu den Befehlen:
Das "removeuniform" , "removeheadgear" etc. kannst du dir dann sparen, wenn du unmittelbar eine andere Uniform oder Mütze zuweist. ArmA3 überschreibt einfach die vorhandene Kleidung. Es reicht, Einheit adduniform "uniformType" zu schreiben. Ausrüstung entfernen: geht in zwei Schritten: 1) Einheit unassignitem "item" 2) Einheit removeitem "item" bei 1) wird das Teil (z.B. NVGoggles) vom Kopf des Charakters in das Inventar verschoben. Und erst wenn es da ist, kann man es gezielt mit "removeitem" tatsächlich komplett entfernen. Umgekehrt gehts natürlich genauso: 1) Einheit additem "item" 2) Einheit assignitem "item" bei 1) landet es im Inventar, bei 2) wird es verwendet bzw. aufgesetzt. Hat mich ne Stunde gekostet, bis ich das raushatte, aber nun ist es nützlich... |
Ich weiss, dass das thema hier schon lange abgeschlossen ist. Leider habe ich jetzt wieder die gleiche frage, nur diesmal geht es nicht darum das die einheiten respawnt werden sondern, wie ich es hinkriege das ich kein ochef beginn der mission auf der map haben muss.
meine idee war: das ich die einheit: a1 als "chef" mache, leider hat das bisher nicht richtig funktioniert... PS; Ja ich war ein jahr inaktiv ^^ Code:
################################Einheiten Erzeugen################################### |
Habe wahrscheinlich die lösung gefunden im Mr.Murray's Guide von Arma 2
hoffe das es noch funktioniert mit dem alten script: Code:
Grp1 = Creategroup EAST; |
Ok Funktioniert einwandfrei! Hier die komplette Codierungen:
Code:
################################Gruppe Erzeugen################################### Code:
################################Panzer Erzeugen################################### |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias