Нажатие клавиши "i" отловить
|
|
Regedit
|
Дата: Четверг, 04.02.2016, 10:49:32 | Сообщение # 1 |
|
Сообщений: 135
Репутация: 1 [ +/- ]
|
|
Здравствуйте, можно как-то отловить момент нажатия клавиши "i" ?
|
|
| |
BarD
|
Дата: Четверг, 04.02.2016, 11:04:59 | Сообщение # 2 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Вряд ли, если эта клавиша не привязана к одной из этих функций:
Код // 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 |
|
Сообщений: 205
Репутация: 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 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Sallcom, GetClientButtons получает битсумму нажатых клавиш. А потом проверяется через конъюкцию. Но проблема в том, что проверить можно только на обозначенные клавиши из моего предыдущего поста. Думаю, вряд ли получится.
|
|
| |
Sallcom
|
Дата: Пятница, 05.02.2016, 14:34:49 | Сообщение # 6 |
|
Сообщений: 205
Репутация: 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 |
|
Сообщений: 205
Репутация: 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"
|
|
| |