Skyline
11.07.2018, 16:29
Доброго дня, назрел такой вопрос, сейчас стоит антифлуд для игрока, т.е. неважно игрок какой фракции написал команду /gov откат будет только у него, так например в LSPD если 10 человек, могут все разом написать в /gov. Как сделать откат по фракции, т.е. если игрок с LSPD написал в /govб другие игроки с его фракции не могли, нужно отдельно создавать массив для каждой фракции?
CMD:gov(playerid, params[])
{
if(!player_is_authorized{playerid})
return SendClientMessage(playerid, COLOR_GREY, !"Вы не авторизировались.");
if(pInfo[playerid][pMute] == 1)
return MutePlayer(playerid);
if(!IsACop(playerid) && pInfo[playerid][pMember] != 4 && pInfo[playerid][pMember] != 19 && pInfo[playerid][pMember] != 17)
return SendClientMessage(playerid, COLOR_GREY, !"Ты не можешь использовать эту команду.");
if(pInfo[playerid][pRank] < 5)
return SendClientMessage(playerid, COLOR_GREY, !"Тебе нужен 5-й и выше ранг.");
if(GovChat[playerid] > 0 && pInfo[playerid][pMember] != pInfo[playerid][pMember])
{
static const fmt_str[] ="Для следующего сообщения осталось %d сек.";
new string[sizeof(fmt_str) - 2 + 40];
format(string, sizeof string, fmt_str, GovChat[playerid]);
SendClientMessage(playerid, COLOR_GREY, string);
return 0;
}
if(isnull(params))
return SendClientMessage(playerid, COLOR_GREY, !"Использование: /gov [Текст].");
switch(pInfo[playerid][pMember])
{
case 1: SendClientMessageToAll(0x2641FEAA, "|___________ Новости Департамента Полиции LS ___________|");
case 2: SendClientMessageToAll(0x2641FEAA, "|___________ Новости Федерального Бюро Штата ___________|");
case 3: SendClientMessageToAll(0x2641FEAA, "|___________ Новости Воинской Части Штата ___________|");
case 4: SendClientMessageToAll(0x2641FEAA, "|___________ Медицинские Новости Штата ___________|");
case 10: SendClientMessageToAll(0x2641FEAA, "|___________ Новости Департамента Полиции LV ___________|");
case 17: SendClientMessageToAll(0x2641FEAA, "|___________ Новости Tаксопарка ___________|");
case 19: SendClientMessageToAll(0x2641FEAA, "|___________ Новости Коллегии Адвокатов ___________|");
}
new string[MAX_PLAYER_NAME - 6 + 85];
format(string, sizeof(string), "%s[%d]: %s",pInfo[playerid][pName],playerid, params);
SendClientMessageToAll(COLOR_WHITE, string);
GovChat[playerid] = 120;
return 1;
}
CMD:gov(playerid, params[])
{
if(!player_is_authorized{playerid})
return SendClientMessage(playerid, COLOR_GREY, !"Вы не авторизировались.");
if(pInfo[playerid][pMute] == 1)
return MutePlayer(playerid);
if(!IsACop(playerid) && pInfo[playerid][pMember] != 4 && pInfo[playerid][pMember] != 19 && pInfo[playerid][pMember] != 17)
return SendClientMessage(playerid, COLOR_GREY, !"Ты не можешь использовать эту команду.");
if(pInfo[playerid][pRank] < 5)
return SendClientMessage(playerid, COLOR_GREY, !"Тебе нужен 5-й и выше ранг.");
if(GovChat[playerid] > 0 && pInfo[playerid][pMember] != pInfo[playerid][pMember])
{
static const fmt_str[] ="Для следующего сообщения осталось %d сек.";
new string[sizeof(fmt_str) - 2 + 40];
format(string, sizeof string, fmt_str, GovChat[playerid]);
SendClientMessage(playerid, COLOR_GREY, string);
return 0;
}
if(isnull(params))
return SendClientMessage(playerid, COLOR_GREY, !"Использование: /gov [Текст].");
switch(pInfo[playerid][pMember])
{
case 1: SendClientMessageToAll(0x2641FEAA, "|___________ Новости Департамента Полиции LS ___________|");
case 2: SendClientMessageToAll(0x2641FEAA, "|___________ Новости Федерального Бюро Штата ___________|");
case 3: SendClientMessageToAll(0x2641FEAA, "|___________ Новости Воинской Части Штата ___________|");
case 4: SendClientMessageToAll(0x2641FEAA, "|___________ Медицинские Новости Штата ___________|");
case 10: SendClientMessageToAll(0x2641FEAA, "|___________ Новости Департамента Полиции LV ___________|");
case 17: SendClientMessageToAll(0x2641FEAA, "|___________ Новости Tаксопарка ___________|");
case 19: SendClientMessageToAll(0x2641FEAA, "|___________ Новости Коллегии Адвокатов ___________|");
}
new string[MAX_PLAYER_NAME - 6 + 85];
format(string, sizeof(string), "%s[%d]: %s",pInfo[playerid][pName],playerid, params);
SendClientMessageToAll(COLOR_WHITE, string);
GovChat[playerid] = 120;
return 1;
}