求助:菜单一页不能全部显示问题
public MENU_ChangeRace( id, iRaceXP ){
new szRaceName, i, pos, iKeys = 0, szMenu, szXP, num;
// Get our race names
for ( i = 0; i < get_pcvar_num( CVAR_wc3_races ) ); i++ )
{
lang_GetRaceName( i + 1, id, szRaceName, 63 );
}
pos += formatex( szMenu, 512-pos, "%L", id, "MENU_SELECT_RACE" );
如何让菜单一页显示8个选项
1:xxx
2:xxx
3:xxx
4:xxx
5:xxx
6:xxx
7:xxx
8:xxx
然后显示
9:next
0:exit
下一页显示
1:xxx
2:xxx
3:xxx
9:back
0:exit 话说不是有 menu 的现成封装吗。比这个方便多了呀 k1nader 发表于 2020-3-19 02:07
话说不是有 menu 的现成封装吗。比这个方便多了呀
nwb13创作的那个吧,那是单独插件,这个是别的文件里的一段,所以不能单独做个插件,帮助我一下,自己试着弄了几个小时总是出错,要不就是显示的位置不对,反正不能翻页显示,没办法了 dongtianbao 发表于 2020-3-19 22:21
nwb13创作的那个吧,那是单独插件,这个是别的文件里的一段,所以不能单独做个插件,帮助我一下,自己试 ...
我说的是 newmenus.inc 这个
给你一段参考代码
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
new m_iMenu = 205;
public DisplayPlayers(id)
{
new menu = menu_create("玩家列表", "players_menu_handler"); // 创建个菜单句柄,并且指定 回调函数
new szName, sztargetId;
for(new i = 1; i < get_maxplayers(); i++)
{
if (is_user_connected(i))
{
get_user_name(i, szName, charsmax(szName)); // 获取玩家名称
num_to_str(i, sztargetId, charsmax(sztargetId)); // 将玩家Id转为字符串
menu_additem(menu, szName, sztargetId); // 添加Item到菜单 (菜单句柄, 显示的内容, 数据)
}
}
menu_setprop(menu, MPROP_BACKNAME, "上一页"); // 指定上一页字符串
menu_setprop(menu, MPROP_NEXTNAME, "下一页"); // 指定下一页字符串
menu_setprop(menu, MPROP_EXITNAME, "退出"); // 指定退出字符串
set_pdata_int(id, m_iMenu, 0); // 用于修复 cs 菜单的bug
menu_display(id, menu, 0); // 开始显示
return PLUGIN_HANDLED;
}
public players_menu_handler(id, menu, item)
{
if(item == MENU_EXIT ) // 如果回调item为退出
{
menu_destroy(menu); //销毁菜单
return;
}
new sztargetId, szItemName;
new access, callback;
menu_item_getinfo(menu, item, access, sztargetId, charsmax(sztargetId), szItemName, charsmax(szItemName), callback); //获取菜单数据
new targetId = str_to_num(sztargetId);
if (is_user_connected(targetId)
{
new szName;
get_user_name(targetId, szName, charsmax(szName));
client_print(id, print_chat, "你选择的玩家是 %s, %s", szName, szItemName);
}
menu_destroy(menu); // 销毁菜单
}
amxmodx\scripting\testsuite\menutest.sma
这个源码里面有详细的使用测试代码
页:
[1]