![]() |
#1 (permalink) |
![]() Registriert seit: 26.11.2012
Beiträge: 18
|
![]()
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:
|
![]() |
![]() |
#2 (permalink) |
![]() ![]() ![]() Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
|
![]()
Ich würde versuchen, das so zu lösen (vorausgesetzt es sind nicht zuviele schiesswütige Zivilisten):
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. |
![]() |
![]() |
#3 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
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" 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; Funktioniert recht gut, solange die KI nicht "abgelenkt" ist. Dann helfen auch keine Ziel- und Feuerbefehle. Die KI ist oft recht blöde! |
![]() |
![]() |
#4 (permalink) |
![]() Registriert seit: 26.11.2012
Beiträge: 18
|
![]()
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). |
![]() |
![]() |
#5 (permalink) |
![]() ![]() ![]() Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
|
![]()
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 |
![]() |
![]() |
#6 (permalink) |
![]() Registriert seit: 26.11.2012
Beiträge: 18
|
![]()
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. |
![]() |
![]() |
#7 (permalink) |
![]() Registriert seit: 16.06.2012
Ort: NRW-Gummersbach
Beiträge: 12
|
![]()
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 |
![]() |
Stichworte |
fiery civilian |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
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 |