SA-MP Forums Archive
[FilterScript] [FS] Временный бан по нику - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+----- Forum: Релизы/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=66)
+----- Thread: [FilterScript] [FS] Временный бан по нику (/showthread.php?tid=137226)

Pages: 1 2


[FS] Временный бан по нику - MX_Master - 28.03.2010

[FS] Временный бан по нику
28/03/2010
06/04/2010
Предупреждение:
- FS работает на сервере версии 0.3a R5 и выше, т.к. ранее функция fseek правильно не работала.

Описание:
- Это простой на вид, но очень полезный фильтрскрипт, который позволяет админам банить ники игроков на определенное кол-во часов.
- Скрипт использует текстовый файл для хранения ников, дат разбана и причин бана.
Файл очищается от истекших банов автоматически каждые 47 мин. После очистки в лог сервера выводится инфо.
- При получении бана игрок получает уведомление в чате и кик. В лог сервера выводится инфо о забаненном нике.

- Если кол-во часов не указывать, то бан будет на 12 часов.
- Если причину не указывать, то причина будет "причина не указана".
- Можно забанить и себя.

Как использовать:
- нужно быть ркон админом
- нужно использовать команду чата: /tempban [ID игрока] [кол-во часов] [причина бана]

Скачать:
- pastebin: http://pawn.pastebin.com/EEzWb3m3
- zip архив с PWN / AMX прилеплен к посту


Re: [FS] Временный бан по нику - ^Woozie^ - 28.03.2010

Интересный скрипт, сделаю свой аналог но на sql.


Re: [FS] Временный бан по нику - ONIXS - 28.03.2010

Вроде как сервер должно крашнуть если файла не будет найдено
Quote:

new File: banFile = fopen( tempBanFile, io_read );




Re: [FS] Временный бан по нику - ^Woozie^ - 28.03.2010

нет, создаст новый.


Re: [FS] Временный бан по нику - MX_Master - 28.03.2010

Quote:
Originally Posted by On1xS
Вроде как сервер должно крашнуть если файла не будет найдено
Quote:

new File: banFile = fopen( tempBanFile, io_read );

верно, упустил проверку на существование файла

добавлен код
Code:
if ( !fexist(tempBanFile) ) return 0;



Re: [FS] Временный бан по нику - DeaD_MaN - 31.03.2010

а как сделать временный мут?? на 5 минут наприме (ladmin)


Re: [FS] Временный бан по нику - BaRRyS3R - 31.03.2010

Мутиш игрока, создаешь ему таймер, и паблик через который произойдет автоматический анмут через заданное время.


Re: [FS] Временный бан по нику - slikki - 31.03.2010

del


Re: [FS] Временный бан по нику - fantomled - 05.04.2010

Переделайте пожалуйста чтоб и причину можно было вписывать, сам пробую никак не получается


Re: [FS] Временный бан по нику - MX_Master - 05.04.2010

Quote:
Originally Posted by fantomled
Переделайте пожалуйста чтоб и причину можно было вписывать, сам пробую никак не получается
по-конкретней. Варианты, желаемого тобой, нововведения могут быть очень разными.


Re: [FS] Временный бан по нику - BaRRyS3R - 05.04.2010

Он имеет в виду /ban id reason ну на пример /ban 5 God Mode


Re: [FS] Временный бан по нику - fantomled - 05.04.2010

MX_Master, Вот так /tempban [id] [время] [причина]


Re: [FS] Временный бан по нику - MX_Master - 05.04.2010

Quote:
Originally Posted by fantomled
MX_Master, Вот так /tempban [id] [время] [причина]
- Причина должна тоже записываться в файл временных банов?
Если да, то придется добавить при входе забаненного игрока сообщение с причиной бана.

- Причина должна просто быть показана игроку без записи в файл временных банов?


Re: [FS] Временный бан по нику - fantomled - 05.04.2010

Quote:
Originally Posted by MX_Master
- Причина должна тоже записываться в файл временных банов?
Если да, то придется добавить при входе забаненного игрока сообщение с причиной бана.

- Причина должна просто быть показана игроку без записи в файл временных банов?
Желательно пусть причина тоже записывается в файл временных банов.


Re: [FS] Временный бан по нику - MX_Master - 05.04.2010

оке, сделаемсЪ


Re: [FS] Временный бан по нику - fantomled - 05.04.2010

MX_Master, Спасибо большое заранее!


Re: [FS] Временный бан по нику - MX_Master - 05.04.2010

Quote:
Originally Posted by fantomled
MX_Master, Спасибо большое заранее!
1 пост обновлен


Re: [FS] Временный бан по нику - fantomled - 05.04.2010

Quote:
Originally Posted by MX_Master
Quote:
Originally Posted by fantomled
MX_Master, Спасибо большое заранее!
1 пост обновлен
Спасибо тебе большое!!!


Re: [FS] Временный бан по нику - fantomled - 06.04.2010

А не подскажете как сделать так чтобы писало всем "Такойта_Такойта забанен администратором Такимто_Такимто, причина: такаета"
Я делаю так:
if ( tempBanPlayer( id, playerid, hours, reason ) )
{
new plName[24], admName[24];
new reportStr[160];
GetPlayerName( id, reportStr, 24 );
GetPlayerName(playerid, admName, sizeof(admName));
GetPlayerName( playerid, plName, 24 );
format( reportStr, 160, " * %s забанен администратором %s, причина: %s", plName, admName, reason );

SendClientMessageToAll( COLOR_LIGHTRED, reportStr );
}

Но мне пишет, "Админ_Такойта забанен администратором Такимто_Такимто, причина: такаета", тоесть показывает что админ банит сам себя.
Пробовал и GetPlayerName( giveplayerid, plName, 24 ); место GetPlayerName( playerid, plName, 24 );

Помогите пожалуйста.


Re: [FS] Временный бан по нику - MX_Master - 07.04.2010

Code:
if ( tempBanPlayer( id, playerid, hours, reason ) )
{
  new reportStr[128], adminName[24];
  GetPlayerName( id, reportStr, 24 );
  GetPlayerName( playerid, adminName, 24 );

  format( reportStr, 128, " * %s (id:%d) забанен админом %s (id:%d) на %d час(ов)", reportStr, id, adminName, playerid, hours, reason );
  SendClientMessageToAll( 0xFF0000AA, reportStr );

  format( reportStr, 128, "  Причина: %s", reason );
  SendClientMessageToAll( 0xFF0000AA, reportStr );
}
else
  SendClientMessage( playerid, 0xFFFFFFAA, " * Ошибка записи в файл при добавлении нового временного бана" );
reportStr в начале используется как строка с именем забаненного игрока, чтобы не создавать лишних переменных.