How to make players in a certain range see message
#1

Like on roleplay where if you talk normal,
Example: Hello,
Only people within a certain range can see it,
Well im making a cops and robbers,
And i have a /megaphone command,
Well i want only players within a certain range see that,
So how to do that?
Reply
#2

Proxdetector.
Reply
#3

where to find that
Reply
#4

Quote:
Originally Posted by JoeDaDude
where to find that
Код:
forward ProxDetector(Float:radi, playerid, str[], col1, col2, col3, col4, col5);

public ProxDetector(Float:radi, playerid, str[],col1,col2,col3,col4,col5)
{
	if(IsPlayerConnected(playerid))
	{
		new Float:posx, Float:posy, Float:posz;
		new Float:oldposx, Float:oldposy, Float:oldposz;
		new Float:tempposx, Float:tempposy, Float:tempposz;
		GetPlayerPos(playerid, oldposx, oldposy, oldposz);
		//radi = 2.0; //Trigger Radius
		for(new i = 0; i < MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i))
			{
				GetPlayerPos(i, posx, posy, posz);
				tempposx = (oldposx -posx);
				tempposy = (oldposy -posy);
				tempposz = (oldposz -posz);
				//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
				if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
				{
				SendClientMessage(i, col1, str);
				}
				else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
				{
				SendClientMessage(i, col2, str);
				}
				else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
				{
				SendClientMessage(i, col3, str);
				}
				else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
				{
				SendClientMessage(i, col4, str);
				}
				else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
				{
				SendClientMessage(i, col5, str);
				}
			}
		}
	}//not connected
	return 1;
}
Reply
#5

then what
Reply
#6

Quote:
Originally Posted by JoeDaDude
then what
Use it it like this, except replace the lines.

Код:
ProxDetector(radi, playerid, str[],col1,col2,col3,col4,col5);
Reply
#7

These are for?

Код:
col1,col2,col3,col4,col5
Reply
#8

Quote:
Originally Posted by JoeDaDude
These are for?

Код:
col1,col2,col3,col4,col5
The colors they see.

Very close = col1
Bit further = col2
Further .. = col3
Far = col4
Far away = col5
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)