Comando de muta - Icalu - 09/05/2021
Alguém poderia me ajuda a criar um comando, que dar mute à um jogador nesse canal:
Código: CMD:ad(playerid, params[])
{
new texto[80],string[128];
if(CanalAnuncios[playerid] == 0) return SendClientMessage(playerid,-1,"Tienes desactivado el canal de anuncios/dudas, para activarlo utiliza /canal anuncios");
if(sscanf(params,"s[80]",texto)) return SendClientMessage(playerid,-1,"Usa {18DDFC}/ad anuncio");
if(PlayerInfo[playerid][pTiempoJailS] > 0) return SendClientMessage(playerid, 0x3AA000FF, "No puedes usar el canal de anuncios mientras estás sancionado.");
if(BloquearAnuncio[playerid] == 1) return SendClientMessage(playerid, -1, "Estás bloqueado del /ad");
if(PlayerInfo[playerid][pNumero] == 0) return SendClientMessage(playerid,-1,"Tu no tienes un telefono para hacer un anuncio.");
if(Tiempos[playerid][TiempoDuda] > 0 && RecienDuda[playerid] == 1)
{
if(Tiempos[playerid][TiempoDuda] < 60) format(string,sizeof(string),"Debes esperar %d segundos para volver a utilizar el canal de dudas.",Tiempos[playerid][TiempoDuda]);
else if(Tiempos[playerid][TiempoDuda] >= 60) format(string,sizeof(string),"Debes esperar %dm %ds para volver a utilizar el canal de dudas.",Tiempos[playerid][TiempoDuda]/60, Tiempos[playerid][TiempoDuda]%(60));
SendClientMessage(playerid, 0xff9a00FF,string);
return 1;
}
if(Tiempos[playerid][TiempoDuda] > 0 && RecienDuda[playerid] == 0)
{
if(Tiempos[playerid][TiempoDuda] < 60) format(string, sizeof(string), "No se te permite hablar por el chat de ayuda. Espera {00CC00}%ds{FFFFFF} para enviar otra consulta al canal de ayuda.",Tiempos[playerid][TiempoDuda]);
else if(Tiempos[playerid][TiempoDuda] >= 60) format(string, sizeof(string), "No se te permite hablar por el chat de ayuda. Espera {00CC00}%dm %ds{FFFFFF} para enviar otra consulta al canal de ayuda.", Tiempos[playerid][TiempoDuda]/60, Tiempos[playerid][TiempoDuda]%(60));
SendClientMessage(playerid, -1,string);
return 1;
}
new Nombre[MAX_PLAYER_NAME];
GetPlayerName(playerid,Nombre,sizeof(Nombre));
if(strlen(texto) > 80) return SendClientMessage(playerid,-1,"El anuncio debe contener como máximo 80 carácteres.");
if(PlayerInfo[playerid][jDinero] < strlen(texto)*20) return SendClientMessage(playerid,-1,"No tienes suficiente dinero para enviar un anuncio.");
format(string, sizeof(string), "{FF0000} Anuncio: {FFFFFF}%s {FF0000}[#%d]", texto, PlayerInfo[playerid][pNumero]);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(CanalAnuncios[i] == 1)
{
SendClientMessage(i,0xF70A1AAA,string);
}
}
new str_anuncio[260];
format(str_anuncio, sizeof(str_anuncio), "Anuncio enviado por: {F51432}%s{FFFFFF} | ID: {F51432}%d", Nombre, playerid);
MensajeAdmin(-1,str_anuncio,3);
new str[60];
format(str, sizeof(str), "Enviaste un anuncio por {F51432}%d$.", strlen(texto)*40);
SendClientMessage(playerid,-1,str);
QuitarDinero(playerid, strlen(texto)*40);
DudaOff[playerid] = 1;
Tiempos[playerid][TiempoDuda] = 60;
return 1;
}
RE: Comando de muta - xbruno1000x - 09/05/2021
Crie uma bool para setar false em caso de desmutado e true em caso de mutado.
Código: new bool:mutadocanal[MAX_PLAYERS];
depois crie um comando ou outra forma que preferir para mutar, provavelmente usando sscanf.
Código: mutadocanal[playerid] = true;
e por final, basta usar uma if para verificar se o player está mutado quando usar o comando ad, e caso esteja, retornar uma mensagem de erro.
Código: CMD:ad(playerid, params[])
{
if(mutadocanal[playerid] == true) return SendClientMessage(playerid, -1, "ERRO: Você está mutado nesse canal!");
RE: Comando de muta - Icalu - 09/05/2021
Foi, vlw.
|