Jump to content
  • 0

pomoc Admin System


Stellet

Dotaz

Ahoj udělal jsem si Admin System (Není staženej!)

Ale mám problém když dám /admins a jsem na serveru sám je to OK ale když příjde další hráč je to v /admins 2x takže je tam Administrátor
Moderator

Helper

 

Administrátor

 

Moderator

 

Helper

 

Pawno na Admins

dcmd_admins(playerid,params[])
{
    #pragma unused params
    new astr[1000];
    new str[500];
    new Name[MAX_PLAYER_NAME];
    for(new i; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            format(str,500,"              {15A0FF}Administrator\n\n");
            strcat(astr,str);
            if(AdminLevel[i] == 7)
            {
                GetPlayerName(i,Name,sizeof(Name));
                format(str,500,"  {FFFFFF}%s (Admin Level 5)\n",Name);
                strcat(astr,str);
            }
            if(AdminLevel[i] == 6)
            {
                GetPlayerName(i,Name,sizeof(Name));
                format(str,500,"  {FFFFFF}%s (Admin Level 4)\n",Name);
                strcat(astr,str);
            }
            if(AdminLevel[i] == 5)
            {
                GetPlayerName(i,Name,sizeof(Name));
                format(str,500,"  {FFFFFF}%s (Admin Level 3)\n",Name);
                strcat(astr,str);
            }
            if(AdminLevel[i] == 4)
            {
                GetPlayerName(i,Name,sizeof(Name));
                format(str,500,"  {FFFFFF}%s (Admin Level 2)\n",Name);
                strcat(astr,str);
            }
            if(AdminLevel[i] == 3)
            {
                GetPlayerName(i,Name,sizeof(Name));
                format(str,500,"  {FFFFFF}%s (Admin Level 1)\n",Name);
                strcat(astr,str);
            }
            format(str,500,"\n\n");
            strcat(astr,str);
            
            format(str,500,"              {8FA0FF}Moderator\n\n");
            strcat(astr,str);
            if(AdminLevel[i] == 2)
            {
                GetPlayerName(i,Name,sizeof(Name));
                format(str,500,"  {FFFFFF}%s (Moderator)\n",Name);
                strcat(astr,str);
            }
            format(str,500,"\n\n");
            strcat(astr,str);
            
            format(str,500,"              {00CD7D}Helper\n\n");
            strcat(astr,str);
            if(AdminLevel[i] == 1)
            {
                GetPlayerName(i,Name,sizeof(Name));
                format(str,500,"  {FFFFFF}%s (Helper)",Name);
                strcat(astr,str);
            }
        }
    }
    ShowPlayerDialog(playerid,ADMINS,DIALOG_STYLE_MSGBOX,"Admins",astr,"OK", #);
    return 1;
}

 

A další problém u kicku..

