calove00
|
分享:
▼
x5
|
[插件] [脚本][原创] 新式普通选单制作教学
作者 : 本人(Ca`) 转贴请先兹问本人 感谢三楼楼主为我贴图示范复制程式
#include <amxmodx> // 任何AMXX需要的基本INC
public plugin_init() // 注册插件
{
register_clcmd( "say /menu","ExtraMenu");
// "say /menu" 为执行指令的方法 ; ExtraMenu 为 执行的Function
}
// 名为 ExtraMenu 的 Function
public ExtraMenu(id)
{
// 新增一个单位"menu" = 建立一个选单
new menu = menu_create("\r选单名称", "menu_handler");
// 第一格为名称
// 白色 = \w
// 黄色 = \y
// 红色 - \r
// 灰色 - \d
// 第二格为指令所去的Function
// 新增Menu的选项
menu_additem(menu, "\w Selection #1", "1", ADMIN_LEVEL_A);
menu_additem(menu, "\w Selection #2", "2", 0);
menu_additem(menu, "\w Selection #3", "3", 0);
// menu为刚才新增的参数
// \w Selection #1 为 第一项选项
// 第三格 "1" 为 排在选单第几项
// ADMIN_LEVEL_A 是指执行的权限 , 详细可阅USER.INI取得更多资讯
// 如果填写为 0 是指任何人适用
// 设定此Menu 的离开位置和转页
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
// 显示选单
menu_display(id, menu, 0);
// 自主性决定吧 如果使用 say 指令会显示字在说话频道 如果不想可加上这一行
// 把 // Del去就行
// return PLUGIN_HANDLED;
}
// 刚才设定此Function为按键的设凡
public menu_handler(id, menu, item)
{
// 如果按离开会发生的事
if( item == MENU_EXIT )
{
// 消除选单
menu_destroy(menu);
return PLUGIN_HANDLED;
}
// 新增一些为玩家设定的参数
new data[6], iName[64];
new access, callback;
// 取得玩家的权限 及 其资料
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
// 将你所按的键转换成Number
new key = str_to_num(data);
// 列出Number所发生的事
switch(key)
{
case 1:
{
client_print(id, print_chat, "你按了按键一");
menu_destroy(menu); // 消除选单
return PLUGIN_HANDLED; // 离开插件
}
case 2:
{
client_print(id, print_chat, "你按了按键2");
menu_destroy(menu); // 消除选单
return PLUGIN_HANDLED; // 离开插件
}
case 3:
{
client_print(id, print_chat, "你按了按键3");
menu_destroy(menu); // 消除选单
return PLUGIN_HANDLED; // 离开插件
}
}
// 消除选单
menu_destroy(menu);
// 离开插件
return PLUGIN_HANDLED;
}
[ 此文章被calove00在2010-03-07 16:42重新编辑 ]
此文章被评分,最近评分记录财富:100 (by sk@.@) | 理由: 感谢提供 | |
|
|
|
|
x2
[楼 主]
From:香港有线宽频 | Posted:2010-03-06 21:59 |
|
|
森之千手
|
分享:
▲
▼
回chuchung712: 不是呵~~这的确是新 旧的是 复制程式
public plugin_init()
{
register_menucmd(register_menuid("MainMenu"), 1023, "handle_MainMenu");
}
// [...]
new menu[256], len;
len = formatex(menu, 255, "\y选单名称^n");
len += formatex(menu[len], 255-len, "\r1. \wSub Menu^n");
len += formatex(menu[len], 255-len, "\r2. \wFunction^n^n");
len += formatex(menu[len], 255-len, "\r0. \wExit");
show_menu(id, (1<<0|1<<1), menu, -1, "MainMenu");
// [...]
public handle_MainMenu(id, key)
{
switch(key)
{
case 0: // item #1
case 1: // item #2
case 2: // item #3
}
return PLUGIN_HANDLED;
}
|
|
x0
[2 楼]
From:香港网上行 | Posted:2010-03-06 22:39 |
|
|
|