Abfrage ob Spieler Auto fahren darf will nicht richtig

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
  • Morgen zusammen
    Ich habe ein kleines Problem mit meiner Abfrage.
    wenn ich in Fraktion 2 bin, darf ich das auto fahren.
    Ich habe aber eine Abfrage gemacht ob der Spieler in Fraktion 2 ist oder ob er in der Prüfung ist
    leider will das nicht mit der Prüfung hinhauen ich habe auch keine ahnung wiso
    hier mal der code
    for(new i=0; i<sizeof(SFFS); i++)if(GetPlayerVehicleID(playerid)==SFFS[i])if(PI[playerid][pMember] == 2 || PI[playerid][pMachtschein] == 1){}else{RemovePlayerFromVehicle(playerid),SendClientMessage(playerid,cRed,"Du bist kein Mitglied der Fahrschule!");}
    nein der code ist so wie er da steht nicht falsch eingerückt
    Ich bitte bei den problem um hilfe da ich nicht mehr weiter weiß

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

  • probiers mal so
    if(IsAFahrschulCar(GetPlayerVehicleID(playerid))) //bei OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2)
    {
    }
    else
    {
    SendClientMessage(playerid,cRed,"Du bist kein Mitglied der Fahrschule!");
    RemovePlayerFromVehicle(playerid);
    }
    }


    forward IsAFahrschulCar(carid); //Ganz unten
    public IsAFahrschulCar(carid)
    {
    for(new i = 0; i < sizeof(SFFS); i++)
    {
    if( carid == SFFS[i])
    {
    return 1;
    }
    }
    return 0;
    }


  • die abfrage geht :D
    nur wen er von spieler die fahrstunde startet wird er trozdem ausn car geworfen
    obwohl er die veriable 1 hat

  • Setz mal deine Klammern zur Schleife vernüntig undvdein if else Kram sollte untereinander stehen.


    Dann mach die Abfrage mal so das du kein else mehr brauchst, dann geht der auch nicht aus irgendeinem da ins else ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • BlackAce das hatte ich schonmal wenn das so ist:
    for(new i=0; i<sizeof(SFPD); i++)//Das geht 1A
    {
    if(GetPlayerVehicleID(playerid)==SFPD[i])
    {
    if(PI[playerid][pMember] != 1)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,cRed,"Du bist kein Mitglied des Police Departments!");
    }
    }
    }


    for(new i=0; i<sizeof(SFFS); i++)//DAs geht wieder nicht
    {
    if(GetPlayerVehicleID(playerid)==SFFS[i])
    {
    if(PI[playerid][pMember] != 2 || PI[playerid][pMachtschein] != 1)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,cRed,"Du bist kein Mitglied der Fahrschule!");
    }
    }
    }
    geht die erste obere abfrage 1A
    aber bei der 2. wirft er mich dann immer raus
    warum?
    das kann ich dir nicht sagen


    //edit


    keiner eine idee?

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

    Einmal editiert, zuletzt von Beavis ()

  • Von deiner Theorie sollte das aufjedenfall stimmen , jedoch denk ich das er mit dem || (oder) Operator nicht ganz klar kommt du könntest
    es ja umformen und so probieren so sollte es ja aufjedenfall gehen



    if(PI[playerid][pMember] == 2 || PI[playerid][pMachtschein] == 1){
    }else{
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,cRed,"Du bist kein Mitglied der Fahrschule!");
    }