Local chat distance script
#9

YA use this :
first start with forwards ;
Код:
forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
then define strtok:
Код:
strtok(const string[], &index)
{
	new length = strlen(string);
	while ((index < length) && (string[index] <= ' '))
	{
		index++;
	}
	
	new offset = index;
	new result[20];
	while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
	{
		result[index - offset] = string[index];
		index++;
	}
	result[index - offset] = EOS;
	return result;
}
Lets define ProxDetector if you havent done so:
Код:
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
	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) == 1)
		{
			{
				GetPlayerPos(i, posx, posy, posz);
				tempposx = (oldposx -posx);
				tempposy = (oldposy -posy);
				tempposz = (oldposz -posz);
				if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
				{
					SendClientMessage(i, col1, string);
				}
				else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
				{
					SendClientMessage(i, col2, string);
				}
				else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
				{
					SendClientMessage(i, col3, string);
				}
				else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
				{
					SendClientMessage(i, col4, string);
				}
				else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
				{
					SendClientMessage(i, col5, string);
				}
			}
		}
	}
	return 1;
}
Before my code add this somwhere just below OnPlayerCommandText:
Код:
new sendername[MAX_PLAYER_NAME];
new idx;
This is pretty much i use :
pawn Код:
if(strcmp(cmd, "/local", true) == 0 || strcmp(cmd, "/l", true) == 0 || strcmp(cmd, "/say", true) == 0)
    {
        GetPlayerName(playerid, sendername, sizeof(sendername));
        new length = strlen(cmdtext);
        while ((idx < length) && (cmdtext[idx] <= ' '))
        {
            idx++;
        }
        new offset = idx;
        new result[64];
        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
        {
            result[idx - offset] = cmdtext[idx];
            idx++;
        }
        result[idx - offset] = EOS;
        if(!strlen(result))
        {
            SendClientMessage(playerid, COLOR_GRAD2, "USAGE: (/l)ocal [local chat]");
            return 1;
        }
        format(string, sizeof(string), "%s Says %s", sendername, result);
        ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
        printf("%s", string);
        return 1;
    }
Now you would get some eror's ... here are color defines:
pawn Код:
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_FADE1 0xE6E6E6E6
#define COLOR_FADE2 0xC8C8C8C8
#define COLOR_FADE3 0xAAAAAAAA
#define COLOR_FADE4 0x8C8C8C8C
#define COLOR_FADE5 0x6E6E6E6E
PS: Change command' and ProxDetector Distance to your needs..
Reply


Messages In This Thread
Local chat distance script - by Robin_J - 11.02.2009, 18:30
Re: Local chat distance script - by MenaceX^ - 11.02.2009, 18:33
Re: Local chat distance script - by Robin_J - 11.02.2009, 18:35
Re: Local chat distance script - by MenaceX^ - 11.02.2009, 18:49
Re: Local chat distance script - by Robin_J - 11.02.2009, 18:52
Re: Local chat distance script - by MenaceX^ - 11.02.2009, 19:05
Re: Local chat distance script - by Robin_J - 11.02.2009, 19:07
Re: Local chat distance script - by Robin_J - 11.02.2009, 19:45
Re: Local chat distance script - by Static_X - 12.02.2009, 00:23
Re: Local chat distance script - by Robin_J - 12.02.2009, 11:48

Forum Jump:


Users browsing this thread: 1 Guest(s)