So I tried this in a Local Script:
player=game.Players.LocalPlayer
char=player.Character
but then I reference it later and gives me the 'nil value'.
I even tried this:
player=game.Players.LocalPlayer
char=player:WaitForChild("Character")
and that didn't do anything at all. Any suggestions?

2 comments
Wait for LocalPlayer too.
You don't need to wait for LocalPlayer. LocalScripts can only get LocalPlayer from descendants of the player, so therefore the player joins the game before the scripts even fire.