whiplk

[CODE] - SendClientMessageEx(without format)

Apr 19th, 2012
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.93 KB | None | 0 0
  1. // SendClientMessageEx, manda uma mensagem formata sem precisar do uso de format... By rjj ou ken
  2.  
  3. stock SendClientMessageEx(playerid, color, str[], ...)
  4. {
  5.     #define isint(%0)   (getarg(%0, 0) == EOS)
  6.     for(new x = 0; getarg(2, x) != EOS; x++)
  7.     {
  8.         str[x] = getarg(2, x);
  9.     }
  10.     if((numargs()-3) == 0) return SendClientMessage(playerid, color, str);
  11.     if((numargs()-3) > 3) return true;
  12.     new y;
  13.     new final[128];
  14.     new string[6][128];
  15.     y = 3;
  16.     while(y < numargs())
  17.     {
  18.         if(!isint(y))
  19.         {
  20.             for(new x = 0; x < sizeof(string); x++)
  21.             {
  22.                 string[y][x] = getarg(y, x);
  23.                 if(string[y][x] == EOS) break;
  24.             }
  25.         }
  26.         else
  27.         {
  28.             string[y][0] = getarg(y, 0);
  29.         }
  30.         y++;
  31.     }
  32.     switch(numargs()-3)
  33.     {
  34.         case 1:  //1 argumento
  35.         {
  36.             if(isint(3))    format(final,128,str,string[3][0]);
  37.             else if(!isint(3))    format(final,128,str,string[3]);
  38.         }
  39.         case 2:  //2 argumentos
  40.         {
  41.             if(isint(3) && isint(4))    format(final,128,str,string[3][0], string[4][0]);
  42.             else if(!isint(3) && isint(4))   format(final,128,str,string[3], string[4][0]);
  43.             else if(isint(3) && !isint(4))   format(final,128,str,string[3][0], string[4]);
  44.             else if(!isint(3) && !isint(4))  format(final,128,str,string[3], string[4]);
  45.         }
  46.         case 3: //3 argumentos
  47.         {
  48.             if(isint(3) && isint(4) && isint(5))    format(final,128,str,string[3][0],string[4][0],string[5][0]);
  49.             else if(!isint(3) && !isint(4) && !isint(5))    format(final,128,str,string[3],string[4],string[5]);
  50.             else if(isint(3) && !isint(4) && isint(5))    format(final,128,str,string[3][0],string[4],string[5][0]);
  51.             else if(isint(3) && isint(4) && !isint(5))    format(final,128,str,string[3][0],string[4][0],string[5]);
  52.             else if(isint(3) && !isint(4) && !isint(5))    format(final,128,str,string[3][0],string[4],string[5]);
  53.             else if(!isint(3) && isint(4) && isint(5))    format(final,128,str,string[3],string[4][0],string[5][0]);
  54.             else if(isint(3) && isint(4) && !isint(5))    format(final,128,str,string[3][0],string[4][0],string[5]);
  55.             else if(!isint(3) && isint(4) && !isint(5))    format(final,128,str,string[3],string[4][0],string[5]);
  56.             else if(isint(3) && !isint(4) && isint(5))    format(final,128,str,string[3][0],string[4],string[5][0]);
  57.             else if(!isint(3) && isint(4) && isint(5))    format(final,128,str,string[3],string[4][0],string[5][0]);
  58.             else if(!isint(3) && !isint(4) && isint(5))    format(final,128,str,string[3],string[4],string[5][0]);
  59.         }
  60.     }
  61.     SendClientMessage(playerid, color, final);
  62.     return true;
  63. }
  64.  
  65. //Exemplo de uso
  66.  
  67. new n = -1;
  68. SendClientMessageEx(playerid, -1, "Testando %d", n);
  69.  
  70. // Printaria -1
Advertisement
Add Comment
Please, Sign In to add comment