/* ________________________________________________________________________________ KSerialBan System Created by Killaman for SA-MP 0.3e ________INFO: Aggiungere all'interno del file a_players.inc questa linea: native gpci(playerid, serial[], len); ________________________________________________________________________________ */ #pragma tabsize 0 /* INCLUDES */ #include /* DEFINES */ #define SERIAL_LENGTH 40 /* COLORI */ #define COLOR_RED 0xFF0000AA /* STOCKS */ stock strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) index++; new offset = index, result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } /* CODE */ public OnPlayerConnect(playerid) { new serialid[164], File:sfile = fopen("KSerialBan.txt", io_read); if(!fexist("KSerialBan.txt")) return 1; gpci(playerid, serialid, sizeof(serialid)); if(sfile) { new banstr[512]; while(fread(sfile, banstr)) { if(strfind(banstr, serialid) != -1) { SendClientMessage(playerid, COLOR_RED, "** INFO: Questo account รจ PERMA-BANNATO!!!"); Kick(playerid); } } fclose(sfile); } return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256], idx; cmd = strtok(cmdtext, idx); if(strcmp(cmd, "/serialban", true) == 0) { new tmp[30]; tmp = strtok(cmdtext, idx); new targetid = strval(tmp); new serial[164]; gpci(targetid, serial, sizeof(serial)); new File:sfile = fopen("KSerialBan.txt", io_readwrite); new sstring[162]; format(sstring, sizeof(sstring), "%s\n", serial); fwrite(sfile, sstring); fclose(sfile); sstring[0] = EOS; format(sstring, sizeof(sstring), "E' stato bannato il seriale: %s", serial); SendClientMessage(playerid, COLOR_RED, sstring); Kick(targetid); return 1; } if(strcmp(cmd, "/sbannaseriale", true) == 0) { new tmp[30]; tmp = strtok(cmdtext, idx); new serialid[164]; serialid = tmp; if(!fexist("KSerialBan.txt")) return SendClientMessage(playerid, COLOR_RED, "Problemi con il file 'KSerialBan.txt'"); new File:sfile = fopen("KSerialBan.txt", io_readwrite); new banstr[512], templine[1024]; while(fread(sfile, banstr)) strcat(templine, banstr); fclose(sfile); new index = strfind(templine, serialid); if(index == -1) return SendClientMessage(playerid, COLOR_RED, "Seriale non presente o Errato..."); strdel(templine, index, index + SERIAL_LENGTH); sfile = fopen("KSerialBan.txt", io_write); fwrite(sfile, templine); fclose(sfile); SendClientMessage(playerid, COLOR_RED, "**INFO: Hai bannato il seriale numero:"); new sstring[128]; format(sstring, sizeof(sstring), "%s", serialid); SendClientMessage(playerid, -1, sstring); return 1; } if(strcmp(cmdtext, "/seriali", true) == 0) { if(!fexist("KSerialBan.txt")) return SendClientMessage(playerid, COLOR_RED, "Problemi con il file 'KSerialBan.txt'"); new banstr[512], File:file = fopen("KSerialBan.txt", io_read); SendClientMessage(playerid, COLOR_RED, "_______SERIALI BANNATI_______"); if(file) { fread(file, banstr); fclose(file); if(strlen(banstr) < 2) return SendClientMessage(playerid, COLOR_RED, "Non sono presenti seriali BANNATI!"); file = fopen("KSerialBan.txt", io_read); while(fread(file, banstr)) SendClientMessage(playerid, COLOR_RED, banstr); fclose(file); } return 1; } return 0; } /* FINE */