Position hinter einem Fahrzeug herausfinden

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 glaube das Problem wurde schon mal hier behandelt:
    http://easy-scripting.net/boar…ter-dem-fahrzeug/#post769


    Vielleicht hilft dir das weiter.


    MFG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • naya,
    überleg dir das einfach mal mit sinus und cosinus,
    leg dir nen taschenrechner hin, und gib einfach alle möglichkeiten ein.


    Also wenn die rot 0 ist, muss die y-koordinate kleiner werden, die x bleibt gleich,
    bei einer rot von 90 muss die y koordinate gleich sein, die x wird größer... usw


    uhnd dann probierste aus, wann das der fall ist ;)


    ist wars. besser als alles zu kopieren, so weisst dus nämlich nächstes mal auch nicht.



    ps: kleiner tip, schau dir den aufbau von GetXYInFrontOfPlayer an.

  • Theoretisch müsste es auch so gehen.


    new Float:angle;
    GetPlayerFacingAngle(playerid,angle-180);


    ich habe es noch nie probiert, also die Angle vom Fahrer muss herausgefunden werden & dann einfach -180° somit, dass es hinter dem Spieler ist.


    Ist lediglich eine Idee.


    MfG

    Ihr habt das normale Pawno satt? Notepad ++ mit allen Pawnofunktionen, hier zum Downloaden, Klick

  • dann änderst du die angle, aber nicht die pos ? xD


    verwende meine variante, wenn du scripten kannst, kannste auch mit mathematik umgehen...
    in diesem forum sollten die leute mal lernen etwas selbst zu machen...

  • Hi


    Das musst du berechnen.
    Hier die Funktion aus meinem altem RL GM:


    public SpielerHinterAuto(playerid, Abstand)
    {
    new sha = GetNearestCar(playerid, 5), Float:grad;
    new Float:shavX, Float:shavY, Float:shavZ;
    if(sha != INVALID_CAR)
    {
    format(printtext, sizeof(printtext),"sha: %d", sha);
    printex(printtext);
    GetVehiclePos(sha,shavX,shavY,shavZ);
    GetVehicleZAngle(sha, grad);

    if(Abstand < 0)
    {
    shavX += (Abstand * floatsin(-grad, degrees));
    shavY += (Abstand * floatcos(-grad, degrees));


    format(printtext, sizeof(printtext),"Abstand: %d | shavX: %f | shavY: %f", sha, shavX, shavY);
    printex(printtext);


    if(IsPlayerInRangeOfPoint(playerid, 3, shavX, shavY, shavZ))
    {
    format(printtext, sizeof(printtext),"return 1;");
    printex(printtext);
    return 1;
    }
    }
    if(Abstand > 0)
    {
    shavX += (Abstand * floatsin(-grad, degrees));
    shavY += (Abstand * floatcos(-grad, degrees));


    format(printtext, sizeof(printtext),"Abstand: %d | shavX: %f | shavY: %f", sha, shavX, shavY);
    printex(printtext);


    if(IsPlayerInRangeOfPoint(playerid, 3, shavX, shavY, shavZ))
    {
    format(printtext, sizeof(printtext),"return 2;");
    printex(printtext);
    return 2;
    }
    }
    }
    return 0;
    }


    Es wird in einem Radius von 3 metern Hinter oder Vor einem Auto abgefragt, ob der Spieler darin steht. Mit der Variablen "Abstand" kannst du dem Funktion sagen wie weit dieser Radius vor und hinter dem Auto sein soll. (z.B. wenn du ein Bus hast, muss der Abstand natürlich größer sein)
    Die Funktion return 0 wenn du nicht vor oder hinter einem Auto stehst, 1 wenn du hinter einem Auto stehst, 2 wenn du vor einem Auto stehst ;)


    Am besten nich gleich kopieren, sondern vielleicht auch schauen wie genau das funktioniert, sonst bringt dir das nicht viel


    MFG, Robdeflop®