So, I currently have a local script in StarterCharacterScripts that manages the region3 hitbox and fires a remote event for the player to take damage when a valid hit is detected.
Here is the script:
local player = game.Players.LocalPlayer
local Humanoid = game.Players.LocalPlayer.Character.Humanoid
local character = player.Character
local hmndrootpart = character:FindFirstChild("HumanoidRootPart")
local DoorTouched = false
player:WaitForChild("PlayerGui")
local regionSize = 6
local heightSize = 10
local visualizeRegion = Region3.new(Vector3.new(1,1,1), Vector3.new(regionSize,heightSize,regionSize))
local visualizePart = Instance.new("Part", game.Workspace.PlayerObjects)
visualizePart.Name = player.Name.."-visualizePart"
visualizePart.Anchored = true
visualizePart.Size = visualizeRegion.Size
visualizePart.CFrame = visualizeRegion.CFrame
visualizePart.Color = Color3.new(255,0,0)
visualizePart.Transparency = 1
visualizePart.CanCollide = false
game:GetService("RunService").Heartbeat:connect(function()
wait()
visualizePart.Position = hmndrootpart.Position
local PlayerSearchRegionTest = Region3.new(visualizePart.Position-(visualizePart.Size/2),visualizePart.Position+(visualizePart.Size/2))
local parts = workspace:FindPartsInRegion3WithWhiteList(PlayerSearchRegionTest, {workspace.CurrentCamera}, 1000)
for partIndex, part in pairs(parts) do
if part:FindFirstChild("Attack") or part.Name == "PunchHitbox" then
local dmg = (part:FindFirstChild("StatMult").Value * 10) * part:FindFirstChild("AssetMult")
game.ReplicatedStorage.Remotes.TakeDamage:FireServer(dmg,Humanoid)
end
end
end)
I don’t know how safe exploiting wise it is or how efficient it is and I would like some advise.
Thank you for your time