SA-MP Forums

SA-MP Forums (https://forum.sa-mp.com/index.php)
-   Português/Portuguese (https://forum.sa-mp.com/forumdisplay.php?f=34)
-   -   [Pedido] Chat próximo (https://forum.sa-mp.com/showthread.php?t=667186)

Henriquearauj 12/06/2019 01:23 AM

Chat próximo
 
Alguem poderia me mandar um tópico ou um codigo de chat próximo?

Diguinho278 12/06/2019 04:07 AM

Re: Chat próximo
 
Como assim? Para apenas players que esteja perto ver a mensagem?

ipsLuan 12/06/2019 10:46 AM

Re: Chat próximo
 
Loop + verificação de distância.

Ley 12/06/2019 11:26 AM

Re: Chat próximo
 
PHP Code:

CMD:proximo(playeridparams[])
{
    new 
str[128], texto[100];
    
format(strsizeof(str),"%s diz: %s"VerNome(playerid), texto);

    new 
Float:PosCP[3];
    
GetPlayerPos(playeridPosCP[0], PosCP[1], PosCP[2]);

    for(new 
iMAX_PLAYERSi++)
    {
        if(
IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i30PosCP[0], PosCP[1], PosCP[2])) // altere 30 para definir a distância (raio).
        
{
            
SendClientMessage(i, -1str);
        }
    }
    return 
1;



Ever_SH 12/06/2019 05:59 PM

Re: Chat próximo
 
Na Callback OnPlayerText, crie um loop em todos os players e verifique utilizando IsPlayerInRangeOfPoint. Para os players que estiverem perto, use um SendClientMessage, para mandar o parâmetro "text" da Callback. Não esqueça de retornar 0 no final, para que não seja mandada o mensagem pela forma nativa do SAMP.

AutoMatic2 12/06/2019 07:53 PM

Re: Chat próximo
 
Se for fazer por comando use o sscanf no sistema do Ley

PHP Code:

#include <foreach> 

PHP Code:

/* Public */

public OnPlayerText(playeridtext[])
{
     if(
text[0] == '!')
     {
          new 
Float:Pos[3], string[128];
          
GetPlayerPos(playeridPos[0], Pos[1], Pos[2]);
          
format(stringsizeof(string), "| Próximo | %s (%d) diz: %s"Nome(playerid), playeridtext[1])

          foreach(
Playeri)
          {
               if(
IsPlayerInRangeOfPoint(i30.0Pos[0], Pos[1], Pos[2]))
               {
                     
SendClientMessage(i, -1string);
                }
           }
      }
      return 
0;
}

/* Final */

Nome(playerid)
{
    new 
Name[24];
    
GetPlayerName(playeridName24);
    return 
Name;


Era só pesquisar por chat próximo samp na net que aparecia, uma boa forma de aprender e fazendo! aqui se vc não quer aprender nem sempre tem a resposta :|


All times are GMT. The time now is 08:13 PM.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.