Stock problem
#3

I have a version of SCMF:
PHP код:
SCMF(playeridcolor, const msg[], va_args<>)
{
    static
        
string[145];
    
va_format(stringsizeof(string), msgva_start<3>);
    return 
SendClientMessage(playeridcolorstring);

One with EMIT like Konstantinos published :
PHP код:
// ! Credit to the original author !
SCMF(playerid,color,fstring[],{Float_}:...)
{
   new 
n=(numargs()-3)*4;
   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-=4;
         
#emit LOAD.S.pri           arg_end
      
}
      while(
arg_end>arg_start);
      
#emit PUSH.S                   fstring
      #emit PUSH.C                   255
      #emit PUSH.ADR                 message
      
n+=4*3;
      
#emit PUSH.S                   n
      #emit SYSREQ.C                 format
      
n+=4;
      
#emit LCTRL                    4
      #emit LOAD.S.alt               n
      #emit ADD
      #emit SCTRL                    4
      
return SCM(playerid,color,message);
   }
   else return 
SCM(playerid,color,fstring);

For SendClientMessageToAll.
PHP код:
#define                     SCMFTA(%1,%2,%3)                         do{new _str[190]; format(_str,150,%2,%3); SendClientMessageToAll(%1,_str);}while(FALSE) 
Reply


Messages In This Thread
Stock problem - by Shinja - 03.07.2016, 22:19
Re: Stock problem - by Konstantinos - 03.07.2016, 22:22
Re: Stock problem - by Dayrion - 03.07.2016, 22:30
Re: Stock problem - by Shinja - 03.07.2016, 22:33
Re: Stock problem - by Dayrion - 03.07.2016, 22:38

Forum Jump:


Users browsing this thread: 1 Guest(s)