Команда key == KEY_T

Всем привет, у меня вопрос как работает команда 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

Этот код не сработает по двум причинами :

  1. Не верный хук для данного действия.
  2. Даже если хук верный, аргументы не правильно указаны.

а как фиксить?

Данный хук не так работает

Я уже другой написал, все работает теперь. Спасибо