23.04.2015, 06:13
Приветствую.
Ребята, взял за основу паблик мод, и теперь проблема, обнаружил SendMes( а это типо упрощение, без использования string в чат.
Пример использования:
Весь мод в этом SendMes, без использования по стандарту "format(, SendClientMessage(".
Нужен правильный макрос, что бы не переписывать весь мод по новой а именно функции SendMes.
Написал макрос, но ошибки, сам макрос:
Необходимо убрать stock SendMes, и использовать по стандарту но через макрос, так как заменять всё по новой - очень долгая процедура.
Ребята, взял за основу паблик мод, и теперь проблема, обнаружил SendMes( а это типо упрощение, без использования string в чат.
PHP код:
stock SendMes(playerid, color, fstringg[], {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 fstringg
#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);
#emit PUSH.S fstringg
#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, color, message);
}
else return SendClientMessage(playerid, color, fstringg);
}
Пример использования:
PHP код:
SendMes(playerid, -1, "Рабочий день завершен. Вами заработано: %i долларов", GetPVarInt(playerid, "JobMoney"));
Весь мод в этом SendMes, без использования по стандарту "format(, SendClientMessage(".
Нужен правильный макрос, что бы не переписывать весь мод по новой а именно функции SendMes.
Написал макрос, но ошибки, сам макрос:
PHP код:
#define SendMes(%0,%1,%2,%3) format(stringer, sizeof(stringer),%2,%3) && SendClientMessage(%0, %1, stringer)
Необходимо убрать stock SendMes, и использовать по стандарту но через макрос, так как заменять всё по новой - очень долгая процедура.