Local chat only in its Virtual World
#2

As much as I'd hate giving this away but the way to do it is changing ProxDetector. Replace
public ProxDetector to the one I modded to only chat in same Virtual World....
Код:
public ProxDetector(Float:radi, playerid, string[],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);
		new VW = GetPlayerVirtualWorld(playerid);
		//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 (((GetPlayerVirtualWorld(i)==VW && tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
					{
						SendClientMessage(i, col1, string);
					}
					else if (((GetPlayerVirtualWorld(i)==VW && tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
					{
						SendClientMessage(i, col2, string);
					}
					else if (((GetPlayerVirtualWorld(i)==VW && tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
					{
						SendClientMessage(i, col3, string);
					}
					else if (((GetPlayerVirtualWorld(i)==VW && tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
					{
						SendClientMessage(i, col4, string);
					}
					else if (((GetPlayerVirtualWorld(i)==VW && tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
					{
						SendClientMessage(i, col5, string);
					}
			}
		}
	}//not connected
	return 1;
}
Just Copy Paste that over the old public and you should get the results you want. Only thing is it will change ALL your prox chats to only talk in the same VW.

With Love,
~The Reymon.
Reply


Messages In This Thread
Local chat only in its Virtual World - by Blades - 31.08.2009, 20:43
Re: Local chat only in its Virtual World - by oncedead - 31.08.2009, 22:10

Forum Jump:


Users browsing this thread: 1 Guest(s)