Suche hilfe bei autoproblem

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
  • Hi zusamm!
    Ich hab da mal ne Frage:
    Wie kann ich das machen, das wenn jemand in sein Auto steigt, das er den motor starten muss, aber nicht gefreezed wird.
    also es soll die handbremse angezogen werden.
    kann man im script sagen das diese taste gedrückt wird, halt nicht vom user, sondern vom system?
    Ich hoffe das mir jemand helfean kann!


    mfg Kirschi14

  • Hallo Kirschi14,


    mein Vorschlag wäre es, einen Parameter zu definieren, welcher z.B. "AutoEngine" heißt
    und der bei jedem Losfahren abgefragt wird.


    Quasi meine ich, dass du bei "OnPlayerConnect" rein schreibst, "AutoEngine[playerid] = 0" (vergiss es nicht zu definieren).
    Bei "OnPlayerEnterVehicle" fragst Du dann einfach den Status ab, mit "if(AutoEngine[playerid] == 0) { Auto ist aus; }"


    Im Grunde genommen reicht dies schon, nur wird bei jedem einsteigen ins Fahrzeug nötig,
    es anzuschalten, d.h. es würde so nie dauerhaft laufen.


    Du könntest dies ja ausbauen und sagen, dass man mit bestimmten Tasten, z.B. Alt (KEY_WALK) das Fahrzeug
    starten kannst "AutoEngine = 1" oder bei wdh. drücken stoppen kann "AutoEngine = 0".


    Ich hoffe ich konnte dir helfen, ansonten erläutere ich es dir gern näher.



    Freundliche Grüße


    4#Future

  • Pass auf,


    die Idee mit dem "AutoEngine" merkst Du dir einfach und baust es folgender Maßen auf.


    new vehicle = GetPlayerVehicleID(playerid);
    PutPlayerInVehicle(playerid, vehicle, 0);


    Diese Funktion beschreibt, dass der Spieler im Fahrzeug sitzt, aber nicht fahren kann, wie als wenn
    das Fahrzeug ausgeschaltet wäre.


    Das heißt diese Funktion fragst Du bei "OnPlayerEnterVehicle" folgendermaßen ab (unter Beachtung von "AutoEngine")


    if(AutoEngine[playerid] == 0)
    {
    new vehicle = GetPlayerVehicleID(playerid);
    PutPlayerInVehicle(playerid, vehicle, 0);
    }


    Ein else brauchst Du nicht, denn wenn AutoEngine an ist, kann der Spieler auch gleich starten.


    Startest Du dann das Fahrzeug, z.B. mit einer Taste, erstellst Du einen Timer und wenn dieser abgelaufen ist,
    führt er "TogglePlayerControllable(playerid, true);" aus und der Spieler sollte nun in der Lage sein zu fahren.



    Freundliche Grüße


    4#Future