Mr_David
Мастер
В начало мода:
Это в любое место:
Пример использования:
Авторы: Zeex и Y_Less
Обновил: добавил SendMesAll и убрал установку цвета, устанавливать цвет так
PHP:
#define BYTES_PER_CELL (cellbits / 8)
PHP:
stock SendMes(playerid, fstring[], {Float, _}:...)
{
static const STATIC_ARGS = 3;
new n = (numargs() - STATIC_ARGS) * BYTES_PER_CELL;
if (n)
{
new message[128], arg_start, arg_end;
#emit CONST.alt fstring
#emit LCTRL 5
#emit ADD
#emit STOR.S.pri arg_start
#emit LOAD.S.alt n
#emit ADD
#emit STOR.S.pri arg_end
do
{
#emit LOAD.I
#emit PUSH.pri
arg_end -= BYTES_PER_CELL;
#emit LOAD.S.pri arg_end
}
while (arg_end > arg_start);
// Push the static format parameters.
#emit PUSH.S fstring
#emit PUSH.C 128
#emit PUSH.ADR message
n += BYTES_PER_CELL * 3;
#emit PUSH.S n
#emit SYSREQ.C format
n += BYTES_PER_CELL;
#emit LCTRL 4
#emit LOAD.S.alt n
#emit ADD
#emit SCTRL 4
return SendClientMessage(playerid, -1, message);
}
else return SendClientMessage(playerid, -1, fstring);
}
PHP:
stock SendMesAll(fstring[], {Float, _}:...)
{
static const STATIC_ARGS = 2;
new n = (numargs() - STATIC_ARGS) * BYTES_PER_CELL;
if (n)
{
new message[128], arg_start, arg_end;
#emit CONST.alt fstring
#emit LCTRL 5
#emit ADD
#emit STOR.S.pri arg_start
#emit LOAD.S.alt n
#emit ADD
#emit STOR.S.pri arg_end
do
{
#emit LOAD.I
#emit PUSH.pri
arg_end -= BYTES_PER_CELL;
#emit LOAD.S.pri arg_end
}
while (arg_end > arg_start);
// Push the static format parameters.
#emit PUSH.S fstring
#emit PUSH.C 128
#emit PUSH.ADR message
n += BYTES_PER_CELL * 3;
#emit PUSH.S n
#emit SYSREQ.C format
n += BYTES_PER_CELL;
#emit LCTRL 4
#emit LOAD.S.alt n
#emit ADD
#emit SCTRL 4
return SendClientMessageToAll(-1, message);
}
else return SendClientMessageToAll(-1, fstring);
}
PHP:
SendMes(playerid, "{FF0000}Твой левел равен :{000000} %d",level);
SendMesAll("{FF0000}%s левел равен :{000000} %d",PlayerName,level);
Обновил: добавил SendMesAll и убрал установку цвета, устанавливать цвет так
PHP:
{000000}
Последнее редактирование модератором:
