Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <sscanf2>
- #include <zcmd>
- new PlayerText:MUTED[MAX_PLAYERS][4];
- new MutedTimer[MAX_PLAYERS];
- new MuteTimeSec[MAX_PLAYERS];
- new MuteTimeMin[MAX_PLAYERS];
- new UserName[MAX_PLAYERS][MAX_PLAYER_NAME];
- public OnFilterScriptInit()
- {
- SSCANF_Option(MATCH_NAME_PARTIAL, 1);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- MuteTimeSec[playerid]=0;
- MuteTimeMin[playerid]=0;
- strdel(UserName[playerid],0,MAX_PLAYER_NAME);
- GetPlayerName(playerid,UserName[playerid],MAX_PLAYER_NAME);
- MUTED[playerid][0] = CreatePlayerTextDraw(playerid,560.000000, 179.666671, "LD_CHAT:thumbdn");
- PlayerTextDrawLetterSize(playerid,MUTED[playerid][0], 0.000000, 0.000000);
- PlayerTextDrawTextSize(playerid,MUTED[playerid][0], 12.500000, 11.666658);
- PlayerTextDrawAlignment(playerid,MUTED[playerid][0], 1);
- PlayerTextDrawColor(playerid,MUTED[playerid][0], -1);
- PlayerTextDrawSetShadow(playerid,MUTED[playerid][0], 0);
- PlayerTextDrawSetOutline(playerid,MUTED[playerid][0], 0);
- PlayerTextDrawFont(playerid,MUTED[playerid][0], 4);
- MUTED[playerid][1] = CreatePlayerTextDraw(playerid,572.500000, 144.083312, "CHAT");
- PlayerTextDrawLetterSize(playerid,MUTED[playerid][1], 0.449999, 1.600000);
- PlayerTextDrawAlignment(playerid,MUTED[playerid][1], 2);
- PlayerTextDrawColor(playerid,MUTED[playerid][1], -1459683073);
- PlayerTextDrawSetShadow(playerid,MUTED[playerid][1], 0);
- PlayerTextDrawSetOutline(playerid,MUTED[playerid][1], 1);
- PlayerTextDrawBackgroundColor(playerid,MUTED[playerid][1], 51);
- PlayerTextDrawFont(playerid,MUTED[playerid][1], 3);
- PlayerTextDrawSetProportional(playerid,MUTED[playerid][1], 1);
- MUTED[playerid][2] = CreatePlayerTextDraw(playerid,578.000000, 165.666687, "You Are Muted, ~N~ You Are Allowed To Chat.");
- PlayerTextDrawLetterSize(playerid,MUTED[playerid][2], 0.177999, 1.284999);
- PlayerTextDrawAlignment(playerid,MUTED[playerid][2], 2);
- PlayerTextDrawColor(playerid,MUTED[playerid][2], -1);
- PlayerTextDrawSetShadow(playerid,MUTED[playerid][2], 0);
- PlayerTextDrawSetOutline(playerid,MUTED[playerid][2], 1);
- PlayerTextDrawBackgroundColor(playerid,MUTED[playerid][2], 51);
- PlayerTextDrawFont(playerid,MUTED[playerid][2], 1);
- PlayerTextDrawSetProportional(playerid,MUTED[playerid][2], 1);
- MUTED[playerid][3] = CreatePlayerTextDraw(playerid,578.500000, 191.916656, "Un-Mute in : time");
- PlayerTextDrawLetterSize(playerid,MUTED[playerid][3], 0.220000, 1.016666);
- PlayerTextDrawAlignment(playerid,MUTED[playerid][3], 2);
- PlayerTextDrawColor(playerid,MUTED[playerid][3], -1);
- PlayerTextDrawSetShadow(playerid,MUTED[playerid][3], 0);
- PlayerTextDrawSetOutline(playerid,MUTED[playerid][3], 1);
- PlayerTextDrawBackgroundColor(playerid,MUTED[playerid][3], 51);
- PlayerTextDrawFont(playerid,MUTED[playerid][3], 2);
- PlayerTextDrawSetProportional(playerid,MUTED[playerid][3], 1);
- return 1;
- }
- public OnPlayerDisconnect(playerid,reason)
- {
- for(new i=0; i < 4;i++) PlayerTextDrawDestroy(playerid,MUTED[playerid][i]);
- KillTimer(MutedTimer[playerid]);
- return 1;
- }
- public OnPlayerText(playerid,text[])
- {
- if(MuteTimeMin[playerid] != 0 || MuteTimeSec[playerid] != 0) { SendClientMessage(playerid,0xE60000FF,"You are not allowed to talk, Please wait for your mute to be over."); return 0; }
- return 1;
- }
- CMD:mute(playerid,params[])
- {
- new TargetID,TimeInSec,TimeInMin,string[73];
- //if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xE60000FF,"This command can only be used by an admin.");
- sscanf(params,"?<CELLMIN_ON_MATCHES=1>U(-1)I(1)I(0)",TargetID,TimeInMin,TimeInSec);
- if(TargetID == -1) return SendClientMessage(playerid,0xE60000FF,"USAGE : /mute (Name/ID) (Min) (Sec)");
- else if(!IsPlayerConnected(TargetID)) return SendClientMessage(playerid,0xE60000FF,"Sorry that player is not connected.");
- else if(TargetID == cellmin) return SendClientMessage(playerid,0xE60000FF,"Please be more specific, multiple players found.");
- else if(TimeInMin > 10 || TimeInMin < 0) return SendClientMessage(playerid,0xE60000FF,"You can not mute anyone longer than 10 min.");
- else if(TimeInSec > 60 || TimeInSec < 0) return SendClientMessage(playerid,0xE60000FF,"Seconds should be between 60 - 0");
- else if(MuteTimeMin[playerid] != 0 || MuteTimeSec[playerid] != 0) return SendClientMessage(playerid,0xE60000FF,"That Player is muted already.");
- MutedTimer[playerid] = SetTimerEx("MuteTimerPerSecond", 1000, true, "i", TargetID);
- MuteTimeMin[playerid] = TimeInMin;
- MuteTimeSec[playerid] = TimeInSec;
- format(string,sizeof(string),"Un-Mute in %d:%d",MuteTimeMin[playerid],MuteTimeSec[playerid]);
- PlayerTextDrawSetString(playerid,MUTED[playerid][3],string);
- for(new i=0; i < 4;i++) PlayerTextDrawShow(playerid,MUTED[playerid][i]);
- format(string,sizeof(string),"%s (%d) is muted for %d : %d sec.",UserName[TargetID],TargetID,TimeInMin,TimeInSec);
- SendClientMessageToAll(0xE60000FF,string);
- return 1;
- }
- CMD:unmute(playerid,params[])
- {
- new TargetID,string[60];
- //if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xE60000FF,"This command can only be used by an admin.");
- sscanf(params,"?<CELLMIN_ON_MATCHES=1>U(-1)",TargetID);
- if(TargetID == -1) return SendClientMessage(playerid,0xE60000FF,"USAGE : /unmute (Name/ID)");
- else if(!IsPlayerConnected(TargetID)) return SendClientMessage(playerid,0xE60000FF,"Sorry that player is not connected.");
- else if(TargetID == cellmin) return SendClientMessage(playerid,0xE60000FF,"Please be more specific, multiple players found.");
- else if(MuteTimeMin[playerid] == 0 && MuteTimeSec[playerid] == 0) return SendClientMessage(playerid,0xE60000FF,"That Player is not muted.");
- for(new i=0; i < 4;i++) PlayerTextDrawHide(playerid,MUTED[playerid][i]);
- KillTimer(MutedTimer[playerid]);
- format(string,sizeof(string),"%s (%d) is un-muted.",UserName[TargetID],TargetID);
- SendClientMessageToAll(0xE60000FF,string);
- return 1;
- }
- forward MuteTimerPerSecond(playerid);
- public MuteTimerPerSecond(playerid)
- {
- new string[25];
- if(MuteTimeSec[playerid] >= 0)
- {
- if(MuteTimeMin[playerid] >= 0)
- {
- if(MuteTimeSec[playerid] == 0)
- {
- MuteTimeMin[playerid]--;
- MuteTimeSec[playerid]=60;
- }
- else MuteTimeSec[playerid]--;
- format(string,sizeof(string),"Un-Mute in %d:%d",MuteTimeMin[playerid],MuteTimeSec[playerid]);
- PlayerTextDrawSetString(playerid,MUTED[playerid][3],string);
- }
- else if(MuteTimeMin[playerid] == 0 && MuteTimeSec[playerid] == 0)
- {
- for(new i=0; i < 4;i++) PlayerTextDrawHide(playerid,MUTED[playerid][i]);
- KillTimer(MutedTimer[playerid]);
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement