Помощь с доработкой меню

asd

Сообщения
151
Реакции
17
Помог
3 раз(а)
Короче решил до своего меню доделать еще price list как отдельный пункт в меню с под. пунктом.
Сделал все, скомпиллировал без ошибок.
Но такая проблема если один открывает price меню то и во всех оно открывается.
И не могу перевести все в DHUD з HUD.

Код:
#include <amxmodx>
#include <amxmisc>

new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_0

public plugin_init() {
    register_plugin("server menu", "2.0", "6e3yMnbI`u/h1k3")

    register_menu("Menu_1", keys, "func_menu1")
    register_concmd("menu", "Server_Menu")
    register_clcmd("say /menu", "Server_Menu")

    register_menu("Menu_2", keys, "func_menu2")
    register_clcmd("say /models", "Models")
    
    register_menu("Menu_3", keys, "func_menu3")
    register_clcmd("say /price","Price")
    
    register_clcmd("say /adminka", "PriceADM")
    register_clcmd("say /vk", "PriceVK")
    register_clcmd("say /vipka", "VIP")

    set_task(1.0, "dhud_message", .flags = "b")
}
      
public Server_Menu(id) {
    new name[32]
    get_user_name(id, name, 31)
    static menu[650], iLen
    iLen = 0
    iLen = formatex(menu[iLen],    charsmax(menu) - iLen, "\rМеню сервера ^n\wПривет, \d%s^n^n", name)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wТОП \r15^n")
        keys |= MENU_KEY_1
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \yМодели \wдевушек (\rON/\wOFF)^n")
        keys |= MENU_KEY_2
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wРанк^n")
        keys |= MENU_KEY_3
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \wПроголосовать за смену \rкарты^n")
        keys |= MENU_KEY_4
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \wНаминироват \rкарту^n")
        keys |= MENU_KEY_5
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r6. \wЦены на \rПривилегии^n")
        keys |= MENU_KEY_6
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r7. \wГолосуй за \rбан \yпидора^n")
        keys |= MENU_KEY_7
    }
    iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\r0. \rВыход^n")
    keys |= MENU_KEY_0
  
    show_menu(id, keys, menu, -1, "Menu_1")
    return PLUGIN_HANDLED
}

public func_menu1(id, key)
{
    switch(key)
    {
        case 0: client_cmd(id, "say /top15")
        case 1: client_cmd(id, "say /models")
        case 2: client_cmd(id, "say /rank")
        case 3: client_cmd(id, "say /rtv")
        case 4: client_cmd(id, "say /maps")
        case 5: set_task(0.1, "Price")
        case 6: client_cmd(id, "say /voteban")         
    }
}

public Models(id)
{
    static menu[650], iLen
    iLen = 0
    iLen = formatex(menu[iLen],    charsmax(menu) - iLen, "\rНастройки моделей^n")
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wОтключить модели^n")
        keys |= MENU_KEY_1
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \yВключить модели^n")
        keys |= MENU_KEY_2
    }
    iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\r0. \rВыход^n")
    keys |= MENU_KEY_0
  
    show_menu(id, keys, menu, -1, "Menu_2")
    return PLUGIN_HANDLED
}

public Price(id)
{
    static menu[650], iLen
    iLen = 0
    iLen = formatex(menu[iLen],    charsmax(menu) - iLen, "\rPrice Menu^n")
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wЦены на Админку^n")
        keys |= MENU_KEY_1
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \yЦены на вип^n")
        keys |= MENU_KEY_2
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wГруппа VK^n")
        keys |= MENU_KEY_3
    }
    iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\r0. \rВыход^n")
    keys |= MENU_KEY_0
  
    show_menu(id, keys, menu, -1, "Menu_3")
    return PLUGIN_HANDLED
}

public func_menu3(id, key)
{
    switch(key)
    {
        case 0: set_task(0.1, "PriceAMD")
        case 1: set_task(0.1, "PriceVIP")
        case 2: set_task(0.1, "VK")
    }
}

public func_menu2(id, key)
{
    switch(key)
    {
        case 0:
        {
            client_cmd(id, "cl_minmodels 1")
            client_print(id, print_center, "Модельки девушек Отключены!")
        }

        case 1:
        {
            client_cmd(id, "cl_minmodels 0")
            client_print(id, print_center, "Модельки девушек Включены!")
        } 
    }
}

