Заказать Сервер Заказать Плагин Контакты Поиск

[ вход ]
[ последние сообщения ]

Страница 1 из 11
Форум » SourceMod - Counter Strike Source && CS GO » Обсуждение » Нажатие клавиши "i" отловить
Нажатие клавиши "i" отловить
Regedit Дата: Четверг, 04.02.2016, 10:49:32 | Сообщение # 1
Сообщений: 135
Репутация: 1 [ +/- ]
Здравствуйте, можно как-то отловить момент нажатия клавиши "i" ?
 
BarD Дата: Четверг, 04.02.2016, 11:04:59 | Сообщение # 2
Сообщений: 944
Репутация: 132 [ +/- ]
Вряд ли, если эта клавиша не привязана к одной из этих функций:
Код
// These defines are for client button presses.
#define IN_ATTACK  (1 << 0)
#define IN_JUMP   (1 << 1)
#define IN_DUCK   (1 << 2)
#define IN_FORWARD  (1 << 3)
#define IN_BACK   (1 << 4)
#define IN_USE   (1 << 5)
#define IN_CANCEL  (1 << 6)
#define IN_LEFT   (1 << 7)
#define IN_RIGHT  (1 << 8)
#define IN_MOVELEFT  (1 << 9)
#define IN_MOVERIGHT  (1 << 10)
#define IN_ATTACK2  (1 << 11)
#define IN_RUN   (1 << 12)
#define IN_RELOAD  (1 << 13)
#define IN_ALT1   (1 << 14)
#define IN_ALT2   (1 << 15)
#define IN_SCORE  (1 << 16)    // Used by client.dll for when scoreboard is held down
#define IN_SPEED  (1 << 17)    // Player is holding the speed key
#define IN_WALK   (1 << 18)    // Player holding walk key
#define IN_ZOOM   (1 << 19)    // Zoom key for HUD zoom
#define IN_WEAPON1  (1 << 20)    // weapon defines these bits
#define IN_WEAPON2  (1 << 21)    // weapon defines these bits
#define IN_BULLRUSH  (1 << 22)
#define IN_GRENADE1  (1 << 23)    // grenade 1
#define IN_GRENADE2  (1 << 24)    // grenade 2
 
Regedit Дата: Четверг, 04.02.2016, 11:34:40 | Сообщение # 3
Сообщений: 135
Репутация: 1 [ +/- ]
Пробовал..( не привязана..(
 
Sallcom Дата: Четверг, 04.02.2016, 17:17:39 | Сообщение # 4
Сообщений: 206
Репутация: 31 [ +/- ]
Можно попробовать использовать GetClientButtons
https://sm.alliedmods.net/new-api/entity_prop_stocks/GetClientButtons

А потом в OnPlayerRunCmd делать проверку.
https://sm.alliedmods.net/new-api/sdktools_hooks/OnPlayerRunCmd


Сообщение отредактировал Sallcom - Четверг, 04.02.2016, 17:24:18
 
BarD Дата: Пятница, 05.02.2016, 11:53:55 | Сообщение # 5
Сообщений: 944
Репутация: 132 [ +/- ]
Sallcom, GetClientButtons получает битсумму нажатых клавиш. А потом проверяется через конъюкцию. Но проблема в том, что проверить можно только на обозначенные клавиши из моего предыдущего поста. Думаю, вряд ли получится.
 
Sallcom Дата: Пятница, 05.02.2016, 14:34:49 | Сообщение # 6
Сообщений: 206
Репутация: 31 [ +/- ]
Цитата BarD ()
Sallcom, GetClientButtons получает битсумму нажатых клавиш.

Спасибо, но я умею читать. И я уже пользовался данной функцией, но не помнил, на все ли клавиши она работает.
В итоге, протестировал и сделал вывод, что данная функция отслеживает только клавиши IN_*


Сообщение отредактировал Sallcom - Пятница, 05.02.2016, 14:36:02
 
_wS_ Дата: Пятница, 05.02.2016, 16:32:15 | Сообщение # 7
Ну по умолчанию i это: bind "i" "showbriefing"
AddCommandListener..
 
Sallcom Дата: Суббота, 06.02.2016, 16:38:03 | Сообщение # 8
Сообщений: 206
Репутация: 31 [ +/- ]
Цитата _wS_ ()
Ну по умолчанию i это: bind "i" "showbriefing"
AddCommandListener..

Свежий ум)

Раз на то пошло, то вот:
Код
bind "ESCAPE" "cancelselect"
bind "`" "toggleconsole"

bind "TAB" "+showscores"
bind "SPACE" "+jump"
bind "," "buyammo1"
bind "." "buyammo2"
bind "0" "slot10"
bind "1" "slot1"
bind "2" "slot2"
bind "3" "slot3"
bind "4" "slot4"
bind "5" "slot5"
bind "6" "slot6"
bind "7" "slot7"
bind "8" "slot8"
bind "9" "slot9"
bind "a" "+moveleft"
bind "b" "buymenu"
bind "c" "radio3"
bind "d" "+moveright"
bind "e" "+use"
bind "f" "impulse 100"
bind "g" "drop"
bind "h" "commandmenu"
bind "i" "showbriefing"
bind "j" "cheer"
bind "k" "+voicerecord"
bind "m" "chooseteam"
bind "n" "nightvision"
bind "o" "buyequip"
bind "q" "lastinv"
bind "r" "+reload"
bind "s" "+back"
bind "t" "impulse 201"
bind "u" "messagemode2"
bind "w" "+forward"
bind "x" "radio2"
bind "y" "messagemode"
bind "z" "radio1"
bind "CTRL" "+duck"
bind "SHIFT" "+speed"
bind "F1" "autobuy"
bind "F2" "rebuy"
bind "F4" "bug"
bind "F5" "jpeg"
bind "F6" "save quick"
bind "F7" "load quick"
bind "F10" "quit prompt"
bind "MWHEELDOWN" "invnext"
bind "MWHEELUP" "invprev"
bind "MOUSE1" "+attack"
bind "MOUSE2" "+attack2"
bind "PAUSE" "pause"
 
Форум » SourceMod - Counter Strike Source && CS GO » Обсуждение » Нажатие клавиши "i" отловить
Страница 1 из 11
Поиск: