Fahrzeugtüren schließen & Einsteigen verhindern

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
  • Hey Leute,


    ich habe da mal wieder eine kleine Frage.
    Und zwar kann ich ja mit "SetVehicleParamsForPlayer" einstellen, ob die Fahrzeugtüren verschlossen sind oder nicht.


    Nur funktioniert dies leider komischer Weise nicht.
    Ich habe folgendes eingefügt:


    public OnPlayerSpawn(playerid)
    {
    for(new h = 10; h < sizeof(CarInfo); h++)
    {
    SetVehicleParamsForPlayer(h, playerid, 0, CarInfo[h][cLock]);
    }
    ...


    Die Fahrzeuge bei der diese Funktion ansetzten soll, beginnen erst mit der ID 10, daher auch "for(new h = 10; ...".
    Trotzdem sind die Türen für den Spieler aufgesperrt.


    Oder ist es vielleicht empfehlenswerter, wenn ich dies bei "OnPlayerEnterVehicle" hinzufüge? Oder ist es da schon zu spät?


    Aber davon mal abgesehen habe ich eine, für mich, viel wichtigere Frage zu diesem Thema.


    Angenommen die Türen eines beliebigen Fahrzeugs sind nun wirklich versperrt und ich möchte grade ins
    Fahrzeug einsteigen.
    Wie deaktiviere ich diese Animation des Einsteigens, besser gesagt, des Probierens ob die Tür offen ist?
    Einsteigen kann der Spieler ja eigentlich nicht.


    Würde mich über eine Lösung sehr freuen! Vielen Dank...



    Liebe Grüße - 4#Future

  • Also 2 Varianten, entweder wie du sagtest nützt du SetVehicleParamsForPlayer, jedoch Beachte (was auch im Wiki steht) musst du seit Samp 0.3 die Parameter für die Fahrzeuge unter OnVehicleStreamIn einstellen, da die Parameter beim "austreamen" zurückgesetzt werden.
    Zitat von Samp Wikipedia:

    Zitat

    Note: From 0.3 you will have to re-apply this function when OnVehicleStreamIn is called!

    Die andere Variante wäre unter OnPlayerEnterVehicle Abfragen, ob das Fahrzeug abgeschlossen ist oder nicht, mit irgendeiner Definition, und wenn es abgeschlossen ihm somit das Einsteigen blockiert. Diese Variante wäre für dich Perfekt wenn du keine "Einsteige" Animation haben willst. Hier ein Beispiel:


    new gLockedVehicle[MAX_VEHICLES];


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(gLockedVehicle[vehicleid] != 0)
    {
    new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z);
    SetPlayerPos(playerid, X, Y, Z); //Beim Zurücksetzen der Position von wo er versucht einzusteigen wird die Animation 'verhindert'!
    SendClientMessage(playerid, 0xFFFFFF00, "Dieses Fahrzeug ist abgeschlossen!");
    }
    return 1;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!