public dhud_message()
{
    set_hudmessage(0, 255, 0, -1.0, 0.07, 0, 6.0, 6.0);
    show_hudmessage(0, "Меню сервера /menu");
}

public PriceAMD(id)
{
    set_hudmessage(255, 0, 0, .x = -1.0, .y = 0.05, .holdtime = 5.0, .channel = -1);
    show_hudmessage(0, "Стоимость Админки 190руб");
}

public PriceVIP(id){
    set_hudmessage(255, 0, 0, .x = -1.0, .y = 0.05, .holdtime = 5.0, .channel = -1);
    show_hudmessage(0, "Стоимость VIP 100руб");
}

public VK(id){
    set_hudmessage(255, 0, 0, .x = -1.0, .y = 0.05, .holdtime = 5.0, .channel = -1);
    show_hudmessage(0, "Группа вконтакте: vk.com/");
}
 

SAM

Сообщения
47
Реакции
-29
Помог
3 раз(а)
Код:
        case 0: set_task(0.1, "PriceAMD")
        case 1: set_task(0.1, "PriceVIP")
        case 2: set_task(0.1, "VK")
Здесь, разве, не нужно указывать id?

set_task(0.1, "PriceAMD", id)
 
Сообщения
72
Реакции
10
asd,
1.
Код:
public func_menu1(id, key)
{
    switch(key)
    {
        case 0: client_cmd(id, "say /top15")
        case 1: client_cmd(id, "say /models")
        case 2: client_cmd(id, "say /rank")
        case 3: client_cmd(id, "say /rtv")
        case 4: client_cmd(id, "say /maps")
        case 5: set_task(0.1, "Price")
        case 6: client_cmd(id, "say /voteban")         
    }
}
--->
Код:
public func_menu1(id, key)
{
    switch(key)
    {
        case 0: client_cmd(id, "say /top15")
        case 1: client_cmd(id, "say /models")
        case 2: client_cmd(id, "say /rank")
        case 3: client_cmd(id, "say /rtv")
        case 4: client_cmd(id, "say /maps")
        case 5: Price(id);
        case 6: client_cmd(id, "say /voteban")         
    }
}
2.
Код:
public func_menu3(id, key)
{
    switch(key)
    {
        case 0: set_task(0.1, "PriceAMD")
        case 1: set_task(0.1, "PriceVIP")
        case 2: set_task(0.1, "VK")
    }
}
--->
Код:
public func_menu3(id, key)
{
    switch(key)
    {
        case 0: PriceAMD(id);
        case 1: PriceVIP(id);
        case 2: VK(id);
    }
}
3.
Код:
public dhud_message()
{
    set_dhudmessage(0, 255, 0, -1.0, 0.07, 0, 6.0, 6.0);
    show_dhudmessage(0, "Меню сервера /menu");
}

public PriceAMD(id)
{
    set_dhudmessage(255, 0, 0);
    show_dhudmessage(0, "Стоимость Админки 190руб");
}

public PriceVIP(id){
    set_dhudmessage(255, 0, 0);
    show_dhudmessage(0, "Стоимость VIP 100руб");
}

public VK(id){
    set_dhudmessage(255, 0, 0);
    show_dhudmessage(0, "Группа вконтакте: vk.com/");
}
 
Сообщения
271
Реакции
347
Помог
15 раз(а)
Код:
-show_hudmessage(0, "Стоимость Админки 190руб");
+show_hudmessage(id, "Стоимость Админки 190руб");

-show_hudmessage(0, "Стоимость VIP 100руб");
+show_hudmessage(id, "Стоимость VIP 100руб");

-show_hudmessage(0, "Группа вконтакте: vk.com/");
+show_hudmessage(id, "Группа вконтакте: vk.com/");
SAM, нужно
 

SAM

Сообщения
47
Реакции
-29
Помог
3 раз(а)
Nunfy, координат нет и других аргументов в функции set_dhudmessage, только RGB стоит, ТС так и выставит же.
 
Сообщения
72
Реакции
10
SAM, если захочет что-то изменить пусть смотрит как работать с функцией, в этой же теме был вопрос только как перевести его hud на dhud
 

SAM

Сообщения
47
Реакции
-29
Помог
3 раз(а)
asd, ну скинь 156 строчку
 
Сообщения
53
Реакции
13
Помог
2 раз(а)
Поставь там 0 вместо id
 

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

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