I have this remote event for whenever a player is in the Region3 of an arena I made, and I want certain attack functions to perform whenever the player is in the Region3. I set up a remote event for it, and when the player is in the Region3, a bool value is set to true, and is fired to the server. On the server event, certain attack functions are supposed to happen, but they don't happen. I even had prints say the function was working, and that worked, but the function never happened.

Server script

InRange = false

function ShootingArc(plrtorso,plr)
	if not InRange then return end
	
		
		local mouse = plr:GetMouse()
		local hrp = plr.Character:WaitForChild("HumanoidRootPart")
		local t = 1
		local g = Vector3.new(0, -game.Workspace.Gravity, 0);
		local x0 = script.Parent.HumanoidRootPart.CFrame * Vector3.new(0, 0,-10)
	
		local v0 = (plrtorso.Position - x0 - 0.5*g*t*t)/t;

		local Star = game.ReplicatedStorage.MagicItems.Particles.BlazeMagic.Fire:Clone()
		Star.Name = "SunComet"
		Star.Anchored = false
		Star.CanCollide = false
		Star.Parent = workspace.MagicParts
		Star.CFrame = CFrame.new(x0)
		Star.Velocity = v0
		Star.SunExplosion.Enabled = false
		Star.Size = Vector3.new(7,7,7)
		
	Star.Touched:Connect(function(hit)
		if hit.Parent == script.Parent then return end
		Star:Destroy()
		
		local h = hit.Parent:FindFirstChild("Humanoid")
		local pv = hit.Parent:FindFirstChild("PlayerSV")
		
		if h ~= nil then
		
		if pv ~= nil then
			
		print((Star.Position - hit.Parent.Torso.Position).magnitude)
		if (Star.Position - hit.Parent.Torso.Position).magnitude <= 60 then
			h:TakeDamage(800)
			
		end
	end
end
		
		local Sun = Instance.new("Part")
		Sun.Parent = workspace.MagicParts
		Sun.Material = "Neon"
		Sun.BrickColor = BrickColor.new("Deep orange")
		Sun.Position = Star.Position
		Sun.Shape = "Ball"
		Sun.Size = Vector3.new(0,0,0)
		Sun.Transparency = 0
		Sun.CanCollide = false
		Sun.Anchored = true
		
		--local SunPE = game.Workspace.Fire.SunExplosion:Clone()
		--SunPE.Parent = Sun
		--SunPE.Enabled = true
		
		for i = 1, 30 do
			
			Sun.Size = Sun.Size + Vector3.new(4,4,4)
			--Sun.Transparency = Sun.Transparency + 0.05
			
			
			wait()
		end
		
	game.Debris:AddItem(Sun,.05)
	end)
											
	game.Debris:AddItem(Star,10)	
	wait(2)
end

game.ReplicatedStorage.AreaRegions["Theos' Arena"].RemoteEvent.OnServerEvent:Connect(function(plr,InRegion)
	if InRegion == false then return end
	local char = plr.Character or plr.CharacterAdded:Wait()
	while true do
		wait(1)
		
		if InRegion == true then
			ShootingArc(char.Torso,plr)
			print("InRegion true for Theos' Arena")
			print(ShootingArc)
		else
			return 
		end
	end
end)

The local script

InRegion = false

for i,v in pairs(game.ReplicatedStorage.AreaRegions:GetChildren())  do

	local X = math.abs(v.Point1.Position.X-v.Point2.Position.X) 
	local X2 = (v.Point1.Position.X+v.Point2.Position.X)/2
	local Y = math.abs(v.Point1.Position.Y-v.Point2.Position.Y) 
	local Y2 = (v.Point1.Position.Y+v.Point2.Position.Y)/2
	local Z = math.abs(v.Point1.Position.Z-v.Point2.Position.Z) 
	local Z2 = (v.Point1.Position.Z+v.Point2.Position.Z)/2
	local size = (Vector3.new(X,Y,Z))/2 
	local pos = Vector3.new(X2,Y2,Z2)
	local reg = Region3.new(pos - size, pos + size)
	local whitelist = {c.HumanoidRootPart}
spawn(function()
	while wait(1) do
		InRegion = false
		local n = workspace:FindPartsInRegion3WithWhiteList(reg,whitelist,10)
		
		for _,v2 in pairs(n) do
			if v2.Parent:FindFirstChild("Humanoid") and v2.Parent == c and v2.Name == "HumanoidRootPart" then
				local plr = game.Players:GetPlayerFromCharacter(v2.Parent) 
				InRegion = true
				
				if plr.AreaConfig.Area.Value ~= v.Name then
					plr.AreaConfig.Area.Value = v.Name
					MusicChange(v.Music)
					AmbientChange(v.Config)
					v.RemoteEvent:FireServer(InRegion)
				end
			end
		end
	end
end)
end