Kann man irgendwie überprüfen, ob ein Spieler "hängt"?

  • GM 8
  • Kann man irgendwie überprüfen, ob ein Spieler "hängt"?

    So, jetzt ist mein Shooter so gut wie fertig, jedoch - ein Problem bleibt: da Gegenstände (Felsen) zerschossen werden können und sich in unzählige Brocken auflösen, passiert es immer wieder, daß der Spieler von 2 Brocken gleichzeitig abprallt - und damit festsitzt. Zu nah dran, um richtig abprallen zu können, oder um das Hindernis zerschiessen zu können.
    Ich habe schon sämtliche Kollisionsmasken der Felsbrocken verändert, vergrössert, verkleinert, abgerundet - nichts half. Jetzt überlege ich, daß man das Problem vielleicht dadurch lösen könnte, daß man die Hindernisse zerstört, wenn der Spieler hängt - aber wie kann ich eigentlich feststellen, daß der Spieler fest hängt?? ?(

    Hat vielleicht jemand eine Idee dazu?

    Danke schon mal im voraus,
    Archie
    Signatur? Ich überlege mir noch eine. Die besten sind ja schon alle vergeben... :para:
  • keine ahnung ob man das so macht aber du könntest versuchen einen timer zu machen der zuerst die ursprungskoordinaten und nach ein oder zwei sec noch einmal die koordinaten des spielers überprüft. dann setzt du beide gleich und weißt das der spieler hängt. das ganze aktivierst durch einen tastendruck oder so und setzt den spieler dann einfach auf andere koordinaten die frei sind.
    Mein aktuelles Projekt: Twiggels Tower Defence :para: :shifty:
    Mittlerweile: Green and Grey
  • Prayer90 schrieb:

    keine ahnung ob man das so macht aber du könntest versuchen einen timer zu machen der zuerst die ursprungskoordinaten und nach ein oder zwei sec noch einmal die koordinaten des spielers überprüft. dann setzt du beide gleich und weißt das der spieler hängt. das ganze aktivierst durch einen tastendruck oder so und setzt den spieler dann einfach auf andere koordinaten die frei sind.
    Na, damit kann ich aber nicht feststellen, ob der Spieler "hängt". Er kann ja auch einfach so stehenbleiben. Er muss sich ja nicht ständig bewegen. Und dann soll er ja auch nicht "umgesetzt" werden.

    Hat vielleicht noch jemand eine Idee?
    Archie
    Signatur? Ich überlege mir noch eine. Die besten sind ja schon alle vergeben... :para:
  • TrunX schrieb:

    Mit place_free() kannst du abfragen ob der Spieler sich mit einem soliden Objekt überschneidet und mit place_meeting(), ob er sich mit einem bestimmten Objekt überschneidet.
    Mhm, frage mich gerade, ob es sein könnte, daß ich die Frage so formuliert habe, daß sie niemand korrekt versteht.....?
    Archie
    Signatur? Ich überlege mir noch eine. Die besten sind ja schon alle vergeben... :para:
  • Hängen bleiben kann der Spieler doch nur, wenn er sich in einem soliden Objekt befindet?
    Und mit den von mir genannten Funktionen kannst du genau das überprüfen und Gegenmaßnahmen einleiten, wie das zerstören des soliden Objektes.

    Oder meinst du statt Hängenbleiben vielleicht eingeschlossen von soliden Objekten?
    In dem Fall vllt ne spezial Aktion/Nahkampfangriff einfügen, mit dem der Spieler alle Felsbrocken in unmittelbarer nähe zerstören kann.
  • TrunX schrieb:

    Hängen bleiben kann der Spieler doch nur, wenn er sich in einem soliden Objekt befindet?
    Und mit den von mir genannten Funktionen kannst du genau das überprüfen und Gegenmaßnahmen einleiten, wie das zerstören des soliden Objektes.

    Oder meinst du statt Hängenbleiben vielleicht eingeschlossen von soliden Objekten?
    In dem Fall vllt ne spezial Aktion/Nahkampfangriff einfügen, mit dem der Spieler alle Felsbrocken in unmittelbarer nähe zerstören kann.

    Wie kommst Du da drauf? Ich rede überhaupt nicht von soliden Objekten. Sonst wäre es ja ziemlich einfach...

    Noch einmal dem besseren Verständnis halber:
    Der Spieler "hängt" zwischen non-soliden Objekten unter Umständen in ungünstigen Konstellationen fest und zwar weil er sich nur in 4 Richtungen drehen und schiessen kann. Er prallt immer zwischen mind. 2 Objekten kaum sichtbar hin und her ohne Chance, da wieder raus zu kommen, da sich die Hindernisse nur zerschiessen lassen und er aber dort nicht hinkommt mit seiner Waffe. Eine Kollision findet ja statt und ist ja auch erwünscht!

    Ich suche nun nach einer Möglichkeit, wie man überhaupt eine solche Situation erkennen kann, um darauf zu reagieren. Also daß der Spieler nicht wieder frei kommen kann. Klar kann er den Level abbrechen und noch mal von vorne beginnen, aber spätestens nach dem 4. Mal nervt das total...

    Hat noch jemand eine Idee?
    Archie
    Signatur? Ich überlege mir noch eine. Die besten sind ja schon alle vergeben... :para:
  • Du könntest bei Kollision mit einem der genannten Objekte einen Counter in diesem aktivieren, der kontinuierlich hochzählt, sollte sich die Distanz zum Spieler nicht sonderlich verändert haben. Bei Kollision setzt du eine Variable auf 1. Im Step-Event des Objektes Fragst du ab, ob diese Variable 1 ist und wenn ja, ob die Distanz zum Spieler größer als ein bestimmter Wert ist. Ist dies der Fall, setzt du die Variable wieder auf 0, andernfalls zählst du deinen Counter hoch. Nun musst du nur noch eine Aktion einfügen, die geschieht, wenn der Counter größer als irgendein Wert wird (= der Spieler steckt schon diese Anzahl an Steps fest)

    © 2008 by Teamgrill Productions
  • MasterXY schrieb:

    Du könntest bei Kollision mit einem der genannten Objekte einen Counter in diesem aktivieren, der kontinuierlich hochzählt, sollte sich die Distanz zum Spieler nicht sonderlich verändert haben.

    Mhm, ja, das wäre eine Möglichkeit. Noch was im Step-Event. Aber mir wird vermutlich gar nichts anderes übrig bleiben. Oder ich überlege, den Spieler doch statt in 4, in 360 Richtungen drehen zu lassen... ;)
    Danke erst mal,
    Archie
    Signatur? Ich überlege mir noch eine. Die besten sind ja schon alle vergeben... :para:
  • Benutzer online 1

    1 Besucher