Иконка ресурса

AES Flags by Bonus 0.2

Нет прав для скачивания
Сообщения
1,335
Реакции
528
Помог
91 раз(а)
Def2,
Требования:

  • Бан-система AMXbans, Freshbans
  • наличие aes_bonus_system.amxx из темы AES v5 (ReAPI) или же прикрепленный здесь (оригинальный AES)
Плагин выступает дополнением к системе AES v5. Позволяет добавить в магазин /anew покупку любого флага доступа на любое время.
Идея плагина взята у оригинального by @neygomon
Отличие в том, что плагин работает через бан-системы.
На данный момент поддерживаются AMXbans, FreshBans, LiteBans.
Плагин не создает дополнительного соединения с БД MySQL, а использует существующее, вашей бан-системы, что снижает нагрузку.
Покупатель заносится в список админов и над ним можно производить те же действия, что и с обычными (продлить привилегию, удалить, перенести на другой сервер и т. д.)
 
Сообщения
5
Реакции
-1
FreshBan 1.2.2am
Не заносит вип в базу,создался файл aes_bonus_flags.dat в /data/ и туда занеслась запись
 
Сообщения
957
Реакции
1,184
Помог
52 раз(а)
cyberrr, не тот плагин. Научитесь отличать их хотя бы)
 
Сообщения
5
Реакции
-1
Sonyx, всмысле не тот? Я качал его отсюда. Можешь объяснить?)
 
Сообщения
16
Реакции
11
Есть возможность сделать выдачу флага на спавне по званию, как это сделано у Скальпеля?

Пробовал так:

C++:
<call>
plugin = aes_bonus_flags.amxx
name = Вип-Статус
function = pointBonus_GiveFlags
levels = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 t
Не вышло.
 
Сообщения
24
Реакции
9
Pe4enbka,
А как добавить два флага?
Попробуй так:
Код:
<call>
plugin = aes_bonus_flags.amxx
name = LANG_AES_BONUS_GIVE_FLAGS
function = pointBonus_GiveFlags
points = 50
flags = t,m
days = 5
time = 1
30 Мар 2019
Есть возможность сделать выдачу флага на спавне по званию, как это сделано у Скальпеля?

Пробовал так:

C++:
<call>
plugin = aes_bonus_flags.amxx
name = Вип-Статус
function = pointBonus_GiveFlags
levels = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 t
Не вышло.
Попробуй так:

C++:
<spawn>
plugin = aes_bonus_flags.amxx
name = Вип-Статус На Спавне
function = pointBonus_GiveFlags
flags = t
flag = ~t
days = 1
levels = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
 
Сообщения
391
Реакции
106
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Сообщения
5
Реакции
-1
Установил все как написано

[aes_bonus_system.amxx] [WARNING] unknown key "flags" on line 112
[aes_bonus_system.amxx] [WARNING] unknown key "days" on line 113
 
Сообщения
283
Реакции
28
Помог
2 раз(а)
Sonyx, Здравствуйте. Все работает отлично. Но игрок приобретая появляеться в списке админов в ахбансе. но когда срок у него заканчиваеться (5 дней). Игрок не может больше приобрести вип на 5 дней. пока его не удалить со списка амхбанса. хотелось бы узнать можно ли поставить автоудаление по окончанию срока. или чтоб можно было заного взять вип. но не продлить. просто если он продлит его не сразу а через 2 дня. то у него вип будет всего 3 дня. так как продлиться на 5 дней. Хотелось бы узнать ответ на вопрос. заранее спасибо. Кто поможет отблагодарю.
Can someone answer this? I am facing the same issue
 
Сообщения
391
Реакции
106
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Ребят, кто поможет с правкой плагина в сторону проверки ников на "лом SQL запроса"

