Deaktivierte Instanz führt Event aus

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

  • Deaktivierte Instanz führt Event aus

    Hallo,
    ich hab mal wieder ein seltsames problem:
    Meine Bots bestehen aus zwei objekten. Eines läuft das andere schießt.
    Dann hab ich auch einen Turm. Wenn der bot nah genug am turm ist läuft der bot dort hin.
    Wenn er angekommen ist werden beide teile vom bot deaktiviert und der bot "sitzt" im turm.
    Doch irgendwie werden die events vom lauf-teil des bots ausgeführt und der will auf variablen
    des schieß teils zugreifen und so entsteht eine schöne Fehlermeldung: "Unknown Variable".
    Das seltsamste ist das der lauf teil verschwindet und es sieht so aus als würde er deaktiviert worden sein. Hier sind noch die wichtigsten teile der codes:

    Step vom Laufteil

    GML-Quellcode

    1. NextTurret.Driver = self ;
    2. NextTurret.EnemyHandled = 1 ;
    3. NextTurret.alarm[1] = choose(450,505) ; //soll bewirken das bot nach einiger zeit aussteigt was nicht funktioniert
    4. instance_deactivate_object(Laufteil) ;
    5. instance_deactivate_object(Schießteil) ;


    alarm[1] vom Turm

    GML-Quellcode

    1. instance_activate_object(Schießteil)
    2. instance_activate_object(Laufteil) ;


    Woran liegt das dass der laufteil noch seine events ausführt obwohl er deaktiviert wurde

    © 2008 by Teamgrill Productions

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Soul Reaver ()

  • Wenn du ein Alarm im Step Event ausführst kann es auch gar nicht funktionieren, weil der Alarm dauernd gestartet wird und zurückgesetzt wird.

    €dit: Versuch es mit einer Extra Varaible (Stop oder so^^)
    z.B.

    GML-Quellcode

    1. if(stop==false)
    2. {
    3. alarm[0] = 100;
    4. stop=true;
    5. }

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

  • @copyboy:
    Klar, wenn er mehrere Teile im Raum hat
    werden ja ALLE deaktiviert bzw. aktiviert.
    Vielleicht liegts daran.

    ... naja eigentlich nur das erste... wenn ich mich nicht schon wieder irre...
    Vielleicht kannst du ja mal etwas mehr vom Code zeigen, vllt ist DAVOR ein Fehler oder das ganze wird erst gar nicht ausgeführt...
    EDIT:
    vertausche einfach mal die Reihenfolge beim Deaktivieren - vielleicht hilft's :)

    Das wird es definitiv nicht... Warum auch? Weil es zufällig andersrum wieder aktiviert wird? Nein, das wäre Blödsinn xD ... Achja, HEY! Willkommen auf gm-d.de und ein herzliches Willkommen von mir! :D (auch wenns spät kommt)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von copyboy ()

  • RE: Deaktivierte Instanz führt Event aus

    86220 schrieb:


    GML-Quellcode

    1. NextTurret.Driver = self ;
    2. NextTurret.EnemyHandled = 1 ;
    3. NextTurret.alarm[1] = choose(450,505) ; //soll bewirken das bot nach einiger zeit aussteigt was nicht funktioniert
    4. instance_deactivate_object(Laufteil) ;
    5. instance_deactivate_object(Schießteil) ;


    alarm[1] vom Turm

    GML-Quellcode

    1. instance_activate_object(Schießteil)
    2. instance_activate_object(Laufteil) ;


    Woran liegt das dass der laufteil noch seine events ausführt obwohl er deaktiviert wurde


    logisch, das stepteil deaktiviert sich und kann als deaktiviertes objekt den befehl das schiessteil zu deaktivieren nicht mehr ausführen... dreh die dinger um und es sollte gehen.
    PUTREFACTION ////
    ◇ ALIEN BASTARDS ◇ SLY PITCH ◇ SHOVE MASTER ◇

  • Wenn du ein Alarm im Step Event ausführst kann es auch gar nicht funktionieren, weil der Alarm dauernd gestartet wird und zurückgesetzt wird.


    Sicher funktioniert das weil der alarm nur einmal gesetzt wird da die instanzen deaktiviert werden und somit der code nur einmal ausgeführt wird.

    Ich lass den code einfach im Turret-step ausführen dann funktioniert alles. :)

    © 2008 by Teamgrill Productions

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

  • Benutzer online 1

    1 Besucher