找回密碼
 註冊
查看: 2204|回復: 26
打印 上一主題 下一主題
收起左側

求menu sma

  [複製鏈接]
1#
發表於 29-3-2010 23:08:46 | 顯示全部樓層
什麼menu?
回復 支持 反對

使用道具 舉報

2#
發表於 30-3-2010 12:56:35 | 顯示全部樓層
menu是自己做的,不是某amxx
回復 支持 反對

使用道具 舉報

3#
發表於 30-3-2010 20:23:49 | 顯示全部樓層
使用configs入面個custommenuitems.cfg就得
回復 支持 反對

使用道具 舉報

4#
發表於 30-3-2010 21:17:24 | 顯示全部樓層
轉至網上的教學
這是sma

#include <amxmodx>

public plugin_init(){
        register_plugin("Menu","1.0","[B-Boy]L")
        register_clcmd("say /menu","ShowMenu",-1)
        register_menucmd(register_menuid("\y選單:"), 1023, "MenuCMD" )
}

public ShowMenu(id){
        new szMenuBody[256]
        new keys
        new nLen = format( szMenuBody, 255, "\y選單:^n" )
        nLen += format( szMenuBody[nLen], 255-nLen, "^n\w1. 有點懂!" )
        nLen += format( szMenuBody[nLen], 255-nLen, "^n\w2. 好像懂!" )
        nLen += format( szMenuBody[nLen], 255-nLen, "^n\w3. 應該懂!" )
        nLen += format( szMenuBody[nLen], 255-nLen, "^n\w4. 不太懂!" )
        nLen += format( szMenuBody[nLen], 255-nLen, "^n\w5. 你說啥?" )
        nLen += format( szMenuBody[nLen], 255-nLen, "^n^n\w0. 退出" )
        keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9)
        show_menu( id, keys, szMenuBody, -1 )
}

public MenuCMD( id,key ){
        switch( key ){
        case 0: client_print( id, print_chat, "你選了有點懂!" )
        case 1: client_print( id, print_chat, "你選了好像懂!" )
        case 2: client_print( id, print_chat, "你選了應該懂!" )
        case 3: client_print( id, print_chat, "你選了不太懂!" )
        case 4: client_print( id, print_chat, "需要我在說一遍?" )
        case 9: client_print( id, print_chat, "你選了退出!" )
        }
}
回復 支持 反對

使用道具 舉報

5#
發表於 1-4-2010 20:51:51 | 顯示全部樓層
完整教學
轉至數位男女
public plugin_init(){
    register_plugin("Menu","1.0","storym88349")    //註冊腳本,常識就不多說了
    register_clcmd("say menu","ShowMenu",-1,"Show Menu")    //註冊命令,內容是說「menu」時執行ShowMenu
    register_menucmd(register_menuid("\y選單教學:"), 1023, "MenuCMD" )    //註冊選單命令,menuid需與要連結的選單一樣才有用
}
public ShowMenu(id){    //這裡是輸入命令時的事件,在這裡顯示選單的內容
    new szMenuBody[256]    //以new選告szMenuBody為變數,以此作為載體來儲存選單內容
    new keys    //宣告按鍵
    new nLen = format( szMenuBody, 255, "\y選單教學:^n" )    //選單標題、內容
    nLen += format( szMenuBody[nLen], 255-nLen, "^n\w1. 有點懂!" )
    nLen += format( szMenuBody[nLen], 255-nLen, "^n\w2. 好像懂!" )
    nLen += format( szMenuBody[nLen], 255-nLen, "^n\w3. 應該懂!" )
    nLen += format( szMenuBody[nLen], 255-nLen, "^n\w4. 不太懂!" )
    nLen += format( szMenuBody[nLen], 255-nLen, "^n\w5. 你說啥?" )
    nLen += format( szMenuBody[nLen], 255-nLen, "^n^n\w0. 退出" )
    keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9)    //設定按鍵,這不難懂吧?
    show_menu( id, keys, szMenuBody, -1 )    //顯示選單
}
public MenuCMD( id,key ){    //執行選單的命令,此處的id下方需要用到此變數才加
    switch( key ){    //switch在很多地方都用的到,ex:隨機選取
    case 0: client_print( id, print_chat, "你選了有點懂!" )    //這裡的case0是w1的命令喔
    case 1: client_print( id, print_chat, "你選了好像懂!" )
    case 2: client_print( id, print_chat, "你選了應該懂!" )
    case 3: client_print( id, print_chat, "你選了不太懂!" )
    case 4: client_print( id, print_chat, "需要我在說一遍?" )    //這段的意思是在玩家端的對話頻道顯示後面那句話
    case 9: client_print( id, print_chat, "你選了退出!" )    //同樣的,也可以輸入別的命令
    }
}
回復 支持 反對

使用道具 舉報

6#
發表於 2-4-2010 08:29:23 | 顯示全部樓層
比個簡單既例子你...

public plugin_init(){
    register_plugin("Menu","1.0","storym88349")    //註冊腳本,常識就不多說了
    register_clcmd("say menu","ShowMenu",-1,"Show Menu")    //註冊命令,內容是說「menu」時執行ShowMenu
    register_menucmd(register_menuid("\y管理員選單:"), 1023, "MenuCMD" )    //註冊選單命令,menuid需與要連結的選單一樣才有用
}
public ShowMenu(id){    //這裡是輸入命令時的事件,在這裡顯示選單的內容
    new szMenuBody[256]    //以new選告szMenuBody為變數,以此作為載體來儲存選單內容
    new keys    //宣告按鍵
    new nLen = format( szMenuBody, 255, "\y管理員選單:^n" )    //選單標題、內容
    nLen += format( szMenuBody[nLen], 255-nLen, "^n\w1. 踢人" )
    nLen += format( szMenuBody[nLen], 255-nLen, "^n\w2. ban人" )
    nLen += format( szMenuBody[nLen], 255-nLen, "^n\w3. 停用插件選單" )
    nLen += format( szMenuBody[nLen], 255-nLen, "^n^n\w0. 退出" )
    keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9)    //設定按鍵,這不難懂吧?
    show_menu( id, keys, szMenuBody, -1 )    //顯示選單
}
public MenuCMD( id,key ){    //執行選單的命令,此處的id下方需要用到此變數才加
    switch( key ){    //switch在很多地方都用的到,ex:隨機選取
    case 0: client_cmd(id, "踢人選單果個命令")    //這裡的case0是w1的命令喔
    case 1: client_cmd(id, "ban人選單果個命令")
    case 2: client_cmd(id, "停用插件選單果個命令")
    }
}

顏色方面:
\w 係白色
\r 係紅色
\y 係黃色
\d 係灰色
回復 支持 反對

使用道具 舉報

7#
發表於 2-4-2010 12:05:45 | 顯示全部樓層
要權限的話...

又是網上的

#include <amxmodx> // 任何AMXX需要的基本INC

public plugin_init() // 註冊插件
{       
        register_plugin("Menu","1.0","[B-Boy]L")
        register_clcmd( "say /menu","ExtraMenu")
}

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;
}
回復 支持 反對

使用道具 舉報

8#
發表於 3-4-2010 19:17:08 | 顯示全部樓層
即係client_print?
回復 支持 反對

使用道具 舉報

9#
發表於 4-4-2010 00:07:18 | 顯示全部樓層
唔明....
回復 支持 反對

使用道具 舉報

10#
發表於 4-4-2010 12:56:14 | 顯示全部樓層
imessage係咩黎...?
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

快速回復 返回頂部 返回列表