Every time I chat and click on the KeyCode for my script below, it triggered the "InputBegan" event. Is there a way to make the script "postpone" (in a sense) the event, so that the function connected to the "InputBegan" event doesn't run while chatting?
1 | -- Local Script located in game.StarterGui |
2 | Player = game.Players.LocalPlayer |
3 | UIS = game:GetService( "UserInputService" ) |
4 |
5 | UIS.InputBegan:connect( function (InputObject) |
6 | if InputObject.KeyCode = = Enum.KeyCode.F then |
7 | print ( "F is pressed!" ) |
8 | end |
9 | end ) |
This is what happened when I was chatting. Notice the output.
The InputBegan
event returns two values.
1) - The input that fired the event.
2) - Whether or not the event was fired as a "gameProcessedEvent".
Notice the second value? It's a bool. And a "gameProcessedEvent" is something like.. chatting(:
See the connection? All you have to do is make sure the second parameter is false before going on with the code(:
01 | local Player = game.Players.LocalPlayer |
02 | local UIS = game:GetService( "UserInputService" ) |
03 |
04 | UIS.InputBegan:connect( function (InputObject,Processed) |
05 | --Make sure the second parameter is false |
06 | if not Processed then |
07 | if InputObject.KeyCode = = Enum.KeyCode.F then |
08 | print ( "F is pressed!" ) |
09 | end |
10 | end |
11 | end ) |