трансфер

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
68
Реакции
0
Код:
public Cmd_XPList(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 1))
    {
        return PLUGIN_HANDLED
    }

    new szTitle[128]
    formatex(szTitle, charsmax(szTitle), "%L", id, "CRXRANKS_MENU_TITLE")

    new iPlayers[MAX_PLAYERS], iPnum, iMenu = menu_create(szTitle, "XPList_Handler")
    get_players(iPlayers, iPnum); SortCustom1D(iPlayers, iPnum, "sort_players_by_xp")

    for(new szItem[128], szName[MAX_NAME_LENGTH], iPlayer, i; i < iPnum; i++)
    {
        iPlayer = iPlayers[i]
        get_user_name(iPlayer, szName, charsmax(szName))
        formatex(szItem, charsmax(szItem), "%L", id, "CRXRANKS_ITEM_FORMAT", g_ePlayerData[iPlayer][XP], szName, g_ePlayerData[iPlayer][Level], g_ePlayerData[iPlayer][Rank])
        menu_additem(iMenu, szItem)
    }
    
    client_cmd(id,"spk ^"/events/friend_died^"")
    menu_display(id, iMenu)
    return PLUGIN_HANDLED
}
Я хочу перенести строку кода, которой я поделился выше, в motd, но мне это не удалось.
Заранее спасибо, если кто даст совет или поможет.
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
Без связующей веб-части одним лишь плагином такое сделать нельзя.
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
Разве я не могу экспортировать список motd как обычный список?
Можешь. А как дальше будет у тебя организован интерфейс с тем, что, где и как было нажато в самом мотд?
Это уже только через веб-часть.
18 Авг 2022
Если я вообще правильно тебя понял.
 
Сообщения
458
Реакции
263
Помог
9 раз(а)
bizon, для этого веб часть не нужна, если я правильно понял - тут можно на уровне амыха хтмл сформировать
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
bizon, для этого веб часть не нужна, если я правильно понял - тут можно на уровне амыха хтмл сформировать
Если я верно понял, ему нужен интерфейс вывода игроков через мотд с последующим выбором через этот самый мотд определённого игрока.
Если так, то тут одним амхх не обойтись.
Вывести через мотд список не проблема, это понятно. Я про обработчик действий в мотд.
 
Сообщения
68
Реакции
0
bizon, для этого веб часть не нужна, если я правильно понял - тут можно на уровне амыха хтмл сформировать
Если я верно понял, ему нужен интерфейс вывода игроков через мотд с последующим выбором через этот самый мотд определённого игрока.
Если так, то тут одним амхх не обойтись.
Вывести через мотд список не проблема, это понятно. Я про обработчик действий в мотд.
извините за недоразумение, моя цель - просто вывести эти данные на экран motd. Никакого редактирования или выбора не будет.
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
brdemirhan, тогда достаточно просто в данном участке кода убрать все действия с меню. Созданный список вывести в мотд, скооперировав с html-разметкой. Примеры для этого можно посмотреть в различных статистиках (а-ля топ 15).
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
Без какой-либо адекватной html-разметки список игроков в motd пример:

Код:
#include <amxmodx>

public plugin_init()
{
    register_clcmd("show_list_player", "@func_show_list_player");
}

@func_show_list_player(pPlayer)
{
    static sMotdInfo[MAX_MOTD_LENGTH];

    format(sMotdInfo, charsmax(sMotdInfo), "<html>");

    add(sMotdInfo, charsmax(sMotdInfo), fmt("<p>%3s    %32s</p>", "#", "NickName"));

    new pPlayers[MAX_PLAYERS], iCount;
    get_players(pPlayers, iCount, "h");

    for(new i, j; i < iCount; i++)
        add(sMotdInfo, charsmax(sMotdInfo), fmt("<p>%3i    %32n</p>", ++j, pPlayers[i]));

    add(sMotdInfo, charsmax(sMotdInfo), "</html>");

    show_motd(pPlayer, sMotdInfo, "List Players");
}
По аналогии выводить тебе нужно свои данные.
И сделать нормальную html-разметку.

P.S Для функции show_motd (2 аргумент - строковая переменная с информацией) присутствует ограничение по размеру:
Код:
/**
 * The maximum buffer size that can be displayed in a MOTD.
 */
#define MAX_MOTD_LENGTH 1536
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу