Admin Befehle nur wenn Aduty

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
  • du setzt einfach eine veriable und fragst damit ab :)


    zb
    gf basis

    enum pInfo
    {
    pIsaduty
    }



    OnPlayerConnect
    {
    pinfo[playerid][pisaduty] = 0;
    }

    und so dann zb mit befehl es machen :)



    ocmd:aduty(playerid,params[])
    {
    pinfo[playerid][pisaduty] = 1;// hier setzt wir sie auf eins und wen du off gehst einfach wieder auf 0 setzt
    return 1;
    }



    ocmd:gotols(playerid,params[])
    {
    if(pinfo[playerid][pisaduty] == 1)
    {
    //wen er es ist hier ausfüren
    }
    else
    {
    //wen nicht ihm sagen das er erst duty muss :)
    }


    So ich hoffe es war nen kleiner denk anstoß für dich :)

  • Dann versuche wir es doch mal :S :S


    also im scripten bin ich sehr neu Mein /aduty befehl sieht ganz anders aus ohne ocmd


    if (strcmp(cmd, "/adminduty", true) == 0 || strcmp(cmd, "/aduty", true) == 0)
    {
    if(AdminDuty[playerid] == 0)
    {
    if(PlayerInfo[playerid][pAdmin] == 1 || PlayerInfo[playerid][pAdmin] == 2 || PlayerInfo[playerid][pAdmin] == 3|| PlayerInfo[playerid][pAdmin] == 4) {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun als Moderator im Dienst!");
    SetPlayerColor(playerid,0xFF00A5FF);
    AdminDuty[playerid] = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string,sizeof(string),"* Moderator %s[ID:%d] ist nun im Dienst*",sendername,playerid);
    SendClientMessageToAll(0x932200FF, string);
    SetPlayerArmour(playerid, 100);
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 5 || PlayerInfo[playerid][pAdmin] == 6 || PlayerInfo[playerid][pAdmin] == 1337)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun als Super-Moderator im Dienst!");
    SetPlayerColor(playerid,0xFF00A5FF);
    AdminDuty[playerid] = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string,sizeof(string),"*Super-Moderator %s[ID:%d] ist nun im Dienst.*",sendername,playerid);
    SendClientMessageToAll(COLOR_RED, string);
    SetPlayerArmour(playerid, 100);
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] ==1338)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun als Administrator im Dienst!");
    SetPlayerColor(playerid,0xFF00A5FF);
    AdminDuty[playerid] = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string,sizeof(string),"Administrator %s[ID:%d] ist nun im Dienst.*",sendername,playerid);
    SendClientMessageToAll(COLOR_RED, string);
    SetPlayerArmour(playerid, 100);
    return 1;
    }
    if(AdminDuty[playerid] == 1) { SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun nichtmehr On Duty!");
    Delete3DTextLabel(Admin[playerid]); Delete3DTextLabel(Supermod[playerid]);
    Delete3DTextLabel(Mod[playerid]);
    Delete3DTextLabel(Supporter[playerid]);
    Delete3DTextLabel(Admin[playerid]);
    Delete3DTextLabel(Supermod[playerid]);
    Delete3DTextLabel(Mod[playerid]);
    Delete3DTextLabel(Supporter[playerid]);
    SetPlayerArmour(playerid, 0);
    AdminDuty[playerid] = 0;
    {
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
    {
    SetPlayerColor(playerid, NAMECOLOR_LSCOP);
    }
    else
    {
    SetPlayerColor(playerid,TEAM_HIT_COLOR); }
    }
    return 1;
    }
    return 1;
    }


  • also wenn ich das jetzt richtig verstanden habe. Sorry wenn nicht :( :S


    if(strcmp(cmd, "/gotols", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(AdminDuty[playerid] != 1)return SendClientMessage(playerid,-1," Du bist nicht Aduty!");
    {
    if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1)
    {
    if (GetPlayerState(playerid) == 2)
    {

  • if(strcmp(cmd, "/gotols", true) == 0)
    {

    if(AdminDuty[playerid] != 1)return SendClientMessage(playerid,-1," Du bist nicht Aduty!");
    if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1)
    {
    if (GetPlayerState(playerid) == 2)
    {