Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 12.06.2013, 23:11   #1 (permalink)
Newbie
 
Registriert seit: 26.11.2012
Beiträge: 18
Standard Zivilisten greifen BLUFOR-Einheiten an?

Hey Leute,
ich will das so machen das man per ActionMenü mit dem Zivilist reden kann (per Actionmenüeintrag) und der Zivilist dann ne Waffe zieht und auf einen schießt. Aber ich möchte das sobald man den Zivilisten erschießt, links unten NICHT steht 'a Civilian was killed by ...' und ich möchte das der Zivilist erst später im Spiel zur OPFOR-Einheit oder feindlichen Einheit wird. Allerdings soll der Zivilist nicht auf Wiederständische schießen und ich möchte keine ganzen Seiten verfeinden. (Kein 'side setFriend [side,0])

Init vom Zivilist:
IID = Test addAction ["Reden","WaffenZivi.sqf",[this]];

WaffenZivi.sqf:
Zitat:

_zivi = _this select 0; //Der Zivilist

_zivi addMagazine "6Rnd_45ACP";
_zivi addMagazine "6Rnd_45ACP";
_zivi addWeapon "revolver_EP1";
_zivi setFriend [West,0];
_zivi setBehaviour "COMBAT";

exit

Encounter118 ist offline  
Alt 13.06.2013, 11:30   #2 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard

Ich würde versuchen, das so zu lösen (vorausgesetzt es sind nicht zuviele schiesswütige Zivilisten):
  1. Setze eine OPFOR-Einheit im Editor auf die Karte (das wird der spätere Zivilist), nenne sie ZIV1, und schreibe in seine Init-Zeile: removeAllWeapons this; removeAllItems this; this setCaptive true. Hänge ausserdem das gewünschte AddAction in geeigneter Weise an.
  2. Setze einen Zivilisten mit dem gewünschten Aussehen auf die Karte und nenne ihn Dummy1
  3. Speichere die Mission und Alt/Tab zum Verzeichnis, wo die Missions-Datei liegt. Suche darin mit Ctrl. + F nach dem Begriff "Dummy1" und kopiere dann dessen class_name (oder wie das heisst). Suche dann mit Ctrl. + F die OPFOR-Einheit "ZIV1" und ersetze deren class_name mit demjenigen des Dummy1. Speichern nicht vergessen.
  4. Alt/Tab in den A2-Editor und neu laden der Mission (damit die veränderte Missionsdatei frisch gelesen wird). Nun hat Deine OPFOR-Einheit ZIV1 das aussehen des Zivilisten Dummy1
  5. Sobald das AddAction am ZIV1 ausgeführt wird löst Du folgendes aus: ZIV1 setCaptive false; ZIV1 addMagzine...; ZIV1 addWeapon...
Resultat:
ZIV1 sieht aus wie ein Zivilist und da er zu Beginn keine Waffe hat und "gefangen" ist, wird er nicht von anderen Zivilisten zu unterscheiden sein. Sobald Du ihn via AddAction auf "ungefangen" stellst, und ihm eine Waffe gibst, benimmt er sich wie ein normaler OPFOR. Er zieht und schiesst. Ausserdem kommt keine "Zivilistenkillmeldung" wenn er tot ist, denn es ist ja eine OPFOR-Einheit (sie ist auch in der Farbe rot im Editor sichtbar). Auch die Strafpunkte für den Spieler bei Zivilistenmord entfallen. Des weiteren kannst Du ZIV1 jederzeit auch ohne AddAction auf gefangen/ungefangen (und bewaffnet/unbewaffnet) stellen.

Eins noch:
Solltes Du in Versuchung geraten ZIV1 per Doppelklick zu öffnen und Änderungen an ihm durchzuführen, NACHDEM Du sein Aussehen geändert hast, wirst Du feststellen, dass er danach wieder sein OPFOR-Aussehen hat. Du änderst sein Aussehen daher am besten erst ganz am Schluss, wenn alles funktioniert und getestet ist.
Wolkenbeisser ist offline  
Alt 13.06.2013, 14:26   #3 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Wie du einer OPFOR-Einheit in der mission.sqm Zivilkleider verpassen kannst hat dir Wolkenbeisser bereits beschrieben. Dazu noch ein Beispiel:

mission.sqm
Code:
...
   side="EAST";
   vehicle="RU_Soldier";
   leader=1;
   skill=1;
   text="ZIV1";
...
"RU_Soldier" ersetzen z.B. durch "Rocker1"
Falls noch nicht geschehen, Skill auf 1 setzen!


Im Folgenden der Code wie diese Einheit das Feuer nach Betätigung der Aktion eröffnet:

Skript: Aktion.sqf
Code:
/* Anwendung Info beginn

   Bewaffnet die Person der Aktion beim Aktionsaufruf und setzt sie auf Kampf.

Skill (Fähigkeiten) der Person auf Maximum setzen!!
In die Initialisierungszeile der Person folgendes reinkopieren: 

 this allowFleeing 0;
 this setBehaviour  "CARELESS";
 this setCombatMode "BLUE";
 removeAllWeapons this;
 this addAction["Hallo! Was machst Du hier?","Aktion.sqf",[],5,true,true];

Anwendung Info Ende */

Private "_unit";

_unit = _this select 0; //Unit mit der Aktion

//Aktivierung auf Kampf und bewaffnen
_unit setBehaviour  "SAFE";
_unit setCombatMode "YELLOW";
removeAllWeapons _unit;
_unit addMagazine  "7Rnd_45ACP_1911";
_unit addMagazine  "7Rnd_45ACP_1911";
_unit addWeapon    "Colt1911";
_unit selectWeapon "Colt1911";

//falls gewünscht die Aktion entfernen
_unit removeAction (_this select 2);

//falls gewünscht wieder auf achtloses Verhalten setzen und entwaffnen
sleep 15;
_unit allowFleeing 0;
_unit setBehaviour  "CARELESS";
_unit setCombatMode "BLUE";
removeAllWeapons _unit;
Was in die Initialisierungszeile der Einheit zu kopieren ist steht in der Info des Skripts.

Funktioniert recht gut, solange die KI nicht "abgelenkt" ist. Dann helfen auch keine Ziel- und Feuerbefehle. Die KI ist oft recht blöde!
Vienna ist offline  
Alt 14.06.2013, 14:19   #4 (permalink)
Newbie
 
Registriert seit: 26.11.2012
Beiträge: 18
Standard

Also soweit geht alles ganz gut, auch das aussehen zu ändern hat funktioniert. Aber es steht unten immer noch 'A Civilian was killed by..' obwohl ich setCaptive false gemacht habe.

Btw. es ist wichtig das die Schrift unten weg ist, weil das eine Mission mit vielen Zivis ist und ich wissen will wann jemand einen unschuldigen getötet hat.

Edit: Und Wegpunkte wollen sie auch nicht ablaufen..

Geändert von Encounter118 (14.06.2013 um 14:26 Uhr).
Encounter118 ist offline  
Alt 14.06.2013, 15:06   #5 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard

Hmmm. Könnte es sein, dass die Meldung kommt, weil die Einheit - obwohl sie OPFOR ist - ein "Zivilistenmodell" übergestülpt hat? Vielleicht weiss sonst noch jemand etwas dazu.

Betreffend setCaptive muss ich meinen früheren Post noch präzisieren: Wird eine Einheit auf setCaptive true gesetzt, dann wird dadurch vor allem die KI der Gegenseite beeinflusst. Ein Beispiel: Eine "gefangene" aber bewaffnete Einheit wird weiterhin auf Gegner schiessen, die Gegner schiessen jedoch nicht zurück.

Will man also, dass sich (der bewaffnete) ZIV1 neutral ggü BLUFOR verhält (und eben nicht nur umgekehrt), müsste man sowohl die BLUFOR-Einheiten als auch ZIV1 auf setCaptive true stellen. Da ZIV1 jedoch zu Beginn keine Waffe hat (und man sie ihm bei Bedarf ja auch später wieder wegnehmen kann) spielt das im vorliegenden Szenario eher eine untergeordnete Rolle.

Das Nicht-Ablaufen der Wegpunkte hat m.E. einen anderen Grund. Es hat nicht zwingend mit den oben genannten Punkten zu tun.

Geändert von Wolkenbeisser (14.06.2013 um 15:08 Uhr). Grund: Text-Ergänzung
Wolkenbeisser ist offline  
Alt 14.06.2013, 15:59   #6 (permalink)
Newbie
 
Registriert seit: 26.11.2012
Beiträge: 18
Standard

Ja das obere könnte man evtl. mit "this setfriend [West,0]" machen.
Aber was ich herrausgefunden habe ist, wenn ich MCC benutze und Armored Civilians mache, und die dann töte, kommt die Meldung nicht.
Ich habe mir schon versucht das alles anzugucken, aber ich komme damit irgendwie nicht richtig klar und werde daraus nicht schlau.
Encounter118 ist offline  
Alt 01.09.2013, 15:40   #7 (permalink)
Newbie
 
Registriert seit: 16.06.2012
Ort: NRW-Gummersbach
Beiträge: 12
Standard East feidlich gegen bestehende zivilisten machen

Hy


habe hier ein KI spwan script , das Problem ich möchte das diese Ki wenn sie auf der Map spwanen direkt feindlich gegen Zivilisten sind .Nur ich bekomme es nicht hin darum brauche ich dringend -hilfe .


Hier das Script



//Aufruf: i = ["marker"] execVM "create.sqf"

_pos = _this select 0;

RESISTANCE setFriend [EAST,0.5];
CIVILIAN setFriend [EAST,0.5];
EAST setFriend [RESISTANCE,0.5];
EAST setFriend [CIVILIAN,0.5];

If (isServer) then {
Sleep 10;
While {true} do {
_grp = createGroup EAST;
_u1 = "Ins_Soldier_2" createUnit [(getMarkerPos _pos), _grp,"u1 = this",0.6,"CORPORAL"];
_u2 = "Ins_Soldier_2" createUnit [(getMarkerPos _pos), _grp,"u2 = this",0.6,"PRIVATE"];
_u3 = "Ins_Soldier_2" createUnit [(getMarkerPos _pos), _grp,"u3 = this",0.6,"PRIVATE"];
_u4 = "Ins_Soldier_2" createUnit [(getMarkerPos _pos), _grp,"u4 = this",0.6,"PRIVATE"];
[_grp,getMarkerPos _pos, 100] call bis_fnc_taskPatrol;

WaitUntil {sleep 1; ! alive u1 && ! alive u2 && ! alive u3 && ! alive u4};
hint "Loop geht weiter";
Sleep 30;
};
};

Habe auch schon eine east ki auf die map gestellt mit Anwesenheit 0% hat aber auch nicht geholfen .


Die Zivilisten und die Seite west , Guer sind spielbare Einheiten nur die East sind KI .


wer hat eine Idee und weiss was ich machen kann damit die gespwante East ki direkt auf die Zivilisten schießt sobald sie gesichtet wird .


Danke schon mal im voraus


Gruß

Tartar
Bier AIG Tartar ist offline  
Alt 01.09.2013, 17:27   #8 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Soldaten greifen keine Zivilisten an. Wenn man das will, dann wird im Editor in Verbindung mit der Mission.sqf feindlichen Einheiten die Bekleidung von Zivilisten verpasst.
Vienna ist offline  
 

Stichworte
fiery civilian


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
ArmA 2 Zivilisten Modul Argonaut1 Editing & Scripting 20 13.07.2014 20:48
Vom Modul "Ambient Civilians" erstellte Zivilisten kontrollierbar machen? Finn_Ger Editing & Scripting 0 17.01.2013 21:57
Feindl. Zivilisten + Sturmhauben Nova Editing & Scripting 2 28.07.2012 11:36
Sonderfall Zivilisten? Dr.Fusselpulli Editing & Scripting 4 31.10.2011 19:02
Zivilisten durch Auslöser erschießen comrade91 Editing & Scripting 16 02.12.2010 19:06


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