ayuda chat
#1

hola como hago para que la conversacion no la vean todo solo los que estбn cerca

desde ya mucas gracias
Reply
#2

Lo haces verificando si el usuario estб cerca del que enviу el mensaje.

https://sampwiki.blast.hk/wiki/IsPlayerInRangeOfPoint

Busca una funciуn aquн en foro que se llama ProxDetector, te ayudarб en esto.
Reply
#3

ProxDetector es una mierda, mejor usa este(Lo hizo ZumeZero):
pawn Код:
NearMsg(playerid, color, string[], Float: Distance)
{
    new  Float: nbCoords[3];
    GetPlayerPos(playerid, nbCoords[0], nbCoords[1], nbCoords[2]);
    foreach(Player, i)
    {
        if(IsPlayerInRangeOfPoint(i, Distance, nbCoords[0], nbCoords[1], nbCoords[2]) && (GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid))) {SendClientMessage(i, color, string);}
    }
    return 1;
}
Reply
#4

NearMsg es una mierda, mejor usa este(Lo hizo Kalcor): https://sampwiki.blast.hk/wiki/LimitGlobalChatRadius.

Nah broma, pero usa la funciуn que mencionй si te sirve.
Reply
#5

No me gusta dar las cosas echas a la gente pero... esto es algo relativamente facil y que te va a evitar hacerlo manualmente

El clasico proxdetector

pawn Код:
stock ProxDetector2(Float:radi, playerid, string[],color1,color2,color3,color4,color5)
{
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    foreach(Player, i)
    {
        if(IsPlayerInRangeOfPoint(i, radi / 16, x, y, z))
        {
            SendClientMessage(i, color1, string);
        }
        else if(IsPlayerInRangeOfPoint(i, radi / 8, x, y, z))
        {
            SendClientMessage(i, color2, string);
        }
        else if(IsPlayerInRangeOfPoint(i, radi / 4, x, y, z))
        {
            SendClientMessage(i, color3, string);
        }
        else if(IsPlayerInRangeOfPoint(i, radi / 2, x, y, z))
        {
            SendClientMessage(i, color4, string);
        }
        else if(IsPlayerInRangeOfPoint(i, radi, x, y, z))
        {
            SendClientMessage(i, color5, string);
        }
    }
    return 1;
}
Como ves es un stock, es decir una funcion que puedes llamar cuando quieras, por ejemplo para el chat standart.

Tambien tiene detector de proximidad, para que la gente vea el mensaje mas tenue o mas vivo dependiendo de la proximidad.

El comando funciona con stock ProxDetector2(radio de accion, playerid, mensage que envias,color1,color2,color3,color4,color5) y los colores

Ejemplo de uso:

pawn Код:
public OnPlayerText(playerid, text[])
{
    new message[128];
    format(message, sizeof(message), "%s dice: %s", GetName(playerid), text);
    ProxDetector2(30, playerid, message,0xFFFFFFAA,0xE6E6E6AA,0xCCCCCCAA,0xB3B3B3AA,0x999999AA);
    return 0;
}

Asi es como lo tengo en mi servidor, en caso de que quieras cambiar los colores ve a una pagina como [URL="http://www.colorpicker.com/"]esta[/URL] para escoger color ;)

Espero que te sirva
Reply
#6

gracias a todos no e entrado a samp forum y recien entre voy a probar
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)