if(showpos[player.ID]==false)
Should be
if(!showpos[player.ID])
Same with true, you don't need that there.
Also, there's no point in checking if it's true in an else if if the previous statement was false. It's either true or false.
if(!showpos[player.ID]) //player will have it false when it enters the game
{
}
else
{
}
And obviously what heekzs said, the timers are bad. Really bad.