All pastes #438124 Raw Edit

Mine

public text v1 · immutable
·published 2007-04-13 13:11 UTC
rendered paste body
#include <a_samp>
new player_muted[MAX_PLAYERS];

public OnFilterScriptInit()
{
	printf("Mute scripti ladattu.");
	return 1;
}

public OnPlayerText(playerid, text[])
{
	    if(player_muted[playerid] == 1)
    {
        SendClientMessage(playerid,0xAA3333AA,"You are muted. /pm an admin to unmute you.");
        return 0;
    }

    else
    {
        return 1;
    }
    return 1;
}

public OnPlayerConnect(playerid)
{
	player_muted[playerid] = 0;
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    new string[256];
    new strtok;
    new idx; //MAYBE YOU ALREADY HAVE IT
    new cmd[256];cmd = strtok(cmdtext, idx); //MAYBE YOU ALREADY HAVE IT
    new temp[256];temp = strtok(cmdtext,idx);
    new targetid;targetid = strval(temp);
    new name[256],targetname[256];
    GetPlayerName(targetid, targetname, sizeof(targetname));
    GetPlayerName(playerid, name, sizeof(name));

    if(strcmp(cmd,"/mute",true) == 0)
    {
        if(!IsPlayerAdmin(playerid))
        {
            SendClientMessage(playerid,0xAA3333AA,"This command is for admin only.");
            return 1;
        }

        else if(!strlen(temp) || !IsNumeric(temp))
        {
            SendClientMessage(playerid,0xAA3333AA,"USAGE: /mute [playerid]");
            return 1;
        }

        else if(!IsPlayerConnected(targetid))
        {
            SendClientMessage(playerid,0xAA3333AA,"This player is not online.");
            return 1;
        }

        else if(targetid == playerid)
        {
            SendClientMessage(playerid,0xAA3333AA,"You try to mute yourself, dude!");
            return 1;
        }

        else if((IsPlayerConnected(targetid)) && (IsPlayerAdmin(targetid)))
        {
            SendClientMessage(playerid,0xAA3333AA,"This player is admin.");
            return 1;
        }

        else
        {
            player_muted[targetid] = 1;
            format(string, sizeof(string), "You have muted %s (%d)",targetname,targetid);
            SendClientMessage(playerid,0xAA3333AA, string);
            format(string, sizeof(string), "You have been muted by %s",name);
            SendClientMessage(targetid,0xAA3333AA, string);
            return 1;
       }
    }

    if(strcmp(cmd,"/unmute",true) == 0)
    {
        if(!IsPlayerAdmin(playerid))
        {
            SendClientMessage(playerid,0xAA3333AA,"This command for admin only.");
            return 1;
        }

        else if(!strlen(temp) || !IsNumeric(temp))
        {
            SendClientMessage(playerid,0xAA3333AA,"USAGE: /unmute [playerid]");
            return 1;
        }

        else if(!IsPlayerConnected(targetid))
        {
            SendClientMessage(playerid,0xAA3333AA,"This player is not online.");
            return 1;
        }

        else if(targetid == playerid)
        {
            SendClientMessage(playerid,0xAA3333AA,"Mmmh...you try to unmute yourself...idiot!");
            return 1;
        }

        else if((IsPlayerConnected(targetid)) && (IsPlayerAdmin(targetid)))
        {
            SendClientMessage(playerid,0xAA3333AA,"This player is admin.");
            return 1;
        }

        else
        {
            player_muted[targetid] = 0;
            format(string, sizeof(string), "You have unmuted %s(%d)",targetname,targetid);
            SendClientMessage(playerid,0xAA3333AA, string);
            format(string, sizeof(string), "You have been unmuted by %s",name);
            SendClientMessage(targetid,0xAA3333AA, string);
            return 1;
        }
    }

	return 1;
}

IsNumeric(const string[]) //MAYBE YOU ALREADY HAVE IT
{
    for (new i = 0, j = strlen(string); i < j; i++)
    {
        if (string[i] > '9' || string[i] < '0') return 0;
    }
    return 1;
}