*
register_cvar("fb_sql_host", "", FCVAR_PROTECTED);
Если нужен установленный FreshBans, то зачем регистрировать зарегистрированные квары? Есть же указатели на квары.
*
Вы работаете с базой amxbans. Там уже есть названия услуг и назначены флаги для них. Именно они создаются и выводятся в веб-части.
К чему какие-то группы в конфиге? Чтобы не получать названия из БД и заполнять конфиг со множеством услуг? Ну это врядли упрощает работу главного админа, как заявлено в описании.
*
SQL:
INSERT INTO `%s_amxadmins` (`id`, `username`, `password`, `access`, `flags`, `steamid`, `nickname`, `icq`, `ashow`, `created`, `expired`, `days`) VALUES (NULL, '%s', NULL, '%s', 'ce', '%s', '%s', NULL, '0', '%d', '%d', '%d');
id
= NULL ??? Почти уверен, то он
NOT NULL AUTO_INCREMENT
Как тогда работает это
"SELECT ... WHERE (`a`.`id` > 0)"
если
a
.
id
= NULL ?
*
SQL:
INSERT INTO `%s_admins_servers` (`admin_id`, `server_id`, `custom_flags`, `use_static_bantime`) VALUES ((SELECT `id` FROM `%s_amxadmins` ORDER BY id DESC LIMIT 1), '%d', '', 'no');
`admin_id` = (SELECT `id` FROM `%s_amxadmins` ORDER BY id DESC LIMIT 1)
???
Вы в
admin_id
устанавливаете последний id из таблицы
%s_amxadmins
вместо последнего вставленного в нее? С чего вы решили, что он принадлежит вашему админу из
%s_amxadmins
?
Так бывает, только если на каждую запись
%s_amxadmins
есть только одна запись в
%s_admins_servers
. А их может быть несколько, на несколько серверов. Ваш плагин так не умеет, конечно, но ведь еще можно работать через через веб-часть, которая точно удобнее.
*
SQL:
AND `b`.`server_id` = (SELECT `id` FROM `%s` WHERE `address` = '%s') \
AND (`a`.`id` > 0)",
g_szSqlData[Prefix], g_szSqlData[Prefix], g_szSqlData[ServerInfo], g_szServerData[IP]);
SQL_ThreadQuery(g_hSqlTuple, "SQL_Handler", g_szQuery, g_Data, sizeof(g_Data));
g_Data[0] = SQL_GET_SERVER_ID;
formatex(g_szQuery, charsmax(g_szQuery), "SELECT `id` FROM `%s` WHERE `address` = '%s'",
SELECT `id` FROM `%s` WHERE `address` = '%s'
зачем постоянно, да еще и 2 раза в одном месте? Id сервера постоянно меняется у кого-то?
* После каждого действия в меню выполняется функция LoadAdminSQL(1,dt[2],dt[1]);
В ней выполняется предыдущий код с получением списка и айди сервера...
* Меню создаются заново после каждого действия с ними, и не только, а удаляются только при выходе из него...
Извините, тут даже не альфа