[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 в начале используется как строка с именем забаненного игрока, чтобы не создавать лишних переменных.