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

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

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

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

бинд кнопки

Статус пользователя dead_best
сообщение 19.10.2012, 11:57
Сообщение #1


Стаж: 14 лет

Сообщений: 119
Благодарностей: 19
Полезность: 122

Всем привет.
Вопрос касается создания меню, а именно бинда меню на кнопку. Как мне известно бинд делается так:
Код
public client_authorized(id)
{
    client_cmd(id, "bind ^"key^" ^"menu^"")
}

Соответственно после етого игроку делается бинд команды на клавишу. Но если игрок перезагрузит свой конфиг (exec userconfig.cfg) то даный бинд слетит, если в конфиге будет другой функционал клавиши.
Можно ли сделать так что б бинд от плагина не слетал, и игнорировался при загрузке конфига игрока?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Legenda
сообщение 19.10.2012, 12:52
Сообщение #2


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Цитата(reah2000 @ 19.10.2012, 11:57) *
Всем привет.
Вопрос касается создания меню, а именно бинда меню на кнопку. Как мне известно бинд делается так:
Код
public client_authorized(id)
{
    client_cmd(id, "bind ^"key^" ^"menu^"")
}

Соответственно после етого игроку делается бинд команды на клавишу. Но если игрок перезагрузит свой конфиг (exec userconfig.cfg) то даный бинд слетит, если в конфиге будет другой функционал клавиши.
Можно ли сделать так что б бинд от плагина не слетал, и игнорировался при загрузке конфига игрока?

нет конечно

но можно делать хук нажатий клавиш игрока
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Surf
сообщение 19.10.2012, 12:56
Сообщение #3


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

Скрытый текст
вот такие болваны портят людям конфиг, которым эта меню даром не нужна
Как то раз на "M" (chooseteam) левое меню прописали
нет нельзя

Отредактировал: Surf, - 19.10.2012, 12:57
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 19.10.2012, 13:53
Сообщение #4


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Вы себя на место игрока пробовали ставить?
Цитата
Снова этот говносервер испортил половину биндов -> exec userconfig.cfg


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя dead_best
сообщение 19.10.2012, 13:57
Сообщение #5


Стаж: 14 лет

Сообщений: 119
Благодарностей: 19
Полезность: 122

Цитата(Surf @ 19.10.2012, 13:56) *
Скрытый текст
вот такие болваны портят людям конфиг, которым эта меню даром не нужна
Как то раз на "M" (chooseteam) левое меню прописали
нет нельзя

Извиняюсь, что то не подумал.
Дело в том что у меня есть плагин меню сервера, вот там на команду chooseteam выводится меню, + есть пункт смена команды.
Исходника к сожалению нету... поетому и создавал тему.
Тогда можно ли на команду клиента chooseteam вывести не стандартное меню, а меню плагина?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 19.10.2012, 14:14
Сообщение #6


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

можно через register_clcmd наверное хукнуть и заблокировать и вывести то что нужно. Так делается же на всяких серверах с модами. Ждите, вам подскажет кто-то поточнее, я просто не работаю с такими штуками =)


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Safety1st
сообщение 19.10.2012, 16:59
Сообщение #7
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(reah2000 @ 19.10.2012, 15:57) *
Тогда можно ли на команду клиента chooseteam вывести не стандартное меню, а меню плагина?

Вот это-то как раз можно и без всяких биндов) Перехват команд jointeam и chooseteam и показ нужного меню.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя dead_best
сообщение 19.10.2012, 19:45
Сообщение #8


Стаж: 14 лет

Сообщений: 119
Благодарностей: 19
Полезность: 122

Вобщем порылся в интернете и нашел то что хотел)
Заменил:
Код
register_clcmd("menu", "open_menu");

на
Код
register_clcmd("chooseteam", "open_menu");

ну добавил пункт выбора команды
Код
menu_additem(menu, "\wСменить команду \d[\rCHOOSETEAM\d]\w", "6")
....
   case 6:
   {
    client_cmd(id, "jointeam");
   }


Отредактировал: reah2000, - 19.10.2012, 19:46
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
cs-portal
сообщение 19.10.2012, 19:50
Сообщение #9
Стаж: 16 лет

Сообщений: 8181
Благодарностей: 2709
Полезность: 0

если знаешь как то через get_arg_string можно еще сделать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 19.10.2012, 22:36
Сообщение #10
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

reah2000,
попробуй:

Скрытый текст
Код
#include <amxmodx>

public plugin_init()
{
    register_plugin("Auto Bind Player", "2.0", "Sutar")
    
    register_clcmd("exec", "client_connect")
}

public client_connect(id)
{
    set_task(1.0, "auto_bind", id)
}

public auto_bind(id)
{
    if(is_user_connected(id))
        client_cmd(id, "bind ^"key^" ^"menu^"")
    return PLUGIN_CONTINUE
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: