PDA

Просмотр полной версии : [Вопрос] По авторазбану IP.



Kenny_Dalglish
13.05.2014, 20:13
Вот так у меня разбанивает аккаунты:


if(h == 00 && m == 15 && s == 0)
{
new query[200];
format(query, sizeof(query), "UPDATE `test` SET `Bandays`=`BanDays`-1 WHERE `BanDays`>0");
print("[Внимание]: Произошел авторазбан аккаунтов.");
mysql_function_query(MYSQL_ARG, query, true, "","");
}

Вот так банит IP:


mysql_format(MYSQL_ARG, asd, 90, "INSERT INTO `BanIP` (`IP`) VALUE ('%s')", ip);
mysql_function_query(MYSQL_ARG, asd, true, "", "");

Как сделать что бы по окончанию срока удаляло IP у кого 0 дней?

Kenny_Dalglish
14.05.2014, 11:27
UP UP UP!

DeimoS
14.05.2014, 11:45
24 часа не прошло -_- Соблюдайте правила, иначе вам тут из принципа помогать не будут. Соблюдая правила вы уважаете остальных, ибо то же правило "UP раз в 24 часа" позволяет не только вашей теме быть в топе, но и темам других людей. В общем, мой посыл, надеюсь, ясен.

Теперь по поводу разбана. Делайте проверку при входе. Если текущее время/дата больше, чем время/дата разбана - снимайте бан и пропускайте на сервер

Kenny_Dalglish
14.05.2014, 11:48
24 часа не прошло -_- Соблюдайте правила, иначе вам тут из принципа помогать не будут. Соблюдая правила вы уважаете остальных, ибо то же правило "UP раз в 24 часа" позволяет не только вашей теме быть в топе, но и темам других людей. В общем, мой посыл, надеюсь, ясен.

Теперь по поводу разбана. Делайте проверку при входе. Если текущее время/дата больше, чем время/дата разбана - снимайте бан и пропускайте на сервер

А нельзя сделать что бы в if(h == 00 && m == 15 && s == 0) автоматически удаляло IP бана вместе с убавлением дней бана?

DeimoS
14.05.2014, 11:51
А нельзя сделать что бы в if(h == 00 && m == 15 && s == 0) автоматически удаляло IP бана вместе с убавлением дней бана?

Сделать то можно всё, но какой в этом смысл? Вы при входе проверяете аккаунт в списке забаненных, так почему бы сразу и не проверить дату разбана + не удалить аккаунт из бана, если что? Для чего заставлять сервер совершать бессмысленные действия?

Kenny_Dalglish
14.05.2014, 11:52
Сделать то можно всё, но какой в этом смысл? Вы при входе проверяете аккаунт в списке забаненных, так почему бы сразу и не проверить дату разбана + не удалить аккаунт из бана, если что? Для чего заставлять сервер совершать бессмысленные действия?

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

DeimoS
14.05.2014, 11:55
Да потому что, мне надо что бы все аккаунты разбанивались в определено время.

Хмм, глупо делать бан с указанием индивидуального времени разбана и после разбанивать ВСЕХ в определённое время. Ну тут придётся переписывать всю систему бана, скорее всего. Иначе забаните вы в 23:59 человека на час и через минуту его уже разбанит

Kenny_Dalglish
14.05.2014, 12:01
Хмм, глупо делать бан с указанием индивидуального времени разбана и после разбанивать ВСЕХ в определённое время. Ну тут придётся переписывать всю систему бана, скорее всего. Иначе забаните вы в 23:59 человека на час и через минуту его уже разбанит

Ну это не так сейчас важно, как сделать что бы удаляло из таблицы если 0 дней?

DeimoS
14.05.2014, 12:08
DELETE FROM `test` WHERE `BanDays` = 0
Но как же это глупо и нелогично...

Kenny_Dalglish
14.05.2014, 12:21
DELETE FROM `test` WHERE `BanDays` = 0
Но как же это глупо и нелогично...
Сам бан храниться в аккаунтах а под IP другая таблица


