05/01/2021 16:40
SISTEMA DE CHAT PROXIMO
Hi lorena ! Digo, oi pessoal hoje eu estava precisando de um sistema de chat proximo para o meu
servidor de RP então criei um e ficou bem legal e decidi postar aqui no portal samp para ajudar o pessoal novato, o sistema foi feito com dois loops (for) eu basicamente criei uma variavel que verifica quantas pessoas estão em um raio de 25 do nosso jogador, a cada pessoa é somado +1 na variavel lembrando que o jogador conta como 1, então caso a variavel tenha o valor 1 eu não mando para ninguem a mensagem e retorno uma mensagem avisando que não existe ninguém muito perto do jogador para escuta-lo, caso a variavel tenha recebido mais de 2 então o loop da mensagem é acionado assim mandando a mensagem para o jogador que digitou e o jogador 2 que esta perto do jogador 1... Bom o codigo é bem simples:
Hi lorena ! Digo, oi pessoal hoje eu estava precisando de um sistema de chat proximo para o meu
servidor de RP então criei um e ficou bem legal e decidi postar aqui no portal samp para ajudar o pessoal novato, o sistema foi feito com dois loops (for) eu basicamente criei uma variavel que verifica quantas pessoas estão em um raio de 25 do nosso jogador, a cada pessoa é somado +1 na variavel lembrando que o jogador conta como 1, então caso a variavel tenha o valor 1 eu não mando para ninguem a mensagem e retorno uma mensagem avisando que não existe ninguém muito perto do jogador para escuta-lo, caso a variavel tenha recebido mais de 2 então o loop da mensagem é acionado assim mandando a mensagem para o jogador que digitou e o jogador 2 que esta perto do jogador 1... Bom o codigo é bem simples:
Código:
public OnPlayerText(playerid, text[])
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
new Texto[256];
new VerificarSeTemPlayer[MAX_PLAYERS];
if(Player[playerid][pCargo] == 0)
{
format(Texto, sizeof(Texto), "{000000}[{4169E1}Jogador{000000}] {9FB6CD}%s {20B2AA}Diz: {FFFFFF}%s", pNome(playerid), text);
}
for(new i;i <= MAX_PLAYERS;i++)
{
if(IsPlayerInRangeOfPoint(i, 25.0, X, Y, Z)) //25.0 da pra mudar pra outro numero por exemplo 150.0 é a distancia..
{
VerificarSeTemPlayer[playerid]++;
}
}
if(VerificarSeTemPlayer[playerid] == 1)
{
SendClientMessage(playerid, 0x00FF00, ">> {FFFFFF}Não tem ninguém proximo para te escutar !");
}
else if(VerificarSeTemPlayer[playerid] >= 2)
{
for(new i;i <= MAX_PLAYERS;i++)
{
SendClientMessage(i, -1, Texto);
}
}
return 0;
}