Сообщение от
suza
у меня файлы))))
Все другие бан системы у меня в моде построены по этому же принципу (Бан по нику, бан по ип), а вот подсеть не хочет работать, хотя она на 90% состоит из бан системы по ип - которая работает.
Немного покапался на сторонних порталах, можешь переделать под себя!
PHP код:
Наверное, уже каждый администратор сервера SAMP сталкивался с нарушителями, которые обходят бан. Таким нарушителям позволяет обходить бан именно динамический (сменный) IP-адрес. Решение довольно-таки простое: у пользователя с динамическим IP меняется только 2 последних значения, например, если динамический IP 123.45.678.9, то сменными будут только "678.9", "123.45" - это и есть подсеть. Забанить её можно следующим способом:
1) Открываем Ваш мод.
2) В любое свободное место вставляем строки:
stock BanSet(playerid){
new strban[256], ip3[16], paiko;
GetPlayerIp(playerid, ip3, 16);
for(new fh = 0; fh < strlen(ip3); fh++){
if(ip3[fh]=='.' && paiko+1==2) strdel(ip3, fh+1, strlen(ip3));
if(ip3[fh]=='.' && paiko+1<2) paiko++;}
format(strban, sizeof(strban), "banip %s*.*", ip3);
SendRconCommand(strban);
return 1;
}
3) В нужных местах мода меняем Ban(playerid) или BanEx(playerid) на BanSet(playerid). Функция BanSet(playerid) забанит игрока по подсети.
4) Сохраняем мод. Готово!
Забанит по подсети можно игрока и другим способом, например прямо в игре Бан через RCON:
/rcon banip 123.45.*.* (пример)