mysql_format(MYSQL_ARG, asd, 90, "INSERT INTO `BanIP` (`IP`) VALUE ('%s')", ip);
mysql_function_query(MYSQL_ARG, asd, true, "", "");

`BanIP` а таблица `test` вы что аккаунты собираетесь удаляет?

DeimoS
14.05.2014, 12:24
Сам бан храниться в аккаунтах а под IP другая таблица


mysql_format(MYSQL_ARG, asd, 90, "INSERT INTO `BanIP` (`IP`) VALUE ('%s')", ip);
mysql_function_query(MYSQL_ARG, asd, true, "", "");

`BanIP` а таблица `test` вы что аккаунты собираетесь удаляет?
Я оперировал теми данными, что дали вы. Я дал вам макет, а уж дальше вы сами подгоните под свои данные запрос

Kenny_Dalglish
14.05.2014, 12:32
Я оперировал теми данными, что дали вы. Я дал вам макет, а уж дальше вы сами подгоните под свои данные запрос

Я вроде нормально все дал... Ибо я не знаю как проверить из одной таблицы что
BanDays = 0 и потом удалять из другой таблицы...

DeimoS
14.05.2014, 12:50
Я вроде нормально все дал... Ибо я не знаю как проверить из одной таблицы что
BanDays = 0 и потом удалять из другой таблицы...

Так зачем время бана хранить отдельно от таблицы с забаненными? =\ Для чего существует поле AUTO_INCREMENT, которое обычно обзывают "ID" в таблицах? Время бана переместите в таблицу с банами и добавьте туда столбец, в котором будет храниться ID аккаунта забаненного. Таким образом и отслеживайте его.

Ну а иначе придётся сначала выгружать всех забаненных в кэш, сохранять нужных в переменных и потом только отсылать запрос в БД. А если сделать всё так, как описал выше, всё уместиться в один запрос.

И да, научитесь работать с БД. Таким подходом вы херите все плюсы, которые имеет БД над файлами.

Kenny_Dalglish
14.05.2014, 12:53
Так зачем время бана хранить отдельно от таблицы с забаненными? =\ Для чего существует поле AUTO_INCREMENT, которое обычно обзывают "ID" в таблицах? Время бана переместите в таблицу с банами и добавьте туда столбец, в котором будет храниться ID аккаунта забаненного. Таким образом и отслеживайте его.

Ну а иначе придётся сначала выгружать всех забаненных в кэш, сохранять нужных в переменных и потом только отсылать запрос в БД. А если сделать всё так, как описал выше, всё уместиться в один запрос.

И да, научитесь работать с БД. Таким подходом вы херите все плюсы, которые имеет БД над файлами.
И как я перенису переносить переменную pBanned?

DeimoS
14.05.2014, 12:59
И как я перенису переносить переменную pBanned?

Из таблицы с аккаунтами столбец удалить и в таблице с банами столбец создать. Далее переделать все запросы и всё.
Как же вы работаете с MySQL то, если таких элементарных вещей не знаете? Уж уроков по MySQL в интернете достаточно...

Kenny_Dalglish
14.05.2014, 13:04
Из таблицы с аккаунтами столбец удалить и в таблице с банами столбец создать. Далее переделать все запросы и всё.
Как же вы работаете с MySQL то, если таких элементарных вещей не знаете? Уж уроков по MySQL в интернете достаточно...

http://rghost.ru/55145454.view верно?

DeimoS
14.05.2014, 13:05
Если баните только по IP - да

Kenny_Dalglish
14.05.2014, 13:06
Если баните только по IP - да

А щяс ещё ник надо да?

DeimoS
14.05.2014, 13:08
А щяс ещё ник надо да?

Всё зависит от того, как вы в OnPlayerConnect ищите игрока в списке забаненных. Если после загрузки аккаунта - можно по ID аккаунта искать. Если до - по нику

