- Регистрация
- 11 Окт 2015
- Сообщения
- 537
- Лучшие ответы
- 0
- Репутация
- 154
Здравствуйте пользователи и гости игрового портала pawno-info.ru, На этот раз я написал команду для выдачи выговора(варна) администратору. К ней конечно написал и /unawarn
Начнём:
1. Добавить в enum pInfo(Или какой у вас Инфо отвечает за игрока):
2. Добавить pAWarn в: Регистрацию/Логин/Сохранение/Загрузку и т.д.
3. Добавить следующие команды в OnPlayerCommandText:
И команду /unawarn:
Примечания:
1. Команды написаны под мой мод!(6 лвл адм - максимальный).
2. В команде /awarn где ShowPlayerDialog если если у вас уже есть диалог с id 5562 то меняем на незанятый.
3. Обязательный дефайн: #define SCM SendClientMessage
4. На всякий случай у кого нет то вот вам функция SendAdminMessage(color, str[])
5. (Дополнение) Проверку на 3 варна(если вдруг обойдёт админ) можно вложить в OnPlayerSpawn/OnPlayerUpdate/OnPlayerConnect.
Вопросы как всегда в комментарии.
Начнём:
1. Добавить в enum pInfo(Или какой у вас Инфо отвечает за игрока):
PHP:
pAWarn,
3. Добавить следующие команды в OnPlayerCommandText:
PHP:
else if(strcmp(cmd, "/awarn", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] != 6) return SendClientMessage(playerid, 0xB80404FF, "Вы не администратор шестого уровня!");
new giveplayerid, giveplayer[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME], string[365];
tmp = strtok(cmdtext, idx), giveplayerid = ReturnUser(tmp);
if(!strlen(tmp)) return SendClientMessage(playerid, 0xB80404FF, "Введите: /awarn [id]");
if(giveplayerid == playerid) return SendClientMessage(playerid, 0xB80404FF, "Вы ввели свой id!");
if(PlayerInfo[giveplayerid][pAdmin] < 1) return SendClientMessage(playerid, 0xB80404FF, "Игрок не администратор");
if(PlayerInfo[giveplayerid][pAdmin] == 6) return SendClientMessage(playerid, 0xB80404FF, "Нельзя выдать выговор администатору шестого уровня!");
GetPlayerName(playerid, sendername, sizeof(sendername)), GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
PlayerInfo[giveplayerid][pAWarn] += 1;
if(PlayerInfo[giveplayerid][pAWarn] == 3) return PlayerInfo[giveplayerid][pAdmin] = 0, PlayerInfo[giveplayerid][pWarn] = 1;
format(string, sizeof(string), "[AWARN]: Администратор %s выдал варн администратору %s у него уже: %d/3 варн(ов).", sendername, giveplayer, PlayerInfo[giveplayerid][pAWarn]);
SendAdminMessage(0xFF0000FF, string);
format(string, sizeof(string), "Вы выдали варн администратору %s. У него уже %d/3 варн(ов)", giveplayer, PlayerInfo[playerid][pAWarn]);
SendClientMessage(playerid, 0x2BFF00FF, string);
format(string, sizeof(string), "Вам был выдан варн администратором %s. У вас уже %d варн(ов). По достижению 3-х варнов вы будете сняты и вам будет выдан простой варн", sendername, PlayerInfo[giveplayerid][pAWarn]);
ShowPlayerDialog(giveplayerid, 5562, DIALOG_STYLE_MSGBOX, "[Admin-warn]:", string, "Ок", "");
Kick(giveplayerid);
return 1;
}
PHP:
else if(strcmp(cmd, "/awarn", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] != 6) return SendClientMessage(playerid, 0xB80404FF, "Вы не администратор шестого уровня!");
new giveplayerid, giveplayer[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME], string[200];
tmp = strtok(cmdtext, idx), giveplayerid = ReturnUser(tmp);
if(!strlen(tmp)) return SendClientMessage(playerid, 0xB80404FF, "Введите: /awarn [id]");
if(giveplayerid == playerid) return SendClientMessage(playerid, 0xB80404FF, "Вы ввели свой id!");
if(PlayerInfo[giveplayerid][pAdmin] < 1) return SendClientMessage(playerid, 0xB80404FF, "Игрок не администратор");
if(PlayerInfo[giveplayerid][pAdmin] == 6) return 1;
GetPlayerName(playerid, sendername, sizeof(sendername)), GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
PlayerInfo[giveplayerid][pAWarn] -= 1;
format(string, sizeof(string), "[AWARN]: Администратор %s снял 1 варн администратору %s теперь у него: %d/3 варн(ов).", sendername, giveplayer, PlayerInfo[giveplayerid][pAWarn]);
SendAdminMessage(0xFF0000FF, string);
format(string, sizeof(string), "Вы сняли 1 варн администратору %s. Теперь у него %d/3 варн(ов)", giveplayer, PlayerInfo[playerid][pAWarn]);
SendClientMessage(playerid, 0x2BFF00FF, string);
format(string, sizeof(string), "%s снял с вас админ-варн.У вас теперь %d варн(ов).", sendername, PlayerInfo[giveplayerid][pAWarn]);
ShowPlayerDialog(giveplayerid, 5562, DIALOG_STYLE_MSGBOX, "[Admin-warn]:", string, "Ок", "");
Kick(giveplayerid);
return 1;
}
Примечания:
1. Команды написаны под мой мод!(6 лвл адм - максимальный).
2. В команде /awarn где ShowPlayerDialog если если у вас уже есть диалог с id 5562 то меняем на незанятый.
3. Обязательный дефайн: #define SCM SendClientMessage
4. На всякий случай у кого нет то вот вам функция SendAdminMessage(color, str[])
5. (Дополнение) Проверку на 3 варна(если вдруг обойдёт админ) можно вложить в OnPlayerSpawn/OnPlayerUpdate/OnPlayerConnect.
PHP:
stock SendAdminMessage(color, str[])
{
foreach(Player,i)
{
if(PlayerInfo[i][pAdmin] > 0)
SCM(i, color, str);
}
return 1;
}
Вопросы как всегда в комментарии.
Последнее редактирование: