Wie teile ich Schaden aus "melee attacks"

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

  • Wie teile ich Schaden aus "melee attacks"

    hi ho leute

    ich möchte gegnern nahkampfschaden zufügen
    dafür habe ich folgendes script geschrieben:

    :event_keypress: space

    GML-Quellcode

    1. image_speed = 0.2
    2. sprite_index = attack_sprite
    3. //hitbox
    4. if image_index >= 1 and image_index <= 2
    5. {
    6. with (instance_create(x,y,obj_hitbox))
    7. {
    8. image_xscale = other.image_xscale
    9. with (instance_place(x,y,obj_enemy))
    10. {
    11. hp -= 10
    12. }
    13. }
    14. }
    Alles anzeigen


    was im grunde funktioniert.
    nun habe ich jedoch 2 probleme

    1. das ganze script klappt jetzt nur für ein "enemy" object
    also wenn ich später mehrere gegner einfüge müsste ich mehrere scripts schreiben was sehr unpraktisch wäre

    2. zieht es dem gegner nicht genau 10 hp ab weil das "hitbox" object zu lange mit dem "enemy" object in kontakt ist

    such schon seit ewigkeiten im inet herum aber hab noch nichts konkretes zu dem thema gefunden
    also falls mit wer weiterhelfen könnte wäre das echt nice :thumbsup:

    PS: schonmal danke im vorraus :)
  • sobald es in kontakt kommt muss es auch wieder zerstört werden also die hit animation muss dann gleich aufhören sodass er nur die punkte abzieht die es soll...ansonsten geht es ja durch und zieht gleich 100te punkte ab...


    hoffe ich habs richtig verstanden hab nicht alles gelesen....sorry.
  • Das Objekt muss sofort nachdem es erschaffen wurde zerstört werden, nicht erst wenn es mit einem Gegner in Kontakt tritt, sonst schadet sich dein Player selber. Nimm also direkt nach dem erschaffen einen Alarm der es direkt wieder zerstört :)
    Es gibt 10 Arten von Menschen: Diejenigen, die Binärcode verstehen und die, die es nicht tun ^^
  • Wäre ja Blödsinn wenn der eigene Schwertschlag einem schaden zufügen kann. Von daher kann das Schadensobjekt so lange existieren, wie die Schwertschlag Animation abgespielt wird oder bis ein Gegner getroffen wird.
  • acidrain833 schrieb:

    sobald es in kontakt kommt muss es auch wieder zerstört werden also die hit animation muss dann gleich aufhören sodass er nur die punkte abzieht die es soll...ansonsten geht es ja durch und zieht gleich 100te punkte ab...


    hoffe ich habs richtig verstanden hab nicht alles gelesen....sorry.


    das habe ich mir auch gedacht aber habe ich dann nicht das problem dass wenn mehrere gegner auf einen fleck stehen dass nur ein object schaden bekommt ?
  • Du könntest das umgehen, indem du im Kollisionsevent den schaden austeilst und eine Variable auf 1 setzt und im EndStep-Event abfragst ob die Variable 1 ist und dann zerstörst. Dadurch sollten alle Kollisionsevents triggern bevor das Objekt zerstört wird.