setHitPointDamage

  • Multiplayer

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • setHitPointDamage

    Hallo zusammen,

    mal wieder ein Lokalitätsproblem, das ich nicht in den Griff bekomme.

    Es gibt drei Trigger:

    Der erste...

    Quellcode

    1. _h1 setHitPointDamage ["HitHull", 0.6];
    2. _h1 setHitPointDamage ["Glass1", 0.5];
    3. _h1 setHitPointDamage ["Glass2", 0.5];
    4. gunner2 setDamage 1;
    5. _h1 setHitPointDamage ["Glass3", 0.5];
    6. _h1 setHitPointDamage ["Glass4", 0.5];
    7. _h1 setHitPointDamage ["Glass5", 0.5];


    der zweite ("trigger2")...

    Quellcode

    1. _h1 setHitPointDamage["HitVRotor", 0.9];
    2. _h1 setHitPointDamage["HitHRotor", 0.9];
    3. _h1 setHitPointDamage["Hitfuel", 0.9];
    4. _h1 setHitPointDamage["HitEngine", 1];
    5. _h1 setHitPointDamage["HitEngine1", 1];
    6. _h1 setHitPointDamage["HitEngine2", 1];
    7. _h1 setHitPointDamage["HitHull", 0.8];
    8. _h1 setHitPointDamage["Glass1", 0.7];
    9. _h1 setHitPointDamage["Glass2", 0.7];
    10. gunner1 setDamage 1;
    11. _h1 setHitPointDamage["Glass3", 0.7];
    12. _h1 setHitPointDamage["Glass4", 0.7];
    13. _h1 setHitPointDamage["Glass5", 0.7];
    14. copilot setDamage 1;_h1 allowDamage false;
    Alles anzeigen

    der dritte hat als Bedingung:

    (isTouchingGround h1) && (triggerActivated trigger2);

    ...und bei Aktivierung:

    Quellcode

    1. _h1 setHitPointDamage["HitHull", 0.9];
    2. _h1 setHitPointDamage["Glass1", 1];
    3. _h1 setHitPointDamage["Glass2", 1];
    4. _h1 setHitPointDamage["Glass3", 1];
    5. _h1 setHitPointDamage["Glass4", 1];
    6. _h1 setHitPointDamage["Glass5", 1];
    7. pilot setDamage 1;

    Das Töten der Crew funktioniert.

    Was mache ich falsch?

    Danke schonmal...

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Webster79 ()

  • Christovur schrieb:

    _h1 ist eine lokale Variable. Wie wird die definiert?

    Oder heißt das Objekt (der Helikopter, der kaputtgemacht werden soll) nur "h1"?
    Das Objekt heißt _h1

    commy2 schrieb:

    AL EG ist kein Ausschlusskriterium für RE. Im Gegenteil. Ein globaler Trigger (wie hier) hingegen schon eher.
    Hm, ok. Damit ich dich richtig verstehe:

    Ich soll den Trigger nur auf dem Server evaluieren lassen und das Kommando in einer SQF-Datei per RemoteExec ausführen?

    Also in etwa so, ja?

    Quellcode

    1. [_h1, "hitEngine2", 1.0] remoteExec ["setHitPointDamage", _h1];

    Was mir an all dem rätselhaft bleibt, ist, warum der Effekt bisher nichtmal lokal auftritt, also beim Piloten, der den Trigger als Spieler auslöst. Er tritt überhaupt nicht auf.
  • >Ich soll den Trigger nur auf dem Server evaluieren lassen und das Kommando in einer SQF-Datei per RemoteExec ausführen?

    Nein.

    Dein Problem ist, wie von Christovur beschrieben, dass es sich bei _h1 um eine lokale Variable handelt, und die ist in deinem Skript nicht definiert. Du musst dem Objekt schon einen Namen geben, der nicht mit einem _ beginnt.

    Außerdem steht in der Triggerbedingung h1.