I have been getting word that this works only once, but it seems that it should work multiple times.
01 | debounce = false |
02 | script.Parent.Touched:connect( function (hit) |
03 | print (hit.Name) |
04 | plr = game.Players:GetPlayerFromCharacter(hit.Parent) |
05 |
06 |
07 | if plr then |
08 | print (plr.Name) |
09 | if debounce = = true then |
10 |
11 |
12 | elseif debounce = = false then |
13 | debounce = true |
14 | local PointsService = Game:GetService( "PointsService" ) |
15 |
01 | debounce = false |
02 | script.Parent.Touched:connect( function (hit) |
03 | if then |
04 | if debounce = = true then |
05 | elseif debounce = = false then |
06 | debounce = true |
07 | if then |
08 | elseif then |
09 | pcall ( function () |
10 | if then |
11 | else |
12 | debounce = false |
13 | end |
14 | end ) |
15 | end |
16 | end |
17 | end |
18 | end ) |
After removing the actual content of the script, you can clearly see that debounce
will not be set back to false
unless a certain set of criterion is matched every time. If for one time it isn't, it never works again. You should be setting debounce
to false
in the same block that it's being set to true. That would look more like this:
1 | ... |
2 | debounce = true |
3 | if ... then |
4 | ... |
5 | end |
6 | debounce = false |
7 | ... |