m3gka
Умник
Вообщем,решил сделать одну команду /mute(а не как в скрилаксе) 2 команды.
Но,чтобы когда я выдовал через команду /mute(что бы и в репорт он писать не мог,до конца мута)
Вы проверьте,может и правильно сделал,но если нет,поправьте пожалуйста
Вообщем сама команда муте:
Вот case 10(это в репорт сообщение)
Но,чтобы когда я выдовал через команду /mute(что бы и в репорт он писать не мог,до конца мута)
Вы проверьте,может и правильно сделал,но если нет,поправьте пожалуйста
Вообщем сама команда муте:
HTML:
else if(strcmp(cmd, "/mute", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strcharsplit(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "{FFFF00}• [Подсказка]: {FFFFFF} /mute [Ид игрока] [минуты] [причина] (если разтыкаешь то без минут)");
if(anti[playerid] == 1) return SendClientMessage(playerid, COLOR_LIGHTRED, "[Анти-Наказание] Вы словили блок на наказание сроком 5 минут.");
new playa = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
if(PlayerInfo[playa][pMuted] == 0)
{
tmp = strcharsplit(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "{FFFF00}• [Подсказка]: {FFFFFF}/mute [Ид игрока] [минуты] [причина] (если разтыкаешь то без минут)");
new mtime = strval(tmp);
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SendClientMessage(playerid, COLOR_GRAD2, "{FFFF00}• [Подсказка]: {FFFFFF}/mute [Ид игрока] [минуты] [причина] (если разтыкаешь то без минут)");
PlayerInfo[playa][pMuted] = 1;
PlayerInfo[playa][pMuteTime] = mtime*60;
printf("%s заткнул %s причина %s",PlayerInfo[playerid][pNames], PlayerInfo[playa][pNames], (result));
format(stringer, sizeof(stringer), "Администратор %s выдал бан чата игроку %s на %d мин. Причина: %s",PlayerInfo[playerid][pNames] ,PlayerInfo[playa][pNames], mtime, result);
SendClientMessageToAll(COLOR_LIGHTRED, stringer);
SendClientMessage(playa, COLOR_LIGHTRED, "[Mute] У вас заболело горло");
}
else
{
PlayerInfo[playa][pMuted] = 0;
PlayerInfo[playa][pMuteTime] = 0;
format(stringer, sizeof(stringer), "Администратор %s снял бан чата с игрока %s",PlayerInfo[playerid][pNames], PlayerInfo[playa][pNames]);
SendClientMessageToAll(COLOR_LIGHTRED, stringer);
}
antiwarn[playerid] += 8;
if(antiwarn[playerid] >= 30 && anti[playerid] == 0) anti[playerid] = 1, antiwarn[playerid] = 300;
}
}
}
else SendClientMessage(playerid, COLOR_GRAD1, " Вы не уполномочены использовать эту команду!");
}
return true;
}
HTML:
case 10:
{
if(response)
{
if(reportflood[playerid] == 0) return true;
if(PlayerInfo[playerid][pMuted] == 1) return format(stringer, sizeof(stringer), "У Вас бан чата! До снятия: %d секунд(ы)",PlayerInfo[playerid][pMuteTime]);
while(strfind(inputtext,"%",true)!=-1)
{
strdel(inputtext,strfind(inputtext,"%",true),strfind(inputtext,"%",true)+2);
}
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,10,DIALOG_STYLE_INPUT,"Связь с администрацией","{FFFFFF}Введите своё сообщение для администрации сервера\nОно должно быть кратким и ясным\n\n{66CC66}Если вы хотите подать жалобу на игрока,\nобязательно укажите его ID и причину жалобы","Отправить","Назад");
while(strfind(inputtext,"%",true)!=-1)
{
strdel(inputtext,strfind(inputtext,"%",true),strfind(inputtext,"%",true)+2);
}
reportflood[playerid] = 0;
if(strfind(inputtext,"{",true)!=-1 || strfind(inputtext, "}",true) !=-1)return SendClientMessage(playerid,-1, "Ошибка: вы используете запрещенные символы");
SendMes(playerid, 0x2dc42dFF, "%s[%d]: {FFCD00}%s",PlayerInfo[playerid][pNames], playerid, (inputtext));
SendClientMessage(playerid, 0x2dc42dFF,"Ожидайте,в ближайшее время вам ответит Администратор или агент поддержки ");
format(stringer, sizeof(stringer), "{FF4500}[R] %s[%d]: {FFCD00}%s", PlayerInfo[playerid][pNames], playerid, (inputtext));//курка
SendAdminMessage(0xFF4500FF, stringer);
