Blickrichtung eines Spielers rausfinden --> Gelöst

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,
    ich hätte mal eine Frage, wie ist es möglich, den Blickpunkt eines Spielers auszulesen.
    Bzw. auf welchen Punkt er schaut.
    Beispielsweise auf ein Auto.


    Ich bin leider in Vektorrechnung nicht so gut ;(


    //Edit: Rechtschreibfehler verbessert.

    2 Mal editiert, zuletzt von VeryNice ()

  • Das ist nicht das was ich wollte, GetPlayerFacingAngle ist zwar die Blickrichtung, allerdings
    bekomme ich meine benötigten Informationen nicht daraus.
    Ich möchte ja den Konkreten Punkt, bzw. Bereich haben, wohin ein Spieler schaut,
    z.B. auf ein Auto.

  • Weil ich nicht einmal nen Ansatzpunkt weiß.


    Wieso nicht?


    Da ist doch sogar ein Beispiel dabei...?!


    und dann nimmst du die Koordinaten die du unten rausbekommst, wenn du mit der Konstanten gearbeitet hast und gleichst das mit den Koordinaten des Autos ab ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Vielen Dank.
    Hat geklappt, hier so wie ich es zusammengebastelt habe (zum Testen).
    Falls es jemand braucht und damit was anfangen kann ^^



    //Edit: Hab mal ne Funktion dazu gebastelt.
    Bei Fscale frage ich mit einer for Schleife verschiedene Werte ab, um auch aus näherer uns kürzerer Entfernung
    den richtigen Wert zu bekommen.
    Habe es getestet, funktioniert einwandfrei.
    Danke Kaliber für die Hilfe.


    Das ganze möchte ich mit euch teilen ^^



    stock IsPlayerLookingAt(playerid,Float:x,Float:y,Float:z) {
    new Float:fPX, Float:fPY, Float:fPZ,
    Float:fVX, Float:fVY, Float:fVZ,
    Float:object_x, Float:object_y, Float:object_z;
    new Float:fScale;
    GetPlayerCameraPos(playerid, fPX, fPY, fPZ);
    GetPlayerCameraFrontVector(playerid, fVX, fVY, fVZ);
    for(; fScale < 15; fScale++) {
    object_x = fPX + floatmul(fVX, fScale);
    object_y = fPY + floatmul(fVY, fScale);
    object_z = fPZ + floatmul(fVZ, fScale);
    if(GetDistanceBetweenPoints(x,y,z,object_x,object_y,object_z) <= 4)return true;
    }
    return false;
    }

    Einmal editiert, zuletzt von VeryNice ()