KillamanLecce

KSerialBan System for SA:MP 0.3e

Aug 16th, 2012
567
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.65 KB | None | 0 0
  1. /*
  2. ________________________________________________________________________________
  3.                KSerialBan System
  4.                      Created by Killaman for SA-MP 0.3e
  5. ________INFO:
  6. Aggiungere all'interno del file a_players.inc questa linea:
  7.         native gpci(playerid, serial[], len);
  8. ________________________________________________________________________________
  9. */
  10.  
  11. #pragma tabsize 0
  12.  
  13. /* INCLUDES */
  14. #include <a_samp>
  15.  
  16. /* DEFINES */
  17. #define SERIAL_LENGTH 40
  18.  
  19. /* COLORI */
  20. #define COLOR_RED 0xFF0000AA
  21.  
  22. /* STOCKS */
  23. stock strtok(const string[], &index)
  24. {
  25.     new length = strlen(string);
  26.     while ((index < length) && (string[index] <= ' ')) index++;
  27.     new offset = index, result[20];
  28.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  29.     {
  30.         result[index - offset] = string[index];
  31.         index++;
  32.     }
  33.     result[index - offset] = EOS;
  34.     return result;
  35. }
  36.  
  37. /* CODE */
  38. public OnPlayerConnect(playerid)
  39. {
  40.     new
  41.         serialid[164], File:sfile = fopen("KSerialBan.txt", io_read);
  42.     if(!fexist("KSerialBan.txt")) return 1;
  43.     gpci(playerid, serialid, sizeof(serialid));
  44.     if(sfile)
  45.     {
  46.         new
  47.             banstr[512];
  48.         while(fread(sfile, banstr))
  49.         {
  50.             if(strfind(banstr, serialid) != -1)
  51.             {
  52.                 SendClientMessage(playerid, COLOR_RED, "** INFO: Questo account รจ PERMA-BANNATO!!!");
  53.                 Kick(playerid);
  54.             }
  55.         }
  56.         fclose(sfile);
  57.     }
  58.     return 1;
  59. }
  60. public OnPlayerCommandText(playerid, cmdtext[])
  61. {
  62.     new
  63.         cmd[256], idx;
  64.     cmd = strtok(cmdtext, idx);
  65.  
  66.     if(strcmp(cmd, "/serialban", true) == 0)
  67.     {
  68.         new tmp[30];
  69.         tmp = strtok(cmdtext, idx);
  70.         new targetid = strval(tmp);
  71.         new serial[164];
  72.         gpci(targetid, serial, sizeof(serial));
  73.         new File:sfile = fopen("KSerialBan.txt", io_readwrite);
  74.         new sstring[162];
  75.         format(sstring, sizeof(sstring), "%s\n", serial);
  76.         fwrite(sfile, sstring);
  77.         fclose(sfile);
  78.         sstring[0] = EOS;
  79.         format(sstring, sizeof(sstring), "E' stato bannato il seriale: %s", serial);
  80.         SendClientMessage(playerid, COLOR_RED, sstring);
  81.         Kick(targetid);
  82.         return 1;
  83.     }
  84.     if(strcmp(cmd, "/sbannaseriale", true) == 0)
  85.     {
  86.         new tmp[30];
  87.         tmp = strtok(cmdtext, idx);
  88.         new serialid[164];
  89.         serialid = tmp;
  90.         if(!fexist("KSerialBan.txt")) return SendClientMessage(playerid, COLOR_RED, "Problemi con il file 'KSerialBan.txt'");
  91.         new File:sfile = fopen("KSerialBan.txt", io_readwrite);
  92.         new banstr[512], templine[1024];
  93.         while(fread(sfile, banstr)) strcat(templine, banstr);
  94.         fclose(sfile);
  95.         new index = strfind(templine, serialid);
  96.         if(index == -1) return SendClientMessage(playerid, COLOR_RED, "Seriale non presente o Errato...");
  97.         strdel(templine, index, index + SERIAL_LENGTH);
  98.         sfile = fopen("KSerialBan.txt", io_write);
  99.         fwrite(sfile, templine);
  100.         fclose(sfile);
  101.         SendClientMessage(playerid, COLOR_RED, "**INFO: Hai bannato il seriale numero:");
  102.         new sstring[128];
  103.         format(sstring, sizeof(sstring), "%s", serialid);
  104.         SendClientMessage(playerid, -1, sstring);
  105.         return 1;
  106.     }
  107.     if(strcmp(cmdtext, "/seriali", true) == 0)
  108.     {
  109.         if(!fexist("KSerialBan.txt")) return SendClientMessage(playerid, COLOR_RED, "Problemi con il file 'KSerialBan.txt'");
  110.         new banstr[512], File:file = fopen("KSerialBan.txt", io_read);
  111.         SendClientMessage(playerid, COLOR_RED, "_______SERIALI BANNATI_______");
  112.         if(file)
  113.         {
  114.             fread(file, banstr);
  115.             fclose(file);
  116.             if(strlen(banstr) < 2) return SendClientMessage(playerid, COLOR_RED, "Non sono presenti seriali BANNATI!");
  117.             file = fopen("KSerialBan.txt", io_read);
  118.             while(fread(file, banstr)) SendClientMessage(playerid, COLOR_RED, banstr);
  119.             fclose(file);
  120.         }
  121.         return 1;
  122.     }
  123.     return 0;
  124. }
  125. /* FINE */
Advertisement
Add Comment
Please, Sign In to add comment