Problem:Abfrage von Lizenzen und Fraktionen

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 habe etwas am System umgebaut und eingefügt und jetzt will es nicht mehr so.


    Grober Überblick:
    Zuerst soll abgefragt werden, ob der Fahrer, welcher einsteigt, die richtige Lizenz für das Fahrzeug hat (geht soweit). Nacher wird abgefragt, ob er das Fahrzeug fraktionsmässig auch benutzen kann/darf (Hier leigt der Fehler).
    Ich kann mit jeder Fraktion jedes Fraktionsauto fahren. Ich vermute, ich habe einen groben Fehler in den Schleifen, komme abe rnicht weiter.


    Muss ich nach der 1.Grossen If-Abfrage mit If Else weiterfahren ?




    public OnPlayerStateChange(playerid, newstate, oldstate) // - Führerschein
    {
    // if(newstate == 2)
    // {
    //Fahrrad
    //Auto
    //Motorrad
    //Lastwagen
    //Flugzeug
    //Boot
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(FAHRRADCAR(vehicleid)) return 1;
    if(BUSCAR(vehicleid)) return 1;
    if(AUTOCAR(vehicleid) && PlayerInfo[playerid][pAutoLiz] != 1)
    {
    GameTextForPlayer(playerid, "~r~Du hast noch keinen Flugschein", 2000, 5);
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    else if(MOTORRADCAR(vehicleid) && PlayerInfo[playerid][pBikeLiz] != 1)
    {
    GameTextForPlayer(playerid, "~r~Du hast noch keinen Motorradschein", 2000, 5);
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    else if(LKWCAR(vehicleid) && PlayerInfo[playerid][pLKWLiz] != 1)
    {
    GameTextForPlayer(playerid, "~r~Du hast noch keinen Lastwagenschein", 2000, 5);
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    else if(FLUGZEUGCAR(vehicleid) && PlayerInfo[playerid][pFlugLiz] != 1)
    {
    GameTextForPlayer(playerid, "~r~Du hast noch keinen Flugschein", 2000, 5);
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    else if(BOOTCAR(vehicleid) && PlayerInfo[playerid][pBootLiz] != 1)
    {
    GameTextForPlayer(playerid, "~r~Du hast noch keinen Bootschein", 2000, 5);
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    return 1;
    }
    if(newstate == 2)
    {
    if(IstFahrCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 5) || Fahrstunde[playerid] == 1) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für Fahrlehrer und Fahrschüler.");RemovePlayerFromVehicle(playerid); return 1; }
    }
    else if(CopCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 2)) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für Polizisten."); RemovePlayerFromVehicle(playerid); return 1; }
    }
    else if(IstBundespolizeiCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 3)) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für Bundespolizisten."); RemovePlayerFromVehicle(playerid); return 1; }
    }
    else if(IstBundeswehrCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 4)) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für die Bundeswehr."); RemovePlayerFromVehicle(playerid); return 1; }
    }
    else if(IstPraesidentCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 6)) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für die Regierung."); RemovePlayerFromVehicle(playerid); return 1; }
    }
    else if(IstMedicCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 7)) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für Sanitäter."); RemovePlayerFromVehicle(playerid); return 1; }
    }
    else if(IstADACCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 8)) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für Mechaniker."); RemovePlayerFromVehicle(playerid); return 1; }
    }
    else if(IstNewsCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 9)) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für Reporter."); RemovePlayerFromVehicle(playerid); return 1; }
    }
    else if(IstHitmanCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 10)) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für Hitmans."); RemovePlayerFromVehicle(playerid); return 1; }
    }
    else if(IstGroveStreetCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 11)) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für die Grove Street"); RemovePlayerFromVehicle(playerid); return 1; }
    }
    else if(IstBallasCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 12)) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für die Ballas"); RemovePlayerFromVehicle(playerid); return 1; }
    }
    else if(IstVagosCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 13)) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für die Vagos"); RemovePlayerFromVehicle(playerid); return 1; }
    }
    else if(IstHellsAngelsCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 14)) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für die Hells Angels"); RemovePlayerFromVehicle(playerid); return 1; }
    }
    else if(IstSanFierroRifaCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 15)) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für die San Fierro Rifa"); RemovePlayerFromVehicle(playerid); return 1; }
    }
    else if(IstTriadenCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 16)) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für die Triaden"); RemovePlayerFromVehicle(playerid); return 1; }
    }
    else if(IstDaNangBoysCar(playerid))
    {
    if(GetPlayerFraktion(playerid, 17)) { return 1; }
    else { SendClientMessage(playerid, COLOR_RED, "Nur für die Da Nang Boys"); RemovePlayerFromVehicle(playerid); return 1; }
    }
    return 1;
    }
    if(newstate==2)
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
    {
    ISPLAYERTOWER[playerid]=1;
    Abschlepper++;
    SendClientMessage(playerid,0xFFFF00AA,"Du kannst die Aktions Taste verwenden um Autos abzuschleppen");
    }
    }
    if ((newstate==PLAYER_STATE_ONFOOT)&&(ISPLAYERTOWER[playerid]==1))
    {
    ISPLAYERTOWER[playerid]=0;
    Abschlepper--;
    }
    return 1;
    }



    MfH dUDALUS