Objekt soll anderes Objekt anschauen

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
  • Servus,


    zwei kurze Fragen. Es handelt sich dabei nicht nur um Pawn, daher möchte ich das ihr berücksichtigt das ich KEINE fertigen Funktionen verwenden kann wie z.B. GetPlayerFacingAngle. Ich benötige Hilfe bei der Erstellung von einer Funktion:


    XXXXXXXXXXXXXXXX
    XXXXXXXXXX
    OXXXXX
    XXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXX
    XXXXX
    AXXXXXXXXXX
    XXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXX


    Die beiden Buchstaben A & O sind Objekte. Nun möchte ich lediglich eine Funktion welche mir sagt, in welche Richtung das untere Objekt (A) gedreht sein muss (in Grad) um das obere Objekt anzuschauen mit der Spitze. (0 Grad = Spitze vom A ist oben). Dabei kann das O an jeder möglichen Position sein in diesem 16*16 Raster und das A ebenfalls. Vorhandene Daten wären zum Beispiel: (aus diesen sollte die Funktion erschaffen werden, keine anderen Daten, lediglich eine Formel!)


    Das Objekt ist zum Beispiel ein Pfeil, dabei soll nur X & Y verwendet werden ohne die Z Achsis.
    -- A --
    aX = 6
    aY = 5
    Rotation: 0


    -- O --
    oX = 11
    oY = 2


    getObjectDegreeToFacingObject(aX,aY,oX,oY)
    {
    //... ?
    return grad;
    }


    Wäre über jede Hilfe sehr dankbar!


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


  • So müsste es gehen:


    //obj = O
    //obj1 = A
    new Float:Pos[6];
    GetObjectPos(obj,Pos[0],Pos[1],Pos[2]);
    GetObjectPos(obj1,Pos[3],Pos[4],Pos[5]);
    SetObjectRot(obj1,0.0,0.0,atan2(Pos[4] - Pos[1],Pos[3] - Pos[0]));


    //Falls es nicht gehen sollte versuche:
    SetObjectRot(obj1,0.0,0.0,atan2(Pos[4] - Pos[1],Pos[3] - Pos[0])-180);


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • Da du die Position beider Objekte kennst, könntest du das so machen für das A Objekt


    Zitat

    Es handelt sich dabei nicht nur um Pawn, daher möchte ich das ihr berücksichtigt das ich KEINE fertigen Funktionen verwenden kann wie z.B. GetPlayerFacingAngle.


    Den Arkuskotangens hatte ich bereits in Erwägung gezogen, kann nur leider nichts testen da ich kein GTA habe. Deswegen benötige ich lediglich die Formel welche richtig ist. Vielen Dank schonmal. :)


    //Edit: Kaliber, hast dich ja an einem meiner Geburtstage registriert, herzlichen Glückwunsch, gute Wahl!


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


    Einmal editiert, zuletzt von Pablo Borsellino ()