SendMes(....); - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (
https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: SendMes(....); (
/showthread.php?tid=571869)
SendMes(....); -
Surprice - 23.04.2015
Приветствую.
Ребята, взял за основу паблик мод, и теперь проблема, обнаружил 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, и использовать по стандарту но через макрос, так как заменять всё по новой - очень долгая процедура.
Re: SendMes(....); -
Kqly - 23.04.2015
Мой тебе совет - забудь про него. Он вроде как крашит сервер как говорили
Re: SendMes(....); -
DartfoL - 23.04.2015
Вопрос - а зачем убирать SendMes?
Re: SendMes(....); -
Surprice - 23.04.2015
Quote:
Originally Posted by DartfoL
Вопрос - а зачем убирать SendMes?
|
Мне не требуется SendMes так как крашит сервер, нужен макрос что бы использовать как стандарт и не переводить. Пример макроса я оставил.
Re: SendMes(....); -
SoNikMells - 23.04.2015
http://forum.sa-mp.com/showpost.php?...12813&langid=4
Re: SendMes(....); -
Surprice - 23.04.2015
Quote:
Originally Posted by SoNikMells
|
Вот только что решил вопрос таким же макросом, вроде-бы крашей нет.
PHP код:
#define SendMes(%0,%1,%2,%3) format(stringer, sizeof(stringer),%2,%3), SendClientMessage(%0, %1, stringer)