Collision_circle Problem (AoE)

  • GM 8

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

  • Collision_circle Problem (AoE)

    Hallo,
    wollte gern ein AoE(Arena of effect) Damage machen.
    Alle obj_enemy's sollen schaden bekommen wenn sie im Circle drin sind, dass Funktioniert schon mal aber wenn sich 2 Objekte im Radius aufhalten, dann bekommt nur einer von denen Schaden. :(

    Mein Code:

    collision_enemy = collision_circle(x,y,50,obj_enemy,1,1);

    if collision_enemy {
    with (collision_enemy){
    hp -= random_range(80,100);
    if hp <= 0 {
    instance_destroy();
    }
    }
    }


    Bekomme es nicht hin das alle Objekte im Radius einen Schaden bekommen und nicht nur einer.

    Danke im Voraus! :thumbsup:

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von hirasu ()

  • Ich würde es so machen:

    GML-Quellcode

    1. with (obj_enemy){
    2. if distance_to_object(obj_player) <= 50{
    3. hp -= random_range(80,100);
    4. if hp <= 0 {
    5. instance_destroy();
    6. }
    7. }
    8. }
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • husi012 schrieb:

    Ich würde es so machen:

    GML-Quellcode

    1. with (obj_enemy){
    2. if distance_to_object(obj_player) <= 50{
    3. hp -= random_range(80,100);
    4. if hp <= 0 {
    5. instance_destroy();
    6. }
    7. }
    8. }


    Danke funktioniert aber jetzt hab ich ein anderes problem.
    Und zwar möchte ich damit ein Benzin Kanister darstellen wenn es explodiert sollen alle obj_enemy im umkreis von 50 ein Schaden bekommen.
    So mein Problem ist ich hab mehrere obj_barrel( Der den Code ausführt im Destroy Event ) auf der Map und wenn ich einen Kaputt schieße geben alle obj_barrel auf der Map den Schaden und nicht nur der den ich abgeschossen habe.


    with (obj_enemy){
    if distance_to_object(obj_barrel) <= 50{
    hp -= random_range(80,100);
    if hp <= 0 {
    instance_destroy();
    }
    }
    }
  • dann liegt ja der Code am Schuss also was passiert wenn der Schuss den Kanister berührt. Poste doch mal den Code.
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • mach mal anstatt other
    instance_nearest(x,y,obj_barrel)
    oder kannst auch
    instance_nearest(x,y,all)
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe