SA-MP Forums Archive
[Pedido] Mensagem por.... - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Pedido] Mensagem por.... (/showthread.php?tid=354706)



[Pedido] Mensagem por.... - goku114 - 27.06.2012

eae galera alguйm me da um help ae, tava precissando de um cod que faзa que as mensagem apareзa so quem ta perto vlws


Re: [Pedido] Mensagem por.... - .FuneraL. - 27.06.2012

Quote:
Originally Posted by goku114
Посмотреть сообщение
eae galera alguйm me da um help ae, tava precissando de um cod que faзa que as mensagem apareзa so quem ta perto vlws
Quer para chat ou Comando?


Re: [Pedido] Mensagem por.... - leonardo1434 - 27.06.2012

Isto deve funcionar.
pawn Код:
CMD:local(playerid,params[])
{
    new string[128],string2[128],nome[MAX_PLAYER_NAME],Float:X,Float:Y,Float:Z;
    if(sscanf(params,"s[128]",string)) return SendClientMessage(playerid,-1,"/local [texto]  ");
    GetPlayerName(playerid,nome,sizeof(nome));
    for(new i=0;i<MAX_PLAYERS;i++)
    {
        GetPlayerPos(playerid,X,Y,Z); // Pega a pos do playerid.
        if(IsPlayerInRangeOfPoint(i, 30.0, X, Y,Z) // Se i estб num raio de 30 m do playerid.
        {
            format(string2,sizeof(string2),"%s: {FFFFFF}%s",nome,string); // vai formatar a menssagem
            SendClientMessage(i,-1,string2); // Vai enviar a menssagem atй i que estб perto de playerid.
        }
    }
    return 1;
}



Re: [Pedido] Mensagem por.... - goku114 - 27.06.2012

Quote:
Originally Posted by .FuneraL.
Посмотреть сообщение
Quer para chat ou Comando?
tipow usar o chat geral lб pelo T mas so quem estiver perto conseguir ler


Re: [Pedido] Mensagem por.... - Jason` - 27.06.2012

Ou pode usar esta funзгo que fiz pra vocк.

pawn Код:
stock MessageInRange(Float:x, Float:y, Float:z, Float:distance)
{
    for(new i; i != GetMaxPlayers(); ++i)
    {
        if(IsPlayerConnected(i))
        {
            if(IsPlayerInRangeOfPoint(i, distance, x, y, z))
            {
                SendClientMessage(i, color, message);
            }
        }
    }
    return 1;
}
Caso queira usar um jogador como epicentro, desenvolvi outra funзгo pra vocк.

pawn Код:
stock NearMessage(Float:distance, playerid, color, message[])
{
    static
        Float:Pos[3];

    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    for(new i; i != GetMaxPlayers(); ++i)
    {
        if(IsPlayerConnected(i))
        {
            if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid) && GetPlayerInterior(i) == GetPlayerInterior(playerid) && IsPlayerInRangeOfPoint(i, distance, Pos[0], Pos[1], Pos[2]))
            {
                SendClientMessage(i, color, messsage);
            }
        }
    }
    return 1;
}

Vocк pode usar qualquer uma das duas caso queira ter um jogador como epicentro, mas na primeira teria de fazer GetPlayerPos etc.. Coisa que jб й feita na segunda