/makeswat - Leiter & Mitglieder entlassen

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
  • Huhu,


    Ich arbeite gerade an einem /makeswat Befehl für mein SWAT-System.
    Der Befehl kann auch Spieler zum Leiter(pSWAT == 2) bzw. zum Mitglied(pSWAT == 1) machen aber ich habe momentan Probleme beim Entlassen der Spieler.
    Ich möchte den Spielern auch pSWAT == 2 bzw. pSWAT == 1 auch wieder auf 0 setzen können.
    Als Administrator sollte man den Spieler als Leiter entlassen & als Leiter sollte man den Spieler als Mitglied entlassen können.
    Man könnte dafür zwar einen neuen Befehl erstellen aber ich hätte gerne alles in einem.


    Der Befehl:
    if(strcmp(cmd, "/makeswat", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pSWAT] == 2)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Verwendung: /makeswat [SpielerID]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(!IsPlayerConnected(giveplayerid))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Dieser Spieler ist nicht online!");
    return 1;
    }
    new Name1[MAX_PLAYER_NAME];
    new Name2[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name1,sizeof(Name1));
    GetPlayerName(giveplayerid,Name2,sizeof(Name2));
    if(PlayerInfo[playerid][pAdmin] >= 4)
    {
    PlayerInfo[playerid][pSWAT] = 2;
    PlayerInfo[playerid][pSWATRank] = 6;
    format(string,sizeof(string),"Du hast %s zum Leiter der S.W.A.T.-Einheit ernannt!",Name2);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    format(string,sizeof(string),"Administrator %s hat dich zum Leiter der S.W.A.T.-Einheit ernannt!",Name1);
    SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,string);
    return 1;
    }
    if(PlayerInfo[playerid][pSWAT] == 2)
    {
    PlayerInfo[playerid][pSWAT] = 1;
    PlayerInfo[playerid][pSWATRank] = 1;
    format(string,sizeof(string),"Du hast %s zum Mitglied der S.W.A.T.-Einheit ernannt!",Name2);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    format(string,sizeof(string),"S.W.A.T.-Leiter %s hat dich zum Mitglied der S.W.A.T.-Einheit ernannt!",Name1);
    SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,string);
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du darfst diesen Befehl nicht benutzen!");
    return 1;
    }
    }
    return 1;
    }


  • if(strcmp(cmd, "/makeswat", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pSWAT] == 2)
    {
    new tmp[128];
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Verwendung: /makeswat [SpielerID]");
    return 1;
    }
    else
    {
    new giveplayerid;
    giveplayerid = strval(tmp);
    if(!IsPlayerConnected(giveplayerid))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Dieser Spieler ist nicht online!");
    return 1;
    }
    else
    {
    new Name1[MAX_PLAYER_NAME];
    new Name2[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name1,sizeof(Name1));
    GetPlayerName(giveplayerid,Name2,sizeof(Name2));
    if(PlayerInfo[playerid][pAdmin] >= 4)
    {
    if(PlayerInfo[giveplayerid][pSWAT] != 2)
    {
    PlayerInfo[giveplayerid][pSWAT] = 2;
    PlayerInfo[giveplayerid][pSWATRank] = 6;
    format(string,sizeof(string),"Du hast %s zum Leiter der S.W.A.T.-Einheit ernannt!",Name2);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    format(string,sizeof(string),"Administrator %s hat dich zum Leiter der S.W.A.T.-Einheit ernannt!",Name1);
    SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,string);
    }
    else
    {
    PlayerInfo[giveplayerid][pSWAT] = 0;
    PlayerInfo[giveplayerid][pSWATRank] = 0;
    format(string,sizeof(string),"Du hast %s als Leiter der S.W.A.T.-Einheit entlassen!",Name2);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    format(string,sizeof(string),"Administrator %s hat dich als Leiter der S.W.A.T.-Einheit entlassen!",Name1);
    SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,string)
    }
    return 1;
    }
    else if(PlayerInfo[playerid][pSWAT] == 2)
    {
    if(PlayerInfo[giveplayerid][pSWAT] != 1)
    {
    PlayerInfo[giveplayerid][pSWAT] = 1;
    PlayerInfo[giveplayerid][pSWATRank] = 1;
    format(string,sizeof(string),"Du hast %s zum Mitglied der S.W.A.T.-Einheit ernannt!",Name2);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    format(string,sizeof(string),"S.W.A.T.-Leiter %s hat dich zum Mitglied der S.W.A.T.-Einheit ernannt!",Name1);
    SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,string);
    }
    else
    {
    PlayerInfo[giveplayerid][pSWAT] = 0;
    PlayerInfo[giveplayerid][pSWATRank] = 0;
    format(string,sizeof(string),"Du hast %s als Mitglied der S.W.A.T.-Einheit entlassen!",Name2);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    format(string,sizeof(string),"S.W.A.T.-Leiter %s hat dich als Mitglied der S.W.A.T.-Einheit entlassen!",Name1);
    SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,string);
    }
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du darfst diesen Befehl nicht benutzen!");
    return 1;
    }
    }
    return 1;
    }


    Ist nicht getestet, also falls für dich unlösbare Fehler enthalten sind, kannst du es mir melden.


    €: Beachte, dass wenn playerid höher oder gleich Adminlevel 4 UND pSWAT 2 ist, zählt das Adminlevel. Bedeutet, dass giveplayerid zum Leiter gemacht wird.

    2 Mal editiert, zuletzt von Showtek ()