12.10.2013, 16:08 | #1 (permalink) |
Registriert seit: 29.07.2006
Ort: CH
Beiträge: 51
|
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"]; "I_Soldier_AAR_F" createUnit [getMarkerPos "born1",chef, "e2=this;",0.8,"Private"]; e1 doMove (getMarkerPos "wa1"); e2 doMove (getMarkerPos "wa1") chef = Einheit Leader e1 = Einheit born1 = Respawnmarker wa1 = Waypoint Weiss einer noch wie Respawn Punkte mit angepassten einheiten respawnt werden können? (ist für MP Missionen / Player Respawnpunkte) Geändert von zynon (12.10.2013 um 17:01 Uhr). |
12.10.2013, 17:53 | #2 (permalink) |
Registriert seit: 29.07.2006
Ort: CH
Beiträge: 51
|
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" |
12.10.2013, 19:46 | #4 (permalink) |
Registriert seit: 15.05.2011
Beiträge: 1.109
|
Kann ja sein, dass ich etwas überlesen habe, aber wo erzeugst du Wegpunkte?! Du läßt die Einheit e1 und e2 zu einem Wegpunkt laufen, dass ist wohl richtig. 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 |
13.10.2013, 00:12 | #5 (permalink) |
Registriert seit: 29.07.2006
Ort: CH
Beiträge: 51
|
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"]; "B_Soldier_F" createUnit [getMarkerPos "born1",chef, "e2=this;",0.8,"Private"]; e1 doMove (getMarkerPos "wa1"); e2 doMove (getMarkerPos "wa1") Code:
removeHeadgear e1; removeUniform e1; removeAllWeapons e1; e1 unassignItem "NVGoggles"; e1 removeItem "NVGoggles"; e1 addMagazine "16Rnd_9x21_Mag"; e1 addvest "V_BandollierB_rgr"; e1 addHeadgear "H_Bandanna_sgg"; e1 addUniform "U_C_Poloshirt_tricolour"; opfec#4.sqf Code:
ochef setDammage 1; grp1 = group chef; ochef setPosATL (ochef modelToWorld[0,0,-10]) ################################Einheiten Ausrichten################################# a1 setdir 190; ----------> Funktioniert nicht a2 setdir 190; ----------> Funktioniert nicht ################################Einheiten Erzeugen################################### "O_Soldier_F" createUnit [getMarkerPos "born2",ochef, "a1=this;",0.9,"captain"]; "O_Soldier_F" createUnit [getMarkerPos "born2",ochef, "a2=this;",0.8,"Private"]; "O_Soldier_F" createUnit [getMarkerPos "born2",ochef, "a3=this;",0.8,"Private"]; "O_Soldier_F" createUnit [getMarkerPos "born2",ochef, "a4=this;",0.8,"Private"]; ################################Einheiten Ausrüsten################################## removeHeadgear a1; removeUniform a1; a1 removeItem "NVGoggles"; ----------> Funktioniert nicht a1 unassignItem "NVGoggles"; ----------> Funktioniert nicht a1 addHeadgear "H_Shemag_khk"; a1 addUniform "U_C_Poloshirt_burgundy"; removeHeadgear a2; removeUniform a2; a2 removeItem "NVGoggles"; ----------> Funktioniert nicht a2 unassignItem "NVGoggles"; ----------> Funktioniert nicht a2 addHeadgear "H_ShemagOpen_khk"; a2 addUniform "u_c_poloshirt_redwhite"; removeHeadgear a3; removeUniform a3; a3 removeItem "NVGoggles"; ----------> Funktioniert nicht a3 unassignItem "NVGoggles"; ----------> Funktioniert nicht a3 addHeadgear "H_Shemag_olive"; a3 addUniform "U_C_Poloshirt_stripped"; removeHeadgear a4; removeUniform a4; a4 removeItem "NVGoggles"; ----------> Funktioniert nicht a4 unassignItem "NVGoggles"; ----------> Funktioniert nicht a4 addHeadgear "H_Shemag_tan"; a4 addUniform "U_C_Poloshirt_tricolour"; |
16.10.2013, 23:03 | #6 (permalink) |
Registriert seit: 02.11.2010
Beiträge: 113
|
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 Geändert von JanIs (16.10.2013 um 23:07 Uhr). |
17.10.2013, 20:33 | #8 (permalink) |
Registriert seit: 02.11.2010
Beiträge: 113
|
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"]; "O_Soldier_F" createUnit [(getPos ochef),grp1, "a2=this;",0.8,"Private"]; 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 ... |
05.11.2013, 17:40 | #9 (permalink) |
Registriert seit: 29.07.2006
Ort: CH
Beiträge: 51
|
zu Punkt 1: 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! |
05.11.2013, 23:16 | #10 (permalink) |
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...
__________________
***** Das ständige Nachgeben der Klugen begründet die Diktatur der Dummen. |
|
27.09.2014, 09:14 | #11 (permalink) |
Registriert seit: 29.07.2006
Ort: CH
Beiträge: 51
|
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################################### "O_Soldier_F" createUnit [getMarkerPos "born2",a1, "a1=this;",0.9,"captain"]; "O_medic_F" createUnit [getMarkerPos "born2",a1, "a2=this;",0.8,"Private"]; "O_Soldier_F" createUnit [getMarkerPos "born3",a1, "a3=this;",0.8,"Private"]; "O_Soldier_F" createUnit [getMarkerPos "born3",a1, "a4=this;",0.8,"Private"]; "O_Soldier_A_F" createUnit [getMarkerPos "born3",a1, "a5=this;",0.8,"Private"]; a1 doMove (getMarkerPos "wa1"); |
27.09.2014, 10:16 | #12 (permalink) |
Registriert seit: 29.07.2006
Ort: CH
Beiträge: 51
|
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; _Leader="SquadLeaderE" createUnit [getMarkerPos "GrpM", Grp1, "Grp1=this", 1, "Sergeant"]; _Unit2="SoldierEB" createUnit [getMarkerPos "GrpM", Grp1, "", 1, "Corporal"]; _Unit3="SoldierEB" createUnit [getMarkerPos "GrpM", Grp1, "", 1, "Corporal"]; _Unit4="SoldierEG" createUnit [getMarkerPos "GrpM", Grp1, "", 1, "Corporal"]; _Unit5="SoldierEMG" createUnit [getMarkerPos "GrpM", Grp1, "", 1, "Corporal"]; _Unit6="SoldierEAT" createUnit [getMarkerPos "GrpM", Grp1, "", 1, "Corporal"]; _Unit7="SoldierESniper" createUnit [getMarkerPos "GrpM", Grp1, "", 1, "Corporal"]; exit |
27.09.2014, 10:46 | #13 (permalink) |
Registriert seit: 29.07.2006
Ort: CH
Beiträge: 51
|
Ok Funktioniert einwandfrei! Hier die komplette Codierungen:
Code:
################################Gruppe Erzeugen################################### truppe1 = creategroup EAST; ################################Einheiten Erzeugen################################### _Leader="O_Soldier_F" createUnit [getMarkerPos "born2",truppe1, "a1=this;",0.9,"captain"]; _Unit2="O_medic_F" createUnit [getMarkerPos "born2",truppe1, "a2=this;",0.8,"Private"]; _Unit3="O_Soldier_F" createUnit [getMarkerPos "born3",truppe1, "a3=this;",0.8,"Private"]; _Unit4="O_Soldier_F" createUnit [getMarkerPos "born3",truppe1, "a4=this;",0.8,"Private"]; _Unit5="O_Soldier_A_F" createUnit [getMarkerPos "born3",truppe1, "a5=this;",0.8,"Private"]; ################################Einheiten Ausrüsten################################## removeHeadgear a1; removeUniform a1; removeallassigneditems a1; a1 addHeadgear "H_Shemag_khk"; a1 addUniform "U_C_Poloshirt_burgundy"; removeHeadgear a2; removeUniform a2; removeallassigneditems a2; a2 addHeadgear "H_ShemagOpen_khk"; a2 addUniform "u_c_poloshirt_redwhite"; removeHeadgear a3; removeUniform a3; removeallassigneditems a3; a3 addHeadgear "H_Shemag_olive"; a3 addUniform "U_C_Poloshirt_stripped"; removeHeadgear a4; removeUniform a4; removeallassigneditems a4; a4 addHeadgear "H_Shemag_tan"; a4 addUniform "U_C_Poloshirt_tricolour"; removeHeadgear a5; removeUniform a5; removeallassigneditems a5; a5 addHeadgear "H_Shemag_khk"; a5 addUniform "U_C_Poloshirt_burgundy"; ################################Einheiten Ausrichten################################# a1 setDir -190; a2 setDir -190; ################################Einheiten/Gruppe Bewegen nach################################# a1 Move (getMarkerPos "wa1"); Code:
################################Panzer Erzeugen################################### panzer1="rds_t34_aaf_01" createVehicle getMarkerPos "Marker1"; panzer1 setdir 190; ################################Einheiten Erzeugen################################### truppe1 = creategroup EAST; _Leader="O_Soldier_F" createUnit [getMarkerPos "Marker1",truppe1, "a1=this;",0.9,"captain"]; _Unit2="O_medic_F" createUnit [getMarkerPos "Marker1",truppe1, "a2=this;",0.8,"Private"]; _Unit3="O_Soldier_F" createUnit [getMarkerPos "Marker1",truppe1, "a3=this;",0.8,"Private"]; ################################Einheiten Ausrüsten################################## removeHeadgear a1; removeUniform a1; removeallassigneditems a1; a1 addHeadgear "H_Shemag_khk"; a1 addUniform "U_C_Poloshirt_burgundy"; removeHeadgear a2; removeUniform a2; removeallassigneditems a2; a2 addHeadgear "H_ShemagOpen_khk"; a2 addUniform "u_c_poloshirt_redwhite"; removeHeadgear a3; removeUniform a3; removeallassigneditems a3; a3 addHeadgear "H_Shemag_olive"; a3 addUniform "U_C_Poloshirt_stripped"; ################################Einheiten Einsteigen################################# a1 moveInCommander panzer1; a2 moveInGunner panzer1; a3 moveInDriver panzer1; ################################Einheiten/Gruppe Bewegen nach################################# a1 Move (getMarkerPos "wa1"); |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Auslöser per kommando aktivieren | McDonalds | Editing & Scripting | 5 | 07.09.2013 17:16 |
2 Auslöser arbeiten zusammen | Sol.LrMartyn | Editing & Scripting | 11 | 05.11.2011 19:29 |
Bombenteppich erzeugen und Endlosschleife | Doorgunner | Editing & Scripting | 8 | 26.02.2011 12:52 |
Gruppe per Auslöser bewegen | Deep Five-9te | Editing & Scripting | 2 | 07.01.2011 08:46 |
marker über script erzeugen | hypercop | Editing & Scripting | 2 | 28.08.2010 23:40 |