shape1
shape2
shape3
shape4
shape7
shape8

Помощь


Статус
Закрыто для дальнейших ответов.

kurlyk

Новичок
Пользователь
04.11.2021
2
0
0
помогите создать команду /mute и /unmute
 
Решение
CMD:unmute(playerid, params[])
{
if(GetPlayerAdminEx(playerid) < 2) return 1;

extract params -> new to_player; else return SendClientMessage(playerid, 0xCECECEFF, "Èñïîëüçóéòå: /unmute [id èãðîêà]");

if(!IsPlayerConnected(to_player) || !IsPlayerLogged(to_player))
return SendClientMessage(playerid, 0xCECECEFF, "Òàêîãî èãðîêà íåò");

else if(GetPlayerData(to_player, P_MUTE) <= 0) return SendClientMessage(playerid, 0xCECECEFF, "Ó ýòîãî èãðîêà íåò ìóòà");
else if(to_player == playerid) return SendClientMessage(playerid, 0xCECECEFF, "Íåëüçÿ ñíÿòü çàòû÷êó ñ ñàìîãî ñåáÿ");

new fmt_msg[80];
format(fmt_msg, sizeof fmt_msg, "Àäìèíèñòðàòîð %s ñíÿë çàòû÷êó ñ èãðîêà %s"...

Давид Ордян

Модератор
Команда портала
Модератор
09.10.2021
180
10
11
0
CMD:mute(playerid, params[])
{

if(GetPlayerAdminEx(playerid) < 2) return 1;
if(GetPlayerAntiBan(playerid) == 1) return SendClientMessage(playerid, 0xCECECEFF, "У данного игрока есть AntiBan!");

if(!strlen(params)) return SendClientMessage(playerid, 0xCECECEFF, "Используйте: /mute [id игрока] [время в минутах] [причина (необязательно)]");

extract params -> new to_player, mute_time, string: reason[30];

if(!IsPlayerConnected(to_player) || !IsPlayerLogged(to_player))
return SendClientMessage(playerid, 0xCECECEFF, "Такого игрока нет");

if(!(1 <= mute_time <= 360)) return SendClientMessage(playerid, 0xCECECEFF, "Время должно быть не меньше 1 и не больше 360 минут");
if(GetPlayerData(to_player, P_MUTE) > 0) return SendClientMessage(playerid, 0xCECECEFF, "У этого игрока уже есть мут");
if(GetPlayerAdminEx(to_player) > GetPlayerAdminEx(playerid)) return SendClientMessage(playerid, 0xCECECEFF, "Нельзя поставить затычку администратору выше по рангу");
else if(to_player == playerid) return SendClientMessage(playerid, 0xCECECEFF, "Нельзя поставить затычку самому себе");

new fmt_msg[128];
format(fmt_msg, sizeof fmt_msg, "Администратор %s поставил затычку игроку %s на %d мин", GetPlayerNameEx(playerid), GetPlayerNameEx(to_player), mute_time);

if(strlen(reason))
format(fmt_msg, sizeof fmt_msg, "%s. Причина: %s", fmt_msg, reason);

SendClientMessageToAll(0xFF5533FF, fmt_msg);
SetPlayerData(playerid, P_ANTIBAN, 1);
SetTimerEx("AntiBan", 20000, false, "i", playerid);

SetPlayerData(to_player, P_MUTE, mute_time * 60);
UpdatePlayerDatabaseInt(to_player, "mute", mute_time * 60);

SendClientMessage(to_player, 0xCECECEFF, "Время до окончания бана чата: {CCCC00}/time");

format(fmt_msg, sizeof fmt_msg, "Выдал %s[acc:%d] блокировку чата на %d мин. Причина: %s",
GetPlayerNameEx(to_player), GetPlayerAccountID(to_player), mute_time, reason);
SendLog(playerid, LOG_TYPE_ADMIN_ACTION, fmt_msg);
new query[200];

mysql_format(mysql, query, sizeof query, "UPDATE accounts SET a_mute = a_mute+1 WHERE name = '%s'", GetPlayerNameEx(playerid));
mysql_query(mysql, query, false);

mysql_format(mysql, query, sizeof query, "INSERT INTO alogs (id,type,name_adm,time,reason) VALUES (%d,'%e','%e',%d,'%e')", GetPlayerAccountID(to_player), "Мут", GetPlayerNameEx(playerid), gettime(), reason);
mysql_query(mysql, query, false);
SvMutePlayerEnable(playerid);
return 1;
}
 

Давид Ордян

Модератор
Команда портала
Модератор
09.10.2021
180
10
11
0
CMD:unmute(playerid, params[])
{
if(GetPlayerAdminEx(playerid) < 2) return 1;

extract params -> new to_player; else return SendClientMessage(playerid, 0xCECECEFF, "Èñïîëüçóéòå: /unmute [id èãðîêà]");

if(!IsPlayerConnected(to_player) || !IsPlayerLogged(to_player))
return SendClientMessage(playerid, 0xCECECEFF, "Òàêîãî èãðîêà íåò");

else if(GetPlayerData(to_player, P_MUTE) <= 0) return SendClientMessage(playerid, 0xCECECEFF, "Ó ýòîãî èãðîêà íåò ìóòà");
else if(to_player == playerid) return SendClientMessage(playerid, 0xCECECEFF, "Íåëüçÿ ñíÿòü çàòû÷êó ñ ñàìîãî ñåáÿ");

new fmt_msg[80];
format(fmt_msg, sizeof fmt_msg, "Àäìèíèñòðàòîð %s ñíÿë çàòû÷êó ñ èãðîêà %s", GetPlayerNameEx(playerid), GetPlayerNameEx(to_player));
SendClientMessageToAll(0xFF5533FF, fmt_msg);

SetPlayerData(to_player, P_MUTE, 0);
UpdatePlayerDatabaseInt(to_player, "mute", 0);

SendClientMessage(to_player, 0x66CC00FF, "Äîñòóï â ÷àò âîññòàíîâëåí");

format(fmt_msg, sizeof fmt_msg, "Ñíÿë áëîêèðîâêó ÷àòà ó %s[acc:%d]", GetPlayerNameEx(to_player), GetPlayerAccountID(to_player));
SendLog(playerid, LOG_TYPE_ADMIN_ACTION, fmt_msg);
SvMutePlayerDisable(playerid);
return 1;
}
 
Решение

Cocolemunto

Чёрный список
11.06.2021
416
3
55
0
14
Переменные создавайте или меняйте на свои!
 
Статус
Закрыто для дальнейших ответов.