Topic: насчет иконки
добречка всем
знаю что есть команда /set <name> Record\W3XP\userselected_icon<code>
1. как можно реализовать и обойти команду /set. чтобы напрямую через /icon name <code> устанавливать
имеется айкаповские иконки расположенные в icons War3.bni
2. запись производится в БД Record\W3XP\userselected_ico, возможно ли сделать чтобы записывался в BNET (как?)
3.когда прописываю в Record\W3XP\userselected_icon иконку то не показывает (выходит капюшон). как исправить тоже?
snprintf(query,sizeof(query),"select score from BNET where acct_username='%s'", account_get_name(account));
result = sql->query_res(query);
if (result == NULL || sql->num_rows(result) != 1)
{
if (result) sql->free_result(result);
return 0;
}
Row = sql->fetch_row(result);
int score = std::atoi( Row[0] );
sql->free_result(result);
char* d_marker;
if (score >= 0)
d_marker = "UPCI";
if (score >= 399)
d_marker = "UPCI";
if (score >= 400)
d_marker = "MDCI";
if (score >= 899)
d_marker = "MDCI";
if (score >= 900)
d_marker = "SDCI";
if (score >= 1999)
d_marker = "SDCI";
if (score >= 2000)
d_marker = "PDCI";
if (score >= 2999)
d_marker = "PDCI";
if (score >= 3000)
d_marker = "MCCI";
if (score >= 3999)
d_marker = "MCCI";
if (score >= 4000)
d_marker = "SCCI";
if (score >= 4999)
d_marker = "SCCI";
if (score >= 5000)
d_marker = "PCCI";
if (score >= 5999)
d_marker = "PCCI";
if (score >= 6000)
d_marker = "MBCI";
if (score >= 6999)
d_marker = "MBCI";
if (score >= 7000)
d_marker = "SBCI";
if (score >= 7999)
d_marker = "SBCI";
if (score >= 8000)
d_marker = "PBCI";
if (score >= 8999)
d_marker = "PBCI";
if (score >= 9000)
d_marker = "MACI";
if (score >= 10499)
d_marker = "MACI";
if (score >= 10500)
d_marker = "SACI";
if (score >= 11999)
d_marker = "SACI";
if (score >= 12000)
d_marker = "PACI";
if (score >= 14999)
d_marker = "PACI";
if (score >= 15000)
d_marker = "SUCI";
if (score >= 20000)
d_marker = "SUCI";
if (acctlevel == 0) {
if(clantag)
std::sprintf(tempplayerinfo, "%s %s 0 %s", revtag, d_marker, clantag_str);
else
std::sprintf(tempplayerinfo, "%s %s",d_marker, revtag);
eventlog(eventlog_level_info,__FUNCTION__,"[%d] %s",conn_get_socket(c), revtag);
}
else
{
usericon = account_get_user_icon(account,clienttag);
if (!usericon)
{
if(clantag)
std::sprintf(tempplayerinfo, "%s SDCI %u %s", revtag, acctlevel, clantag_str);
else
std::sprintf(tempplayerinfo, "%s SDCI", revtag);
eventlog(eventlog_level_info,__FUNCTION__,"[%d] %s using generated icon [%1u%c3W]",conn_get_socket(c), revtag, raceiconnumber, raceicon);
}
else
{
if(clantag)
std::sprintf(tempplayerinfo, "%s %s %s",revtag, usericon, clantag_str);
else
std::sprintf(tempplayerinfo, "%s %s",revtag, usericon);
eventlog(eventlog_level_info,__FUNCTION__,"[%d] %s using user-selected icon [%s]",conn_get_socket(c),revtag,usericon);
}
}
может в channel нужно править чтобы автоматом ранги показывали?
у меня 1,99