SA-MP Forums Archive
ayuda chat - 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: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: ayuda chat (/showthread.php?tid=531680)



ayuda chat - capottematias - 14.08.2014

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

desde ya mucas gracias


Respuesta: ayuda chat - Maflow - 14.08.2014

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.


Respuesta: ayuda chat - xTexTx - 14.08.2014

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;
}



Respuesta: ayuda chat - Swedky - 14.08.2014

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.


Respuesta: ayuda chat - chusothe41 - 14.08.2014

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



Re: ayuda chat - capottematias - 24.08.2014

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