Автор Sergey то-есть я (вырезал из мода ну сё-ровно )
Ко всем new
Код
new othertimer; //система мута
В pInfo добавите
В public OnGameModeInit()
Код
othertimer = SetTimer("OtherTime", 1000, 1);//система мута
В public OnGameModeExit()
Код
KillTimer(othertimer);//система мута
в public OnPlayerText(playerid, text[])
Код
if(PlayerInfo[playerid] [pMuted]== 1)
{
SendClientMessage(playerid, COLOR_GREEN, "У вас отключен чат!");
return 0;
}
В public OnPlayerCommandText(playerid, cmdtext[])
Код
if(strcmp(cmd, "/mute", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) && PlayerInfo [playerid][pAdmin]>= 1) return SendClientMessage(playerid, COLOR_GREEN, "[DM DRIFT] {FFFFFF}/mute [Ид] [секунды]");
new playa,mtime;
playa = ReturnUser(tmp);
if (PlayerInfo [playerid][pAdmin]>= 1)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
if(PlayerInfo [playerid][pVIP]> 0) return SendClientMessage(playerid, COLOR_GRAD2, "VIP не может быть мут!");
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo [playa][pMuted]== 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) && PlayerInfo [playerid][pAdmin]>= 1) return SendClientMessage(playerid, COLOR_GREEN, "[DM DRIFT] {FFFFFF}/mute [Ид] [секунды]");
mtime = strval(tmp);
PlayerInfo [playa][pMuted]= 1;
PlayerInfo [playa][pMuteTime]= mtime;
format(string, sizeof(string), "Администратор %s отключил чат игроку %s на %d секунд",sendername,giveplayer, mtime);
SendClientMessageToAll(COLOR_GRAD2, string);
}
else
{
PlayerInfo [playa][pMuted]= 0;
PlayerInfo [playa][pMuteTime]= 0;
format(string, sizeof(string), "Администратор %s включил чат игроку %s",sendername,giveplayer);
SendClientMessageToAll(COLOR_GRAD2, string);
}
}
}
}
return 1;
}
В конец мода
Код
//---------------------------- система мута
forward OtherTime();
public OtherTime()
{
new plname[MAX_PLAYER_NAME], string[128];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerInfo [i][pMuteTime]>=1 && PlayerInfo [i][pMuted]== 1)
{
PlayerInfo [i][pMuteTime]-=1;
}
else if(PlayerInfo [i][pMuteTime]<=0 && PlayerInfo [i][pMuted]== 1)
{
if(IsPlayerConnected(i))
{
PlayerInfo [i][pMuteTime]= 0;
PlayerInfo [i][pMuted]= 0;
GetPlayerName(i,plname,sizeof(plname));
format(string,sizeof(string),"[DM DRIFT]: {ffffff}Игроку %s был автоматически включен чат",plname);
SendClientMessageToAll(COLOR_GREEN,string);
}
}
}
return 1;
}
Чуть не забыл теперь добавляем в регистрацию найдёте в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Код
ini_setInteger(iniFile, "Muted", 0); // Запишем в файл.
ini_setInteger(iniFile, "MuteTime", 0); // Запишем в файл.
Тут же только после строчки ini_closeFile(iniFile);
Код
PlayerInfo [playerid][pMuted]= 0;
PlayerInfo [playerid][pMuteTime]= 0;
Деалог где авторизация
Код
ini_getInteger(iniFile, "Muted", PlayerInfo[playerid][pMuted]); // Запишем в переменную.
ini_getInteger(iniFile, "MuteTime", PlayerInfo[playerid][pMuteTime]); // Запишем в переменную.
И это туда где сохранения ак.
Код
ini_getInteger(iniFile, "Muted", PlayerInfo[playerid][pMuted]); // Запишем в переменную.
ini_getInteger(iniFile, "MuteTime", PlayerInfo[playerid][pMuteTime]); // Запишем в переменную.