[Pedido] Mensagem por....
#1

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
Reply
#2

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?
Reply
#3

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;
}
Reply
#4

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
Reply
#5

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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)