Strings werden übereinander geschrieben!

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

  • Strings werden übereinander geschrieben!

    Hallo Jungs! Ich mache zur zeit einen mehrfachen Healthbar. Sprich es gibt Health, Durst, Hunger, Krankheit, Blutverlust. Die alle deffiniere ich in einem Object! Wenn jetzt z.B. zu wenig getrunken wird, geht die Krank Bar von 1000 auf 0 langsamm runter, das hat auswirkung auf die Healthbar, die dann auch gestartet wird und von 500 langsamm auf 0 zu geht. usw.

    Hier der code zum drawnen:

    Quellcode

    1. x = view_xview[0]+x_position;
    2. y = view_yview[0]+y_position;
    3. draw_text_color(x,y,string(hpb)+string("")+string(hps),c_red,c_red,c_red,c_red,50)
    4. draw_text_color(x,y,string(drb)+string("")+string(drs),c_blue,c_blue,c_blue,c_blue,50)


    Das ist jetzt für Durst und Health.

    Wird aber so über einander geschrieben. Wie kann ich das ändern`Das es unter einander oder nebeneinander geschrieben wird`?

    Brauche eure Hilfe!
  • Danke dir, das hat geholfen! Jetzt endekte ich noch ein problem und werd nicht schlau draus, habe schon einiges ausprobiert. Das problem ist jetzt das der Durst, wenn auf null geht soll auf null stehen bleiben und die Healthbar soll anfangen runter zu zählen. Der durst bar zählt aber ins Minus und will einfach nicht stehen bleiben.

    Hier der Code:

    Quellcode

    1. drs-=1
    2. if drs<0
    3. {
    4. if drb=0
    5. drs -= 0
    6. {
    7. hps-=1
    8. if hps<0
    9. {
    10. if hpb=0
    11. {
    12. game_restart()
    13. }
    14. hps=99
    15. hpb-=1
    16. }
    17. }
    18. drs=10
    19. drb-=1
    20. }
    21. if drb = 0
    22. drs = 0
    23. {
    24. drb =0
    25. drs =0
    26. }
    27. alarm[0]=30
    Alles anzeigen


    Hat es damit zu tuhn das die beiden nicht gleichzeitig au nul kommen?
  • @LifeGpDA

    ich weis nicht ob dein Problem schon gelöst wurde, aber mal ganz ehrlich,...
    wenn du angibst GML Fortgeschrittener zu sein solltest du doch zumindest Programmieren können

    aber den Code denn du hier zeigst ist müll,... anscheindend hast du die grundlagen der Programmierung nicht verstanden!

    Aber ich möchte dir helfen und nicht nur meckern


    Probier mal folgendes

    Zählt die Variable nur runter wenn drs größer 0 ist.

    GML-Quellcode

    1. if drs > 0
    2. {
    3. drs -=1;
    4. }




    GML-Quellcode

    1. if drs < 0
    2. {
    3. drs = 10;
    4. drb-=1;
    5. if hps <0
    6. {
    7. hps=99;
    8. hpb-=1;
    9. }
    10. if hpb <=0
    11. {
    12. game_restart();
    13. }
    14. if drb = 0
    15. {
    16. drs = 0;
    17. }
    18. }
    Alles anzeigen



    Wie bei jeder Programmiersprache werden die Codezeilen nacheinander abgearbeitet und direkt umgesetzt,... wenn du also in einer Codezeile drs-=1 machst wird diese um -1 runtergezählt ein anschließendes drs-=0 zählt die variable um 0 runter, führt aber nicht dazu das die vorhergehende Codezeile nicht ausgeführt wird!