public OnGameModeInit()
{
LimitGlobalChatRadius(20.0);
return 1;
}
Ahhoz valószínűleg más kell, ha jól tudom \"LimitGlobalChatRadius\" csak OnPlayerText-nél számít valamit.
Tessék lokális OOC chat (vagyis akik a közelben vannak, azok látják), ZCMD-t használva:
stock GetRPName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
for(new idx = 0; idx < sizeof(name); idx++)
if(name[idx] == \'_\') name[idx] = \' \';
return name;
}
forward ProxDetector(playerid, Float:range, szoveg[], szin);
public ProxDetector(playerid, Float:range, szoveg[], szin)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
foreach(Player, i)
{
if(IsPlayerInRangeOfPoint(i, range, x, y, z) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
{
SendClientMessage(i, szin, szoveg);
}
}
return 1;
}
CMD:b(playerid, params[])
{
if(isnull(params)) return SendClientMessage(playerid, 0xFFFFFFFF, \"Használat: /b [szöveg]\");
new string[128];
format(string, sizeof(string), \"(( %s: %s ))\", GetRPName(playerid), params);
ProxDetector(playerid, 20.0, string, 0xFFFFFFFF);
return 1;
}
Ebben benne van az \"IsPlayerInRangeOfPoint\".
forward ProxDetector(playerid, Float:range, szoveg[], szin);
public ProxDetector(playerid, Float:range, szoveg[], szin)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
foreach(Player, i)
{
if(IsPlayerInRangeOfPoint(i, range, x, y, z) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
{
SendClientMessage(i, szin, szoveg);
}
}
return 1;
}