Quote:
Originally Posted by GuiKommander
Use um meu que fiz um tempo atrбs, nem usei.
PHP код:
#define MensagemFormatada(%1,%2,%3,%4) do{format(gstring,sizeof(gstring),%3,%4);SendClientMessage(%1,%2,gstring);}while(IsPlayerConnected(-1))
stock ProxDetector(Float:Radio, playerid, string[], color)
{
new Float: X, Float: Y, Float: Z;
GetPlayerPos(playerid, X, Y, Z);
foreach(new i : Player)
{
if(IsPlayerConnected(i) && PlayerInfo[i][pLogado] == true)
{
if(IsPlayerInRangeOfPoint(i, Radio, X, Y, Z))
{
MensagemFormatada(i, color, "%s", string);
}
}
}
}
Exemplo de Uso:
Код:
ProxDetector(30.0, playerid, "O jogador Descarregou a carta e recebeu 900", SUA_COR);
Pessoal, se tiver um erro aн, me avisem.
|
Dependendo da
GameMode dele, vai precisar tambйm da
enum PlayerInfo e da include
foreach. Ou pode fazer assim:
PHP код:
stock SendClientMessageLocal(playerid, Float:range, msg[])
{
new Float:Pos[3];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i, range, Pos[0], Pos[1], Pos[2])) {
SendClientMessage(i, -1, msg);
}
}
return true;
}
@EDIT: Isso que o Luan disse, esqueci de explicar, nгo adianta ajudar sem explicar o fato.
Quote:
Originally Posted by ipsLuan
O erro estб na verificaзгo IsPlayerConnected.
Ao se colocar o “!”, vocк estб colocar um nгo (assim por dizer).
Sendo assim, a mensagem sу iria mandar para jogadores que nгo estivessem online.
|