Thanks to your generous help this script is almost fully functional! However I need some more help. I've been struggling to figure out one last kink. This is what I need help with:
So when you step on the brick it checks your group. If you are in one of the accepted groups, either marcano or police at this point, it searches the game for all other players in that group and gives them the money loop. However a player can step on the brick as many times as they want and add an additional loop for every touch. This is a problem. Now I placed a stringvalue inside capture point named "Owner" and on touch it changes the value to the group that you are in. Is there a way I can utilize this strategy to fire off the function ONLY if the value inside the capture point is NOT equal to the touched player's value? I'm also curious as to if there is a way to break the money loop if the value of "Owner" is changed.
Thank you if you read this far!!! Scripting Helpers has helped me so much on my endeavors in game creation, and any advice or suggestions mean the world to me. : )))))
local money = "Money" local amount = 50 local timedelay = 2 local marcano = 2959195 local police = 3003695 local point = script.Parent point.Touched:connect(function(part) local plr = game.Players:GetPlayerFromCharacter(part.Parent) print ('The capture point was touched') if plr then if plr:IsInGroup(police) or plr:IsInGroup(marcano) then print ('The player is in an accepted group') point.BrickColor = BrickColor.new("Black") if plr:IsInGroup(police) then plr.Group.Rank.Value = police elseif plr:IsInGroup(marcano) then plr.Group.Rank.Value = marcano end for _,v in pairs(game.Players:GetChildren()) do if v:IsInGroup(police) then v.Group.Rank.Value = police elseif v:IsInGroup(marcano) then v.Group.Rank.Value = marcano end if plr.Group.Rank.Value == v.Group.Rank.Value then wait (timedelay) while true do wait (timedelay) game.Workspace.Capture.Owner.Value = plr.Group.Rank.Value v.Wealth[money].Value = v.Wealth[money].Value + amount end print ('The player is not in an accepted group!') end end end end end)
Here is what I'm trying to play around with.
if plr.Group.Rank.Value ~= point.Owner.Value then
Add an additional check when the part is touched, check if the point is aleredy captured by the same group? Else if a other group touches it, it breaks the loop.