Wie kann man nur hinter dem Fahrzeug etwas entnehmen?

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
  • Code
    new FarmerFahrzeug[2];
    
    
        FarmerFahrzeug[0]=CreateVehicleEx(532,-114.4887,31.0583,4.0778,293.6978,2,2,120,false);// CAR1
        FarmerFahrzeug[1]=CreateVehicleEx(532,-109.2046,46.4575,4.0836,282.6048,2,2,120,false); // CAR2

    Wie kann ich machen das man hinter dem Mähdrescher stehen muss ? um z.B. /entnehmen zu machen und dann ein objekt mit animation in meine hände bekomme also ich muss wissen wie
    ich die coords herausbekomme um nur hinten am mähdrescher was entnehmen zu können:D (und natürlich an dem Job fahrzeug mit dem man arbeitet wenn es VehicleLoadTank = 100 hat

  • Das kannst du mit dieser Funktion machen.
    Funktioniert gleich wie GetVehiclePos oder GetPlayerPos etc... .

    C
    stock GetPosHinterVeh(vehicleid, Float:dist, &Float:x, &Float:y, &Float:z) //©Jeffry
    {
    	new Float:a;
    	GetVehicleZAngle(vehicleid, a);
    	GetVehiclePos(vehicleid, x, y, z);
    	x += (-dist * floatsin(-a, degrees));
    	y += (-dist * floatcos(-a, degrees));
    	return true;
    }
  • Mit der Funktion.
    Bei dist (zweiter Parameter) gibst du die Distanz ab der Mitte des Fahrzeugs bis dahin aus, wo der Spieler stehen soll (wird so zwischen 3 und 7 liegen).


    C
    new Float:x, Float:y, Float:z;
    GetPosHinterVeh(FarmerFahrzeug[0], 6.0, x, y, z);
    if(IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z))
    {
        //...
    }
  • Klappt Danke.. jetzt hätte ich noch eine Frage dazu ..
    Es steht ja FarmerFahrzeug[0]
    Wie könnte ich es machen das es für alle FarmerFahrzeuge geht ..
    den es gibt ja mehrere Fahrzeuge und wenn einer ein anderes hat würde der befehl ja wiederrum nicht klappen

  • Das kannst du ganz einfach mit Hilfe einer for-Schleife lösen.
    Dazu gehst du mit der Schleife durch sizeof(FarmerFahrzeug), und dann kannst du in der Schleife die Funktion GetPosHinterVeh abfragen sowie die if-Bedingung ausführen lassen.
    Achte aber darauf, das du in den eckigen Klammern von FarmerFahrzeug dann nicht 0,1,2 usw. schreibst, sondern dann den Buchstaben, den du bei der for-Schleife angegeben hast (meistens wird immer "i" verwendet).

  • Das kannst du ganz einfach mit Hilfe einer for-Schleife lösen.
    Dazu gehst du mit der Schleife durch sizeof(FarmerFahrzeug), und dann kannst du in der Schleife die Funktion GetPosHinterVeh abfragen sowie die if-Bedingung ausführen lassen.
    Achte aber darauf, das du in den eckigen Klammern von FarmerFahrzeug dann nicht 0,1,2 usw. schreibst, sondern dann den Buchstaben, den du bei der for-Schleife angegeben hast (meistens wird immer "i" verwendet).

    Code
    stock IsVehicleAFarmerCar(vehicleid)
    {
        for(new i=0;i<sizeof(FarmerFahrzeug);i++)
        {
            if(vehicleid == FarmerFahrzeug[i])
            return 1;
        }
        return 0;
    }

    GetPosHinterVeh(IsVehicleAFarmerCar[i], 6.0, x, y, z);


    Das war mal nen fail würde ich sagen wie ich es gemacht habe ^^

  • Beitrag von AirM4X ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Jeffry hat's ja schon. ;) ().
  • Funktioniert nicht hab ich was vergessen?



    (test befehl)