Ergebnis 1 bis 7 von 7

Thema: Brauche Hilfe bei AND und OR --danke gelöst--

  1. #1

    Brauche Hilfe bei AND und OR --danke gelöst--

    Ich blicke bei der Logik bei Effecten und Bedinungen nicht ganz durch.

    Ich habe ein Betäubungsgwehr, das nicht bei Powerrüstung und Robotern funktionieren soll, was es auch macht.



    Was ich nicht verstehe ist die Effect-Bedingung, die bei beiden auf AND steht. Wäre nicht logischer, dass die erste ein OR ist ? (Was nicht geht, weil dann im Spiel beide Bedingungen nicht mehr funktionieren.)

    Wie muss ich es dann formulieren, wenn ich will:

    Bedingung 1. Powerrüstung
    Bedingung 2. Powerhelm
    Bedingung 3. Roboter

    Die Sache soll nur funktioniert wenn jemand die komplette Rüstung trägt (also Bedingung 1 + 2, nicht 1 oder 2) oder es ein Roboter ist (Bedingung 3). Also 1+2 oder 3 müssen zutreffen.

    Logisch wäre:
    Bedingung 1. Powerrüstung AND
    Bedingung 2. Powerhelm OR
    Bedingung 3. Roboter AND

    Allerdings hat micht das erste Beispiel verunsichert (Bild), da dort ja eigentlich ein OR funktionieren müsste, da das Gewehr nur funktionieren soll, wenn es jemand mit Rüstung >= 41 oder ein Roboter ist, das funktionierende AND verwirrt micht dabei total.

    Geändert von EMOD (14.04.2009 um 11:23 Uhr)

  2. #2
    Bin nicht so der Experte darin, aber nachdem was ich bisher über die Bedingungen gesehen hab, lässt sich das nicht so umsetzten wie du willst

    Das OR bezieht sich nur auf die Sachen die direkt Links und Rechts davon stehen - beim nächsten AND wird das OR wieder beeendet.

    Beispiel:
    Bei Powerrüstung AND Powerhelm OR Roboter
    würde es aktiveren wenn man ne Rüstung und nen Helm oder nen Roboter hat.

    Bei Roboter AND Powerhelm OR Powerrüstung
    würde es aktiveren wenn man nen Roboter ist und einen Helm oder ne Rüstung trägt.


    Ich denke daher nicht, das es sich so umsetzten lässt - mein Vorschlag wäre, die Teile der Rüstung in eine Form List zu hauen (wie bei ner Reperaturliste) und abzufragen oder das Object a) die Form List trägt oder obs b) ein Roboter ist.
    Allerdings keine Gewähr das das auch wirklich funktioniert..


    PS: Sicher dass das Bild auch wirklich auch Menschen mit ner PA funzt? Wenn ichs richtig verstehe, dürfte es wirklich nur bei Robotern mit mindstens 41 Panzerung wirken...

  3. #3
    Genau das verwirrt mich ja, es funktioniert bei Enklave, die eine Powerrüstung tragen oder bei Robotern. Wenn ich eben ein OR reinmache, was eigentlich rein gehört, dann kann man Roboter und Enklave mit Powerrüstung betäuben, also genau das Gegenteil von dem was ich will (da er anscheinend genau dann SR >41 und Roboter sucht, die er als Bedingung nie finden wird).

    Die Formliste geht ja nicht mit Rüstung und Helm komplett, da sonst ja auch ein Helm ohne Rüstung funktionieren würde, nur weil er in der Liste enthalten ist. Ich will eine Helm- und eine Rüstungsliste, die ich beide mit einem UND vebinde und einem ODER für Roboter als Bedingung mache. Das SR >= 41 ist momentan nur ein Notbehelf.

    Das schreibt Bethesda dazu:
    The OR checkbox is used to determine how a Condition Item is evaluated with the ones that follow it. Consecutive ORs are treated like a single block when evaluating and have order preference over AND. For example, the condition items ( A AND B OR C AND D ) are evaluated as ( A AND ( B OR C ) AND D ) and not ( ( A AND B ) OR ( C AND D ) ).

    Also müsste funktionieren:
    Roboter AND
    Helmliste OR
    Rüstungsliste AND

    Irgendwie ist die Logik dann genau umgedreht, also ein AND sagt nur aus, dass noch was danach kommt und ein OR verbindet diese und die folgende Bedingung zu einem Block ?

    Ich finde leider keine Beispiele im GECK/Original, wo ich das abschauen könnte, da sich Bedinungen fast immer auf AND beziehen.

    Geändert von EMOD (13.04.2009 um 14:31 Uhr)

  4. #4
    Roboter OR HeRü, HeRü = WAHR, wenn Helm AND Rüssi

  5. #5
    Zitat Zitat von EMOD Beitrag anzeigen
    Also müsste funktionieren:
    Roboter AND
    Helmliste OR
    Rüstungsliste AND
    Nein, das wäre ja wieder (A AND (B OR C)), also endweder Roboter und Helm oder Roboter und Rüstung.

    Kannst du nicht einfach 2 Effekte erstellen? Also einen der NUR auf Roboter wirkt und einen der NUR auf Leute mit Rüstungen wirkt? Dann würdest du diese Umfrage einfach umgehen können :/



    Zitat Zitat
    Genau das verwirrt mich ja, es funktioniert bei Enklave, die eine Powerrüstung tragen oder bei Robotern. Wenn ich eben ein OR reinmache, was eigentlich rein gehört, dann kann man Roboter und Enklave mit Powerrüstung betäuben, also genau das Gegenteil von dem was ich will (da er anscheinend genau dann SR >41 und Roboter sucht, die er als Bedingung nie finden wird).
    Wie jetzt? Bei AND sind sie ímmun, bei OR werden sie betäubt?
    Wenn ja, ist das doch korrekt.
    Der Effekt tritt ja nur ein, wenn die Bedingungen erfüllt sind - da die Enclave-Soldaten zwar nen hohen Rüstungswert haben, aber keine Roboter sind, werden sie NICHT betäubt (sie erfüllen ja nur eine der beiden "AND" Bedingungen). Gleiches gilt für Roboter, auch sie erfüllen nur eine der beiden Bedingungen und werden nicht betäubt.

    Wenn du aber ein OR nimmst, erfüllen sowohl Enclaves als auch Roboter je eine "OR" Bedingung und können betäubt werden.
    Ist schon richtig so.

  6. #6
    Genau das verwirrt mich daran, wenn ich die Abfrage in ein Skript machen würde, dann ginge es nicht:

    is SR >41 && Roboter
    dann mache das nicht...

    das würde nie zutreffen, weil nie beides gleichzeitig vorkommt, also ein Roboter mit SR 41, was ich ja auch nicht abfragen will.

    Korrekt wäre im Skript:

    is SR >41 || Roboter
    dann mache das nicht..


    Im Object-Effect werden beide Bedingungen mit AND versehen und es geht, mache ich ein OR dazwischen geht es eben nicht. Man beachte, der Effekt soll jeweils nicht bei den Bedingungen anschlagen. Also eine Ausschlußliste ==0.

    Genau das letzte verstehe ich nicht, bei einem OR erfüllen sie plötzlich beide Bedingungen nicht. Die Enklaven sind mit oder ohne OR immer SR >41, wieso wird aus dem OR ein UND, da das Spiel es dann so interpretiert:

    Bist du SR >41 und ein Roboter dann betrifft es dich nicht.

    Warum fragt dieses AND die Bedinungen einzeln ab und ein OR verbindet die Abfrageblöcke ? Mein Hirn läuft da gerade in einer Unlogikschleife

    Zwei getrennte Abfragen gehen nicht, da man einer Waffe nur einen Object-Effect zuweisen kann. Diese Bedingungsblöcke gehen ja, um sowas abzufragen, nur die Logik der AND OR und ihrer Blockzuweisung kann ich nicht folgen.

    Geändert von EMOD (13.04.2009 um 17:19 Uhr)

  7. #7
    Die Logik der Bedingungen ist für mich einfach verdreht:

    Rüstungsliste == 0 OR
    Helmliste == 0 AND
    Roboter == 0 AND

    hat soweit funktioniert. Das OR verbindet die ersten beiden Bedigungen, die dritte wird als eigenständige Bedigung akzeptiert. Betäubt wird nur wenn 1 oder 2 aktiv ist, wenn 1 und 2 gleichzeitig zutreffen wird nicht betäubt. 3 wird nie betäubt.

    Im Grunde genommen mache ich OR AND umgekehrt rein, wie ich sie sonst in Skripte formuliere.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •