Motor nur wenn man Schlüssel besitzt

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.
    Ich möchte gerne ein ähnliches Motor-System wie auf GRP erstellen.
    Sprich man versucht den Motor zu starten, und wenn man z.B. Zivilist ist, und in ein Cop-Car einsteigt, steht dort "Du hast keine Schlüssel" o.ä
    Und wenn es ein Privat-Car ist und man nicht der Besitzer ist ebenfalls.
    Ist das Fahrzeug aber gespawnt wurden, o.ä soll der Motor angehen und ebenfalls wenn man Cop ist und es ein Copcar ist, usw.
    Hier mal der Code:
    if(PRESSED(KEY_ANALOG_LEFT))
    {
    new playerState = GetPlayerState(playerid);
    new engine, lights, alarm, doors, bonnet, boot, objective;
    if(isHoldingSprint[playerid] == true)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new vID = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vID, engine, lights, alarm, doors, bonnet, boot, objective);
    if(engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET)
    {
    if(playerState == PLAYER_STATE_DRIVER)
    {
    if(gGas[vID] <= 0)return SendClientMessage(playerid, COLOR_GREY, "Ohne Benzin kannst du den Motor nicht starten!");
    if(!(Spieler[playerid][pFraktion] == 1 || Spieler[playerid][pFraktion] == 2))
    {
    for(new i=0;i<sizeof(lspdcars);i++)
    {
    if(vID == lspdcars[i])
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast keine Schlüssel für dieses Fahrzeug.");
    return 1;
    }
    }
    }
    if(!(Spieler[playerid][pFraktion] == 1 || Spieler[playerid][pFraktion] == 2))
    {
    for(new i=0;i<sizeof(fbicars);i++)
    {
    if(vID == fbicars[i])
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast keine Schlüssel für dieses Fahrzeug.");
    return 1;
    }
    }
    }
    if(!(Spieler[playerid][pFraktion] == 3))
    {
    for(new i=0;i<sizeof(sanicars);i++)
    {
    if(vID == sanicars[i])
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast keine Schlüssel für dieses Fahrzeug.");
    return 1;
    }
    }
    }
    if(!(Spieler[playerid][pFraktion] == 4))
    {
    for(new i=0;i<sizeof(newscars);i++)
    {
    if(vID == newscars[i])
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast keine Schlüssel für dieses Fahrzeug.");
    return 1;
    }
    }
    }
    if(!(Spieler[playerid][pFraktion] == 5))
    {
    for(new i=0;i<sizeof(oamtcars);i++)
    {
    if(vID == oamtcars[i])
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast keine Schlüssel für dieses Fahrzeug.");
    return 1;
    }
    }
    }
    if(!(Spieler[playerid][pFraktion] == 6))
    {
    for(new i=0;i<sizeof(grovecars);i++)
    {
    if(vID == grovecars[i])
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast keine Schlüssel für dieses Fahrzeug.");
    return 1;
    }
    }
    }
    if(!(Spieler[playerid][pFraktion] == 7))
    {
    for(new i=0;i<sizeof(ballascars);i++)
    {
    if(vID == ballascars[i])
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast keine Schlüssel für dieses Fahrzeug.");
    return 1;
    }
    }
    }
    if(!(Spieler[playerid][pFraktion] == 8 || pFahrStunde[playerid] == 1))
    {
    for(new i=0;i<sizeof(fscars);i++)
    {
    if(vID == fscars[i])
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast keine Schlüssel für dieses Fahrzeug.");
    return 1;
    }
    }
    }
    if(!(Spieler[playerid][pFraktion] == 9))
    {
    for(new i=0;i<sizeof(virtualtruck);i++)
    {
    if(vID == virtualtruck[i])
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast keine Schlüssel für dieses Fahrzeug.");
    return 1;
    }
    }
    }
    if(!(Spieler[playerid][pFraktion] == 10))
    {
    for(new i=0;i<sizeof(yakucars);i++)
    {
    if(vID == yakucars[i])
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast keine Schlüssel für dieses Fahrzeug.");
    return 1;
    }
    }
    }
    new besitzer = GetCarOwner(vID);
    new Slot = GetCarOwnerSlot(besitzer, vID);
    if(vID == PlayerCar[besitzer][Slot][CarId])
    {
    if(playerid != besitzer)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast keine Schlüssel für dieses Fahrzeug!");
    return 1;
    }
    }
    KillTimer(carmsgwait[playerid]);
    SetVehicleParamsEx(vID, engine, VEHICLE_PARAMS_ON, alarm, doors, bonnet, boot, objective);
    PlayerTextDrawSetString(playerid, CarMessage[playerid], "~w~Motor ~g~an");
    PlayerTextDrawShow(playerid, CarMessage[playerid]);
    carmsgwait[playerid] = SetTimerEx("HideCarMessage", 8000, 0, "i", playerid);
    }
    }
    else
    {
    KillTimer(carmsgwait[playerid]);
    SetVehicleParamsEx(vID, engine, VEHICLE_PARAMS_OFF, alarm, doors, bonnet, boot, objective);
    PlayerTextDrawSetString(playerid, CarMessage[playerid], "~w~Motor ~r~aus");
    PlayerTextDrawShow(playerid, CarMessage[playerid]);
    carmsgwait[playerid] = SetTimerEx("HideCarMessage", 8000, 0, "i", playerid);
    }

    }
    }

    }


    Also, es wird mir z.B. angezeigt wenn es ein CopCar ist und ich kein Cop bin dass ich keine Schlüssel habe, aber komischerweise wenn ich dann ein Fahrzeug anmachen will, klappt es nicht. Sprich es geht nicht an.
    Das Licht System geht aber wunderbar. :/

    //Licht-System
    if(PRESSED(KEY_ANALOG_RIGHT))
    {
    if(isHoldingSprint[playerid] == true)
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    new vid = GetPlayerVehicleID(playerid);
    new mod = GetVehicleModel(GetPlayerVehicleID(playerid));
    if(IsAFahrrad(mod))return 1;
    new engine, light, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(vid, engine, light, alarm, doors, bonnet, boot, objective);
    if(light == VEHICLE_PARAMS_OFF || light == VEHICLE_PARAMS_UNSET)
    {
    KillTimer(carmsgwait[playerid]);
    SetVehicleParamsEx(vid, engine, VEHICLE_PARAMS_ON, alarm, doors, bonnet, boot, objective);
    PlayerTextDrawSetString(playerid, CarMessage[playerid], "~w~Licht ~g~an");
    PlayerTextDrawShow(playerid, CarMessage[playerid]);
    }
    else
    {
    KillTimer(carmsgwait[playerid]);
    SetVehicleParamsEx(vid, engine, VEHICLE_PARAMS_OFF, alarm, doors, bonnet, boot, objective);
    PlayerTextDrawSetString(playerid, CarMessage[playerid], "~w~Licht ~r~aus");
    PlayerTextDrawShow(playerid, CarMessage[playerid]);
    }
    carmsgwait[playerid] = SetTimerEx("HideCarMessage", 8000, 0, "i", playerid);
    }
    }
    }


    Danke im Voraus. :)