Код:
L 08/03/2021 - 23:11:42: [aes_bonus_flags_stalin.amxx] [SQL ERROR #1064][Query State 0] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 't believe me?', '0', UNIX_TIMESTAMP(NOW()), '1628107902', '1') ON DUPLICATE KEY ' at line 1
В общем всё работает норм, если допустим не юзать ник такого плана You don't believe me?
То есть "хреновые символы"
Иначе вместо покупки випа мы ловим лог с ошибкой...

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

Но сама суть наверное не в этом а в отсутствии в плагине проверки на хреновые символы

Оригинальный и наш новый запрос, не работающий на фиговых никах..

Код:
    //formatex(g_szQuery, charsmax(g_szQuery), "INSERT INTO %s (access, flags, steamid, nickname, icq, ashow, created, expired, days) VALUES ('%s', 'ce', '%s', '%s', 'anew_%s', '0', UNIX_TIMESTAMP(NOW()), '%d', '%d')", g_TableAdmins, flags, szAuth, szAuth, szName, szName, szPlayerEnd, days);
  
    formatex(g_szQuery, charsmax(g_szQuery), "INSERT INTO %s (access, flags, steamid, nickname, icq, ashow, created, expired, days) VALUES ('%s', 'ce', '%s', '%s', 'anew_%s', '0', UNIX_TIMESTAMP(NOW()), '%d', '%d') ON DUPLICATE KEY UPDATE `icq`='anew_%s', `created`=UNIX_TIMESTAMP(NOW()), `expired`='%d', `days`='%d'", g_TableAdmins, flags, szAuth, szAuth, szName, szPlayerEnd, days, szName, szPlayerEnd, days );
 

Вложения

Последнее редактирование:

Rey

Сообщения
187
Реакции
187
Помог
4 раз(а)
stalin_alex, как вариант, добавить после (148 строки) get_user_name(id, szName, charsmax(szName));
Код:
static const szRepIn[][] = { "\\", "\0", "\n", "\r", "\x1a", "'", "^"" };
    static const szRepOut[][] = { "\\\\", "\\0", "\\n", "\\r", "\Z", "\'", "\^"" };
  
    for(new i; i < sizeof szRepIn; i++)
        replace_all(szName, 32, szRepIn[i], szRepOut[i]);
Или
Код:
SQL_QuoteString(g_DBTuple, szName, charsmax(szName), szName);
P.s. Не проверял на работоспособность, но первый способ просто замена символов, а второй (SQL_QuoteString) экранирует одинарные кавычки в запросе
 
Последнее редактирование:
Сообщения
391
Реакции
106
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
@Rey,Да. Благодарю добрый человек. . Получилось

1628029003694.png

Думаю надо обновить ресурс....
 
Сообщения
494
Реакции
109
Помог
16 раз(а)
stalin_alex, а как ты решил проблему что если была куплена випка,и после ее окончания игрок неможет купить ее снова,так как запись из БД не удаляется
 
Сообщения
391
Реакции
106
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Rey, Да, первый. Второго ещё не было на тот момент
4 Авг 2021
r1nk0, перезапись. Для этого как раз я и изменил запрос. Делается поле steamid уникальным в структуре таблицы и модернизируем запрос.

Код:
"INSERT INTO (.........) VALUES (........) ON DUPLICATE KEY UPDATE ......."
То есть добавляем игрока, если его нет в БД, и обновляем запись, если он там есть...
4 Авг 2021
145 строка
вместо этого
Код:
"INSERT INTO %s (username, access, flags, steamid, nickname, ashow, created, expired, days) VALUES ('%s', '%s', 'ce', '%s', '%s', '0', UNIX_TIMESTAMP(NOW()), '%d', '%d')"
вписываем это


"INSERT INTO %s (username, access, flags, steamid, nickname, ashow, created, expired, days) VALUES ('%s', '%s', 'ce', '%s', '%s', '0', UNIX_TIMESTAMP(NOW()), '%d', '%d') ON DUPLICATE KEY UPDATE UPDATE `steamid`='%s'"


После steamid='%s' через запятую, но до кавычки можно указать и другие поля, которые необходимо перезаписать. Может быть ник игрока и тд. В зависимости от того, что выводите в веб форму для удобства...
 
Последнее редактирование:
Сообщения
164
Реакции
42
Предупреждения
5
Помог
2 раз(а)
Иногда баг "Отсутствует подключение к Базе"
 
Сообщения
282
Реакции
34
Помог
3 раз(а)
I have a few questions concerning this plugin, if someone please could provide an answer?
1) On some players it does work, on some it doesn't. For players on which doesn't works it says: "You already have this privilege", but it is not true, because player doesnt have flags on SQL/Users.ini.
Also, If there are multiple different choices, for example:
Код:
<call>
plugin = aes_bonus_flags.amxx
name = LANG_AES_BONUS_GIVE_SVIP_MONTH
function = pointBonus_GiveFlags
points = 150
flags = x
days = 30

<call>
plugin = aes_bonus_flags.amxx
name = LANG_AES_BONUS_GIVE_ADMIN_MONTH
function = pointBonus_GiveFlags
points = 5000
flags = bcdefijgmtx
days = 30

<call>
plugin = aes_bonus_flags.amxx
name = LANG_AES_BONUS_GIVE_FULLADMIN_MONTH
function = pointBonus_GiveFlags
points = 9999
flags = abcdefghijlkmnoprstux
days = 30
For the same players on which it doesn't work, they can shop SVIP, but they can't shop FullAdimin (Reason: You already have this privilege).

2) Does this plugin understands if "days" expired so player can buy again after expiration?

3) Does this plugin works with default amxmodx 1.9 admin.amxx (or I have to use some of admin loader plugins for SQL)?
- I already use: FBBANS, AES system and everything works over SQL just fine.
I am only concerned how players will receive their flags and where that information will be written.
  • If it works over FBBANS, should I change some parameter in ../configs/fb/main.cfg so flags could be readed from SQL or they could be maintaned in users.ini or any kind of nvault file?
  • My Admin list is in users.ini because I dont know to add admins via console to SQL :sad: (wish I knew...)
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу