Hello, I am having some trouble with the Homing Attack script I recently came up with. I was trying to use tables to index to the script what object should the player teleport to. I used SetPrimaryPartCFrame/PivotTo to teleport because I don't know how to alter a player's CFrame rapidly nor know how to use TweenService. Here is the code:
local targetChangeRate = 1.25 local HM1 = workspace.HomingAttackAble1 local HM2 = workspace.HomingAttackAble2 local HM3 = workspace.HomingAttackAble3 local HM4 = workspace.HomingAttackAble4 local HM5 = workspace.HomingAttackAble5 local AttackbleTable = { HM1, HM2, HM3, HM4, HM5 } local plr = game.Players.LocalPlayer local Target while plr do wait(0.05) pcall(function() Target = AttackbleTable[1] local distance = (script.Parent.PrimaryPart.Position - Target.Position).Magnitude print(distance) if distance < 50 and script.Parent.Humanoid.Jump == true then if Target == AttackbleTable[1] then script.Parent:SetPrimaryPartCFrame(Target.CFrame) print("LOL") wait(targetChangeRate) Target = AttackbleTable[2] if Target == AttackbleTable[2] then script.Parent:SetPrimaryPartCFrame(distance - CFrame.new(Vector3.new(0,3,0))) print("LOL2") wait(targetChangeRate) Target = AttackbleTable[3] if Target == AttackbleTable[3] then print("LOL3") end end end end end) end
Note: This occurs between the chain of HM1 and HM2 I used the "LOL" prints to see if the things are executing. I only saw "LOL" and not "LOL2" or "LOL3". Thank you for reading.