LivingThings
Умник
Hello all. :dn:
Ко всем дефайнам:
Команда:
В OnDialogResponse:
В pInfo:
Далее, в stock LoadAccount ищем примерно такую строку:
И в конце добавляем две ''ii''.
Чуть ниже ищем:
Добавляем туда:
Выходит у нас вот так. 
Далее, в stock SaveAccount добавляем:
В stock ResetNow:
Ну и в команду /makeleader, /invite:
Добавляем в таблицу:
Ну и скриншоты:
Автор данного мануала - я.
Ко всем дефайнам:
PHP:
#define BL(%0) ShowPlayerDialog(%0, D_MAIN+14, DIALOG_STYLE_LIST, " ", "1. Занести в чёрный список\n2. Вынести из чёрного списка\n3. Игроки состоящие в чёрном списке", "Выбор", "Отмена")
PHP:
CMD:blacklist(playerid, params[])
{
if(PlayerLogged[playerid] == 0) return 1;
if(PlayerInfo[playerid][pAdmin] < 5 || AdminLogged[playerid] == false) return 1;
BL(playerid);
return 1;
}
PHP:
case D_MAIN+14:
{
if(!response) return 1;
if(listitem == 0) return ShowPlayerDialog(playerid, D_MAIN+15, DIALOG_STYLE_INPUT, " ", "Введите никнейм игрока, которого хотите занести в чёрный список.", "Выбор", "Назад");
if(listitem == 1) return ShowPlayerDialog(playerid, D_MAIN+17, DIALOG_STYLE_INPUT, " ", "Введите никнейм игрока, которого хотите вынести из чёрного списка.", "Выбор", "Назад");
if(listitem == 2)
{
new fulls;
foreach(Player, i)
{
if(!IsPlayerConnected(i) || PlayerLogged[i] == 0) continue;
if(PlayerInfo[i][pBlacklist] != 0) fulls++, format(string, 400, "{FFFFFF}%i. Игрок %s. Добавил администратор %s.\n", fulls, sendername(playerid), PlayerInfo[playerid][pBlackName]), ShowPlayerDialog(playerid, D_MAIN+16, DIALOG_STYLE_MSGBOX, " ", string, "Отмена", "Назад");
if(fulls == 0) return ShowPlayerDialog(playerid, D_NULL, DIALOG_STYLE_MSGBOX, " ", "Игроков, состоящих в чс - не найдено на сервере.", "Отмена", "");
}
return 1;
}
}
case D_MAIN+15:
{
if(!response) return BL(playerid);
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, D_MAIN+15, DIALOG_STYLE_INPUT, " ", "Введи никнейм игрока, которого хотите занести в чёрный список.", "Выбор", "Назад");
if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, -1, PlayerIsNotOnline), ShowPlayerDialog(playerid, D_MAIN+15, DIALOG_STYLE_INPUT, " ", "Введи никнейм игрока, которого хотите занести в чёрный список.", "Выбор", "Назад");
if(PlayerLogged[strval(inputtext)] == 0) return SendClientMessage(playerid, -1, PlayerIsNotLogged), ShowPlayerDialog(playerid, D_MAIN+15, DIALOG_STYLE_INPUT, " ", "Введи никнейм игрока, которого хотите занести в чёрный список.", "Выбор", "Назад");
if(PlayerInfo[strval(inputtext)][pBlacklist] != 0) return SendClientMessage(playerid, -1, "Ошибка: Указанный игрок - уже находится в чёрном списке.");
SendMes(playerid, -1, "Вы занесли игрока {FF6347}%s{FFFFFF} в чёрный список лидеров.", sendername(strval(inputtext)));
SendMes(strval(inputtext), -1, "Вы были занесены в чёрный список лидеров администратором {FF6347}%s{FFFFFF}.", sendername(playerid));
PlayerInfo[strval(inputtext)][pBlacklist] = 1;
strmid(PlayerInfo[strval(inputtext)][pBlackName], sendername(playerid), 0, strlen(sendername(playerid)), MAX_PLAYER_NAME);
}
case D_MAIN+17:
{
if(!response) return BL(playerid);
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, D_MAIN+17, DIALOG_STYLE_INPUT, " ", "Введите никнейм игрока, которого хотите вынести из чёрного списка.", "Выбор", "Назад");
if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, -1, PlayerIsNotOnline), ShowPlayerDialog(playerid, D_MAIN+17, DIALOG_STYLE_INPUT, " ", "Введите никнейм игрока, которого хотите вынести из чёрного списка.", "Выбор", "Назад");
if(PlayerLogged[strval(inputtext)] == 0) return SendClientMessage(playerid, -1, PlayerIsNotLogged), ShowPlayerDialog(playerid, D_MAIN+17, DIALOG_STYLE_INPUT, " ", "Введите никнейм игрока, которого хотите вынести из чёрного списка.", "Выбор", "Назад");
if(PlayerInfo[strval(inputtext)][pBlacklist] == 0) return SendClientMessage(playerid, -1, "Ошибка: Указанный игрок - не находится в чёрном списке.");
SendMes(playerid, -1, "Вы вынесли игрока {FF6347}%s{FFFFFF} из чёрного списка лидеров.", sendername(strval(inputtext)));
SendMes(strval(inputtext), -1, "Вы были вынесены из чёрного списка лидеров администратором {FF6347}%s{FFFFFF}.", sendername(playerid));
PlayerInfo[strval(inputtext)][pBlacklist] = 0;
}
PHP:
pBlacklist,
pBlackName[32],
PHP:
sscanf(query, "p<|>is[32]s[32]s[16]is[32]s[64]iiiis[16]iiiiiiis[16]s[40]s[160]s[40]iiiis[16]s[20]iiiis[32]s[32]fiiiiis[32]s[32]iiiiiiiiis[32]iiiiiii",
Чуть ниже ищем:
PHP:
PlayerInfo[playerid][pFish],
PlayerInfo[playerid][pLottery],
PlayerInfo[playerid][pVIP],
PlayerInfo[playerid][pTime],
PlayerInfo[playerid][pLeaderC],
PlayerInfo[playerid][pHelper]);
PHP:
PlayerInfo[playerid][pFish],
PlayerInfo[playerid][pLottery],
PlayerInfo[playerid][pVIP],
PlayerInfo[playerid][pTime],
PlayerInfo[playerid][pLeaderC],
PlayerInfo[playerid][pHelper],
PlayerInfo[playerid][pBlacklist],
PlayerInfo[playerid][pBlackName]);
Далее, в stock SaveAccount добавляем:
PHP:
format(src, sizeof(src), "blacklist='%i',", PlayerInfo[playerid][pBlacklist]);
strcat(query, src, sizeof(query));
format(src, sizeof(src), "blackname='%s',", PlayerInfo[playerid][pBlackName]);
strcat(query, src, sizeof(query));
PHP:
PlayerInfo[playerid][pBlacklist] = false;
PHP:
if(PlayerInfo[params[0]][pBlacklist] != 0) return SendClientMessage(playerid, -1, "Ошибка: Указанный игрок - находится в чёрном списке лидеров.");
PHP:
`blacklist` int(1) NOT NULL DEFAULT '0',
`blackname` varchar(32) NOT NULL,
Автор данного мануала - я.
