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 |
|
|
|