Portal SAMP
[Ajuda] Ajuda - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Ajuda (/showthread.php?tid=2737)



Ajuda - Tonnob - 29/08/2022

Desculpa encomodar muito mas é que já tô com esa dúvida já faz uma tempão
Eu queria saber como faço pra acertar um chat local 
Com mais de 3 tag eu fiz um com civil e adm mas nn sei fazer mas tags poria disponibilizar um código
Com pelo menos 3 ou 4 tag pra estudar e aprender


Aqui uma base se precisa https://www.dropbox.com/s/7sczvzfbnayqux2/chat.txt?dl=0


Caso o acesso for negado do link 

public OnPlayerText(playerid, text[])
{
    new StringTexto[128];
    format(StringTexto, sizeof(StringTexto), " %s [%d] [{A4A4A4}Civil{FFFFFF}] diz: %s", getName(playerid), playerid, text);
    new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z);
    for(new i; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(IsPlayerInRangeOfPoint(i, 30.0, X, Y, Z))
            {
                if(pTonnob[playerid][trabalhar] < 1)
                {
                    SendClientMessage(i, -1, StringTexto);
                }
                else
                {
                    format(StringTexto, sizeof(StringTexto), " %s [%d] [{00FF00}Admin{FFFFFF}] diz: %s", getName(playerid), playerid, text);
                    SendClientMessage(i, -1, StringTexto);
                }
            }
        }
    }
    return 0;
}


RE: Ajuda - White_Blue - 29/08/2022

Aqui está um breve exemplo (Estude e adapte à sua gamemode). É basicamente um Chat Local com tags rcon caso o player estiver logado na rcon ele formata a string com a tag [RCON] e o nome e o id do player se não o player não estiver logado na rcon ele só formata a string com o nome e id do player.




Código PHP:
public OnPlayerText(playeridtext[]) {
 static 
chat[128], Float:pos[3];
 
SetPlayerChatBubble(playeridtext, -150.010000);
 
GetPlayerPos(playeridpos[0], pos[1], pos[2]);
if(!
IsPlayerAdmin(playerid)) format(chatsizeof(chat), "%s [%d] diz: %s"GetPlayerNameEx(playerid), playeridtext);
 else if(IsPlayerAdmin(playerid)) format(chatsizeof(chat), "%s [%d] [RCON] diz: %s"GetPlayerNameEx(playerid))

 foreach(
Playeri) { // Pode usar loop for como estava no script que você deixou se preferir
  if(IsPlayerInRangeOfPoint(ipos[0], pos[1], pos[2])) {
   SendClientMessage(i, -1chat);
   
 }
 return 
0// OBS Importante: A callback deve retornar 0 pois senão a mensagem será duplicada no chat.
}

stock GetPlayerNameEx(playerid) {
 static 
Name[MAX_PLAYER_NAME];
 
GetPlayerName(playeridNameMAX_PLAYER_NAME);
 return 
Name;