Motor nicht starten wen man in der Fraktion nicht ist

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
  • Guten :) ich wollte euch fragen wie ich das abfragen kann in den motor befehl das wen man nicht in der fraktion ist das er dann sagt du hast die schlüssel net
    weil ich würds gerne enfernen das man raus geworfen wird wird man ja in rl auch net wen der motor leuft ^^


    //Befehl
    if(strcmp(cmd,"/e",true) == 0)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid,F_O,"Du bist nicht der faher");
    new vehicleid = GetPlayerVehicleID(playerid);
    if(Gas[vehicleid] <= 0.0) return SendClientMessage(playerid,COLOR_RED,"Der Tank ist leer!");
    new Float:health;
    GetVehicleHealth(vehicleid,health);
    if(health >= 400)
    {
    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);
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Das Auto hat einen Motorschaden ruf das Ordnungsamt an!");
    }
    return 1;
    }


    kann ich das mit ner for schleife machen wie bei OnPlayerState.. auch ?


    if(GetPlayerVehicleID(playerid) == lspdcars[]) ich will es zb an lspd austesten so sieht es eigendlich aus


    for(new j = 0;j<sizeof lspdcars;j++)
    {
    if(vehicleid == lspdcars[j])
    {
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
    {
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist nicht LSPD");
    RemovePlayerFromVehicle(playerid);

    2 Mal editiert, zuletzt von DJSatrox () aus folgendem Grund: edit

  • RemovePlayerFromVehicle weg und statt dem einfach eine Abfrage machen!
    Is(PlayerInFraktion) z.b
    {
    StartMotor
    }
    else
    SendClientMessage(Farbe,"Du bist nicht in der Fraktion!");
    StopMotor bzw. Motor nicht starten lassen

  • Kann ich net irgendwie alle lspd cars damit abfragen ?


    if(GetPlayerVehicleID(playerid) == lspdcars[])

  • Nein, du musst alle lspd cars mit einer Schleife durchgehen


    for(new i = 0;i<sizeof(lspdcars);i++


    Und wenn eins davon zutrifft die loop breaken;


    if(GetPlayerVehicleID(playerid) == lspdcars[i])
    {
    //something is happening here
    break;
    }

  • du könntest es so machen:
    stock IsAMemberFromFraktion(vehicleid)
    {
    for(new j = 0;j<sizeof lspdcars;j++)if(vehicleid == lspdcars[j])return 1;
    //weitere als muster das noch
    /*
    for(new j = 0;j<sizeof mediccars;j++)if(vehicleid == mediccars[j])return 2;//return 2 da ich mal sage das es Fraktion 2 ist
    */
    return 0;//0 wenn er nix ist
    }


    //Die anwendung dann so:
    if(IsAMemberFromFraktion(GetPlayerVehicleID(playerid)) != PlayerInfo[playerid][pMember])
    return SendClientMessage(playerid, -1, "Nein du darfst das nicht");
    //command

    All in all it's just another brick in the wall

  • @



    Beavis
    Genau das suchte ich :) danke dir



    wie kann ich da noch leader mit abfragen ?
    if(IsAMemberFromFraktion(GetPlayerVehicleID(playerid)) != PlayerInfo[playerid][pMember])return SendClientMessage(playerid, -1, "Du hast die Autoschlüssel nicht!");
    so ?
    if(IsAMemberFromFraktion(GetPlayerVehicleID(playerid)) != PlayerInfo[playerid][pMember] || != PlayerInfo[playerid][pLeader])return SendClientMessage(playerid, -1, "Du hast die Autoschlüssel nicht!");