Your code is very messy, try this (not tested)
on chat:
if {playersjoinlocation::%player's uuid%} is player's location:
send "&cMove before chatting!"
else:
delete {playersjoinlocation::%player's uuid%}
on join:
set {playersjoinlocation::%player's uuid%} to player's location
on quit:
delete {playersjoinlocation::%player's uuid%}