dcmd_mute( playerid, params[ ] )
{
new
mString[ MAX_CLIENT_MSG ],
MuteID,
idx;
mString = strtok( params, idx );
if( mString[ 0 ] == '\0' || !IsNumeric( mString ) )
return SendUsage( playerid, "/mute [id]" );
MuteID = strval( mString );
if ( !IsPlayerConnected( MuteID ) )
return SendError( playerid, "Jugador no conectado." );
else if ( pData[ playerid ][ P_LEVEL ] <= pData[ MuteID ][ P_LEVEL ] && !IsPlayerAdmin( playerid ) )
return SendError( playerid, "No puedes mutear a un jugador de igual nivel o mas alto." );
else if( pData[ MuteID ][ P_MUTE ] )
return SendError( playerid, "El jugador ya esta silenciado." );
GetPlayerName( MuteID, mString, MAX_PLAYER_NAME );
format( mString, sizeof ( mString ), "%s ha sido silenciado", mString, MuteID, params[ idx + 1 ] );
SendClientMessageToAll( COLOR_ORANGE, mString );
pData[ MuteID ][ P_MUTE ] = 1;
return 1;
}
if(listitem == 2)
{
//Aqui va el codigo
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == ??)
{
if(response)
{
if(listitem == 2)
{
if(IsPlayerAdmin(playerid))
{
ShowPlayerDialog(playerid, id, DIALOG_STYLE_INPUT, "Titulo", "Ingresa la id del jugador.", "aceptar", "salir");
}
else
{
SendClientMessage(playerid, -1, "No eres administrador.");
}
}
}
}
if(dialogid == id)
{
if(!isnull(inputtext))
{
if(IsPlayerConnected(inputtext))
{
if(pData[inputtext][P_LEVEL] > pData[playerid][P_LEVEL] && IsPlayerAdmin(playerid))
{
if(pData[inputtext][P_MUTE] != 0)
{
new nombre_player[24], string[44];
GetPlayerName(inputtext, nombre_player, 24);
format(string, sizeof(string), "%s ha sido silenciado", nombre_player, inputtext);
SendClientMessageToAll(COLOR_ORANGE, string);
pData[inputtext][P_MUTE] = 1;
}
else
{
SendError( playerid, "El jugador ya esta silenciado." );
}
}
else
{
SendError( playerid, "No puedes mutear a un jugador de igual nivel o mas alto." );
}
}
}
}
return true;
}
new playerame[24], string[44];
GetPlayerName(playerid, playername, 24);
format(string, sizeof(string), "%s ha sido muteado", playername);
SendClientMessageToAll(colorazul, string);
pData[ playerid ][P_MUTE] = 1;
if(dialogid == 1)
{
if(response)
{
if(listitem == 0)
{
new pName[24], string[44];
GetPlayerName( playerid, playername, MAX_PLAYER_NAME );
format(string, sizeof(string), "%s ha sido muteado", playername);
SendClientMessageToAll(COLOR_ORANGE, string);
pData[ playerid ][P_MUTE] = 1;
}
if(listitem == 1)
{
new pName[24], string[44];
GetPlayerName(playerid, playername, 24);
format(string, sizeof(string), "%s ha sido desmuteado", playername);
SendClientMessageToAll(COLOR_ORANGE, string);
pData[ playerid ][P_MUTE] = 0;
}
}
}
if(IsPlayerAdmin(playerid) || pData[playerid][P_LEVEL] >= _:P_LEVEL_ADMIN)
{
SetPVarInt(playerid,"ClickedPlayer",clickedplayerid);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Moderacion", "Mute\nUnmute", "OK", "Atras");
}
Gracias chicos, finalmente me funciona con esto:
pawn Код:
|
new playername[MAX_PLAYER_NAME];
new string[44];
GetPlayerName(playerid, pName, 24);
new clickedplayerid = GetPVarInt(playerid,"ClickedPlayer");
new muteID[MAX_PLAYERS];
new id;
muteID[clickedplayerid] = id;
format(string, sizeof(string), "%s ha sido muteado", playername);
SendClientMessageToAll(colorazul, string);
pData[ clickedplayerid ][P_MUTE] = 1;
format(string, sizeof(string), "%s ha sido muteado", playername);
SendClientMessageToAll(colorazul, string);