Was mache ich falsch?

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
  • Moin.
    Ich habe schon fast den ganzen Tag ein Problem und wollte mein Problem nicht hier rein posten.
    Nun ist es aber endlich soweit, ich habe alles versucht und bin leider immer gescheitert.
    Ich habe ein /aduty Befehl gescriptet und mein Problem ist folgendes.
    Mein Adminlevel ist 2000 und ich kann mich über /aduty als Admin 2000 anmelden, doch wenn ich wieder /aduty eingebe, kann ich mich nicht mehr abmelden, sondern er meldet sich immer wieder an, was ist mein Problem?
    Hier ist mein Code:


    if(strcmp(cmd, "/aduty", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(PlayerInfo[playerid][pAdmin] == 1)
    {
    AdminDuty[playerid] = 1;
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "*** %s hat sich als Supporter angemeldet ***", sendername, playerid);
    SendClientMessageToAll(TEAM_BALLAS_COLOR, string);
    SetPlayerColor(playerid, TEAM_BALLAS_COLOR);
    SendClientMessage(playerid, TEAM_BALLAS_COLOR, "*** Du hast dich als Supporter angemeldet. Gebe /aduty ein, um dich abzumelden.");
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 1 && AdminDuty[playerid] == 1)
    {
    AdminDuty[playerid] = 0;
    SetPlayerHealth(playerid, 100.0);
    SetPlayerArmour(playerid, 0.0);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "*** hat sich als Supporter abgemeldet ***", sendername, playerid);
    SendClientMessageToAll(TEAM_BALLAS_COLOR, string);
    SetPlayerColor(playerid, TEAM_HIT_COLOR);
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 2)
    {
    AdminDuty[playerid] = 1;
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "*** %s hat sich als Moderator angemeldet ***", sendername, playerid);
    SendClientMessageToAll(TEAM_BALLAS_COLOR, string);
    SetPlayerColor(playerid, TEAM_BALLAS_COLOR);
    SendClientMessage(playerid, TEAM_BALLAS_COLOR, "*** Du hast dich als Moderator angemeldet. Gebe /aduty ein, um dich abzumelden.");
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 2 && AdminDuty[playerid] == 1)
    {
    AdminDuty[playerid] = 0;
    SetPlayerHealth(playerid, 100.0);
    SetPlayerArmour(playerid, 0.0);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "*** hat sich als Moderator abgemeldet ***", sendername, playerid);
    SendClientMessageToAll(TEAM_BALLAS_COLOR, string);
    SetPlayerColor(playerid, TEAM_HIT_COLOR);
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 3)
    {
    AdminDuty[playerid] = 1;
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "*** %s hat sich als Admin angemeldet ***", sendername, playerid);
    SendClientMessageToAll(TEAM_BALLAS_COLOR, string);
    SetPlayerColor(playerid, TEAM_BALLAS_COLOR);
    SendClientMessage(playerid, TEAM_BALLAS_COLOR, "*** Du hast dich als Admin angemeldet. Gebe /aduty ein, um dich abzumelden.");
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 3 && AdminDuty[playerid] == 1)
    {
    AdminDuty[playerid] = 0;
    SetPlayerHealth(playerid, 100.0);
    SetPlayerArmour(playerid, 0.0);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "*** hat sich als Admin abgemeldet ***", sendername, playerid);
    SendClientMessageToAll(TEAM_BALLAS_COLOR, string);
    SetPlayerColor(playerid, TEAM_HIT_COLOR);
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 4)
    {
    AdminDuty[playerid] = 1;
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "*** %s hat sich als Admin angemeldet ***", sendername, playerid);
    SendClientMessageToAll(TEAM_BALLAS_COLOR, string);
    SetPlayerColor(playerid, TEAM_BALLAS_COLOR);
    SendClientMessage(playerid, TEAM_BALLAS_COLOR, "*** Du hast dich als Admin angemeldet. Gebe /aduty ein, um dich abzumelden.");
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 4 && AdminDuty[playerid] == 1)
    {
    AdminDuty[playerid] = 0;
    SetPlayerHealth(playerid, 100.0);
    SetPlayerArmour(playerid, 0.0);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "*** hat sich als Admin abgemeldet ***", sendername, playerid);
    SendClientMessageToAll(TEAM_BALLAS_COLOR, string);
    SetPlayerColor(playerid, TEAM_HIT_COLOR);
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 2000)
    {
    AdminDuty[playerid] = 1;
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "*** %s hat sich als Serverowner angemeldet ***", sendername, playerid);
    SendClientMessageToAll(TEAM_BALLAS_COLOR, string);
    SetPlayerColor(playerid, TEAM_BALLAS_COLOR);
    SendClientMessage(playerid, TEAM_BALLAS_COLOR, "*** Du hast dich als Serverowner angemeldet. Gebe /aduty ein, um dich abzumelden.");
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 2000 && AdminDuty[playerid] == 1)
    {
    AdminDuty[playerid] = 0;
    SetPlayerHealth(playerid, 100.0);
    SetPlayerArmour(playerid, 0.0);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "*** hat sich als Serverowner abgemeldet ***", sendername, playerid);
    SendClientMessageToAll(TEAM_BALLAS_COLOR, string);
    SetPlayerColor(playerid, TEAM_HIT_COLOR);
    return 1;
    }


    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist kein Administrator!");
    return 1;
    }
    }
    return 1;
    }


    Gruß, Nighthawk.