I am making it so that an ability can be used to attack enemies in my game, and I am currently using this, but for some reason it says, “Position is not a valid member of MagmaBall” : local event = game.ReplicatedStorage.MagmaAbility . I know this is probably a simple issue, and I am pretty bad at positioning.
event.OnServerEvent:Connect(function(plr)
local VFX = game.ReplicatedStorage.MagmaBall
local clonedVFX = VFX:Clone()
clonedVFX.Parent = workspace
clonedVFX.Position = plr.Character.HumanoidRootPart.Position
task.wait(3)
clonedVFX:Destroy()
end)
The error “Position is not a valid member of MagmaBall” means that whatever you put into VFX (i.e. game.ReplicatedStorage.MagmaBall) is not a BasePart—most likely it’s a Model, a Folder, a instance doesn’t have a .Position property. only BasePart-derived objects have a .Position (and .CFrame). If “MagmaBall” is a Model you have to move one of its BasePart children rather than the Model itself.
I did like this and it works (I found it somewhere).
local event = game.ReplicatedStorage.MagmaAbility
event.OnServerEvent:Connect(function(plr)
local magmaBall = game.ReplicatedStorage.MagmaBall
local clonedVFX = magmaBall:Clone()
-- Set its parent and position
clonedVFX.Parent = workspace
clonedVFX:SetPrimaryPartCFrame(plr.Character.HumanoidRootPart.CFrame)
-- Wait and destroy
task.wait(3)
clonedVFX:Destroy()
end)