Prostě ho to nekickne a nenapíše ani zprávu :(

dcmd_kick(playerid,params[])
{
    if(pAdmin < 1) return InfoBox(playerid, 3000);
    {
        new ID;
        new str[500];
        new DUVOD[100];
        new Name[64];
        GetPlayerName(playerid,Name,64);
        new Name1[64];
        GetPlayerName(ID,Name1,64);
        if(sscanf(params, "us", ID, DUVOD))
        {
            SCM(playerid,-1,"Použití: /kick [ID] [DŮVOD]");
            return 1;
        }
        else if(ID == INVALID_PLAYER_ID)
        {
            SCM(playerid,-1,"Tento hráč není na serveru !");
            return 1;
        }
        else
        {
            if(pAdmin == 2)
            {
                format(str,500,"Moderátor %s vyhodil hráče %s z důvodu: %s",Name,Name1,DUVOD);
                SCMTA(0xFF0000AA,str);
                Kick(ID);
                return 1;
            }
            if(pAdmin <= 3)
            {
                format(str,500,"Administrátor %s vyhodil hráče %s z důvodu: %s",Name,Name1,DUVOD);
                SCMTA(0xFF0000AA,str);
                Kick(ID);
                return 1;
            }
        }
    }
    return 1;
}
Link to comment
Share on other sites

4 odpovědí na tuto otázku

Recommended Posts

  • 0
COMMAND:admins(playerid,params[])
{
new count = 0;
new string[MAX_STRING];
new fstring[MAX_STRING];
new ARank[MAX_STRING];
for(new i = 0; i < MAX_PLAYERS; i++){
if (IsPlayerConnected(i)){
if(HracInfo[i][Adminlevel] > 0 && HracInfo[i][Hide] == 0){
if(IsPlayerAdmin(i)){
ARank = "Rcon Admin";
}else{
switch(HracInfo[i][Adminlevel]){
case 1: {ARank = "Moderator";} case 2: {ARank = "Hlavný Moderator";} case 3: {ARank = "Admin";} case 4: {ARank = "Hlavný Admin";} case 5: {ARank = "Správca Serveru";}
}
}
format(fstring, sizeof(fstring), "{FFFFFF}Level: {6EF83C}%d{FFFFFF} - %s (%i) {6EF83C}%s \n",HracInfo[i][Adminlevel], PlayerName(i),i,ARank);
strcat(string, fstring);
count++;
}
}
}
if (count == 0) return ShowPlayerDialog(playerid, 120, DIALOG_STYLE_MSGBOX, "{6EF83C}Online Admins", "{FFFFFF}Žiadný Administrátor nie je na servery", "Ok","");
else{
format(fstring, sizeof(fstring), "\r\n{6EF83C}Admins: {FFFFFF}%d", count);
strcat(string, fstring);
ShowPlayerDialog(playerid, 120, DIALOG_STYLE_MSGBOX, "{6EF83C}Online Admins", string, "Ok", "");
}
return 1;
}

toto si daj do modu!! :)

 

A ktomu Kicku.... kto robil ten AS s tím kickom nech ho nakopam do prdele... -_-

Link to comment
Share on other sites

  • 0

dcmd_kick(playerid,params[])
{
    if(pAdmin[playerid] < 1) return InfoBox(playerid, 3000); // wtf padmin ?? kto padmin ??? playerid !
    {
        new id;
        new str[256];

        new DUVOD[64];
        if(sscanf(params, "us", ID, DUVOD))  return SCM(playerid,-1,"Použití: /kick [iD] [DŮVOD]");
        if(ID == INVALID_PLAYER_ID) return  SCM(playerid,-1,"Tento hráč není na serveru !");
    }else{
        if(pAdmin[playerid] == 2) return format(str,256,"Moderátor %s vyhodil hráče %s z důvodu: %s",meno(playerid),meno(id),DUVOD);
        if(pAdmin[playerid] <= 3) return format(str,256,"Administrátor %s vyhodil hráče %s z důvodu: %s",meno(playerid),meno(id),DUVOD);

        SCMTA(0xFF0000AA,str);

        Kick(ID);

    }
    return 1;
}

 

stock meno(playerid)
{
      new name[MAX_PLAYER_NAME];
      GetPlayerName(playerid, name, MAX_PLAYER_NAME);
      return name;
}

 tu máš ten kick je to narýchlo tak je to sračka ale malo by to ísť

ináč ak chceš takéto veci ako administrátor moderátor sprav si to cez stock 

 

stock PlayerRank(playerid)
{
new Rank[30];
if(PlayerInfo[playerid][pAdmin] == 3)format(Rank,30,"{000000}[Majiteľ]{FFFFFF}");
if(PlayerInfo[playerid][pAdmin] == 2)format(Rank,30,"{FF6600}[Administrator]{FFFFFF}");
if(PlayerInfo[playerid][pAdmin] == 1)format(Rank,30,"{FFFF00}[Moderator]{FFFFFF}");
return Rank;
}

 

 

a potom dáš 

len jednu spravu v tvare

format(str,256,"%s %s vyhodil hráče %s z důvodu: %s",PlayerRank(playerid),meno(playerid),meno(id),DUVOD);

 

a skus používať QCMD alebo ZCMD su oveľa lepšie 

ps ten /admins je strašný shit ked sa nato pozerám točí sa mi hlava to radšej vyhoď server z okna ak máš taky celý AS

Edited by Ad@m
Link to comment
Share on other sites

  • 0

Ono když jednou používáš podmínku AdminLevel a potom jinou podmínku pro kick pAdmin tak je logické že ti to nepůjde a nic ti to ani vypsat nemůže když tam nemáš aby to něco napsalo pokud nejsi administrátor.

Edited by P4tRiCk
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...