17.02.2019, 17:08
Вот по этому лучше использовать sscanf 
Теперь так же вопрос.
В моде использовалась функция
Почитав на форуме, понял что данная функция не стабильна и может возникнуть проблемы с ней в плане когда буду вызывать в данной функции более 2 аргументов. и вот по этому сижу и переписываю на стандартный formart.
Но для меня не понятно как возвращать его то есть по примеру:
а мне надо использовать format
получается будет Так :
Верно ?

Теперь так же вопрос.
В моде использовалась функция
Quote:
|
SendMes |
Код:
stock SendMes(playerid, color, 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, color, message);
}
else
{
return SendClientMessage(playerid, color, fstring);
}
}
Но для меня не понятно как возвращать его то есть по примеру:
Код:
if(GetPlayerMoneyEx(playerid) < VEH_COLOR) return SendMes(playerid, COLOR_GREY,"Перекраска машины стоит $%d.",VEH_COLOR);
получается будет Так :
Код:
if(GetPlayerMoneyEx(playerid) < VEH_COLOR)
{
format(string, sizeof(string),"Перекраска машины стоит $%d.",VEH_COLOR);
SendClientMessage(playerid, COLOR_GREY,string);
return 1;
}


