Пользователь
		- Регистрация
 - 21 Мар 2022
 
- Сообщения
 - 12
 
- Автор темы
 - #1
 
Всех приветствую! Заливаю для вас достаточно прикольную команду, для создания приватных каналов связи. Перейдем непосредственно к самому коду.
Для начала сама команда:
	
	
	
	
	
	
Для начала сама команда:
			
				C++:
			
		
		
		CMD:fmenu(playerid, params[])
{
    if(PlayerInfo[playerid][pMember] != F_FBI && PlayerInfo[playerid][pRank] < 8) return SendClientMessage(playerid,CGREY,"Вам недоступна данная команда"); //Проверка на фракцию, меняете под себя
    if(PlayerInfo[playerid][pWork] == 0) return SendClientMessage(playerid,CGREY,"Начните рабочий день на базе организации"); //Проверка на начала рабочего дня, меняете под себя
    ShowPlayerDialog(playerid,448,DIALOG_STYLE_LIST,"Меню канала","1 | Открыть/закрыть канал\n2 | Список участников\n3 | Пригласить в канал\n4 | Удалить из канала","Далее","Отмена");
    return 1;
}
PlayerInfo - Ваша информация об игроке (PI, Users, pInfo)
CGREY - Цвет тексте, также можете менять под себя.
	В Public OnPlayerDialogResponse
			
				C++:
			
		
		
		case 448:
        {
            if(!response) return 1;
            switch(listitem)
            {
                case 0:
                {
                    kanals = (!kanals) ? (true) : (false);
                    if(kanals) SendClientMessage(playerid,CREWARD,"Вы открыли канал!");
                    else SendClientMessage(playerid,CREWARD,"Вы закрыли канал!");
                }
                case 1:
                {
                    new str[70];
                    query = "{ffffff}";
                    for(new i = 0; i < MAX_PLAYERS; i++)
                    {
                        if(!IsPlayerConnected(i) || PlayerLogged[i] == false || !GetPVarInt(i,"FR")) continue;
                        format(str,sizeof(str),"%s [id: %d]\n",PlayerInfo[i][pSendername],i);
                        strcat(query,str);
                    }
                    ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Список участников",query,"Далее","");
                }
                case 2: ShowPlayerDialog(playerid,449,DIALOG_STYLE_INPUT,"Пригласить в канал","{ffffff}Введите ID игрока:\n\n","Далее","Отмена");
                case 3: ShowPlayerDialog(playerid,450,DIALOG_STYLE_INPUT,"Удалить из канала","{ffffff}Введите ID игрока:\n\n","Далее","Отмена");
            }
        }
        case 449:
        {
            if(!response) return ShowPlayerDialog(playerid,448,DIALOG_STYLE_LIST,"Меню канала","1 | Открыть/закрыть канал\n2 | Список участников\n3 | Пригласить в канал\n4 | Удалить из канала","Далее","Отмена");
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid,449,DIALOG_STYLE_INPUT,"Пригласить в канал","{ffffff}Введите ID игрока:\n\n","Далее","Отмена");
            new player = strval(inputtext);
            if(GetPVarInt(player,"FR")) return SendClientMessage(playerid,CGREY,"Игрок уже состоит в приватном канале!");
            new Float:x,Float:y,Float:z;
            GetPlayerPos(player,x,y,z);
            if(!IsPlayerInRangeOfPoint(playerid, 5.0, x,y,z)) return SendClientMessage(playerid,CGREY,"Вы не рядом с игроком");
            SendClientMessage(player,-1,"Вас пригласили в приватный канал. Используйте: {f7ae11}/fr");
            static const fmt_string[] = "Вы пригласили %s в приватный канал";
            new str[sizeof(fmt_string)+MAX_PLAYER_NAME];
            format(str, sizeof(str), fmt_string,PlayerInfo[player][pSendername]);
            SendClientMessage(player,CREWARD,str);
            SetPVarInt(player,"FR",1);
        }
        case 450:
        {
            if(!response) return ShowPlayerDialog(playerid,448,DIALOG_STYLE_LIST,"Меню канала","1 | Открыть/закрыть канал\n2 | Список участников\n3 | Пригласить в канал\n4 | Удалить из канала","Далее","Отмена");
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid,450,DIALOG_STYLE_INPUT,"Удалить из канала","{ffffff}Введите ID игрока:\n\n","Далее","Отмена");
            new player = strval(inputtext);
            if(!GetPVarInt(player,"FR")) return SendClientMessage(playerid,CGREY,"Игрок не состоит в приватном канале!");
            SendClientMessage(player,CREWARD,"Вас выгнали из приватного канала!");
            static const fmt_string[] = "Вы выгнали %s из приватного канала";
            new str[sizeof(fmt_string)+MAX_PLAYER_NAME];
            format(str, sizeof(str), fmt_string,PlayerInfo[player][pSendername]);
            SendClientMessage(player,CREWARD,str);
            DeletePVar(player,"FR");
        }
CREWARD - цвет текста, меняете под себя.
PlayerInfo[i][pSendername] - это информация об игровом нике (PlayerName[playerid], PN(playerid), PlayerInfo[playerid][pName]) - настраиваем также под себя.
	В начало мода
	
	
	
	
	
	
			
				C++:
			
		
		
		new bool:kanals;