>>656
そのスクリプトでは疑問点の部分だけを解決しても他にも色々変換ミスがあるので動きませんがとりあえず疑問点について説明します

ここ● -=は代入演算子なので右辺は式として解釈されます
したがって、""か''で囲まれていない文字列は変数名として処理されるので%TimeButtonDown%だと二重参照となります
この場合だと単に%%を外すだけで良いです
elapsed -= %TimeButtonDown%

elapsed -= TimeButtonDown

ここ■ そのifに至るまでの過程での変換ミスにより、変数に何も代入されていないのでv2ではエラーが発生します
したがって、きちんとした処理が行われるよう修正するか、とりあえずスクリプトの先頭付近に x := x0 := y := y0 := 0 とでも入れておけば良いです

冒頭に記載した通りそのスクリプトでは他の問題点も解決しないと動かない、というか目についたとこを修正しても動かなかったし冗長な部分が多いので私ならこうします
厳格なテストをした訳ではないのでどっかで問題が発生する可能性はあります。と予防線だけは張っておきます
~LButton:: {
MouseGetPos(&x0, &y0)
if KeyWait("LButton", "T0.2") ; 押下時間が0.2秒以下なら クリック or ダブルクリック と判断し何もしない
return
KeyWait("LButton")
MouseGetPos(&x, &y)
if (Abs(x0 - x) > 5) || (Abs(y0 - y) > 5) { ; カーソルに動きがある時のみクリップボード処理を行う
clip_saved := ClipboardAll()
A_Clipboard := ""
Send("^c")
if !ClipWait(1, 1)
A_Clipboard := clip_saved
}
}

元のスクリプトにはCrimson Editorと言うエディタで、おそらく行番号をクリックした場合、行選択されるのでその行をコピーする機能がありますが除外しています
この機能と同様のことがしたければ#hotifで個別に対処する方が良いと思います