Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

12 страниц V  « 4 5 6 ... 10 11 »

Создание менюшек :)

Статус пользователя Rejiser
сообщение 5.1.2011, 11:46
Сообщение #81


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

fifayer,
Код
register_clcmd("say /menu", "func", ADMIN_LEVEL_A)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя fifayer
сообщение 5.1.2011, 15:24
Сообщение #82
Стаж: 15 лет

Сообщений: 25
Благодарностей: 3
Полезность: 86

Что я такого намутил?

Код
#include <amxmodx>
new menu

public plugin_init()
{
    register_plugin("menu for player","1.0","no");
    menu = menu_create("Меню игроков","func_menu");

    menu_additem( menu,"Магазин")
    menu_additem( menu,"FixFPS \y(лаги?)")
    menu_additem( menu,"Дуель o_O")
    menu_additem( menu,"LJ top")            
    menu_additem( menu,"Лохотрон")

    register_clcmd("menu","go_menu");


public func_menu(id, menu, key)
{
  key++

  if(key==1) client_cmd(id,"say /drshop")
  if(key==2) client_cmd(id,"say /fixfps")
  if(key==3) client_cmd(id,"say /duel")
  if(key==4) client_cmd(id,"say /ljtop")
  if(key==5) client_cmd(id,"say /lohotron")
}

public go_menu(id)
{
    menu_display(id,menu)

    return PLUGIN_HANDLED
}


Ошибка:
Код
menu.sma(17) : warning 217: loose indentation
menu.sma(17) : error 029: invalid expression, assumed zero
menu.sma(17) : error 017: undefined symbol "func_menu"
menu.sma(17) : warning 215: expression has no effect
menu.sma(17) : error 017: undefined symbol "key"
menu.sma(17) : fatal error 107: too many error messages on one line

Compilation aborted.
4 Errors.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Yes I Do Not
сообщение 5.1.2011, 15:30
Сообщение #83


Стаж: 15 лет

Сообщений: 260
Благодарностей: 68
Полезность: 220

Код
#include <amxmodx>
new menu

public plugin_init()
{
    register_plugin("menu for player","1.0","no");
    menu = menu_create("Меню игроков","func_menu");

    menu_additem( menu,"Магазин")
    menu_additem( menu,"FixFPS \y(лаги?)")
    menu_additem( menu,"Дуель o_O")
    menu_additem( menu,"LJ top")            
    menu_additem( menu,"Лохотрон")

    register_clcmd("menu","go_menu");
}

public func_menu(id, menu, key)
{
  key++

  if(key==1) client_cmd(id,"say /drshop")
  if(key==2) client_cmd(id,"say /fixfps")
  if(key==3) client_cmd(id,"say /duel")
  if(key==4) client_cmd(id,"say /ljtop")
  if(key==5) client_cmd(id,"say /lohotron")
}

public go_menu(id)
{
    menu_display(id,menu)

    return PLUGIN_HANDLED
}


Отредактировал: MicroSD, - 5.1.2011, 15:31
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя fifayer
сообщение 5.1.2011, 21:10
Сообщение #84
Стаж: 15 лет

Сообщений: 25
Благодарностей: 3
Полезность: 86

Цитата(MastaMan @ 11.11.2009, 23:58) *
Просто в функции которая отвечает за выбор пунктов, в конце допиши название функции самого меню, т.е. оно будет само себя открывать при любом нажатии


Что нужно дописать? Чтобы это реализовать?

if(key==1) client_cmd(id,"say /drshop")
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 5.1.2011, 21:46
Сообщение #85
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

fifayer,
В конце функции func_menu добавь следующее:
Код
go_menu(id)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fifayer
сообщение 5.1.2011, 22:11
Сообщение #86
Стаж: 15 лет

Сообщений: 25
Благодарностей: 3
Полезность: 86

Цитата(STR@TEG @ 5.1.2011, 21:46) *
fifayer,
В конце функции func_menu добавь следующее:
Код
go_menu(id)


Типа public func_menu(go_menu(id)) ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 6.1.2011, 0:27
Сообщение #87
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

fifayer,
Код
public func_menu(id, menu, key)
{
    ...
    go_menu(id)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя InfernoNet
сообщение 6.1.2011, 19:22
Сообщение #88


Стаж: 18 лет

Сообщений: 54
Благодарностей: 1
Полезность: 18

какой командой сделать так чтобы менюшка открывалась сразу когда пользователь законектится на сервер и зайдет за какую-то команду?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 6.1.2011, 21:49
Сообщение #89
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

InfernoNet,
Код
public client_putinserver(id)
{
    set_task(20.0, "func", id)
}

public func(id)
{
    ...
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя InfernoNet
сообщение 6.1.2011, 23:28
Сообщение #90


Стаж: 18 лет

Сообщений: 54
Благодарностей: 1
Полезность: 18

Цитата(STR@TEG @ 6.1.2011, 19:49) *
InfernoNet,
Код
public client_putinserver(id)
{
    set_task(20.0, "func", id)
}

public func(id)
{
    ...
}

Что означает 20.0?
И что-то не могу понять какая функция за что отвечает и можно ли пример привести на примере который в первом посте (предпоследний пример который, где реализована уже меню со всеми ключами и т.п.).
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 7.1.2011, 0:50
Сообщение #91
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

InfernoNet,
20.0 - это время, по истечении которого вызовется функция func.
client_putinserver - это функция, которая вызывается когда клиент появляется в игре.
set_task - это функция, которая ставит задачу на вызов другой функции, в нашем случае func.
Нажми на названия функций и узнаешь более подробную информацию о них.
Расскажи поподробнее о функции твоего плагина, потому как нужны конкретные факты, чтобы тебе помочь.
Ниже хук события входа игрока за команду:
Код
#include <amxmodx>
#include <amxmisc>

public plugin_init()
{
    register_plugin("x", "y", "z")
    register_logevent("event_join_team", 3, "1=joined team", "2=TERRORIST") // Если игрок зашел за террористов.
    register_logevent("event_join_team", 3, "1=joined team", "2=CT") // Если игрок зашел за контр-террористов.
    // При любом из этих событий будет вызываться функция event_join_team.
}

public event_join_team()
{
    // Здесь твой код...
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя fifayer
сообщение 15.1.2011, 15:28
Сообщение #92
Стаж: 15 лет

Сообщений: 25
Благодарностей: 3
Полезность: 86

Как применить в таком меню действия как в admin cheats?

Код
#include <amxmodx>
new menu

public plugin_init()
{
    register_plugin("admin-menu","1.0","author");
    menu = menu_create("\yДля админов ","func_menu");
    menu_additem( menu,"\yВоскреснуть")
    menu_additem( menu,"\yДеньги 16000$")
    menu_additem( menu,"\yГранаты")
    menu_additem( menu,"\yЖизни и броня")            
    menu_additem( menu,"\yОткрыть amxmod меню")
}

public func_menu(id, menu, key)  
{
  key++

  if(key==1) client_cmd(id,"com")
  if(key==2) client_cmd(id,"com")    
  if(key==3) client_cmd(id,"com")
  if(key==4) client_cmd(id,"com")
  if(key==5) client_cmd(id,"amxmodmenu")  
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rejiser
сообщение 15.1.2011, 16:20
Сообщение #93


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

fifayer, ищешь функции которые тебе нужны здесь и вставляешь
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fifayer
сообщение 15.1.2011, 18:55
Сообщение #94
Стаж: 15 лет

Сообщений: 25
Благодарностей: 3
Полезность: 86

Что не верно?

Код
#include <amxmodx>
    
new cvar_showhudmsg

public plugin_init()
{
    register_plugin("putinserver menu", "rmk-crazzy", "X-factor")
    register_clcmd("amx_menu", "function_menu", ADMIN_ALL,"")
    register_clcmd("menu", "function_menu")

    cvar_showhudmsg = register_cvar("show_hudmsg", "0");
}

public client_putinserver(id)
{
    if(get_pcvar_num(cvar_showhudmsg))
        set_task(1.0, "task_hudmsg", id, _, _, "b")
}


public function_menu(id)
{
    new menu = menu_create("\yМенюшка", "menu_handler")
    
    if(is_user_alive(id))
    {
        menu_additem(menu, "\wМагазин \r(\yon\r)","1")
        menu_additem(menu, "\wШляпки \r(\yon\r)","2")
    }
    else
    {
        menu_additem(menu, "\wМагазин \r(\yoff\r)","1")
        menu_additem(menu, "\wШляпки \r(\yoff\r)","2")
    }
    menu_additem(menu, "\wСмена камеры ","3")
    menu_additem(menu, "\wТоп прыжков ","4")
    menu_additem(menu, "\wMutemenu","5")
    menu_additem(menu, "\wХвост - рандомный цвет","6")
    menu_setprop(menu, MPROP_EXITNAME, "Выход")
    menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)
        
    menu_display(id,menu,0)
    return PLUGIN_HANDLED
}

public client_authorized(id)
{
    client_cmd(id, "bind ^"F3^" ^"menu^"")
}
    
public menu_handler(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
            return PLUGIN_HANDLED
    }
        
    new data[6], iName[64], access, callback
    menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
        
    new key = str_to_num(data)
        
    switch(key)
    {
        case 1:{
            if(is_user_alive(id))
                client_cmd(id, "say /drshop")
                client_print(id, print_chat, "Вы открыли магазин :)")
            else
                client_print(id, print_chat, "Эта опция доступна только живым игрокам!")
            }
            case 2:{
            if(is_user_alive(id))
                        client_cmd(id, "say /hats")
                client_print(id, print_chat, "Вы открыли меню шляпок :)")
            else
                client_print(id, print_chat, "Эта опция доступна только живым игрокам!")
            }
            case 3:{
                    client_cmd(id, "say /cam")
            client_print(id, print_chat, "Вы открыли режим изменения камеры!")
            }
            case 4:{
                    client_cmd(id, "say /ljtop")
            client_print(id, print_chat, "Вы открыли статистику прыжков!")
            }
            case 5:{
                    client_cmd(id, "say /mute")
            client_print(id, print_chat, "Вы открыли mute меню!")
            }
        case 6:{
                    client_cmd(id, "say trail random")
            }
    }
    return PLUGIN_HANDLED
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 15.1.2011, 19:09
Сообщение #95
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

fifayer,
Отступы расставь и используй case 0 как первый пункт меню.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fifayer
сообщение 15.1.2011, 19:22
Сообщение #96
Стаж: 15 лет

Сообщений: 25
Благодарностей: 3
Полезность: 86

Так сделал?

menu.sma
Код
#include <amxmodx>
    
new cvar_showhudmsg

public plugin_init()
{
    register_plugin("putinserver menu", "rmk-crazzy", "X-factor")
    register_clcmd("amx_menu", "function_menu", ADMIN_ALL,"")
    register_clcmd("menu", "function_menu")

    cvar_showhudmsg = register_cvar("show_hudmsg", "0");
}

public client_putinserver(id)
{
    if(get_pcvar_num(cvar_showhudmsg))
        set_task(1.0, "task_hudmsg", id, _, _, "b")
}


public function_menu(id)
{
    new menu = menu_create("\yМенюшка", "menu_handler")
    
    if(is_user_alive(id))
    {
        menu_additem(menu, "\wМагазин \r(\yon\r)","1")
        menu_additem(menu, "\wШляпки \r(\yon\r)","2")
    }
    else
    {
        menu_additem(menu, "\wМагазин \r(\yoff\r)","1")
        menu_additem(menu, "\wШляпки \r(\yoff\r)","2")
    }
    menu_additem(menu, "\wСмена камеры ","3")
    menu_additem(menu, "\wТоп прыжков ","4")
    menu_additem(menu, "\wMutemenu","5")
    menu_additem(menu, "\wХвост - рандомный цвет","6")
    menu_setprop(menu, MPROP_EXITNAME, "Выход")
    menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)
        
    menu_display(id,menu,0)
    return PLUGIN_HANDLED
}

public client_authorized(id)
{
    client_cmd(id, "bind ^"F3^" ^"menu^"")
}
    
public menu_handler(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
            return PLUGIN_HANDLED
    }
        
    new data[6], iName[64], access, callback
    menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
        
    new key = str_to_num(data)
        
    switch(key)
    {
        case 0:{
            if(is_user_alive(id))
                client_cmd(id, "say /drshop")
                client_print(id, print_chat, "Вы открыли магазин :)")
            else
                client_print(id, print_chat, "Эта опция доступна только живым игрокам!")
            }

            case 1:{
            if(is_user_alive(id))
                        client_cmd(id, "say /hats")
                client_print(id, print_chat, "Вы открыли меню шляпок :)")
            else
                client_print(id, print_chat, "Эта опция доступна только живым игрокам!")
            }

            case 2:{
                    client_cmd(id, "say /cam")
            client_print(id, print_chat, "Вы открыли режим изменения камеры!")
            }

            case 3:{
                    client_cmd(id, "say /ljtop")
            client_print(id, print_chat, "Вы открыли статистику прыжков!")
            }

            case 4:{
                    client_cmd(id, "say /mute")
            client_print(id, print_chat, "Вы открыли mute меню!")
            }

        case 5:{
                    client_cmd(id, "say trail random")
            }

    }

    return PLUGIN_HANDLED
}


Ошибки все равно:
menu.sma(69) : warning 217: loose indentation
menu.sma(70) : warning 217: loose indentation
menu.sma(70) : error 029: invalid expression, assumed zero
menu.sma(71) : warning 217: loose indentation
menu.sma(77) : warning 217: loose indentation
menu.sma(78) : warning 217: loose indentation
menu.sma(78) : error 029: invalid expression, assumed zero
menu.sma(79) : warning 217: loose indentation

2 Errors.
Could not locate output file menu.amx (compile failed).
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 15.1.2011, 21:03
Сообщение #97
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

fifayer,
Используй AMXX-Studio он сам расставляет отступы и там есть такая функция. На указанных строках отступы кривые, расставь там скобки, так легче будет:
Код
if ()
{
    ...
}
else
{
    ...
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя InfernoNet
сообщение 20.1.2011, 11:51
Сообщение #98


Стаж: 18 лет

Сообщений: 54
Благодарностей: 1
Полезность: 18

Что-то не получается у меня написать меню.
Хочу чтобы при конекте на сервер сразу выскакивала меню.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rejiser
сообщение 20.1.2011, 12:35
Сообщение #99


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

Цитата(InfernoNet @ 20.1.2011, 12:51) *
Что-то не получается у меня написать меню.
Хочу чтобы при конекте на сервер сразу выскакивала меню.

и? что ты для этого делаешь? код-то покажи
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Yes I Do Not
сообщение 1.2.2011, 19:31
Сообщение #100


Стаж: 15 лет

Сообщений: 260
Благодарностей: 68
Полезность: 220

Как сделать название меню мультиязычным?
Покажите на примере плз.
К примеру есть lang.txt
Код
[ru]
MENU1 = Сказать Привет
MENU2 = Выйти

[en]
MENU1 = Say hi
MENU2 = Quit




Код
#include <amxmodx>
new menu

public plugin_init()
{
    register_plugin("Menu Test","1.0","Empower");
    menu = menu_create("Крутая менюшка","func_menu");
    menu_additem( menu,"Сказать Привет")
    menu_additem( menu,"Выйти")

    register_clcmd("my_menu","go_menu"); // командой amx_menu будет запускатса фунция go_menu
}

public func_menu(id, menu, key)
{
  key++

  if(key==1) client_cmd(id,"say hi")
  if(key==2) client_cmd(id,"quit")
}

public go_menu(id) // когда вызываетса функция go_menu, то
{
    menu_display(id,menu) //показуем меню просто указывая игрока и перемeнную менюхи

    return PLUGIN_HANDLED
}


Отредактировал: MicroSD, - 1.2.2011, 19:41
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
12 страниц V  « 4 5 6 ... 10 11 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: