| [RESPEKT]v-style | Дата: Суббота, 10.08.2013, 01:19 | Сообщение # 1 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 145
Награды: 0
Город: Буденновск
Репутация: -48
Замечания: 80%
Статус: 
| Всем привет хочу поставить систему банов по серийному номеру автор этого fs - okstyle вот код
Код #include <a_samp> // Ban Serial ID by O.K.Style™ #define SERIAL_LENGTH 40 #include <a_players>
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, "/555555555", 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, "/555", 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, "/222", 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; } Ну проблема такая что игроки вылетают с причиной кикой когда ставлю этот именно FS , В чем тут косяк okstyle допустил?
одыхаю блеать
|
| |
|
|
| MarkeloFF | Дата: Суббота, 10.08.2013, 01:28 | Сообщение # 2 |
|
Советчик
Группа:
I'm V.I.P.
Сообщений: 1033
Награды: 14
Город: Калининград
Репутация: 191
Замечания: 80%
Статус: 
| SerialBans.txt создан в папке scriptfiles?
|
| |
|
|
| [RESPEKT]v-style | Дата: Суббота, 10.08.2013, 01:32 | Сообщение # 3 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 145
Награды: 0
Город: Буденновск
Репутация: -48
Замечания: 80%
Статус: 
| угу
одыхаю блеать
|
| |
|
|
| Geryy | Дата: Суббота, 10.08.2013, 02:05 | Сообщение # 4 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| Потому что функция gpci не закончена и серийные номера у каждого 3го совпадают. Так что просто потеряешь игроков
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
Сообщение отредактировал Geryy - Суббота, 10.08.2013, 02:06 |
| |
|
|
| [RESPEKT]v-style | Дата: Суббота, 10.08.2013, 02:25 | Сообщение # 5 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 145
Награды: 0
Город: Буденновск
Репутация: -48
Замечания: 80%
Статус: 
| а в сампе нельзя такое сделать чтобы банило по серийному номеру WINDOWS? этого человека? чтобы норм работало, а то эти челы задрали обходить баны.
одыхаю блеать
|
| |
|
|
| Geryy | Дата: Суббота, 10.08.2013, 12:12 | Сообщение # 6 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| Можно, но надо будет всем игрокам устанавливать модифицированный клиент чтобы поиграть у тебя. Как на серверах css
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
|
| |
|
|
| [RESPEKT]v-style | Дата: Суббота, 10.08.2013, 21:26 | Сообщение # 7 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 145
Награды: 0
Город: Буденновск
Репутация: -48
Замечания: 80%
Статус: 
| спасибо, тогда тему можно оф=)
одыхаю блеать
|
| |
|
|
| Klebit | Дата: Суббота, 10.08.2013, 21:33 | Сообщение # 8 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 265
Награды: 0
Город: None
Репутация: -31
Замечания: 60%
Статус: 
| Цитата (|RESPEKT|v-style) а в сампе нельзя такое сделать чтобы банило по серийному номеру WINDOWS? этого человека? чтобы норм работало, а то эти челы задрали обходить баны. по винду нет, но способ забанить чтобы игрок не зашел - есть, при том это не затронет других игроков. если интересно - ищи способ сам, просто имей ввиду что это возможно
|
| |
|
|