Sometimes this script fails to produce a double jump. It will work then sometimes you hold space and you only jump once instead of twice.
bind "SPACE" "+doublejump"
alias -doublejump "-moveup"
alias +doublejump "+moveup;waitlong;-moveup;waitlong;+moveup;waitlong"
alias waitlong "wait;wait;wait;wait"
sorry i forgot to put that in. THAT is what my script is. seems the same as yours. BUT for some reason, sometimes it fails to work.