Problem, beim Leben

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

  • Problem, beim Leben

    Hi, ich steh schon wieder vor nem Variablen Prob. Ich habe ein obj_monster (in 3D). Wenn es inner halb des Schussradius ist, soll die Lebensanzahl minus 1 gesetzt werden. Da die Variable "global.mhealth" GLOBAL ist, wird jedes Monster vernichtet. Ich möchte aber nur, dass ein Monster zerstört wird. Wenn ich es lokal umwandle (was ich nicht gemacht habe), kommt ein Fehler. Bei dem obj_monster ein Kollisionsobjekt einfügen sit auch schwachsinn. Ich habe mir gedacht, einen Speziellen Code beim Monster einzufügen. Aber da der Schussradius kein Objekt ist, ist das ein bisschen schwer.

    GML-Quellcode

    1. var xx, yy, ii;
    2. xx = global.camx;
    3. yy = global.camy;
    4. repeat (50)
    5. {
    6. xx += 4*global.camcos;
    7. yy -= 4*global.camsin;
    8. ii = instance_position(xx,yy,obj_wall_basic);
    9. if (ii == noone)
    10. {
    11. ii = instance_position(xx,yy,obj_monster_basic);
    12. if (ii == noone) continue;
    13. with (ii) global.mhealth-= 1; // Hier ist das Problem :(
    14. break;
    15. }
    Alles anzeigen

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

  • lass einfach das global bei "global.mhealth" in der kollisions-abfrage, sowie im create-event weg. schon sind es lokale variablen und jedes monster hat seine eigene energie.
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • Ja, aber wenn ich das herausnehme, wird doch ein Fehler angezeigt. ICH schieße. Also brauch ich da ein Code, was feststellt, ob in dem Radius des Schusses eine Kollision stattfindet.

    "Wenn obj_monster im Schussradius ist, set the life to -1"
    kann ich da das "for" benutzen? Was in D&D "Applies to:..." wäre???
  • was steht den überhaupt für eine fehlermeldung?

    globale Variabeln gibt es ausserdem nur einmal im ganzen programm, das hat zu folge das Jedes Monster die gleiche HP hat, geht diese runter verlieren alle Monster die gleichzeitig! Du musst schon mit localen Variabel arbeiten, stell sicher das im create event des "obj_monster_basic"
    mhealth = 100 oder so erstellt wird!, achte darauf das sie richtig geschrieben ist.
    *gähn*
  • Warum lässt du nicht einfach in deinem obj_monster die Kollisionsabfrage laufen? Dann gibts da gar kein Problem mehr. Und eine globale Variable für die Energie darfst du wirklich nicht nehmen. Ich versteh auch nicht, wie du darauf kommst?
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.