I would like to create a projectile that damages a person and switches the local players position with the player hit. I thought that I should get the players position and local players when they get hit, but I don't know how to record those values.
This is my current script:
local remote = game.ReplicatedStorage.BarrierTP
local debounce = false
remote.OnServerEvent:Connect(function(plr, mouseaim)
local char = plr.Character
local hum = char:WaitForChild("Humanoid")
local hrp = char:WaitForChild("HumanoidRootPart")
local projloc = game.ServerStorage.Classes.BarrierMaster.SwitchTP
local barrierproj = projloc:Clone()
barrierproj.Parent = workspace
barrierproj.CFrame = hrp.CFrame * CFrame.new(0,3,0)
barrierproj.CFrame = CFrame.new(barrierproj.Position, mouseaim)
local tweenserv = game:GetService("TweenService")
local TS = tweenserv:Create(barrierproj,TweenInfo.new(3),{CFrame = barrierproj.CFrame * CFrame.new(0,0,-300)})
TS:Play()
game.Debris:AddItem(barrierproj, 1)
barrierproj.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") and hit.Parent.Name ~= plr.Name and debounce == false then
debounce = true
hit.Parent.Humanoid:TakeDamage(20)
hrp.CFrame = hit.Parent.HumanoidRootPart.CFrame
hit.Parent.HumanoidRootPart.CFrame = hrp.CFrame
wait(1)
debounce= false
end
end)
end)
