SA-MP Forums Archive
[ayuda] Zonas en juego - 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] Zonas en juego (/showthread.php?tid=624744)



[ayuda] Zonas en juego - Doniczzz - 22.12.2016

Bueno la pregunta es la siguiente.

їExiste alguna funciуn para detectar usuarios en "x" zona?

De ser asн, me gustarнa aprender a contar cuantas personas hay en "x" zona.

їComo podrнa comenzar?


Re: [ayuda] Zonas en juego - Swedky - 22.12.2016

PHP код:
stock IsPlayerInZone(playeridFloat:min_xFloat:min_yFloat:min_zFloat:max_xFloat:max_yFloat:max_z)

    new 
Float:fXFloat:fYFloat:fZ;
    
GetPlayerPos(playeridfXfYfZ);
    return (
min_x <= fX <= max_x && min_y <= fX <= max_y && min_z <= fX <= max_z);
}

if(
IsPlayerInZone(playerid0.00.00.030.030.010.0))

for(new 
0GetMaxPlayers(); <= ji++)
{
    if(
IsPlayerInZone(playerid0.00.00.030.030.010.0))
    {
        
// ... 
    
}

Otra opciуn serнa con "GetPlayerDistanceFromPoint" :P


Respuesta: [ayuda] Zonas en juego - Doniczzz - 22.12.2016

Eso no seria lo mismo que:

Код:
foreach(Player,i)
		{
            if(IsPlayerInRangeOfPoint(i,250,1813.4744,-1843.1809,13.5781))
			{
				MensajeF(playerid,-1,"Hay "#CVERDE"%d"#CBLANCO" Personas en unity", i);
			}
		}
Porque tomaria como un condicional que estes en cierta posicion, de lo contrario no se ejecuta el comando.. Corrigeme si me equivoco


Re: Respuesta: [ayuda] Zonas en juego - Swedky - 22.12.2016

Quote:
Originally Posted by Doniczzz
Посмотреть сообщение
Eso no seria lo mismo que:

Код:
foreach(Player,i)
		{
            if(IsPlayerInRangeOfPoint(i,250,1813.4744,-1843.1809,13.5781))
			{
				MensajeF(playerid,-1,"Hay "#CVERDE"%d"#CBLANCO" Personas en unity", i);
			}
		}
Porque tomaria como un condicional que estes en cierta posicion, de lo contrario no se ejecuta el comando.. Corrigeme si me equivoco
Sobre lo de "tomaria como un condicional que estes en cierta posicion" estбs en lo correcto, lo de "de lo contrario no se ejecuta el comando", a quй te refieres? el comando se ejecuta de todas formas :P

La funciуn que te pase detecta si el jugador estб en una zona cъbica (asн se dice? vos me entendes )


Respuesta: [ayuda] Zonas en juego - Doniczzz - 22.12.2016

Me explico, al ejecutar el comando quiero que me envнe un mensaje con la cantidad de personas que hay en ese rango desde cualquier parte del mapa, pero el problema es que me envнa el mensaje solo cuando estoy en ese rango. Me entiendes?

PD: Se dirнa zona cuadrada, si quisiera saber tambiйn la profundidad de la zona pues si es cubica xd


Re: [ayuda] Zonas en juego - Swedky - 22.12.2016

Zona cъbica es cuando es 3D (analiza profundidad/altura), cuadrada es cuando es 2D (no analiza profundidad/altura).

Respecto a tu duda, es porque le envнas un mensaje sуlo a los jugadores que estбn en esa zona. Hбzlo asн:
PHP код:
foreach(Player,i)
{
    new 
count;
    if(
IsPlayerInRangeOfPoint(i,250,1813.4744,-1843.1809,13.5781)) count++;
}
// Acб envнas el mensaje a todos (SendClientMessageToAll) 



Respuesta: [ayuda] Zonas en juego - Doniczzz - 22.12.2016

Listo, gracias mostro!


Re: [ayuda] Zonas en juego - Eloy - 22.12.2016

acб tienes el include a_zones.inc que te define las zonas de todo el mapa

https://sampforum.blast.hk/showthread.php?tid=27598