Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 12.10.2013, 16:08   #1 (permalink)
50 Beiträge
 
Registriert seit: 29.07.2006
Ort: CH
Beiträge: 51
Standard 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
Zusätzlich:
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).
zynon ist offline  
Alt 12.10.2013, 17:53   #2 (permalink)
50 Beiträge
 
Registriert seit: 29.07.2006
Ort: CH
Beiträge: 51
Standard 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"
Es besteht halt immer noch ein kleines problem.. und zwar das die Nachtsichtsgeräte nicht entfern werden (aufgrund von bugs)
zynon ist offline  
Alt 12.10.2013, 18:52   #3 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
Standard

Alter! SQS? 2013? Na prost Mahlzeit...
__________________
Buliwyf ist offline  
Alt 12.10.2013, 19:46   #4 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Zitat von zynon Beitrag anzeigen

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
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
Drunken Officer ist offline  
Alt 13.10.2013, 00:12   #5 (permalink)
50 Beiträge
 
Registriert seit: 29.07.2006
Ort: CH
Beiträge: 51
Standard

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")
clothing.sqf

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";
& so sieht meine neue Datei aus (Übersichtlicher)

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";
zynon ist offline  
Alt 16.10.2013, 23:03   #6 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 02.11.2010
Beiträge: 113
Standard

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).
JanIs ist offline  
Alt 17.10.2013, 15:07   #7 (permalink)
50 Beiträge
 
Registriert seit: 29.07.2006
Ort: CH
Beiträge: 51
Standard

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.
zynon ist offline  
Alt 17.10.2013, 20:33   #8 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 02.11.2010
Beiträge: 113
Standard

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"];
2. Gleiches gilt für die Wegpunkte. Du hast doch sicherlich andere Anhaltspunkte so dass du dir die zusätzlichen Marker sparen kannst.

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];
hinzufügst, dann schauen sie auch in die gewünschte Richtung.

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;
haben die Jungs tatsächlich kein NV mehr ;-)

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 ...
JanIs ist offline  
Alt 05.11.2013, 17:40   #9 (permalink)
50 Beiträge
 
Registriert seit: 29.07.2006
Ort: CH
Beiträge: 51
Standard

Zitat von JanIs Beitrag anzeigen

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"];
2. Gleiches gilt für die Wegpunkte. Du hast doch sicherlich andere Anhaltspunkte so dass du dir die zusätzlichen Marker sparen kannst.

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];
hinzufügst, dann schauen sie auch in die gewünschte Richtung.

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;
haben die Jungs tatsächlich kein NV mehr ;-)

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 ...
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!
zynon ist offline  
Alt 05.11.2013, 23:16   #10 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Clausewitz
 
Registriert seit: 05.11.2004
Ort: Kassel
Alter: 50
Beiträge: 1.259
Clausewitz eine Nachricht über ICQ schicken Clausewitz eine Nachricht über AIM schicken
Standard

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.
Clausewitz ist offline  
Alt 27.09.2014, 09:14   #11 (permalink)
50 Beiträge
 
Registriert seit: 29.07.2006
Ort: CH
Beiträge: 51
Standard

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");
zynon ist offline  
Alt 27.09.2014, 10:16   #12 (permalink)
50 Beiträge
 
Registriert seit: 29.07.2006
Ort: CH
Beiträge: 51
Standard

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
zynon ist offline  
Alt 27.09.2014, 10:46   #13 (permalink)
50 Beiträge
 
Registriert seit: 29.07.2006
Ort: CH
Beiträge: 51
Standard

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");
Panzer / Fahrzeuge mit Einheiten erstellen:

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");
zynon ist offline  
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ä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


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119