Armed-Assault.de Twitter


Antwort
 
Themen-Optionen Ansicht
Alt 11.04.2017, 19:51   #1 (permalink)
Newbie
 
Registriert seit: 01.11.2013
Alter: 43
Beiträge: 29
Faithnall eine Nachricht über ICQ schicken
Icon5 Abfrage wieviele Mitglieder einer Gruppe unter ACE 3 als bewusstlos gelten...

Hallo, ich knabber mal wieder an ein kleinen Problem.

Die Abfrage ob jemand bewusstlos ist in Sinne von ACE erfolgt ja über:

Code:
Einheit getVariable ["ACE_isUnconscious", false]
Ich möchte nun eine ganze Gruppe überwachen.
Gespielt werden soll mit den Einstellungen prevent Death.

Somit kann es dazu kommen, dass das ganze Team Bewußtlos in der Gegend herum liegt. Daher will ich mit einen Trigger überwachen, das mindestens einer noch am leben ist, sonst gilt die Mission als gescheitert.

Ein Versuche ala :
Code:
if ({getVariable ["ACE_isUnconscious", false]} count units grp_player >0) then{_gruppe =true;}
gibt schon im Trigger erstellen eine Fehlermeldung raus.

Hat jemand eine Idee?
Faithnall ist offline   Mit Zitat antworten
Alt 11.04.2017, 21:06   #2 (permalink)
Newbie
 
Registriert seit: 08.09.2010
Beiträge: 40
Standard

In der Bed.:
Code:
count (units deinGruppenname select {!(_x getVariable "ACE_isUnconscious")}) > 0
Bei Akt.:
Was immer du willst.
lucullus ist offline   Mit Zitat antworten
Alt 15.04.2017, 23:12   #3 (permalink)
Newbie
 
Registriert seit: 01.11.2013
Alter: 43
Beiträge: 29
Faithnall eine Nachricht über ICQ schicken
Standard

Nur damit ich das richtig verstehe...


Code:
count (units deinGruppenname select {!(_x getVariable "ACE_isUnconscious")}) > 0
Er überprüft ob mehr als 0 Leute nicht bewußtlos sind?

Denn wenn ich diese Bedingung so einstelle erklärt er mir mit den Start der Mission "true"

Kehre ich nun die Negierung um indem ich das ! entferne überprüft er ob mehr als 0 Personen am leben sind, löst der Trigger auch aus, wenn noch alle 6 Leben...

Ich hab es also mal so versucht:

Code:
 count (units group Player select {(_x getVariable "ACE_isUnconscious")}) == count units group player;
Scheint zu funktionieren. Er zählt nun alle Einheiten die Bewusstlos sind und vergleicht ob das = Gruppenanzahl ist.

Trotzdem danke für die Hilfe, hat mir ja weiter geholfen.

Geändert von Faithnall (15.04.2017 um 23:13 Uhr). Grund: dankesagung
Faithnall ist offline   Mit Zitat antworten
Alt 16.04.2017, 15:41   #4 (permalink)
Newbie
 
Registriert seit: 08.09.2010
Beiträge: 40
Standard

Zitat:

Daher will ich mit einen Trigger überwachen, das mindestens einer noch am leben ist, sonst gilt die Mission als gescheitert.

Zitat:

count (units deinGruppenname select {!(_x getVariable "ACE_isUnconscious")}) > 0

...und genau das macht der Eintrag.
lucullus ist offline   Mit Zitat antworten
Alt 17.04.2017, 18:06   #5 (permalink)
Newbie
 
Registriert seit: 01.11.2013
Alter: 43
Beiträge: 29
Faithnall eine Nachricht über ICQ schicken
Icon14

Ok...
Moment, vermutlich lag dann der Fehler bei mir bzw. mein Testbedingungen (mit Bots in testmodus Editor)
Zum Verständnis für mich:

