Weitere kleine Problemchen

  • GM 7

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

  • Weitere kleine Problemchen

    Soo, da bin ich wieder ;)

    Erstmal eine doofe Frage :

    Ich möchte die D&D Befehle meiner Movements (z.B.: Wenn man "W" drückt und es kollisonsfrei ist, geht es um y=-6 (RELATIVE) nach oben) in GML umschreiben.
    Dazu fehlen mir die GML Codes für :

    1.) Check Empty (If a position is collison free) // Habs mit place_free(x,y) versucht, hat aber nicht so recht geklappt :fresse:
    2.) Jump to position (Jump to a given position) // Hier hab ichs mit move_towards_point(x,y,sp) versucht, hat auch nicht so recht geklappt :fresse:

    So nun mal Butter bei die Fische : Ich hänge momentan bei einer "Gegner-KI". Es soll ca. so funktionieren:

    1.) Wenn Spieler x außerhalb des Radius y von Feind z, dann Feind z bleibt wo er ist und verfolgt NICHT den Spieler x
    2.) Wenn Spieler x innerhalb des Radius y von Feind z, dann Feind z verfolgt den Spieler x
    3 a) Wenn Spieler x wieder außerhalb des Radius y von Feind z gelangt, dann bleibt Feind z stehen -> Spieler x vorerst in Sicherheit, solange wie Spieler x nicht in den Radius von Feind z kommt
    3 b) Wenn sich Spieler x auf die Platform P begibt und den Tarnmodus einschaltet soll der Feind z die Verfolgung von Spieler x einstellen und sich nach links aus dem Bild mit einer bestimmten Geschwindigkeit bewegen!
    WICHTIG!!!! : Wenn sich Spieler x zu früh aus dem Tarnmodus begibt und sich praktisch noch im Radius y des sich entfernenden Feindes z befindet, so soll Punkt 2.) wieder eintreten. Wird dann wieder die Tarnung aktiviert tritt
    wieder Punkt 3 b) in Kraft. Deaktiviert man erst den Tarnmodus, wenn Spieler x außerhalb von Radius y von Feind z, dann ist die Gefahr überwunden...

    Die Punkte 1-3a habe ich hinbekommen... ich hänge zur Zeit an Punkt 3 b) und komme einfach net weiter und bitte euch um Hilfe ^^

    Ich hänge auch mal die Datei an. Eventuell könnt ihr dann eher durchblicken.

    Zur Erklärung: Es geht um das Objekt "obj_enemy" und das Script "src_shark_engine". Den Tarnmodus aktiviert man, indem man sich auf den blauen Steinen befindet und die Taste <SHIFT> drückt (der Feind(Teddy) muss natürlich erst angelockt werden ;)). Bis jetzt bleibt der Feind nur stehen, wenn man den Tarnmodus aktiviert. Alle Versuche ihn dann nach links abdrehn zu lassen, schlugen fehl.

    In diesem Sinne
    Danke schonmal im Voraus :P
    Dateien
  • 1.) Check Empty (If a position is collison free) // Habs mit place_free(x,y) versucht, hat aber nicht so recht geklappt :fresse:

    GML-Quellcode

    1. if (place_empty(x,y))

    place_free(x,y) Gibt an, ob die Instanz an angegebener Position(x,y) eine Kollision auslöst. Sie wird verwendet als Prüfroutine bevor man sich auf die neue Stelle bewegt.
    place_empty(x,y) Gibt an, ob die Instanz an angegebener Position(x,y) auf nichts trifft. (Diese Funktion beachtet auch "non-solid" Instanzen.)
    place_meeting(x,y,obj) Gibt an, ob die Instanz an angegebener Position(x,y) das Objekt obj trifft. obj kann ein Objekt sein - in so einem Fall gibt die Funktion den Wert "true" zurück, wenn es auf eine Instanz des Objekts trifft. Es kann aber auch eine "instance id" sein, das besondere Wort "all" (bedeutet irgendeine Instanz irgendeines Objektes), oder das besondere Wort "other".
    2.) Jump to position (Jump to a given position) // Hier hab ichs mit move_towards_point(x,y,sp) versucht, hat auch nicht so recht geklappt :fresse:

    GML-Quellcode

    1. x= //Ziel X
    2. y= //Ziel Y
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • Damit funktioniert das auch nicht was ich will... Ich will, dass sich der Spieler beim drücken der W Taste um -6 nach oben bewegt von seiner derzeitigen Position aus (relativ). Ich glaub mir fehlt dazu diese "relative" Komponente, welche man im D&D bei Jump to position auswählen kann.

    Wenn es dafür eine Codeabfolge gibt, dann müsste ich das mit dem Punkt 3b meines vorherigen Posts ja auch hinkriegen ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Radon* ()

  • Um eine Variable "relative" zu verändern, schreibst du z.B.: x=x+5; anstatt x=5;, dann wird der alte Wert von x genommen, 5 dazugezählt und das zusammen wieder in x gespeichert.

    Es geht sogar noch kürzer:
    x+=5;

    Das musst du jetzt nur noch auf deine Situation anwenden...
    Einige meiner Spiele: