Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

forum presents переделать по нику

Статус пользователя bbd
сообщение 5.12.2016, 16:12
Сообщение #1


Стаж: 17 лет

Сообщений: 403
Благодарностей: 114
Полезность: 449

Здравствуйте.
помогите пожалуйста переделать плагин forum_presents Вместо SteamID сделать по нику

Исходник
Код:
[coub]#include <amxmodx>
#include <sqlx>

#define FORUM 2 // 1 - Xenforo; 2 - IPB 3.x | поддержку 4-ой ветки пока что некогда лепить.

#define HOST "прпрп"
#define USER "прпр"
#define PASSWD "прпр"
#define DB "aпрпр"

#if FORUM == 2
#define STEAM_FIELD "field_11" // поле с steamid игрока
#endif

new Handle:g_SqlTuple;
new data[1];
new fwdHandle;

public plugin_init()
{
register_plugin("Forum Presents", "0.1", "neygomon");

fwdHandle = CreateMultiForward("client_forum_info", ET_IGNORE, FP_CELL, FP_CELL, FP_STRING, FP_CELL, FP_CELL, FP_STRING, FP_CELL);
g_SqlTuple = SQL_MakeDbTuple(HOST, USER, PASSWD, DB);
#if AMXX_VERSION_NUM < 183
data[0] = 0;
SQL_ThreadQuery(g_SqlTuple, "SQL_Handler", "SET NAMES utf8", data, sizeof(data));
#else
SQL_SetCharset(g_SqlTuple, "utf8");
#endif
}

public plugin_end() SQL_FreeHandle(g_SqlTuple);

public client_putinserver(id)
{
if(is_user_bot(id) || is_user_hltv(id))
return;

static sAuth[25], sQuery[1024];
get_user_authid(id, sAuth, charsmax(sAuth));

#if FORUM == 1
formatex(sQuery, charsmax(sQuery), "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_profile`.`status`, `xf_user`.`last_activity` FROM `xf_user`, `xf_user_profile`, `xf_user_field_value` \
WHERE `xf_user`.`user_id` = `xf_user_field_value`.`user_id` AND `xf_user`.`user_id` = `xf_user_profile`.`user_id` AND `xf_user_field_value`.`field_value` = '%s'", sAuth);
#endif
#if FORUM == 2
formatex(sQuery, charsmax(sQuery), "SELECT `members`.`member_id`, `members`.`name`, \
`members`.`posts`, (SELECT COUNT(*) FROM `topics` WHERE `topics`.`starter_id` = `members`.`member_id`) AS topics, \
`members`.`title`, `members`.`last_visit` FROM `pfields_content`, `members` \
WHERE `members`.`member_id` = `pfields_content`.`member_id` AND `pfields_content`.`%s` = '%s'", STEAM_FIELD, sAuth);
#endif
data[0] = id;
SQL_ThreadQuery(g_SqlTuple, "SQL_Handler", sQuery, data, sizeof(data));
}

public SQL_Handler(failstate, Handle:query, err[], errcode, data[], datasize)
{
switch(failstate)
{
case TQUERY_CONNECT_FAILED:
{
log_amx("MySQL connection failed");
log_amx("[ %d ] %s",errcode, err);
log_amx("Query state: %d", data[0]);
return PLUGIN_CONTINUE;
}
case TQUERY_QUERY_FAILED:
{
log_amx("MySQL query failed");
log_amx("[ %d ] %s", errcode, err);
log_amx("Query state: %d", data[0]);
return PLUGIN_CONTINUE;
}
}
static ret, id; id = data[0];
if(is_user_connected(id))
{
if(SQL_NumResults(query))
{
static sName[64]; SQL_ReadResult(query, 1, sName, charsmax(sName));
static sTitle[64]; SQL_ReadResult(query, 4, sTitle, charsmax(sTitle));
replace_all(sName, charsmax(sName), "!", "!");

ExecuteForward(fwdHandle, ret, id,
SQL_ReadResult(query, 0),
sName,
SQL_ReadResult(query, 2),
SQL_ReadResult(query, 3),
sTitle,
SQL_ReadResult(query, 5)
);
}
else ExecuteForward(fwdHandle, ret, id, 0, "", 0, 0, "", 0);
}
return PLUGIN_CONTINUE;
}
[/coub]


Отредактировал: bbd, - 5.12.2016, 16:14
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя LeoBH
сообщение 8.12.2016, 20:39
Сообщение #2


Стаж: 12 лет

Сообщений: 159
Благодарностей: 91
Полезность: 170

Код:
get_user_authid

измени на
Код:
get_user_name
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: