03/10/2020 06:47
(03/10/2020 00:26)willttoonn Escreveu: SendClientMessageEx - Funciona como um SendClientMessage, so que você pode formatar o texto com os atributos na própria função, eliminando a necessidade de um format a parte.
Código:SendClientMessageEx(playerid, color, const str[], {Float,_}:...)
{
static
args,
start,
end,
string[144]
;
#emit LOAD.S.pri 8
#emit STOR.pri args
if (args > 12)
{
#emit ADDR.pri str
#emit STOR.pri start
for (end = start + (args - 12); end > start; end -= 4)
{
#emit LREF.pri end
#emit PUSH.pri
}
#emit PUSH.S str
#emit PUSH.C 144
#emit PUSH.C string
#emit PUSH.C args
#emit SYSREQ.C format
SendClientMessage(playerid, color, string);
#emit LCTRL 5
#emit SCTRL 4
#emit RETN
}
return SendClientMessage(playerid, color, str);
}
Exemplo de uso (-1 é a cor, nesse caso branca):
Código:new player_name[MAX_PLAYER_NAME];
GetPlayerName(playerid, player_name);
SendClientMessageEx(playerid, -1, "O meu nome é %s.", playername);
Mais fácil assim mano
Código PHP:
// macro
new __message[280];
#define SendClientMessage(%0,%1,%2,%3) \
(format(__message,sizeof(__message),%2,%3),SendClientMessage(%0,%1,__message))
#define SendClientMessageToAll(%0,%1,%2) \
(format(__message,sizeof(__message),%1,%2),SendClientMessageToAll(%0,__message))
Exemplos:
Código PHP:
new player_name[MAX_PLAYER_NAME];
GetPlayerName(playerid, player_name);
SendClientMessage(playerid, -1, "Você tem %d de dinheiro", GetPlayerMoney(playerid));
SendClientMessageToAll(-1, "O jogador %s tem %d de dinheiro.", player_name, GetPlayerMoney(playerid));