IPB Presents

Архів · 2014 Файл є alibimag Плагіни 2 050

Архівний матеріал ya-cs.ru (2014). Російською. Плагіни й збірки можуть не працювати з ReHLDS та AMXX 1.10.

IPB Presents


Описание: Наверно владельцам сайтам которые держат кс сервера приятно наблюдать когда их постоянные пользователи играют у них на серверах, вот теперь наступила очередь администрации сделать приятно своим активным юзерам. CS плагин IPB Presents выполнит ваше желание на ура. Возможность данного дополнения для Counter Strike 1.6 это выдача на cs servers подарков всем активным пользователям вашего кс форума.

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

Установка:

IPB:

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

ohgou7c8.png

Теперь открываем исходник 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

XenForo:
Скрытый текст
Заходит в АЦ форума > Пользователи > Дополнительные поля пользователя
Создаём поле:
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);

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

ohgou7c9.png
Пример

#include
#include

#pragma semicolon 1

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

enum ipb_profile {
active,
member_id,
name[64],
posts,
topics,
status[64],
last_visit
};

new ipb_data[33][ipb_profile];

public plugin_init() {
register_plugin(“[Public]Presents for ipb system”, “0.1”, “Stolen”);
}

public client_putinserver(id)
{
set_task(10.0, “PrintStatus”, id);
}

public PrintStatus(id)
{
if(is_user_connected(id) && ipb_data[id][active])
PrintChatColor(id, _, “!g[SERVER] !yЗдравствуй !g%s! !yБонус будет выдаваться !tкаждый раунд !g;)”, ipb_data[id][name]);
else
PrintChatColor(id, _, “!g[SERVER] !yЧтобы получать !gбонус – !tзарегистрируйтесь на форуме”);
}

public ipb_core(id, MemberID, const Name[], Posts, Topics, const Status[], LastVisit)
{
if(is_user_connected(id) && MemberID != 0)
{
ipb_data[id][active] = true;
ipb_data[id][member_id] = MemberID;
ipb_data[id][posts] = Posts;
ipb_data[id][topics] = Topics;
copy(ipb_data[id][status], 63, Status);
ipb_data[id][last_visit] = LastVisit;
copy(ipb_data[id][name], 63, Name);
}
}

Плагину доступна следующая информация о профиле игрока:

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

Скачать IPB Presents Скачано: 68

Коментарі 2

Ваш коментар

Коментар з’явиться після перевірки. E-mail не публікується.