Advertisement
DraKiNs

[COD] Auto Indent Pawn

Jun 26th, 2011
548
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.22 KB | None | 0 0
  1. ////////////////////////////////////////////////////////////////////////////////
  2. ////////////////////////////////////////////////////////////////////////////////
  3. /////                                                                     //////
  4. /////                Simple Indent Pawn - Pawn                            //////
  5. /////                www.ips-team.blogspot.com                            //////
  6. /////                                                                     //////
  7. /////                                                                     //////
  8. /////                    Por DraKiNs                                      //////
  9. ////////////////////////////////////////////////////////////////////////////////
  10. ////////////////////////////////////////////////////////////////////////////////
  11.  
  12. //Includes
  13. #include <a_samp>
  14.  
  15. //Config Here
  16. #define iMaxLines       (5000)
  17. #define sFileImport     "Startup.txt"
  18. #define sFileExport     "samp.txt"
  19.  
  20.  
  21. new sCode[iMaxLines];
  22. new sTemp[iMaxLines];
  23.  
  24. public OnFilterScriptInit()
  25. {
  26.  
  27.  
  28.     new File:iFile = fopen(sFileImport, io_read);
  29.     while(fread(iFile, sTemp))
  30.     {
  31.         strcat(sCode,sTemp);
  32.     }
  33.     fclose(iFile);
  34.  
  35.     sIndentCode(sCode);
  36.     return true;
  37. }
  38.  
  39.  
  40. /*
  41. =================================================
  42.  
  43.     Indent Code
  44.     @By iPs DraKiNs
  45.  
  46. =================================================
  47. */
  48.  
  49. sIndentCode(sStr[])
  50. {
  51.     //Indent the Input String
  52.     static
  53.  
  54.         sOutput[200],
  55.         iCurrentBraces  = 0,
  56.         iCurrentChar    = 0,
  57.         iCurrentiLines = 0x0;
  58.  
  59.     new File:iFile = fopen(sFileExport, io_write);
  60.     {
  61.         for(new x = 0x0; sStr[x]; x++)
  62.         {
  63.             iCurrentBraces = ((sStr[x] == 0x7D) ? (iCurrentBraces - 1) : (iCurrentBraces));
  64.  
  65.             if(iCurrentBraces && !iCurrentiLines)
  66.             {
  67.                 for(new i = 0x0; i < iCurrentBraces; i++)
  68.                 {
  69.                     sOutput[iCurrentChar++] = 0x20;
  70.                     sOutput[iCurrentChar++] = 0x20;
  71.                     iCurrentiLines++;
  72.                 }
  73.             }
  74.  
  75.             iCurrentBraces = ((sStr[x] == 0x7B) ? (iCurrentBraces + 1) : (iCurrentBraces));
  76.             iCurrentiLines = ((sStr[x] == '\n') ? (0x0)                : (iCurrentiLines));
  77.  
  78.             sOutput[iCurrentChar] = sStr[x];
  79.             fputchar(iFile,sOutput[iCurrentChar]);
  80.             iCurrentChar++;
  81.         }
  82.     }
  83.     fclose(iFile);
  84.     return true;
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement