Problem mit Befehl für mehrere 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
  • Hi,


    Ich habe bei einem Befehl diese Abfrage:


    Zitat

    else if(GetPlayerFraktion(id, 2)) SendClientMessage(playerid, COLOR_GREY, "*:: Nur für Polizisten ::*");


    Doch wenn ich


    Zitat

    else if(GetPlayerFraktion(id, 2) || GetPlayerFraktion(id, 3)) SendClientMessage(playerid, COLOR_GREY, "*:: Nur für Polizisten ::*");


    Versuche, kann diesen Befehl niemand benutzen.


    MFG

    [align=center]


  • suspect(playerid, params[])
    {
    new id, grund[256], pint;
    if(sscanf(params, "uis",id,pint,grund)) SendClientMessage(playerid, COLOR_GREY, "*:: /suspect [SpielerID] [Wanteds] [Grund] ::*");
    else if(id == INVALID_PLAYER_ID || id == playerid || IsPlayerNPC(id)) SendClientMessage(playerid, COLOR_GREY, "*:: Spieler kann nicht gemeldet werden. ::*");
    else if(!GetPlayerFraktion(id, 2) || !GetPlayerFraktion(id, 3)) SendClientMessage(playerid, COLOR_GREY, "*:: Nur für Polizisten ::*");
    else if(PlayerInfo[playerid][pDuty] == 0) SendClientMessage(playerid, COLOR_GREY, "*:: Du bist nicht im Dienst. ::*");
    else if(pint > 10 || pint < 1) SendClientMessage(playerid, COLOR_GREY, "*:: Die Wantedzahl muss zwischen 1 und 10 liegen. ::*");
    else if(strlen(grund) < 3 || strlen(grund) > 255) SendClientMessage(playerid, COLOR_GREY, "*:: Der Grund muss zwischen 3 und 255 Buchstaben lang sein. ::*");
    else if(GetPlayerFraktion(id, 2) || GetPlayerFraktion(id, 3)) SendClientMessage(playerid, COLOR_GREY, "*:: Du kannst kein Polizist/FBI Agent einsperren. ::*");
    else
    {
    new str[256];
    PlayerInfo[id][pWanteds] += pint;
    format(str, sizeof(str), "<'WantedLevel:' %d ><'Grund:' %s >",PlayerInfo[id][pWanteds],grund);
    SendClientMessage(id, COLOR_RED, str);
    format(str, sizeof(str), "<'Spieler:' %s ><'WantedLevel:' %d >",ReadName(id),PlayerInfo[id][pWanteds]);
    SendPolizeiMessage(COLOR_GREEN, str);
    return 1;
    }
    return 1;



    MFG

    [align=center]


  • suspect(playerid, params[])
    {
    new id, grund[256], pint;
    if(sscanf(params, "uis",id,pint,grund)) return SendClientMessage(playerid, COLOR_GREY, "*:: /suspect [SpielerID] [Wanteds] [Grund] ::*");
    if(id == INVALID_PLAYER_ID || id == playerid || IsPlayerNPC(id)) return SendClientMessage(playerid, COLOR_GREY, "*:: Spieler kann nicht gemeldet werden. ::*");
    if(!GetPlayerFraktion(id, 2) || !GetPlayerFraktion(id, 3)) return SendClientMessage(playerid, COLOR_GREY, "*:: Nur für Polizisten ::*");
    if(PlayerInfo[playerid][pDuty] == 0) return SendClientMessage(playerid, COLOR_GREY, "*:: Du bist nicht im Dienst. ::*");
    if(pint > 10 || pint < 1) return SendClientMessage(playerid, COLOR_GREY, "*:: Die Wantedzahl muss zwischen 1 und 10 liegen. ::*");
    if(strlen(grund) < 3 || strlen(grund) > 255) return SendClientMessage(playerid, COLOR_GREY, "*:: Der Grund muss zwischen 3 und 255 Buchstaben lang sein. ::*");
    if(GetPlayerFraktion(id, 2) || GetPlayerFraktion(id, 3)) return SendClientMessage(playerid, COLOR_GREY, "*:: Du kannst kein Polizist/FBI Agent einsperren. ::*");


    new str[256];
    PlayerInfo[id][pWanteds] += pint;
    format(str, sizeof(str), "<'WantedLevel:' %d ><'Grund:' %s >",PlayerInfo[id][pWanteds],grund);
    SendClientMessage(id, COLOR_RED, str);
    format(str, sizeof(str), "<'Spieler:' %s ><'WantedLevel:' %d >",ReadName(id),PlayerInfo[id][pWanteds]);
    SendPolizeiMessage(COLOR_GREEN, str);
    return 1;
    }



    probiers mal so aus ich habe die else's weggelassen und vor SendClientMessage jeweils ein return gesetzt