Bei allen Cars Motor aus..

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
  • Leute,
    wie kann ich das Scripten das alle Autos ihren Motor aus haben.
    Und der dan mit /motor eingeschaltet werden muss.. Die motor funktion geht total gut..
    Aber der Motor ist an wen man in das Car reingeht. ?
    Muss ich da was machen am OnPlayerEnterVehicle ? oder Wie ?

  • Hier ist die Motor Funktion, aber an der liegts nicht.


    if(strcmp(cmd, "/motor",true) == 0)
    {
    if(IsANoTachoVehicle(GetPlayerVehicleID(playerid)))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "{FFFFFF}Fahrräder haben {FF0000}keinen{FFFFFF} Motor!");
    return 1;
    }
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(vid != INVALID_VEHICLE_ID)
    {
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
    }
    else
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
    }
    }
    return 1;
    }


    Wo wir gerade dabei sind wollte ich noch fragen ob man das machen kann das wenn man /motor eingibt die funktion /licht mit einbindet sozusagen zwei in einem
    hier die Licht funktion:


    if(strcmp(cmd, "/licht", true) == 0)
    {
    new vid = GetPlayerVehicleID(playerid);
    new engine,lights,alarm,doors,bonnet,boot,objective;
    if(licht[vid] == 0)
    {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    licht[vid] = 1;
    SendClientMessage(playerid,COLOR_WHITE,"Du hast das Licht angeschaltet!");
    }
    else
    {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    licht[vid] = 0;
    SendClientMessage(playerid,COLOR_WHITE,"Du hast das Licht ausgeschaltet!");
    }
    return 1;
    }

  • Füg dass mal bei OnPlayerEnterVehicle ein:


    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);

    Würde ich jetzt sagen..


  • ->


    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);



    Das ist jetzt aus.


    Und An:


    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);


  • damit der motor aus bleibt muss du bei OnGameMoninit das hier hinzufügen



    ManualVehicleEngineAndLights();

  • Eigentlich hast du die Sachen schon im /licht Befehl drinne ;)

  • Dann streng dein Gehirn ein wenig an :/


    -> Du hast den /licht Befehl, da wo : "Licht ist an" steht, den Code kopierst du in den /motor Zeile wo steht "Der Motor ist an" .. Soweit Verstanden?

  • So schlau war ich auch, aber das hamoniert irgendwie nicht zusammen ^^ Aber najaa bekomme das irgendwie hin,
    jetzt aber wollte ich noch das man anstatt /motor eine Tastenkombination drücken muss z.B LEERTASTE + W ? Wie mache ich das ^^

  • hmm hast du das sol script das ist sowas mit rechte strg taste gemacht ich gebe es dir hier eimal lesen ^^


    als erstes machst du das hier


    new bool:enginebool[MAX_VEHICLES] = false;


    dan das



    public OnPlayerstateCange
    {


    new vehicleid = GetPlayerVehicleID(playerid);
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(enginebool[vehicleid] == false)
    {
    SendClientMessage(playerid, 0xFFFFFFFF, "Wenn du den Motor starten willst, tippe /motor, oder drück die rechte STRG-Taste.");
    }
    }



    und zu guter lezt der befehl damit es auch geht


    if(strcmp(cmd,"/e",true) == 0)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
    {
    SendClientMessage(playerid,F_O,"Du bist nicht der faher");
    return 1;
    }
    new vehicleid = GetPlayerVehicleID(playerid);
    if(enginebool[vehicleid] == false)
    {
    SetVehicleEngineOn(vehicleid);
    enginebool[vehicleid] = true;
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
    }else{
    SetVehicleEngineOff(vehicleid);
    enginebool[vehicleid] = false;
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
    }
    return 1;
    }



    so ich hoffe das es ein system ist was deine wünsche endspricht ;)


    //EDIT und das hie rnoch habe ich vergessen ^^


    OnPlayerkeycange


    if(newkeys == 132)//Rechte strg taste
    {
    if(IsPlayerConnected(playerid))
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    OnPlayerCommandText(playerid, "/e");
    }
    }
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen