PHP код:
stock ShowPlayerDialogEx(playerid = -1, dialogid, style, caption[], button1[], button2[], fstring[], {Float, _}:...)
{
static const
STATIC_ARGS = 6;
static const
BYTES_PER_CELL = 4;
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);
#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
if(playerid!=-1)
{
return ShowPlayerDialog(playerid,dialogid,style,caption,message,button1,button2);
}
else
{
for(new i=GetMaxPlayers(),x;x<i;x++)
{
ShowPlayerDialog(x,dialogid,style,caption,message,button1,button2);
}
}
}
else
{
return ShowPlayerDialog(playerid,dialogid,style,caption,fstring,button1,button2);
}
}