Handbremse Auto?

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
  • Hallo leute
    Ist es möglich Handbremse zu Benutzen?
    Wenn ja wie scripte ich sowas?


    Mfg

  • gibts doch eigentlich schon is " " (leertaste) oder soll das auch nur ne normale bremse sein ?
    mfg


    EDIT: oder meinste das sich das auto nicht mehr bewegen kann ? (genauere angaben wären nett :))

    Mfg aXD


    Kurze und Produktive antworten (manchmal) mit vielen Rechtschreibfehlern ;D

  • Also es sollte so sein:
    /handbremse
    Auto ist gefreezet und mann nicht damit fahren und wenn man wieder /handbremse eingibt sollte der auto entfreezed sein

  • Spieler freezen (TogglePlayerControllable) und nach max. 5 Sekunden entfreezen

  • @über mir edit: und darüber
    das ist ne schlechte idee da er ja nicht den player freezen will sondern nur das auto


    meine idee wäre die velocity zu sätzen:
    http://wiki.sa-mp.com/wiki/SetVehicleVelocity


    z.b. in onplayerupdate -> testen ob in auto -> wenn ja ist die handbremse angezogen -> wenn ja setvelocity auf 0

    Mfg aXD


    Kurze und Produktive antworten (manchmal) mit vielen Rechtschreibfehlern ;D

  • Könnt ihr mir bitte das vor zeigen?
    Ich bin neu beim Scripten

  • Könnt ihr mir bitte das vor zeigen?
    Ich bin neu beim Scripten


    also ne vorlage steht doch auf samp wiki. wenn du neu im scripten bist, taste dich doch nicht gleich an sowas ran. nimm dir ertsmal etwas leichteres vor. bin selber auch schon etwas am scripten aber ich würde es auch nicht machen wollen. klingt viel zu kompliziert. 8|

  • Mach doch einfach den Motor aus, dann fährt es nicht mehr:



    if(strcmp("/handbremse",cmdtext,true)==0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(GetPlayerVehicleSeat(playerid)==0) //Spieler ist Fahrer
    {
    new vid=GetPlayerVehicleID(playerid);
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective); //Fahrzeugzustand in Variablen speichern
    if(engine) //Motor an
    engine=0;
    else engine=1; //Motor aus
    SetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective); //Fahrzeugzustand aktualisieren
    }
    }
    return 1;
    }

  • Danke erstmal
    Aber wenn ich den Auto weg schiebe lässt er sich Bewegen..
    Ich möchte das Auto gefreezet ist...

  • Hm , Okay , Motor geht aus , aber wie man ein Fahrzeug Freezet weiß ich auch nicht >.>
    Würde das auch mal gerne wissen :)
    Oder hab eine Idee !
    Eventuell Mit Einen Timer Vielleicht Der Per Cmd Oder Taste gestartet Wird und Alle Paar Millisekunden Das Vehicle An Die Position zurück Setzt is Aber Nicht Sehr Empfehlenswert Weil Das Zum Lagg Führen Kann ^^

  • Du machst ein Enum mit MAX_VEHICLES so z.B.


    enum handbremse_cars
    {
    handbremse
    }
    new HbCar[MAX_VEHICLES][handbremse_cars];


    Dann lässt du bei /handbremse dir die carid des cars geben in dem du gerade sitzt und machst HbCar[carid][handbremse] = 1;
    Dann lässt du den Spieler frezen.
    so z.B.:


    HbCar[GetPlayerVehicleID(playerid)][handbremse] = 1;
    TogglePlayerControllable(playerid, 0);


    Und bei OnPlayerStateChange lässt du überprüfen ob der Spieler der Fahrer ist, wenn ja lässt du dir wieder die carid geben und überprüfst das mit einer if abfrage ob die handbremse gezogen wurde, wenn ja lässt du ihn wieder freezen.
    so z.b.


    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(HbCar[GetPlayerVehicleID(playerid)][handbremse] == 1) {
    TogglePlayerControllable(playerid, 0);
    }


    Dann musst du nur noch einen Befehl machen das die Handbremse draußen ist oder das bei /handbremse einfügen das es überprüft ob das car die handbremse drinnen hat oder nicht und dann die handbremse reinmacht oder nicht.
    Ich weis nicht ob du dann noch einen befehl brauchst zum aussteigen falls du die handbremse nicht lösen willst oder machst ein keyevent und überprüfst ob er im car ist und und und.


    Ka. ob das so geht, nicht getestet^^.

  • warum freezt ihr alle den spieler? mach doch einfach SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,Lichter,....etc.) dann ist der motor aus und es sieht so aus als wenn die handbremse angezogen wäre .. das erfordet aber grundwissen und ist nichts für anfänger also fang sofern du noch einer bist mit kleineren sachen an guck dir hier im forum tuts an und mach keinesfalls C&P dann erlernst du das Scripting sehr schnell sowas kann nicht jeder also fang lieber klein an ;)