Computer-Gegner im MMORPG

  • GM 7

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

  • Computer-Gegner im MMORPG

    Hi,



    ich bin dabei ein 2D MMORPG spiel zu machen.



    nun habe ich folgendes problem: die computer-gegner.



    mein computer-gegner hat im moment eine bestimmte healthpoints zahl,
    und wenn der spieler schlägt zieht es im langsam hp ab, bis er
    verschwindet.

    allerdings kann sich der gegner noch nicht wehren. Und Genau das ist mein Problem.



    Die Frage: Wie kriege ich es hin, das sich mein Computer gegner zum
    spieler bewegt, wenn sich der Spieler nähert, und ihn dann schlägt.

    als beispiel: de.youtube.com/watch?v=OmS1eLuXVCw&NR=1

    (ab sekunde 10 sollte man erkennen was ich meine :D )

    bitte helft mir :D

    danke schonmal

    Gruß Geheim
  • Du machst ein Online-Spiel, aber weißt nicht, wie man die Entfernung misst?
    distance_to_point(x,y) Returns the distance of the bounding box of the current instance to (x,y).
    distance_to_object(obj) Returns the distance of the instance to the nearest instance of object obj.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Vergiss am besten schonman gleich dein MMORPG, das du gerne machen würdest, wenn du schon hieran scheiterst...

    Aber ok:

    Im Step Event vom Monster checkst du die Distanz zum Player und wenn diese klein genug ist, lässt du das Monster in die entsprechende Richung bewegen:

    GML-Quellcode

    1. if distance_to_object(playerobjekt) < 30//deine maximale distanz
    2. {
    3. if x>playerobjekt.x then x-=1//1 kann durch die geschwindigkeit ersetzt werden
    4. else
    5. if x<playerobjekt.x then x+=1
    6. }


    Wenn eine Kollision vorhanden ist, wird gecheckt, ob seit dem letzten Angriff schon 1 Sekunde (30 steps) vergangen ist und setzt den alarm wieder auf 1 sekunde, während der das Monster nicht angreifen kann.

    Im Create Event vom Monster:

    GML-Quellcode

    1. check_hit=1


    Im Kollisions-Event vom Monster mit dem Player:

    GML-Quellcode

    1. if check_hit=1
    2. {
    3. other.lebensvariabledesplayers -= 5 // leben, das abgezogen werden soll vom player
    4. alarm[0]=30
    5. check_hit=0
    6. }


    Im alarm[0] Event Monster:

    GML-Quellcode

    1. check_hit=1
    "das war meine letzte flamewar PM an dich ."
  • vielen dank für die infos. werde mich jetzt der sache annehmen.

    PS: ja ich weis, ich bin mutig mit dem MMORPG, aber es nimmt seinen lauf :D

    ---

    nunja, auch wenn ihr mich jetzt wieder für dumm erklären würdet, weil ich das nicht weiß,

    wie lasse ich den Spieler schlagen?^^ also wie lautet der Befehl, mit dem man das Monster schlagen lässt?

    GML-Quellcode

    1. if check _hit=1 //und dann?^^


    (Zusammengeschoben von boxxar)
  • vergiss es! ganz ehrlich... du wirst kläääglich drann scheitern..

    es gibt keinen befehl, mit dem man ein monster schlagen lassen kann, wie auch, woher soll das programm denn wissen, wie das
    monster schlagen soll?!

    es heist übrigens "check_hit" und nicht "check _hit" und das ist eine variable, die testet, ob das monster "zuschlagen" kann.

    momentan wird dem spieler lediglich in 1-sekundenabständen jeweils leben von einer variable abezogen, was du hoffentlich verstanden hast...

    du könntest deinem monster eine angriffs-animation mithilfe eines sprites, eines bildes machen, dieses kannst du dann aufrufen im step-event mit:

    GML-Quellcode

    1. if check_hit=1
    2. then sprite_index = monster_attack//dein monster- angriff sprite
    3. else sprite_index= monster_normal//dein normales sprite


    aber:
    fang besser mit nem einfacheren spiel wie pong oder space invaders oder so an...
    "das war meine letzte flamewar PM an dich ."
  • so, ihr habt mir jetzt schon echt weitergeholfen, aber eine frage diesbezüglich habe ich noch.

    und zwar, wie bekomme ich es hin, das das monster nicht ,wenn ich stehen bleibe, auch stehen bleibt, sondern quasi um mich herum läuft, sowie bei dem video...
    danke schonmal

    Gruß
  • sry, aber es klappt nicht..

    hier mal das ganze step event vom monster:

    GML-Quellcode

    1. if place_meeting(x,y+1,object11) //object 11 ist die Wand
    2. {
    3. gravity=0
    4. }
    5. else
    6. {
    7. gravity=0.5
    8. }
    9. if distance_to_object(obj_player1) < 200
    10. {
    11. if x>obj_player1.x then x-=2 else
    12. if x<obj_player1.x then x+=2
    13. }
    14. if healthpoints < 1 instance_destroy()
    Alles anzeigen
  • Benutzer online 2

    2 Besucher