Всем привет, у меня вопрос как работает команда key, для if then. Пишу скрипт, приписал, хук, но при нажатии не работает кнопка, сделал проверку, сообщения пишет перед if key == KEY_T, и просто скипает if. Скиньте какой-то пример с if key == KEY_T
Если ты выполняешь данное условие на клиентской стороне, то проще использовать метод input.IsKeyDown( KEY_T )
, который проверяет нажата ли клавиша. Потом key сама по себе ничего не дает, это лишь образное название переменной и чтобы можно было сравнить переменную с кодом клавиши, то переменной надо задать код клавиши: (KEY_T == 30)
, а значит и key должно быть равно 30. И еще вопрос, ты делаешь это в хуке? Есть хуки на нажатие клавиш, к примеру KeyPress(ply, key)
Данный хук вызывается каждый раз когда ты нажимаешь клавишу. Пример изgmodwiki
:
hook.Add( "KeyPress", "keypress_use_hi", function( ply, key )
if ( key == IN_USE ) then
print( "hi" )
end
end )
Ссылка на хук KeyPress: GM:KeyPress - Garry's Mod Wiki. Советую изучить. Есть и другие хуки, реагирующие на нажатие клавиш
hook.Add(“PlayerBindPress”, “DisableF2MenuForGhosts”, function(ply, key, plaety)
print(“Hook called.”)
if ( key == KEY_F2 ) then
if v:GetNWBool("isGhost") then
return false
end
end
end)
Клиенка
Один из скриптов где есть KeyBind
Этот код не сработает по двум причинами :
- Не верный хук для данного действия.
- Даже если хук верный, аргументы не правильно указаны.
а как фиксить?
Данный хук не так работает
Я уже другой написал, все работает теперь. Спасибо