Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- // Ban Serial ID by O.K.Style™
- #define SERIAL_LENGTH 40
- /*
- add line: native gpci(playerid, serial[], len); to a_players.inc
- */
- public OnPlayerConnect(playerid)
- {
- if(!fexist("SerialBans.txt")) return 1;
- new serialid[164];
- gpci(playerid, serialid, sizeof(serialid));
- new File:sfile = fopen("SerialBans.txt", io_read);
- if(sfile)
- {
- new banstr[512];
- while(fread(sfile, banstr))
- {
- if(strfind(banstr, serialid) != -1)
- {
- SendClientMessage(playerid, 0x6EF83CFF, "Ваш {FFFFFF}Serial ID {6EF83C}забанен на этом сервере.");
- Kick(playerid);
- }
- }
- fclose(sfile);
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256], idx;
- cmd = strtok(cmdtext, idx);
- if(strcmp(cmd, "/sban", 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("SerialBans.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), "Вы забанили серийный номер {FFFFFF}%s", serial);
- SendClientMessage(playerid, 0x6EF83CFF, sstring);
- Kick(targetid);
- return 1;
- }
- if(strcmp(cmd, "/sunban", true) == 0)
- {
- new tmp[30];
- tmp = strtok(cmdtext, idx);
- new serialid[164];
- serialid = tmp;
- if(!fexist("SerialBans.txt")) return SendClientMessage(playerid, 0x6EF83CFF, "На сервере нет забаненных {FFFFFF}Serial ID");
- new File:sfile = fopen("SerialBans.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, 0x6EF83CFF, "На этом сервере данный {FFFFFF}Serial ID {6EF83C}не забанен.");
- strdel(templine, index, index + SERIAL_LENGTH);
- sfile = fopen("SerialBans.txt", io_write);
- fwrite(sfile, templine);
- fclose(sfile);
- SendClientMessage(playerid, 0x6EF83CFF, "Вы разабанили серийный номер:");
- new sstring[128];
- format(sstring, sizeof(sstring), "{FFFFFF}%s", serialid);
- SendClientMessage(playerid, -1, sstring);
- return 1;
- }
- if(strcmp(cmdtext, "/serials", true) == 0)
- {
- if(!fexist("SerialBans.txt")) return SendClientMessage(playerid, 0x6EF83CFF, "На сервере нет забаненных {FFFFFF}Serial ID");
- new banstr[512], File:file = fopen("SerialBans.txt", io_read);
- SendClientMessage(playerid, -1, "{6EF83C}Список забаненых серийных номеров:");
- if(file)
- {
- fread(file, banstr);
- fclose(file);
- if(strlen(banstr) < 2) return SendClientMessage(playerid, 0xFFFFFFFF, "Список пуст");
- file = fopen("SerialBans.txt", io_read);
- while(fread(file, banstr)) SendClientMessage(playerid, 0xFFFFFFFF, banstr);
- fclose(file);
- }
- return 1;
- }
- return 0;
- }
- 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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement