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)