Andere "Variablen" als Health?

  • GM 8

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

  • Andere "Variablen" als Health?

    hey... ich komm mir schon echt blöd vor hier immer fragen zu stellen^^... aber ich hab halt noch eine...:

    In meinem Spiel (Namenloser Krieg^^) muss ich gegen andere Truppen kämpfen. Wenn jetzt einer von meinen Truppen schießt, und der andere schießlich stirbt, sterben alle nachkommenden Truppen. Ich hab das mit health geregelt (Aus den Aktionssymbolen weil ichs nicht anders wusste.. Naja oke ich hätte auch den Code schreiben können health = 100 wär aber das gleiche drausgekommen...)... Naja das Health ist halt eine globale Variable (Ist das ne überhaupt ne Variable? ^^)... Wie kann ichs machen, das jede Einzelne Einheit ein "eigenes Healthsystem" bekommt? muss ich da Variablen erstellen? Wenn ja, wie..? :o

    also nochmal ein Beispiel:

    3 Speerträger
    4 Schwertkämpfer
    3 Bogenschützen
    und 2 Kanonäre.

    Die erste einheit ist der Speerträger. Wenn jetzt einer auf den Speerträger draufballert, bis er stirbt, dann sterben auch alle anderen Einheiten... Ich will es jetzt aber so, dass nur der einer stirbt, nicht alle, nicht alle von den Speerträger sondern nur dieser eine....

    Das dürfte ausührlich genug erklärt sein^^...

    Wenn hier jemand ne Lösung schreibt, is es egal ob aktionssymbolen oder Code... Lieber wär mir aber code^^... Wenn ich mir einmal nen code ansseh kapier ich ihn auch (meißtens^^) :D

    mfg
    Ps: Mit Live hab ichs auch schon probiert...
    mfg Salmi
  • hi,
    naja gut du hast kein pro, sonst hättest du eine andere variable nehmen und mit einen Streifenobjekt+ Hintergrund über den Truppen skalieren können.
    Da dies aber nicht der Fall ist, kannst du versuchen, ungefäre Lebensstreifen zu imitieren. Dies ist zwar umständlicher, aber es geht.
    Zuerst erstellst du einen Sprite, der Bei dem Lebenstreifen als Hintergrund dient, also der komplett leere Lebensstreifen wäre. Dann erstellst du noch ein sprite was den vollen streifen darstellt, aber eben nur kurz ist und nicht dieganze länge des hintergrundes umfasst. Nun stellt du dein Trupps so ein, dass jeder Trupp eine eigene Lebensvariable hat: zb. leben, oder lebenspunkte (kein health). So hat jeder Trupp schonmal eigene Leben und da wo sie verschwinden, musst du es ebenfalls anpassen. Um den Lebenstreifen nun anzuzeigen, musst du es folgendermaßen machen(wenn 100 maximum ist, dein hintergrund-sprite 100px lang und dein vordergrund-sprite 10px lang ist):

    GML-Quellcode

    1. //im draw event
    2. draw_sprite(spr_hintergrund,0,x-50,y-20)
    3. if(Leben !<10)
    4. {
    5. draw_sprite(spr_vordergrund,0,x-50,y-20)
    6. }
    7. if(Leben !<20)
    8. {
    9. draw_sprite(spr_vordergrund,0,x-40,y-20)
    10. }
    11. if(Leben !<30)
    12. {
    13. draw_sprite(spr_vordergrund,0,x-30,y-20)
    14. }
    15. if(Leben !<40)
    16. {
    17. draw_sprite(spr_vordergrund,0,x-20,y-20)
    18. }
    19. if(Leben !<50)
    20. {
    21. draw_sprite(spr_vordergrund,0,x-10,y-20)
    22. }
    23. if(Leben !<60)
    24. {
    25. draw_sprite(spr_vordergrund,0,x,y-20)
    26. }
    27. if(Leben !<70)
    28. {
    29. draw_sprite(spr_vordergrund,0,x+10,y-20)
    30. }
    31. if(Leben !<80)
    32. {
    33. draw_sprite(spr_vordergrund,0,x+20,y-20)
    34. }
    35. if(Leben !<90)
    36. {
    37. draw_sprite(spr_vordergrund,0,x+30,y-20)
    38. }
    39. if(Leben !<100)
    40. {
    41. draw_sprite(spr_vordergrund,0,x+40,y-20)
    42. }
    Alles anzeigen



    änder die namen und werte ggf. ab.
    Mit diesem Effekt erzeugst du ebenfalls einen Streife, der zwar nicht so detailliert, jedoch funktionierend ist. man kann mit diesen werten herumspielen, diese ggf ändern usw. probiers aus. :thumbup:
    ////////////////////////////////////////////////////////////////////////////////////////////////
  • ohh ups.
    Naja dann ists ja noch nichtmal so schwer.
    mach einfach einen code im crate event:

    GML-Quellcode

    1. var Leben;
    2. Leben=100 //stell den Leenswert ggf ein

    und dann im Kollisions Event mit dem Gegner oder so

    GML-Quellcode

    1. Leben=Leben-10//das -10 kannst du auch ggf. ändern

    meintest du das so?

    @lucke: man kann nur die health-leiste drawen, weil sie frei ist und sonst entweder wie ich oben oder mit formen.
    ////////////////////////////////////////////////////////////////////////////////////////////////
  • okey, danke Biochemic. Lucke hat mir die eigentliche Lösung der Frage schon per pn geschrieben..^^ Auch danke an Lucke nochmal :D... Das was du jedoch zuerst beschrieben hast ist auch ganz nützlich ;)

    ich werds gleich probieren :D

    Nochmal ne frage so nebenbei... Warum muss man manchmal zb. speed! oder einfach nur speed schreiben? Das hast du ja auch bei If Leben ! gemacht..^^

    mfg
    mfg Salmi