Ñóòü â òîì ÷òî åñëè ñäåëàòü âîò òàê: Message(playerid, color, "Param1 = %d, Param2 = %d", param1, param2);
Ôîðìàòèðóåòñÿ òîëüêî param1, à íà ìåñòå param2 áóäåò ïóñòî.
Íàïðèìåð: "Param1 = 1, Param2 = "
Ôîðìàòèðóåòñÿ òîëüêî param1, à íà ìåñòå param2 áóäåò ïóñòî.
Íàïðèìåð: "Param1 = 1, Param2 = "
pawn Code:
stock Message(playerid, color, msg[], {Float,_}:...){
static const STATIC_ARGS = 3;
new n = (numargs() - STATIC_ARGS) * BYTES_PER_CELL;
if(n){
new message[256], arg_start, arg_end;
#emit CONST.alt msg
#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 msg
#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, msg);}}
static const STATIC_ARGS = 3;
new n = (numargs() - STATIC_ARGS) * BYTES_PER_CELL;
if(n){
new message[256], arg_start, arg_end;
#emit CONST.alt msg
#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 msg
#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, msg);}}
Aucun commentaire:
Enregistrer un commentaire