Русское сообщество по скриптингу

Раздельный "bind" строчных и заглавных букв возможен?

Все, что касается игр на движке GoldSrc (Half-Life, Counter-Strike 1.6 и т.д.).
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

Раздельный "bind" строчных и заглавных букв возможен?

Сообщение keep_clear » 01 июн 2012, 22:36

Подскажите, пожалуйста, возможно ли биндить в CS 1.6 буквы строчные и заглавные раздельно? Допустим, на клавишу "v" – команда №1, а на клавишу "V" – другая команда. Спрашиваю потому, как в консоли самой игры есть отличие между "bind v" и "bind V"...
Аватара пользователя
keep_clear
 
Сообщения: 12
Зарегистрирован: 19 июн 2010, 20:44
Откуда: Республика Беларусь, г. Минск
Благодарил (а): 13 раз.
Поблагодарили: 0 раз.
Языки программирования: начинающий любитель CS v1.6

Сообщение keep_clear » 20 июл 2012, 07:10

creator_52 писал(а):[pawn]
  1. #include <amxmodx>

  2.  

  3. static bool:g_b_Tool[33];

  4.  

  5. public client_connect(i_Player) {

  6.         g_b_Tool[i_Player]=false;

  7. }

  8.  

  9. public client_disconnect(i_Player) {

  10.         if(task_exists(i_Player)) {

  11.                 remove_task(i_Player);

  12.         }

  13. }

  14.  

  15. public client_putinserver(i_Player) {

  16.         set_task(1.0,"bind_keys",i_Player);

  17. }

  18.  

  19. public bind_keys(i_Player) {

  20.         client_cmd(i_Player,"bind capslock tool");

  21.         client_cmd(i_Player,"bind shift +tool");

  22. }

  23.  

  24. public client_command(i_Player) {

  25.         if(!is_user_connected(i_Player) || is_user_bot(i_Player) || is_user_hltv(i_Player)) {

  26.                 return PLUGIN_CONTINUE;

  27.         }

  28.         new s_Arg[64];

  29.         read_argv(1,s_Arg,63);

  30.         if(equal(s_Arg,"+tool")) {

  31.                 g_b_Tool[i_Player]=true;

  32.         }

  33.         else if(equal(s_Arg,"-tool")) {

  34.                 g_b_Tool[i_Player]=false;

  35.         }

  36.         else if(equal(s_Arg,"tool")) {

  37.                 if(!g_b_Tool[i_Player]) {

  38.                         g_b_Tool[i_Player]=true;

  39.                 }

  40.                 else {

  41.                         g_b_Tool[i_Player]=false;

  42.                 }

  43.         }

  44.         return PLUGIN_CONTINUE;

  45. }
[/pawn]
Потом при нажатии "v" проверять переменную.

К сожалению я только начинающий.
Буду признателен за помощь хотябы на примере двух клавиш "v" и "V".
Аватара пользователя
keep_clear
 
Сообщения: 12
Зарегистрирован: 19 июн 2010, 20:44
Откуда: Республика Беларусь, г. Минск
Благодарил (а): 13 раз.
Поблагодарили: 0 раз.
Языки программирования: начинающий любитель CS v1.6

Re: Раздельный

Сообщение Ser_UFL » 20 июл 2012, 16:45

Ну можно проверять по событию..
Например, идёт-ли игрок (т.е. зажата-ли кнопка Shift, если по умолчанию). Или, допустим, кнопку "E" сделать альтернативной, то есть проверять на IN_USE, если не ошибаюсь.. Ну и одновременно на ваш бинд..
К тому же никто не мешает биндить так:
[pawn]
  1. client_cmd(i_Player,"bind shift ^"+speed;+tool^'")
[/pawn]
Запомните, всегда по жизни вас будут красить вежливость и спокойствие, а не наезды и дешевые понты ;)
Аватара пользователя
Ser_UFL
 
Сообщения: 975
Зарегистрирован: 22 авг 2009, 19:30
Откуда: Hell
Благодарил (а): 276 раз.
Поблагодарили: 380 раз.
Языки программирования: Counter-Strike 1.6:
WebMod-scripts, little Pawn.

Пред.

Вернуться в Вопросы по играм на движке GoldSrc

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8