Kenny_Dalglish
14.05.2014, 13:14
Всё зависит от того, как вы в OnPlayerConnect ищите игрока в списке забаненных. Если после загрузки аккаунта - можно по ID аккаунта искать. Если до - по нику

До конекта http://rghost.ru/55145608.view.
Можете показать запрос как записывать в базу, при команде бан? - Просто запрос.
И 2 запрос из коннекта проверку на бан...

DeimoS
14.05.2014, 15:46
До конекта http://rghost.ru/55145608.view.
Можете показать запрос как записывать в базу, при команде бан? - Просто запрос.
И 2 запрос из коннекта проверку на бан...
Охх, срочно идите и разбирайтесь с тем, как работать с БД. Иначе лучше переписывайте мод на файлы. С ними проблем будет гораздо меньше при неверном использовании.
1) Точно так же, как и при добавлении любого другого поля

INSERT INTO `Имя_Таблицы` (`Столбец_1`, `Столбец_2`/*и т.д.*/) VALUE ('Поле_для_данных_в_столбец_1', 'Поле_для_данных_в_столбец_2', /*и т.д.*/)
2) Зависит от системы, по которой вы баните. Если используете Unix Time

SELECT * FROM `Имя_Таблицы` WHERE `Столбец_С_Датой_разбана` <= 'Сюда_выводим_текущую_дату_из_gettime'

Kenny_Dalglish
14.05.2014, 15:55
Охх, срочно идите и разбирайтесь с тем, как работать с БД. Иначе лучше переписывайте мод на файлы. С ними проблем будет гораздо меньше при неверном использовании.
1) Точно так же, как и при добавлении любого другого поля

INSERT INTO `Имя_Таблицы` (`Столбец_1`, `Столбец_2`/*и т.д.*/) VALUE ('Поле_для_данных_в_столбец_1', 'Поле_для_данных_в_столбец_2', /*и т.д.*/)
2) Зависит от системы, по которой вы баните. Если используете Unix Time

SELECT * FROM `Имя_Таблицы` WHERE `Столбец_С_Датой_разбана` <= 'Сюда_выводим_текущую_дату_из_gettime'


