Portal SAMP
[Ajuda] Mensagem enviada para jogadores perto de você - 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] Mensagem enviada para jogadores perto de você (/showthread.php?tid=2289)



Mensagem enviada para jogadores perto de você - agi.exe - 10/04/2022

alguém pode me ajudar, quero que quando o adm vai ate um jogador uma mensagem ser envida para jogadores perto dele  

EXEMPLO: 

[Staff]  Admin Nome foi ate o jogador Nome


RE: Mensagem enviada para jogadores perto de você - Hatiro - 10/04/2022

Comando: /ir
Código:
CMD:ir(playerid, params[])
{
new idplayer, nomeplayer[MAX_PLAYER_NAME];
new Float:x, Float:y, Float:z, Float:a;
GetPlayerName(idplayer, nomeplayer, MAX_PLAYER_NAME);
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000AA, "[ERRO] Voce Nao Tem Permissao Para Utilizar Esse Comando!");
if(sscanf(params, "d", idplayer)) return SendClientMessage(playerid, 0xFF0000AA, "[ERRO] Use: /ir [Id]");
if(!IsPlayerConnected(idplayer)) return SendClientMessage(playerid, 0xFF0000AA, "[ERRO] Este Player Nao Esta Conectado No Servidor!");
SendClientMessage(playerid, -1, "Voce Foi Teleportando Para O Player %s", nomeplayer);
SendClientMessage(idplayer, -1, "O Admin %s Foi Ate Voce!", GetPlayerNameF(playerid));
SetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(idplayer, a);
SetPlayerFacingAngle(playerid, a);
return 1;
}
Comando: /trazer
Código:
CMD:trazer(playerid, params[])
{
new Float:x, Float:y, Float:z, Float:a;
new trazerid, nomeplayer[MAX_PLAYER_NAME];
GetPlayerName(trazerid, nomeplayer, MAX_PLAYER_NAME);
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000AA, "[ERRO] Voce Nao Tem Permissao Para Utilizar Esse Comando!");
if(sscanf(params, "d", trazerid)) return SendClientMessage(playerid, 0xFF0000AA, "Use: /trazer [ID]");
if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "[ERRO]Este Player Nao Esta Conectado!");
SendClientMessage(trazerid, -1, "O Admin %s Levou Voce Ate Ele!", GetPlayerNameF(playerid));
SendClientMessage(playerid, -1, "Voce Trouxe O Player %s", nomeplayer);
GetPlayerFacingAngle(playerid, a);
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(trazerid, x, y, z);
SetPlayerFacingAngle(trazerid, a);
return 1;
}
Créditos: https://portalsamp.com/thread-1771-post-6796.html


RE: Mensagem enviada para jogadores perto de você - agi.exe - 10/04/2022

Acho e você não intendeu , esses comandos eu ja tenho na minha Gm Mais quero que quando o administrador usa o comando /ir ou /trar
seja evinda uma mensagem para jogadores perto dele EXEMPLO:

[Staff] Admin Omelete foi ate o jogador SkayBr


RE: Mensagem enviada para jogadores perto de você - Hatiro - 10/04/2022

Perdão faz assim
Código:
new Float:distancia = 20; //A maior distância que o jogador pode estar do ponto ao alcance.
foreach(new i: players)//Executara apenas em jogadores conectados.
{
    GetPlayerPos(i, Float:x, Float:y, Float:z);
    if(IsPlayerInRangeOfPoint(playerid, Float:distancia, Float:x, Float:y, Float:z))
    {
        SendClientMessage(i, -1, "O Admin %s Foi Até %s", GetPlayerNameF(playerid), nomeplayer);
    }
}
Ficaria
Código:
CMD:ir(playerid, params[])
{
new idplayer, nomeplayer[MAX_PLAYER_NAME];
new Float:x, Float:y, Float:z, Float:a;
GetPlayerName(idplayer, nomeplayer, MAX_PLAYER_NAME);
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000AA, "[ERRO] Voce Nao Tem Permissao Para Utilizar Esse Comando!");
if(sscanf(params, "d", idplayer)) return SendClientMessage(playerid, 0xFF0000AA, "[ERRO] Use: /ir [Id]");
if(!IsPlayerConnected(idplayer)) return SendClientMessage(playerid, 0xFF0000AA, "[ERRO] Este Player Nao Esta Conectado No Servidor!");
new Float:distancia = 20; //A maior distância que o jogador pode estar do ponto ao alcance.
foreach(new i: players)//Executara apenas em jogadores conectados
{
    GetPlayerPos(i, Float:x, Float:y, Float:z);
    if(IsPlayerInRangeOfPoint(playerid, Float:distancia, Float:x, Float:y, Float:z))
    {
        SendClientMessage(i, -1, "O Admin %s Foi Até %s", GetPlayerNameF(playerid), nomeplayer);
    }
}
SendClientMessage(playerid, -1, "Voce Foi Teleportando Para O Player %s", nomeplayer);
SendClientMessage(idplayer, -1, "O Admin %s Foi Ate Voce!", GetPlayerNameF(playerid));
GetPlayerPos(idplayer, Float:x, Float:y, Float:z);
SetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(idplayer, a);
SetPlayerFacingAngle(playerid, a);
return 1;
}
Só que não testei só que provavelmente vai funcionar


RE: Mensagem enviada para jogadores perto de você - xbruno1000x - 11/04/2022

Código:
stock SendMessageToAdmins(color,const string[])
{
    foreach(new i : Player)
        if(Player[i][pLogged])
            if(Player[i][pAdmin] != 0)
                SendClientMessage(i, color, string);
    return 1;
}

Basta adaptar suas variáveis aí.


RE: Mensagem enviada para jogadores perto de você - Mateus Lima - 11/04/2022

(10/04/2022 07:54)SkayBR Escreveu: alguém pode me ajudar, quero que quando o adm vai ate um jogador uma mensagem ser envida para jogadores perto dele  

EXEMPLO: 

[Staff]  Admin Nome foi ate o jogador Nome

códigos prontos sempre serão um perigo para a humanidade haha, amigo tente revisar a wiki (SendClientMessage [PT-BR]/Format [PT-BR])
não use códigos prontos, apenas atrasam o seu desenvolvimento