22.10.2015, 18:29
My server crash motive of this fuction: (Sorry My Bad English)
Quote:
#define SendMessageF( MessageF(INVALID_PLAYER_ID, |
Quote:
stock MessageF(playerid, color, fstring[], {Float, _}:...) { /* ****** &| Zeex */ static const STATIC_ARGS = 3; new n = (numargs() - STATIC_ARGS) * BYTES_PER_CELL; if(n) { new message[144],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 144 #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 == INVALID_PLAYER_ID) { #pragma unused playerid return SendClientMessageToAll(color, message); } else { return SendClientMessage(playerid, color, message); } } else { if(playerid == INVALID_PLAYER_ID) { #pragma unused playerid return SendClientMessageToAll(color, fstring); } else { return SendClientMessage(playerid, color, fstring); } } } |