Autos werden verschoben

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
  • http://wiki.sa-mp.com/wiki/Function:GetVehiclePos


    Einen Timer machen, und die Distanz von der GetVehiclePos zur Spawn-Position ausrechnen (Pythagoras im Raum) und wenn diese Distanz größer als 3ist und niemand im Auto ist, das Auto respawnen (SetVehicleToRespawn).


    Wie bekommst du die Spawn-Pos?
    CreateVehicle (z.B) zu My_CreateVehicle machen, und dann so:


    new Float:vPos[MAX_VEHICLES][4];
    stock My_CreateVehicle(... hier die Params von CreateVehicle)
    {
    new id = CreateVehicle(...);
    vPos[id][0] = x;
    vPos[id][1]= y;
    vPos[id][2] = z;
    vPos[id][3] = a;
    return id;
    }


    Verstanden?

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()


  • Du meinst so oder?:

    new Float:vPos[MAX_VEHICLES][4];
    stock My_CreateVehicle(... hier die Params von CreateVehicle)
    {
    new id = CreateVehicle(...);
    vPos[id][0] = x;
    vPos[id][1] = y;
    vPos[id][2] = z;
    vPos[id][3] = a;
    return id;
    }


  • Du meinst so oder?:


    Jo, klar, hab gepennt. Copy Paste. :wacko: Danke.



    Kann man irgendwie machen, dass nur bestimmte Personen die Autos schieben können? Z.b. Polizisten, Polizei Autos usw.


    Nein, naja, doch, aber mit großem Aufwand. Du könntest bei
    http://wiki.sa-mp.com/wiki/OnUnoccupiedVehicleUpdate
    Den nächsten Spieler abrufen, und wenn dieser ein Polizist (etc...) ist, dann in einer Variable für dieses Auto speichern, dass es nicht respawnen soll (z.B. auf 1/true) setzen. Also es ist möglich, aber aufwendig.

  • Ich hab noch nie damit gearbeitet, aber ich hab grade gesehen, dass du dir das sparen kannst, den nächsten Spieler abzufragen, da das callback den schon beinhaltet. :thumbup:


    new NichtRespawnen[MAX_VEHICLES];
    public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat) {
    if(Fraktion[playerid] == POLIZIST) NichtRespawnen[vehicleid] = 1;
    return 1;
    }


    Mal so ganz grob, einen kompletten Code werde ich nicht machen, das hat keinerlei Lerneffekt. ;)

  • Ja, leider verstehe ich leider nicht wirklich wie ich das machen kann, also auch kein Lerneffekt


    Wie du was machen kannst? Das ganze System? Wenn das der Fall sein sollte, dann kann ich dir nur dringend raten: Lernen bis du es kannst.
    Aus eigener Erfahrung nach über 3.5 Jahren kann ich dir sagen, dass es keinen Sinn hat, etwas zu versuchen, dass man nicht versteht. Sobald du es verstehst, kannst du es auch machen. Man fängt klein an und arbeitet sich hoch. Wenn Fragen auftauchen, kann man die ruhig fragen, aber wenn man keinen Schimmer hat, ohne das böse zu meinen, sollte man es bleiben lassen. Und ja, genau so hab ich es immer gemacht.


    Glaub mir, wenn du dran bleibst, wirst du mich in 1-2 Jahren verstehen und das selbe sagen. ;)