Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <zcmd>
- #include <sscanf2>
- const DIALOG_MENU_PM = 1;
- const DIALOG_SEND_PM = 2;
- new
- bool: blockPM [ MAX_PLAYERS ] [ MAX_PLAYERS ];
- public OnPlayerClickPlayer ( playerid , clickedplayerid , source ) {
- new
- name [ MAX_PLAYER_NAME ],
- str[ 100 ];
- SetPVarInt ( playerid , "clickedplayerid" , clickedplayerid );
- GetPlayerName( clickedplayerid , name , sizeof name );
- format ( str , sizeof ( str ) , "Enviar PM para %s\nBloquear PM's de %s\nDesbloquear PM's de %s" , name , name , name );
- ShowPlayerDialog ( playerid , DIALOG_MENU_PM , DIALOG_STYLE_LIST , "{FFFFFF}Menu: Mensagens Particulares" , str , "Selecionar", "Cancelar" );
- return 1;
- }
- public OnDialogResponse ( playerid , dialogid , response , listitem , inputtext [ ] ) {
- new
- str [ 100 ],
- name [ 24 ];
- switch ( dialogid ) {
- case DIALOG_MENU_PM: {
- if ( !response ) {
- SetPVarInt ( playerid , "clickedplayerid", INVALID_PLAYER_ID );
- }
- else {
- switch ( listitem ) {
- case 0: {
- GetPlayerName ( GetPVarInt ( playerid , "clickedplayerid" ) , name , sizeof name );
- format ( str , sizeof str , "{FFFFFF}Digite abaixo a mensagem a ser enviada para {0000FF}%s" , name );
- ShowPlayerDialog ( playerid , DIALOG_SEND_PM , DIALOG_STYLE_INPUT , "{FFFFFF}Enviar mensagem particular" , str , "Enviar" , "Cancelar" );
- }
- case 1: {
- format ( str , 4 , "%i" , GetPVarInt ( playerid , "clickedplayerid" ) );
- cmd_blockpm ( playerid , str );
- SetPVarInt ( playerid , "clickedplayerid", INVALID_PLAYER_ID );
- }
- case 2: {
- format ( str , 4 , "%i" , GetPVarInt ( playerid , "clickedplayerid" ) );
- cmd_desblockpm ( playerid , str );
- SetPVarInt ( playerid , "clickedplayerid", INVALID_PLAYER_ID );
- }
- }
- }
- }
- case DIALOG_SEND_PM: {
- if ( !response ) {
- SetPVarInt ( playerid , "clickedplayerid", INVALID_PLAYER_ID );
- }
- else {
- format ( str , 100 , "%i %s" , GetPVarInt ( playerid , "clickedplayerid" ) , inputtext );
- cmd_pm ( playerid , str );
- SetPVarInt ( playerid , "clickedplayerid", INVALID_PLAYER_ID );
- }
- }
- }
- return 1;
- }
- CMD:pm( playerid , params [ ] ) {
- new
- playerID,
- pmText [ 90 ],
- str [ 128 ],
- name [ 24 ];
- if ( sscanf ( params , "us[90]" , playerID , pmText ) )
- return SendClientMessage ( playerid , 0xFFFFFFFF , "Use /PM [ID/Nome] [Texto]" );
- if ( !IsPlayerConnected ( playerID ) )
- return SendClientMessage ( playerid , 0xFFFFFFFF , "Jogador inativo.");
- if ( playerID == INVALID_PLAYER_ID )
- return SendClientMessage ( playerid , 0xFFFFFFFF , "ID Inválido." );
- if ( blockPM [ playerID ] [ playerid ] )
- return SendClientMessage ( playerid , 0xE31919FF , "Este jogador bloqueou mensagens particulares suas." );
- GetPlayerName ( playerid , name , sizeof name );
- format ( str , sizeof ( str ) , "PM de %s: %s" , name , pmText );
- SendClientMessage ( playerID , 0xF6F600FF , str );
- SendClientMessage ( playerid , 0xF6F600FF , "Mensagem particular enviada." );
- return true;
- }
- CMD:blockpm ( playerid , params [ ] ) {
- new
- playerID,
- str [ 90 ],
- name [ 24 ];
- if ( sscanf ( params , "u" , playerID ) )
- return SendClientMessage ( playerid , 0xFFFFFFFF , "Use /blockpm [ID/Nome]" );
- if ( !IsPlayerConnected ( playerID ) )
- return SendClientMessage ( playerid , 0xFFFFFFFF , "Jogador inativo.");
- if ( playerID == INVALID_PLAYER_ID )
- return SendClientMessage ( playerid , 0xFFFFFFFF , "ID Inválido." );
- if ( blockPM [ playerid ] [ playerID ] )
- return SendClientMessage ( playerid , 0xE31919FF , "Você já bloqueou mensagens particulares deste jogador." );
- blockPM [ playerid ] [ playerID ] = true;
- GetPlayerName ( playerID , name , sizeof ( name ) );
- format ( str , sizeof ( str ) , "Mensagens particulares de %s bloqueadas!" , name );
- SendClientMessage ( playerid , 0x00CD00FF , str );
- GetPlayerName ( playerid , name , sizeof ( name ) );
- format ( str , sizeof ( str ) , "O jogador %s bloqueou suas mensagens particulares." , name );
- SendClientMessage ( playerID , 0xE31919FF , str );
- return 1;
- }
- CMD:desblockpm ( playerid , params [ ] ) {
- new
- playerID,
- str [ 90 ],
- name [ 24 ];
- if ( sscanf ( params , "u" , playerID ) )
- return SendClientMessage ( playerid , 0xFFFFFFFF , "Use /blockpm [ID/Nome]" );
- if ( !IsPlayerConnected ( playerID ) )
- return SendClientMessage ( playerid , 0xFFFFFFFF , "Jogador inativo.");
- if ( playerID == INVALID_PLAYER_ID )
- return SendClientMessage ( playerid , 0xFFFFFFFF , "ID Inválido." );
- if ( !blockPM [ playerid ] [ playerID ] )
- return SendClientMessage ( playerid , 0xE31919FF , "Você não bloqueou mensagens particulares deste jogador." );
- blockPM [ playerid ] [ playerID ] = false;
- GetPlayerName ( playerID , name , sizeof ( name ) );
- format ( str , sizeof ( str ) , "Mensagens particulares de %s desbloqueadas!" , name );
- SendClientMessage ( playerid , 0x00CD00FF , str );
- GetPlayerName ( playerid , name , sizeof ( name ) );
- format ( str , sizeof ( str ) , "O jogador %s desbloqueou suas mensagens particulares." , name );
- SendClientMessage ( playerID , 0xE31919FF , str );
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement