Описание: Наверно владельцам сайтам которые держат кс сервера приятно наблюдать когда их постоянные пользователи играют у них на серверах, вот теперь наступила очередь администрации сделать приятно своим активным юзерам. CS плагин IPB Presents выполнит ваше желание на ура. Возможность данного дополнения для Counter Strike 1.6 это выдача на cs servers подарков всем активным пользователям вашего кс форума.
Используемые модули: Mysql
Авторы: Stolen
Версия: 1.0
Установка:
IPB:
Заходит в АЦ форума > Пользователи > Дополнительные поля > Дополнительные поля профиля
Создаём поле 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
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);
Для получения бонуса игроку нужно зайти в настройки профиля и указать свой стим_ид:
Пример
#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 // Дата последнего посещения форума
Что-то новое, можно офф.ссылку на автора?
kEiz, bystolen.ru или amx-x.ru/memberlist.php?mode=viewprofile&u=513 9