I've made a quest system and it works fine. Only downside is that I'm not able to add a reward so if a player completes a quest it just completes and doesn't give any leaderstats points. I've altered the script a bit and it runs fine in studio but when I tested it on it's own then it doesn't give me any points. Heres the script:
script.Parent.Touched:connect(function(k)
if k and k.Parent.Humanoid and game.Players[k.Parent.Name].Quest.Value == "go touch the other brik" then
game.Players[k.Parent.Name].Quest.Value = "[Completed]"
wait(1.1)
game.Players.LocalPlayer.leaderstats.Neutros.Value = game.Players.LocalPlayer.leaderstats.Neutros.Value + 200
end
end)

3 comments
GetPlayerFromCharacter is mainly better because it only detects players, and not just every single thing that has a humanoid inside it.
go link dis next time https://forum.scriptinghelpers.org/topic/192/how-to-use-localplayer
Also, use :Connect as :connect is deprecated.