Komische Health Probleme!

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

  • Komische Health Probleme!

    Hallo Frunde!

    In meinem Spiel habe ich eine Health zählung. Da wird Health, Hunger, Durst, und Müdigkeit von 1000 Punkten runtergezählt. Und wenn dann irgendwann die Health weniger als 500 hat wird die Temperatur und Krankheit hochgerechnet. Wenn dies bei 100 ankommt stirbt man.

    Mein problem: Ich hab nun einen Object erstellt obj_Antibiotikum
    Step:

    Quellcode

    1. sprite_index = spr_Antibiotikum;
    2. if place_meeting(x,y,obj_Player)
    3. instance_destroy ();​


    Collision with obj_Player:

    Quellcode

    1. global.HP +=250


    Das funktioniert aber irgendwie nicht! Es wird nicht dazu gezählt. Ich habe es mit - versucht, mit +, und einige andere sachen aber nichts will klappen.

    Hier der Code des Health:

    Create:

    Quellcode

    1. x_position = x - view_xview[0];
    2. y_position = y - view_yview[0];
    3. global.DP=1000 // Durst
    4. global.SP=1000 // Hunger
    5. global.WP=1000 // Müdigkeit
    6. global.HP=1000 // Health
    7. global.TP=36 // Temperatur
    8. global.IP=0 // Krankheit​


    Step:

    Quellcode

    1. global.SP-=0.02
    2. if global.SP <= 850
    3. {
    4. global.DP-=0.01
    5. }
    6. if global.DP <=850
    7. {
    8. global.WP-=0.01
    9. }
    10. if global.WP <=700
    11. global.HP-=0.05
    12. }
    13. if global.HP <=500
    14. {
    15. global.TP+=0.00015
    16. }
    17. if global.TP >=39
    18. {
    19. global.IP+=0.04
    20. }
    21. if global.IP =100
    22. {
    23. game_restart()
    24. }​
    Alles anzeigen


    Draw:

    Quellcode

    1. x = view_xview[0]+x_position;
    2. y = view_yview[0]+y_position;
    3. draw_set_color(c_red)
    4. draw_set_alpha(1)
    5. draw_text(x,y,'HP: ' +string(global.HP))
    6. draw_text(x,y+15,'SP: ' +string(global.SP))
    7. draw_text(x,y+30,'DP: ' +string(global.DP))
    8. draw_text(x,y+45,'WP: ' +string(global.WP))
    9. draw_text(x,y+60,'TP: ' +string(global.TP))
    10. draw_text(x,y+75,'IP: ' +string(global.IP)) ​
    Alles anzeigen


    Wieso zum ...... funktioniert das nicht? Health usw. wird so wie es sein soll angezeigt und werte nach einander mit verschiedener geschwindigkeit ab oder dazu gezählt. Aber wenn ich das Antibiotikum aufnehme soll sich der wert verändern.

    Bitte um Hilfe! :headtouch:
  • Du zerstörst das Antibiotikum im Step Event.
    So wird das Collision Event wohl garnicht ausgeführt, weil das Objekt schon vor der Kollision zerstört wurde.

    Mach das:

    GML-Quellcode

    1. if place_meeting(x,y,obj_Player)
    2. instance_destroy ();


    ...aus dem Step Event raus und pack das instance_destroy(); ins Collision Event.

    -Sorm