Überprüfen ob Spieler vor der Motorhaube steht - Problem

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
  • Ich will ja net spammen aber du bist wohl net der schlauste :)


    Am besten Attached du mal ein Objekt und die Autoposition dann machst vergleichst du das mit dem anderen Beispiel:



    new Float:Vx,Float:Vy,Float:Vz;
    GetVehiclesPos(vehid,Vx,Vy,Vz);
    //Das Atachde Objekt hat die Pos 0.02,0.06,0.00
    if(IsPlayerInRangeOfPoint(playerid,1.0,Vx +0.02,Vy+0.06,Vz+0.00)
    {
    //Dein Befehl
    }



    So leicht geht das


    Mfg

  • Falsch! Du kannst nicht einfach nur der x und y-Koordinate einen kleinen Wert dazuaddieren und dann denken, der neue Punkt ergäbe die Motorhaube(oder n Stück davor).


    Um die richtigen Koordinaten zu berechnen, brauchst du Wissen über Polarkoordinaten. Schau dir bei dem Link mal die Überschrift unter "Umrechnung von Polarkoordinaten in kartesische Koordinaten" an.

    Wenn ich dir geholfen haben sollte, würde ich mich extremst freuen, wenn du dir kurz Zeit nehmen würdest und mir helfen könntest:


    Unterstütze mich bitte hier und vote für mich:


    Ihr müsst nur oben links auf Vote klicken und bestätigen! Vielen Dank dafür

  • türlich geht das martin

    Dann beweise es ;). Ich kann eigentlich jede Wette eingehen, dass das Addieren nicht funktionieren wird. N bisschen mathematisches sollte man als Programmierer schon mit sich bringen und da ist es doch offensichtlich, dass das so wie oben nicht funktionieren wird.

    Wenn ich dir geholfen haben sollte, würde ich mich extremst freuen, wenn du dir kurz Zeit nehmen würdest und mir helfen könntest:


    Unterstütze mich bitte hier und vote für mich:


    Ihr müsst nur oben links auf Vote klicken und bestätigen! Vielen Dank dafür

  • Dann beweise es ;). Ich kann eigentlich jede Wette eingehen, dass das Addieren nicht funktionieren wird. N bisschen mathematisches sollte man als Programmierer schon mit sich bringen und da ist es doch offensichtlich, dass das so wie oben nicht funktionieren wird.


    Doch das funkoniert, aber NUR wenn die Rotation des Autos auch 0 ist.


    Es gibt ja nicht umsonst die Funktion IsPlayerInFrontOfVehicle die man mit GetVehicleModelInfo kombinieren sollte ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Ja toll und in wie viel Prozent der Fälle steht das Fahrzeug genau Richtung Norden? Und selbst dann würde es nicht funktionieren, da man dann nur der y-Achse addieren müsste.
    Genauer gesagt würde es NUR funktionieren, wenn das Auto im Winkel von 45 ° richtung Nordosten steht ;)


    Trotzdem wäre das unsauber programmiert.

    Wenn ich dir geholfen haben sollte, würde ich mich extremst freuen, wenn du dir kurz Zeit nehmen würdest und mir helfen könntest:


    Unterstütze mich bitte hier und vote für mich:


    Ihr müsst nur oben links auf Vote klicken und bestätigen! Vielen Dank dafür

  • Probier mal das aus:


    stock GetPlayerInFrontOfVehicle(vehicleid, &Float:x, &Float:y, Float:distance)
    {
    new Float:a;
    GetVehiclePos(vehicleid, x, y, a);
    GetVehicleZAngle(vehicleid, a);
    x += (distance * floatsin(-a, degrees));
    y += (distance * floatcos(-a, degrees));
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


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