Русское сообщество по скриптингу

IPB Presents

Новые плагины для AMX Mod X, которые были добавлены в базу плагинов нашего форума. Плагины еще не утвеждены администратором/модератором.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

Данный раздел форума служит для добавления новых плагинов в базу нашего форума. После того, как администратор/модератор утвердит плагин, он будет перемещен в раздел "Утвежденные плагины".

Правила при добавлении новых плагинов:

1. При вставке кода плагина необходимо использовать тег [pawn], в противном случае, если тег [pawn] не отображает ваш код, можно использовать тег [code].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. Обязательно выкладывайте исходник sma плагина. Запрещено выкладывать amxx файл.
4. Обязательно указывайте настоящих авторов плагина, если вы использовали чьи-то наработки или функции, указывайте их авторов в сообщении.
5. Необходимо заполнять детальную информацию о плагине (версию, настройки, используемые модули, список изменений и другую).

IPB Presents

Сообщение Stolen » 09 июл 2014, 22:20

Используемые модули:
Mysql
Авторы: Stolen
Версия: 1.0

Описание:
Плагин позволяет организовать на сервере выдачу подарков за активность на форуме.

Установка:

IPB:
[spoiler]Заходит в АЦ форума > Пользователи > Дополнительные поля > Дополнительные поля профиля
Создаём поле Steam_id. Тип поля - Текст (одна строка), Поле может быть изменено пользователем? - Да, Сделать это поле личным? - Да.
После того как создали поле, нужно узнать его id. Для этого просто заходит в редактирование поля и в адресной строке увидим его id. У меня это выглядит так:
Вы должны зарегистрироваться, чтобы видеть ссылки.

Теперь открываем исходник ipb_system.sma и настраиваем его:
#define MYSQL_HOST "127.0.0.1"
#define MYSQL_USER "db_user"
#define MYSQL_PASS "db_pass"
#define MYSQL_DB "db_name"
#define MYSQL_STEAM_FILED "field_11" // Вот тут нужно изменить id на свой. Если у вас id будет 15, то должно быть написано field_15[/spoiler]

XenForo:
[spoiler]Заходит в АЦ форума > Пользователи > Дополнительные поля пользователя
Создаём поле:
ID поля - steam_id
Заголовок - какой хотите
Место отображения - персональная информация
На вкладке "Основные настройки" снимите галку "Видимо на страницах профиля"

Теперь открываем исходник ipb_system.sma и настраиваем его:
#define MYSQL_HOST "127.0.0.1"
#define MYSQL_USER "db_user"
#define MYSQL_PASS "db_pass"
#define MYSQL_DB "db_name"
#define MYSQL_STEAM_FILED "steam_id" // Вот тут нужно на ID поля(в примере я написал steam_id, вы можете написать любой)

Теперь открываем исходник плагина и на 63 строке меняем запрос на:
Код: Выделить всё

formatex(mysqlCache, 1023, "SELECT `xf_user`.`user_id`, `xf_user`.`username`, \
`xf_user`.`message_count`, (SELECT COUNT(*) FROM `xf_thread` WHERE `xf_thread`.`user_id` = `xf_user`.`user_id`) AS topics, \
`xf_user`.`custom_title`, `xf_user`.`last_activity` FROM `xf_user_field_value`, `xf_user` \
WHERE `xf_user`.`user_id` = `xf_user_field_value`.`user_id` AND `xf_user_field_value`.`field_id` = '%s' AND `xf_user_field_value`.`field_value` = '%s' LIMIT 1;", MYSQL_STEAM_FILED, steamID);
[/spoiler]

Всё. С установкой закончили, можно компилировать и ставить на сервер.

Для получения бонуса игроку нужно зайти в настройки профиля и указать свой стим_ид:
Вы должны зарегистрироваться, чтобы видеть ссылки.

Пример плагина подарков:
[pawn]
  1. #include <amxmodx>

  2. #include <WPMGPrintChatColor>

  3.  

  4. #pragma semicolon 1

  5.  

  6. forward ipb_core(id, MemberID, const Name[], Posts, Topics, const Status[], LastVisit);

  7.  

  8. enum ipb_profile {

  9.    active,

  10.    member_id,

  11.    name[64],

  12.    posts,

  13.    topics,

  14.    status[64],

  15.    last_visit

  16. };

  17.  

  18. new ipb_data[33][ipb_profile];

  19.  

  20. public plugin_init() {

  21.    register_plugin("[Public]Presents for ipb system", "0.1", "Stolen");

  22. }

  23.  

  24. public client_putinserver(id)

  25. {

  26.    set_task(10.0, "PrintStatus", id);

  27. }

  28.  

  29. public PrintStatus(id)

  30. {

  31.    if(is_user_connected(id) && ipb_data[id][active])

  32.       PrintChatColor(id, _, "!g[SERVER] !yЗдравствуй !g%s! !yБонус будет выдаваться !tкаждый раунд !g;)", ipb_data[id][name]);  

  33.    else

  34.       PrintChatColor(id, _, "!g[SERVER] !yЧтобы получать !gбонус - !tзарегистрируйтесь на форуме");

  35. }

  36.  

  37. public ipb_core(id, MemberID, const Name[], Posts, Topics, const Status[], LastVisit)

  38. {

  39.    if(is_user_connected(id) && MemberID != 0)

  40.    {

  41.       ipb_data[id][active] = true;

  42.       ipb_data[id][member_id] = MemberID;

  43.       ipb_data[id][posts] = Posts;

  44.       ipb_data[id][topics] = Topics;

  45.       copy(ipb_data[id][status], 63, Status);

  46.       ipb_data[id][last_visit] = LastVisit;

  47.       copy(ipb_data[id][name], 63, Name);

  48.    }

  49. }
[/pawn]

Плагину доступна следующая информация о профиле игрока:
member_id, // Ид на форуме
name[64], // Ник на форуме
posts, // Кол-во сообщений
topics, // Кол-во тем
status[64], // Статус профиля
last_visit // Дата последнего посещения форума

Скачать:
ipb_system.sma


Благодарности:
kes за тестовый форум xenforo
Последний раз редактировалось Stolen 14 сен 2014, 13:45, всего редактировалось 3 раз(а).
http://www.byStolen.ru
Unique ID Provider(Web)
[||||||||||||||||||||] ~25%
Аватара пользователя
Stolen
 
Сообщения: 47
Зарегистрирован: 19 сен 2011, 13:06
Благодарил (а): 49 раз.
Поблагодарили: 81 раз.

Re: IPB Presents

Сообщение kentyxa » 09 июл 2014, 23:14

Мм, что-то новенькое :thumbs_up
На форуме больше не обитаю.

04.01.2015
Аватара пользователя
kentyxa
 
Сообщения: 777
Зарегистрирован: 30 июл 2013, 16:47
Благодарил (а): 99 раз.
Поблагодарили: 170 раз.

Re: IPB Presents

Сообщение Stolen » 14 сен 2014, 13:45

Добавил инфу по установке на XenForo
http://www.byStolen.ru
Unique ID Provider(Web)
[||||||||||||||||||||] ~25%
Аватара пользователя
Stolen
 
Сообщения: 47
Зарегистрирован: 19 сен 2011, 13:06
Благодарил (а): 49 раз.
Поблагодарили: 81 раз.


Вернуться в Добавленные новые плагины

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7