Code:
count (units deinGruppenname select {!(_x getVariable "ACE_isUnconscious")}) > 0
Eingeleitet wird mit count Units Player group.
Er soll also zählen, von allen Variablen die so ein Player in der Gruppe hat soll er also Zählen wer ...
Code:
{!(_x get Variable "ACE_isUnconscious")}
... ! = nicht (wenn ich das richtig lese?)
die Variable
Code:
ACE_isUnconscious
= true gesetzt hat.
Das Ergebnis soll er prüfen ob die Zahl größer ist als 0.


Ich hab das nun noch einmal im Editor ausprobiert.
1 Player + 1 NPC Gruppenmitglied (ich lebe)
Ergebnis
Code:
Player getVariable "ACE_isUnconscious";
= false
Die Abfrage zu mir mit getVariable ["ACE_isUnconscious", false]
erhalte ich so lange ich lebe ebenfalls ein false.

setzte ich mich nun selbst außer gefeht mit local Exec
player setVariable ["ACE_isUnconscious", true];
Dann erhalte ich bei den Personen bezogenen Abfragen ein true.

Bei deinen Code erhalte ich ab beginn ein true
Code:
count (units Group Player select {!(_x getVariable "ACE_isUnconscious")}) > 0
Wenn ich nun in deiner Abfrage das ! entferne scheint diese auch zu funktionieren. Der Vorteil deiner Abfrage ist natürlich sie ist schlanker und man spart sich einen unnötigen Zählvorgang.

Vermutlich liegt der Fehler in meiner einleitenden Beschreibung.
Stichwort doppelte Verneinung

Na wieder etwas gelernt.

Danke schön
Faithnall ist offline   Mit Zitat antworten
Alt 20.04.2017, 20:17   #6 (permalink)
Newbie
 
Registriert seit: 08.09.2010
Beiträge: 40
Standard

Code:
count (units deinGruppenname select {!(_x getVariable "ACE_isUnconscious")}) > 0
count = Zähle
(units deinGruppenname = die Soldaten deiner Gruppe,
select = aber nur
{!(_x getVariable "ACE_isUnconscious")} = die nicht (bewusstlos) sind
)
> 0) = Ist der Wert größer Null?


Edit:
Jetzt komm ich selber Durcheinander mit diesen ganzen boolschen Kram.
Hauptsache es funktioniert bei dir, mit oder ohne "!".

Geändert von lucullus (20.04.2017 um 20:43 Uhr).
lucullus ist offline   Mit Zitat antworten
Alt 26.04.2017, 19:22   #7 (permalink)
Newbie
 
Registriert seit: 01.11.2013
Alter: 43
Beiträge: 29
Faithnall eine Nachricht über ICQ schicken
Icon3

Da bin ich wieder doch noch nicht ganz durch mit den Ding.

Code:
count (units deinGruppenname select {(_x getVariable "ACE_isUnconscious")}) > 0
========

Zähle Bewußtlose Spieler der Gruppe, ist dieser Wert größer 0 dann Bedingung erfüllt.

Passt ja nicht, denn dann löst der Trigger ja auch aus, wenn nur ein Mitglied der Gruppe Bewusstlos ist.

also Zählen wer NICHT Bewusstlos ist und vergleichen am Ende == 0

Also :

Code:
count (units deinGruppenname select {!(_x getVariable "ACE_isUnconscious")}) == 0
count = Zähle
(units deinGruppenname = die Soldaten deiner Gruppe,
select = aber nur
{!(_x getVariable "ACE_isUnconscious")} = die nicht (bewusstlos) sind
)
== 0) = Ist der Wert gleich Null?

= Alle Bewusstlos gleich Mission gescheitert.

Geändert von Faithnall (26.04.2017 um 19:23 Uhr). Grund: Korrekturen an den Code
Faithnall ist offline   Mit Zitat antworten
Antwort


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
Einheiten in Gruppe löschen Brubaker Editing 6 26.05.2011 18:44


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