CMD:ban(playerid, params[])
{
new string[128], ip[15];
if(PI[playerid][pAdmin] < 3) return true;
if(sscanf(params, "dds[128]", params[0], params[1],params[2])) return SendClientMessage(playerid, COLOR_GREY228, "Используйте: /ban [ID] [кол-во дней] [причина]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, COLOR_GREY228, "Введеный вами ID не найден на сервере");
if(params[1] > 30 || params[1] < 1) return SendClientMessage(playerid, COLOR_GREY228, "Количество дней от 1 до 30 дней!");
if(params[0] == playerid) return SendClientMessage(playerid, COLOR_GREY228, "Вы указали свой ID!");
new player[32],admin[32];
GetPlayerName(params[0], player, sizeof(player));
GetPlayerName(playerid, admin, sizeof(admin));
GetPlayerIp(params[0], ip,sizeof(ip));
if(PlayerInfo[params[0]][pAdmin] == 3)
{
PlayerInfo[playerid][pAdmin] = 0;
SendClientMessage(playerid, COLOR_KICK, "Вы попытались забанить администратора, за что бы ли сняты!");
KickNew(playerid);
return true;
}
PI[params[0]][pBanned] = params[1];
format(string, sizeof(string), "Администратор %s забанил игрока %s на %d дней. Причина: %s", admin, player, params[1],params[2]);
SendClientMessageToAll(COLOR_KICK, string);
mysql_format(MYSQL_ARG, asd, 90, "INSERT INTO `BanIP` (`IP`) VALUE ('%s')", ip);
mysql_function_query(MYSQL_ARG, asd, true, "", "");
KickNew(params[0]);
return true;
}

Kenny_Dalglish
14.05.2014, 17:06
Сделал проверку в OnPlayerConnect.


new IP[16];
GetPlayerIp(playerid, IP, 16);
mysql_format(MYSQL_ARG, asd, 90, "SELECT * FROM `BanIP` WHERE `Name` = '%e' AND `IP` = '%s' LIMIT 1", pData[playerid][pName],IP);
mysql_function_query(MYSQL_ARG, asd, true, "CheckPlayerBanIP", "i", playerid);

Ну успевает ещё вызваться регестрация

DeimoS
14.05.2014, 17:32
Сделал проверку в OnPlayerConnect.


new IP[16];
GetPlayerIp(playerid, IP, 16);
mysql_format(MYSQL_ARG, asd, 90, "SELECT * FROM `BanIP` WHERE `Name` = '%e' AND `IP` = '%s' LIMIT 1", pData[playerid][pName],IP);
mysql_function_query(MYSQL_ARG, asd, true, "CheckPlayerBanIP", "i", playerid);

Ну успевает ещё вызваться регестрация

Ну так вызов регистрации делайте после проверки в базе данных с банами. Разве догадаться до этого самостоятельно нельзя? Сейчас многое придётся переписывать, если структура мода была написана заранее

Kenny_Dalglish
14.05.2014, 17:36
Вверх OnPlayerConnect стоит вызыв поверки на IP перевея чем запуск на проверку аккаунта.



new IP[16];
GetPlayerIp(playerid, IP, 16);
mysql_format(MYSQL_ARG, asd, 90, "SELECT * FROM `BanIP` WHERE `Name` = '%e' AND `IP` = '%s' LIMIT 1", pData[playerid][pName],IP);
mysql_function_query(MYSQL_ARG, asd, true, "CheckPlayerBanIP", "i", playerid);
ckills[playerid] = 0;
PI[playerid][pLogged] = 0, PI[playerid][pBanned] = 0, PI[playerid][pKill] = 0, PI[playerid][pSmerti] = 0, PI[playerid][pAdmin] = 0, PI[playerid][pMuted] = 0, PI[playerid][pJailed] = 0, PI[playerid][pBonusParkour] = 0;
GetPlayerName(playerid, PI[playerid][pName], 24);
mysql_format(MYSQL_ARG, asd, 90, "SELECT `Name` FROM `"Baza"` WHERE `Name` = '%e'", PI[playerid][pName]);
mysql_function_query(MYSQL_ARG, asd, true, "Start_R_A","d", playerid);

DeimoS
14.05.2014, 17:45
Эмм, так запрос идёт в другом потоке -_- Запрос отправляется и сервер продолжает обрабатывать код паблика. В который раз повторяю, прочтите уже наконец о том, что такое MySQL и как с ним работать. Я тут не работаю бесплатным гайдом для людей, которые ленятся самостоятельно изучать инфу по появившимся вопросом. И в ваши темы я уже захожу нехотя, ибо вопросы вы задаёте элементарнейшие. Такими методами вам не стать скриптером (а уж программистом и подавно)

Код авторизации и весь код, который должен срабатывать только после того, как игрок прошёл проверку на бан, вставьте в колбэк, вызываемый в запросе к таблице забаненных.

Kenny_Dalglish
14.05.2014, 17:53
Эмм, так запрос идёт в другом потоке -_- Запрос отправляется и сервер продолжает обрабатывать код паблика. В который раз повторяю, прочтите уже наконец о том, что такое MySQL и как с ним работать. Я тут не работаю бесплатным гайдом для людей, которые ленятся самостоятельно изучать инфу по появившимся вопросом. И в ваши темы я уже захожу нехотя, ибо вопросы вы задаёте элементарнейшие. Такими методами вам не стать скриптером (а уж программистом и подавно)

Код авторизации и весь код, который должен срабатывать только после того, как игрок прошёл проверку на бан, вставьте в колбэк, вызываемый в запросе к таблице забаненных.
Не чего не понял...

DeimoS
14.05.2014, 17:55
Не чего не понял...

Потому что мат. часть не учим. При запросе в таблицу забаненных вызывается колбэк CheckPlayerBanIP. В него и помещайте весь код, который должен срабатывать после проверки (соответственно, после кода обработки запроса). Если и сейчас не поняли - дуйте изучать мат. часть, ибо это уже смешно

Kenny_Dalglish
14.05.2014, 17:57
Можно как то попроще не заумными словами...

- - - Добавлено - - -


Потому что мат. часть не учим. При запросе в таблицу забаненных вызывается колбэк CheckPlayerBanIP. В него и помещайте весь код, который должен срабатывать после проверки (соответственно, после кода обработки запроса). Если и сейчас не поняли - дуйте изучать мат. часть, ибо это уже смешно

CheckPlayerBanIP тоесть туда надо будет сунуть из конекта запрос на аккаунт?

DeimoS
14.05.2014, 17:59
Можно как то попроще не заумными словами...

- - - Добавлено - - -



CheckPlayerBanIP тоесть туда надо будет сунуть из конекта запрос на аккаунт?

Не только его. Уверен, что есть ещё какой-то код, который не нужен для забаненных игроков. Хотя вы, как я вижу, не особо паритесь по поводу оптимизации, так что можете ставить только авторизацию.
И какие же слова для вас заумные? Всё, о чём я сказал, взято именно из Pawn.

Kenny_Dalglish
14.05.2014, 18:25
Ой да и что я сделал? Вообще авторизация не вылазит...

- - - Добавлено - - -

Вот вроде нормально. Тему можно закрыть.

Kenny_Dalglish
15.05.2014, 13:47
Теперь другой вопрос появился как мне загрузить кол во дней из таблицы pBanned? Пример покажите..

Kenny_Dalglish
15.05.2014, 14:47
Аж страшно!
Kenny_Dalglish,
^_^,
Daniel_Cortez,
Osetin,
Seregamil,
DeimoS
Тему смотрят.

Kenny_Dalglish
15.05.2014, 16:15
if(PI[playerid][pBanned] > 0)
{
new stringa[128];
format(stringa,sizeof(stringa),"{ffffff}Этот аккаунт заблокирован на %d дней. Введите {ffcd00}/q (/quit){ffffff} чтобы выйти",PI[playerid][pBanned]);
ShowPlayerDialog(playerid,D_NULL,0,"{3399ff}Inspire Death Match",stringa,"Закрыть","");
KickNew(playerid);
return false;
}

Раньше, в паблике авторизаций стоял этот код как теперь сделать подобное?

DeimoS
15.05.2014, 16:54
Изучите виды запросов в MySQL, попробуйте составить самостоятельно и если не получится - скидывайте сюда и поможем. Ну или ждите доброго молодца, который напишет всё за вас. Мне надоело, извините

Kenny_Dalglish
15.05.2014, 17:17
mysql_format(MYSQL_ARG, asd, 90, "SELECT * FROM `BanIP` WHERE `BanDays` = '%e' LIMIT 1", pData[playerid][pBanned]);

Так нет?

Just_Fenix
15.05.2014, 19:03
Аж страшно!
Kenny_Dalglish,
^_^,
Daniel_Cortez,
Osetin,
Seregamil,
DeimoS
Тему смотрят.
270 сообщений и все вопросы. Я конечно не шарю в MySQL, но файловую систему знаю хорошо.
Зачем задавать +100500 вопросов? Просто для примера: напиши код, запусти сервер и проверь. Если что-то ложно срабатывает - попытайся найти ошибку в своём коде. Нашёл? Молодец, теперь по прежней схеме (запустил, зашёл, посмотрел). А сейчас ты тупо ленишься и нагружаешь других людей. Почти весь раздел забит твоими постами. Конечно, он специально для этого и создан. Но здесь помогают новичкам освоится в обычной обработки данных и в остальных примочках программирования в pawn. Здесь не пишут за тебя код, ты должен сам его писать и предоставлять нужную информацию для того, чтобы тебе помогли. Как говорит Владислав "не бойтесь экспериментировать". Соглашусь, что тебе надо с начало хорошенько прочитать про MySQL, а то и дальше будешь мозги всем компостировать. P.S. Мне просто стало очень жалко Владислава, offtop`om здесь и не пахнет.

DeimoS
15.05.2014, 19:08
Эмм, а вы хотите найти людей с определённым временем бана?

Kenny_Dalglish
15.05.2014, 19:14
Эмм, а вы хотите найти людей с определённым временем бана?

Нет.. я хочу проверять при авторизаций на бан. Если можно дайте ссылку на запрос MySQL для pawn я не могу найти. Просто LIMIT 1 убрать ?

DeimoS
16.05.2014, 10:19
Нет.. я хочу проверять при авторизаций на бан. Если можно дайте ссылку на запрос MySQL для pawn я не могу найти. Просто LIMIT 1 убрать ?
Тогда проверять нужно именно по имени игрока или IP же... Как вы собирались проверять по BanDays? Или просто наобум вставили?
Уроков полно в интернете по MySQL. Подойдёт практически любой. MySQL - он и в Африке MySQL. Так что хоть вы будете читать урок для PHP, хоть для Pawn - отличие будет только в функциях, а сами запросы будут максимально идентичными

Kenny_Dalglish
16.05.2014, 11:21
Тогда проверять нужно именно по имени игрока или IP же... Как вы собирались проверять по BanDays? Или просто наобум вставили?
Уроков полно в интернете по MySQL. Подойдёт практически любой. MySQL - он и в Африке MySQL. Так что хоть вы будете читать урок для PHP, хоть для Pawn - отличие будет только в функциях, а сами запросы будут максимально идентичными
Зачем по IP? Если, IP сменился то он пройдет проверку на IP а аккаунт забанен что бы проверка была....

DeimoS
16.05.2014, 14:12
Зачем по IP? Если, IP сменился то он пройдет проверку на IP а аккаунт забанен что бы проверка была....

Ну так можно проверять и IP, и имя игрока. О чём я и написал -_-

Kenny_Dalglish
16.05.2014, 16:35
Ну так можно проверять и IP, и имя игрока. О чём я и написал -_-
Блин читал вчера в инете статьи про MySQL не чего путного -_-.
http://sitear.ru/material/mysql-zaprosy

Kenny_Dalglish
16.05.2014, 17:45
mysql_function_query(MYSQL_ARG, "SELECT `Name` FROM `BanIP` WHERE `BanDays` > '0'", true, "BanList", "d",playerid);
Вот попытался сделать возможно вот так?

underwoker
16.05.2014, 17:50
Пример дал, дальше сами.

new str2[300];
mysql_format(base, str2, 90, "SELECT * FROM `Bans` WHERE `IP` = '%s'", playerip);
mysql_function_query(base, str2, true, "CheckBanListIp", "d", playerid);


publics:CheckBanListIp(playerid)
{
new unbandate,razbl[20],adm[24],reason[60];
new rows,fields;
cache_get_data(rows, fields);
if(rows)
{
cache_get_field_content(0, "Date",razbl);
cache_get_field_content(0, "Admin",adm);
cache_get_field_content(0, "Reason",reason);
unbandate = cache_get_field_content_int(0, "UnbanDate");
if(gettime() >= unbandate)
{
new string1[128];
mysql_format(base, string1, 90, "DELETE FROM `Bans` WHERE `Nick` = '%s'",GN(playerid));
mysql_function_query(base, string1, false, "","");
return true;
}
else
{
new str[400];
format(str, sizeof(str), "{FF6347}Аккаунт: %s\nДата блокировки: %s\nАдминистратор: %s\nПричина: %s\n\nДата разблокировки: %s",GN(playerid),razbl,adm,reason,date("%dd/%mm/%yyyy в %hh:%ii:%ss",unbandate));
SPD(playerid,91,0,"Аккаунт заблокирован:",str,Skrit,"");
NewKick(playerid);
}
}
return true;
}

Kenny_Dalglish
16.05.2014, 18:39
Пример дал, дальше сами.

new str2[300];
mysql_format(base, str2, 90, "SELECT * FROM `Bans` WHERE `IP` = '%s'", playerip);
mysql_function_query(base, str2, true, "CheckBanListIp", "d", playerid);


publics:CheckBanListIp(playerid)
{
new unbandate,razbl[20],adm[24],reason[60];
new rows,fields;
cache_get_data(rows, fields);
if(rows)
{
cache_get_field_content(0, "Date",razbl);
cache_get_field_content(0, "Admin",adm);
cache_get_field_content(0, "Reason",reason);
unbandate = cache_get_field_content_int(0, "UnbanDate");
if(gettime() >= unbandate)
{
new string1[128];
mysql_format(base, string1, 90, "DELETE FROM `Bans` WHERE `Nick` = '%s'",GN(playerid));
mysql_function_query(base, string1, false, "","");
return true;
}
else
{
new str[400];
format(str, sizeof(str), "{FF6347}Аккаунт: %s\nДата блокировки: %s\nАдминистратор: %s\nПричина: %s\n\nДата разблокировки: %s",GN(playerid),razbl,adm,reason,date("%dd/%mm/%yyyy в %hh:%ii:%ss",unbandate));
SPD(playerid,91,0,"Аккаунт заблокирован:",str,Skrit,"");
NewKick(playerid);
}
}
return true;
}

Ок, переделаю щяс..... Ну у мя Unix time не используеться и откуда отрыл? Сто процентов не ты написал :D

- - - Добавлено - - -

Ой да чушь башка вообще не варит!

- - - Добавлено - - -

То мне говорят вот так делать то вот так:


forward CheckPlayerBanIP(playerid);
public CheckPlayerBanIP(playerid)
{
new r,f;
cache_get_data(r, f);
if(!r)
{
mysql_format(MYSQL_ARG, asd, 90, "SELECT `Name` FROM `"Baza"` WHERE `Name` = '%e'", PI[playerid][pName]);
mysql_function_query(MYSQL_ARG, asd, true, "Start_R_A","d", playerid);
return true;
}
else
{
KickNew1(playerid);
}
return true;
}


- - - Добавлено - - -

Тему можно закрывать. Не чему хорошому не приведет, уже.

underwoker
16.05.2014, 21:45
Ок, переделаю щяс..... Ну у мя Unix time не используеться и откуда отрыл? Сто процентов не ты написал :D

- - - Добавлено - - -

Ой да чушь башка вообще не варит!

- - - Добавлено - - -

То мне говорят вот так делать то вот так:


forward CheckPlayerBanIP(playerid);
public CheckPlayerBanIP(playerid)
{
new r,f;
cache_get_data(r, f);
if(!r)
{
mysql_format(MYSQL_ARG, asd, 90, "SELECT `Name` FROM `"Baza"` WHERE `Name` = '%e'", PI[playerid][pName]);
mysql_function_query(MYSQL_ARG, asd, true, "Start_R_A","d", playerid);
return true;
}
else
{
KickNew1(playerid);
}
return true;
}


- - - Добавлено - - -

Тему можно закрывать. Не чему хорошому не приведет, уже.
Эм, я мод с файлов на MySQL сам перевожу, пришлось писать самому, опираясь на Статейки.

Kenny_Dalglish
16.05.2014, 22:14
Эм, я мод с файлов на MySQL сам перевожу, пришлось писать самому, опираясь на Статейки.

Скинь статьй :)

underwoker
17.05.2014, 19:33
Скинь статьй :)
В гугл: "система банов mysql pawn"
Вылезет овер9999 статей, в моем случае, я опирался на запросы(SELECT, DELETE, INSERT INTO), и скачанный ФС банов.
Таким образом получилась небольшая системка.