Сейчас я вас научу делать простую привязку команды по ип.
Вот простая команда:
Code

if(strcmp(cmdtext, "/команда, true) == 0)
{
new cmdip[MAX_PLAYER_NAME];
GetPlayerIp(playerid, cmdip, sizeof(cmdip));
if(!strcmp(cmdip, "**.**.**.**", true))
{
SendClientMessage(playerid,COLOR_WHITE,"ПНХ!");
return 1;
}
//Остальной код, т.е сама команда без начала:D
return 1;
}

Итак поясняю что значит каждая функция:
Code
GetPlayerIp(playerid, cmdip, sizeof(cmdip));//сама привязка

Code
if(!strcmp(cmdip, "**.**.**.**", true))//ип игрока на которого привязываем команду(вместо звездочек пишем ип)

Code
SendClientMessage(playerid,COLOR_WHITE,"ПНХ!");//сообщение игроку, если ип не совпадает с привязкой

Сейчас я вам покажу команду на примере удаления аккаунта:
Code

if(strcmp(cmdtext, "/wipe", true) == 0)
{
new cmdip[MAX_PLAYER_NAME];
GetPlayerIp(playerid, cmdip, sizeof(cmdip));
if(!strcmp(cmdip, "12.34.56.78", true))
{
SendClientMessage(playerid,COLOR_WHITE,"ПНХ!");
return 1;
}
if ((IsPlayerAdmin(playerid)) || PlayerInfo[playerid][pAdmin] >= 4)
     {
      tmp = strtok(cmdtext, idx);
      if(!strlen(tmp))
      {
       SendClientMessage(playerid, COLOR_WHITE, "Введите: /wipe [ник игрока]");
       return 1;
      }
         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
      GetPlayerName(playerid, sendername, sizeof(sendername));
      format(string, 256, "Администратор: %s удалил игровой аккаунт '%s'", sendername,tmp);
      ABroadCast(COLOR_GREEN,string,1);
      format(string, 256, "Администратор: %s удалил игровой аккаунт '%s'", sendername,tmp);
      printf(string);
      format(string,sizeof(string),"users/%s.ini",tmp);
      fremove(string);
      SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы удалили игровой аккаунт");
     }
     return 1;
    }
}