SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Русский/Russian > Релизы/Releases

Reply
 
Thread Tools Display Modes
Old 29/01/2012, 10:33 AM   #1
Splav
Big Clucker
 
Join Date: Jan 2011
Posts: 133
Reputation: 2
Default Бан-система по дням [MySQL] - R2

Решил сделать систему бана по дням на MySQL

Аналогичный скрипт на SQLite:
http://forum.sa-mp.com/showthread.php?t=314294



Описание системы

1. Система основана на MySQL. У вас большие возможности при работе с ней - можно сделать разбан / бан аккаунтов на сайте, можно сделать банлог на вашем форуме, можно подключаться к БД с любой точки мира (где есть Интернет)

2. Баны даются по дням командой /ban [ID игрока][Срок бана в днях][Причина]

3. Присутствует команда для разбана игроков: /unban [Ник игрока]

4. Имеется банлист: /banlist . В нем можно посмотреть список забаненных игроков (клик по игроку, и увидите подробную информацию о бане), через него можно производить разбаны

5. Есть команда /cbanlist для удаления из банлиста тех игроков, чей срок бана уже вышел.
Примечание: Если срок бана истек, игрок без проблем может зайти на сервер, однако он останется в банлисте

6. Все баны идут на ник и IP адрес. Данная защита (по нику и IP) лучшая на данный момент в сампе.
Примечание: бан по подсети не в счет. Мое мнение - те, кто банят подсеть, себе хуже делают, т.к. это бан свыше 65к компьютеров

7. Когда забаненный игрок заходит на сервер, он сразу же проверяется на бан (т.е. еще до момента авторизации)


Обновление (R2)

1. Созданы дефайны для ID'ов диалогов. Теперь вы легко можете изменить ид диалога (банлиста / разбана) на удобный для вас
2. Бан теперь задается через UNIX-время
3. Исправлены некоторые баги / недоработки



Установка:

1. Скачать архив по ссылке ниже
2. Кинуть инклюды из pawno/include в pawno/include (в вашей папке с сервером), если их у вас нет
3. Кинуть BanSystem.amx из filterscripts в filterscripts в вашей папке с сервером
4. Переместить плагины из plugins в plugins в вашей папке с сервером
5. В server.cfg вписать:
Quote:
filterscripts BanSystem
plugins sscanf mysql
6. На вашей Базе Данных создать таблицу bans (DDL код в SQL/bans.sql)
7. В BanSystem.pwn (вверху) настроить данные вашей БД (ник, пароль, хост и т.д.)


Скачать свежие версии можно здесь


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

Last edited by Splav; 29/01/2012 at 01:33 PM.
Splav is offline   Reply With Quote
Old 29/01/2012, 11:02 AM   #2
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,738
Reputation: 138
Default Re: Бан-система по дням [MySQL]

Quote:
Originally Posted by Splav View Post
MySQL не является бесплатным.
спасибо посмеялся
Дайте пруфлинк туда где вы нашли платный мускул?!

Если не верите: MySQL
Quote:
Лицензия GNU General Public License
Страница скачивания, даже регистрации не просит: Download MySQL Community Server

PS у него даже исходные коды доступны
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 29/01/2012, 11:06 AM   #3
Splav
Big Clucker
 
Join Date: Jan 2011
Posts: 133
Reputation: 2
Default Re: Бан-система по дням [MySQL]

Сорь, оговорился

Я хотел сказать, что чтобы саму Базу Данных арендовать платить нужно
Splav is offline   Reply With Quote
Old 29/01/2012, 11:07 AM   #4
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,738
Reputation: 138
Default Re: Бан-система по дням [MySQL]

Quote:
Originally Posted by Splav View Post
Я хотел сказать, что чтобы саму Базу Данных арендовать платить нужно
да ну?! Это кому это платить надо за то что я размещаю на своих компах/серверах?
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 29/01/2012, 11:09 AM   #5
Splav
Big Clucker
 
Join Date: Jan 2011
Posts: 133
Reputation: 2
Default Re: Бан-система по дням [MySQL]

Я имел в виду не локальные и не размещаемые У СЕБЯ на сервере...

P.S. Вам что, лишь бы придраться к чему-нибудь?

Лучше вообще удалю этот абзац
Splav is offline   Reply With Quote
Old 29/01/2012, 11:13 AM   #6
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,738
Reputation: 138
Default Re: Бан-система по дням [MySQL]

Нет, учу писать только по сути, и не вставлять в текст лишнюю ни кому не нужную информацию.
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 29/01/2012, 11:14 AM   #7
Splav
Big Clucker
 
Join Date: Jan 2011
Posts: 133
Reputation: 2
Default Re: Бан-система по дням [MySQL]

Quote:
Originally Posted by Stepashka View Post
Нет, учу писать только по сути, и не вставлять в текст лишнюю ни кому не нужную информацию.
А, ну ок Удалил
Splav is offline   Reply With Quote
Old 29/01/2012, 11:25 AM   #8
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,738
Reputation: 138
Exclamation Re: Бан-система по дням [MySQL]

Замечания:
Quote:
Originally Posted by Splav View Post
6. На вашей Базе Данных создать таблицу bans (DDL код в SQL/bans.sql)
7. В BanSystem.pwn (вверху) настроить данные вашей БД (ник, пароль, хост и т.д.)
а имя БД нельзя сделать опционально-настраиваемым?


Code:
    mysql_set_charset("cp1251_general_ci");
	mysql_query("SET NAMES 'cp1251'");
	mysql_query("SET CHARACTER SET 'cp1251'");
Упаси боже, правь быстрее этот ужас, на дворе 21 век и использовать cp1251 это смертный грех!

Code:
public OnPlayerCommandText(playerid, cmdtext[])
{
	...
	return 1;
}
Команды в моде работать не будут!

Я даже боюсь представить что будет со скриптом в районе дат декабрь-январь, ожидаемо:
"Вы будете забанены примерно через 12 месяцев, а разбанены тоже через это время + срок бана, если конечно разработчик соизволит исправить проблему с датами, в противном случае история повторится! =("

Code:
if(ban) goto banLabel;
фу, ФУ! Забудь данную функция и никогда о ней не вспоминай!


dialogid вынеси в DEFINE чтобы не искать сей параметр по коду! А то я думаю что ID 500 часто встречаемый номер, из-за своей простоты и привлекательности.
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 29/01/2012, 11:29 AM   #9
Splav
Big Clucker
 
Join Date: Jan 2011
Posts: 133
Reputation: 2
Default Re: Бан-система по дням [MySQL]

Stepashka, спасибо за замечания. Исправлю

Имя БД также можно настроить. Там есть макрос для него. DBNAME вроде

Только вопросик: почему goto лучше не использовать? И что вместо нее использовать, чтобы сразу перейти на нужный участок кода
Splav is offline   Reply With Quote
Old 29/01/2012, 11:30 AM   #10
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,738
Reputation: 138
Default Re: Бан-система по дням [MySQL]

http://ru.wikipedia.org/wiki/GOTO раздел критика.
http://ru.wikipedia.org/wiki/Спагетти-код

Code:
if(!ban) {
...
}
конец
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Нужна система регистрации Kopr1zz Русский/Russian 7 11/12/2010 03:24 PM
Система Домов sk47 Русский/Russian 16 07/10/2010 03:06 PM


All times are GMT. The time now is 03:36 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.