Jump to content

Бинд


DexA

Recommended Posts

Как-то так

local stateKey1 = 0; -- значение состояния Кнопки 1 
local stateKey2 = 0; -- значение состояния Кнопки 2 
-- Меняем значения, при нажатии на клавиши, и делаем проверку, нажаты ли они обе 
bindKey ( "F1", "down", function ( ) 
     stateKey1 = 1; 
     checkStates ( );  
end ) 
  
bindKey ( "F2", "down", function ( ) 
     stateKey2 = 1; 
     checkStates ( );  
end ) 
  
function checkStates ( ) 
     if ( stateKey1 == 1 ) and ( stateKey2 == 1 ) then 
          ... -- ваши действия 
     end 
end ) 
--Возвращаем исходные значения клавиш, при отпускании клавиш 
bindKey ( "F1", "up", function ( ) 
     stateKey1 = 0; 
end ) 
  
bindKey ( "F2", "up", function ( ) 
     stateKey2 = 0;  
end ) 

Link to comment

Memory, забавный пример, но даже такой кривой пример можно упростить(на будущее просто):

  
local stateKey1 = 0; -- значение состояния Кнопки 1 
local stateKey2 = 0; -- значение состояния Кнопки 2 
-- Меняем значения, при нажатии на клавиши, и делаем проверку, нажаты ли они обе 
function ChangeState( sKey, sKeyState ) 
     if sKeyState == "up" then 
          if sKey == "F1" then 
               stateKey1 = 0 
          else 
               stateKey2 = 0 
          end 
     else 
          if sKey == "F1" then 
               stateKey1 = 1 
          else 
               stateKey2 = 1 
          end 
     end 
end 
bindKey( "F1", "down", ChangeState ) 
bindKey( "F2", "down", ChangeState ) 
bindKey( "F1", "up", ChangeState ) 
bindKey( "F2", "up", ChangeState ) 
  
function checkStates ( ) 
     if ( stateKey1 == 1 ) and ( stateKey2 == 1 ) then 
          ... -- ваши действия 
     end 
end ) 
  

Сам пример, Client-side:

  
local function BindAction( sKey, sKeyState ) 
     if getKeyState( "lshift" ) then 
          outputChatBox( "Pressed LShift and H!", 255, 255, 0, true ) 
     end 
end 
bindKey( "H", "up", BindAction ) 
  

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...