It basically says that the first argument has to be the player, which it is? Unless I'm wrong but I don't see how I could fix this?
Error: "FireClient: player argument must be a Player object?"
Serverscript In Tool
local Projectile = script.Parent
local Heartbeat = game:GetService("RunService").Heartbeat
while Heartbeat:wait() do
Projectile.CFrame = CFrame.new(Projectile.Position, Projectile.Position + Projectile.Velocity)
Projectile.Touched:connect(function(hit)
local Player = game.Players:GetPlayerFromCharacter(hit.Parent)
local Model = game.ReplicatedStorage.Morphs.SweetCheeks
local Event = game.ReplicatedStorage.Events.Morph
Event:FireClient(Player, Model)
end)
end

1 comment
You need to filter for the Character Object before using it to uplink a player. This can be done by searching hit.Parent for a Humanoid Object, occasionally provided a secondary Parent climb for potential accessory overlap.