Mike_Richards вот тебе команда /mute в enum pInfo добавим следующее
потом вроде на до добавить вpublic SetPlayerUnjail()
Code
if(PlayerInfo[i][pMuted] > 0)
{
if(PlayerInfo[i][pMuteTime] > 0)
{
PlayerInfo[i][pMuteTime]--;
}
if(PlayerInfo[i][pMuteTime] <= 0)
{
PlayerInfo[i][pMuted] = 0;
SendClientMessage(i, COLOR_GRAD1," Ваш бан чата снят старайтесь больше не нарушать.");
new sendernames[MAX_PLAYER_NAME];
GetPlayerName(i, sendernames, sizeof(sendernames));
if(gPlayerLogged[i] == 1)
{
format(string, sizeof(string), "Название вашего Сервера : %s снята молчанка.",sendernames);
BroadCast(COLOR_WHITE,string);
PlayerInfo[i][pMuted] = 0;
}
}
}
потом вpublic OnPlayerRegister(playerid, password[]) добавим
Code
format(var, 32, "Muted=%d\n",PlayerInfo[playerid][pMuted]);fwrite(hFile, var);
дальше в public GF_OnPlayerUpdate(playerid) добавим
Code
format(var, 32, "Muted=%d\n",PlayerInfo[playerid][pMuted]);fwrite(hFile, var);
потом в public OnPlayerLogin(playerid,password[]) добавим
Code
if( strcmp( key , "Muted" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMuted] = strval( val ); }
дальше ищем if(strcmp(cmd, "/ooc", true) == 0 || strcmp(cmd, "/o", true) == 0) и добовляем следующее
Code
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, " Вы не можете говорить, вас заткнули !");
return 1;
}
дальше ищем if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0) и добовлям
Code
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, "У вас бан чата");
return 1;
}
ищим if(strcmp(cmd, "/departments", true) == 0 || strcmp(cmd, "/d", true) == 0) и добовлям следующее
Code
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, " Вы не можете говорить, вас заткнули !");
return 1;
}
потом если есть pm то ищим следующееif(strcmp(cmd, "/pm", true) == 0 || strcmp(cmd, "/w", true) == 0) и добовляем
Code
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, COLOR_RED, " Вы не можете говорить, у вас молчанка !");
return 1;
}
и вот сама команда добовляй туда где команды находятся
Code
if(strcmp(cmd, "/mute", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "*Используйте: /mute [id игрока/часть ника] [время(минуты)] [причина]");
return 1;
}
new playa;
new money;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
money = strval(tmp);
if (PlayerInfo[playerid][pAdmin] >= 10)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
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))
{
SendClientMessage(playerid, COLOR_GRAD2, "*Используйте: /mute [id игрока/часть ника] [время(минуты)] [причина]");
return 1;
}
printf("Администрация: %s заткнул %s",sendername, giveplayer);
format(string, sizeof(string), "Название вашего Сервера : %s получил молчанку на %d минут от админа %s, причина: %s",giveplayer, money ,sendername, (result));
BroadCast(COLOR_LIGHTRED,string);
PlayerInfo[playa][pMuteTime] = money*60;
PlayerInfo[playa][pMuted] = 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Вы не можете использовать эту команду!");
}
}
printf("Использвалась команда %s",cmd);
return 1;
}
Вот и все вырезал с перво попавшего мода вроде все правельно можешь пробывать ставить