Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How do I make this script uninterruptible with keybind activation?

Asked by 4 years ago

Hi, Im trying to make a Gui wich activates on pressing M. the script works perfectly I just don't know how to make it so it cant be interupted? Because if I press M a couple of time it breaks. With this i mean that M does nothing when the Gui is animating on the screen. Thanks in advance.

01local Travel = script.Parent.Parent.Travel
02 
03p = game.Players.LocalPlayer
04mouse = p:GetMouse()
05 
06mouse.KeyDown:connect(function(key)
07    if key == "m" then
08        if Travel.Visible == true then
09            Travel:TweenPosition(
10                UDim2.new(0, 0, 0.79, 0), --End Position
11                "Out", -- Easing Direction
12                "Back", --Easing Style
13                2, --How Long Does It Take?
14                false --Other Tween Override
15                )
View all 29 lines...
0
I was unclear about the ''with this i mean'' part, that sentence is talking about the ''how to make it uninterruptible'' part. LimitedVxrsion 3 — 4y

1 answer

Log in to vote
1
Answered by 4 years ago
Edited 4 years ago

I think a boolean would be applicable to this situation. The player will be unable to spam while the tween is playing.

01local Travel = script.Parent.Parent.Travel
02p = game.Players.LocalPlayer
03mouse = p:GetMouse()
04local canPress = true
05 
06mouse.KeyDown:connect(function(key)
07    if not canPress then -- detect if player can press m
08        return -- return nothing if they can't
09    end
10    canPress = false -- set canPress to false
11    if key == "m" then
12        if Travel.Visible == true then
13            Travel:TweenPosition(
14                UDim2.new(0, 0, 0.79, 0), --End Position
15                "Out", -- Easing Direction
View all 35 lines...
0
It worked! Amazing work thank you! LimitedVxrsion 3 — 4y
Ad

Answer this question