24.12.2013, 12:31
SLOVED
stock SendNearByMessage(playerid, color, Float:radius, const message[])
{
new
Float:Position[ 3 ], i = 0
;
GetPlayerPos( playerid, Position[ 0 ], Position[ 1 ], Position[ 2 ]);
while(i < MAX_PLAYERS)
{
if(!IsPlayerConnected(playerid)) continue;
if(IsPlayerInRangeOfPoint(i, radius, Position[ 0 ], Position[ 1 ], Position[ 2 ]))
{
SendClientMessage(i, color, message); return true;
}
i++;
}
return false;
}
public OnPlayerConnect(playerid)
{
return SendNearByMessage(playerid, -1, 20.0, "Message Here");
}
public OnPlayerText(playerid, text[])
{
new
string[ 128 ], PlayerName[ MAX_PLAYER_NAME ]; // variable, so we wouldn't get undefined ....
GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME); //this function gets the name of the player.
format(string, sizeof(string), "%s: %s", PlayerName, text);
SendNearByMessage(playerid, -1, 20.0, string); // will send the message who's in range of 20.0
return false; //return false, because if it's true, the message will be sent twice.
}
stock SendNearByMessage(playerid, color, Float:radius, const message[])
{
new
Float:Position[ 3 ], i = 0
;
GetPlayerPos( playerid, Position[ 0 ], Position[ 1 ], Position[ 2 ]);
while(i < MAX_PLAYERS)
{
if(!IsPlayerConnected(playerid)) continue;
if(IsPlayerInRangeOfPoint(i, radius, Position[ 0 ], Position[ 1 ], Position[ 2 ]))
{
SendClientMessage(i, color, message);
}
i++;
}
}