Mouse Macro, by Dan's The Man...
This script is simple. It records your mouse movement and outputs it in a nice, SCAR-friendly scar script in the debug box 
Also, you might just want to delete the first 4 lines of the output'ed script (yes, it detects the run button clicks
)
Anyways, have fun 
scar Code:
{$DEFINE Debug} //Add a // in front of this line (so it turns green) to not clear
// the debug box (the box which is located at the bottom left of SCAR)
//Mouse Macro by Mayazcherquoi (a.k.a Dan's The Man)
//Records and outputs a SCAR-compatible script of your mouse movements and
//actions.
//Press F12 or CTRL+ALT+S to stop the script.
program MouseMacro;
var
cx, cy, lx, ly, wt, mD, wtB, sT, Count: Integer;
IMBDL, IMBDR: Boolean;
procedure ScriptTerminate;
begin
Alert('Recording has stopped');
Writeln('end.');
GetSelf.WindowState := wsNormal;
end;
begin
GetSelf.WindowState := wsMinimized;
{$ifDef Debug}
ClearDebug;
{$endIf}
sT := 3;
Writeln('program New;');
Writeln(' //Written by Mouse Macro, which was written by Mayazcherquoi (a.k.a Dan''s The Man)');
Writeln('');
Writeln('procedure ScriptTerminate;');
Writeln('begin');
Writeln(' GetSelf.WindowState := wsNormal;');
Writeln('end;');
Writeln('');
Writeln('begin');
Writeln(' GetSelf.WindowState := wsMinimized;');
repeat
Alert('Starting in: ' + IntToStr(sT));
Dec(sT);
Wait(995);
Until(sT = 0);
Alert('Recording has Started');
wt := GetTimeRunning;
repeat
GetMousePos(cx, cy);
wtB := GetTimeRunning - wt;
if((cx <> lx) or (cy <> ly)) then
begin
if(not(wtB <= 0)) then
begin
Writeln(' Wait(' + IntToStr(wtB) + ');');
wt := GetTimeRunning;
end;
Writeln(' MoveMouse(' + IntToStr(cx) + ', ' + IntToStr(cy) + ');');
lx := cx;
ly := cy;
end;
IMBDL := IsMouseButtonDown(True);
IMBDR := IsMouseButtonDown(False);
if((IMBDL) and (not(mD = 1))) then
begin
if(not(GetTimeRunning - wt <= 0)) then
begin
Writeln(' Wait(' + IntToStr(wtB) + ');');
wt := GetTimeRunning;
end;
Writeln(' HoldMouse(' + IntToStr(cx) + ', ' + IntToStr(cy) + ', True);');
mD := 1;
end else
if(not(IMBDL) and (mD = 1)) then
begin
if(not(wtB <= 0)) then
begin
Writeln(' Wait(' + IntToStr(wtB) + ');');
wt := GetTimeRunning;
end;
Writeln(' ReleaseMouse(' + IntToStr(cx) + ', ' + IntToStr(cy) + ', True);');
mD := 0;
end;
if((IMBDR) and (not(mD = 2))) then
begin
if(not(wtB <= 0)) then
begin
Writeln(' Wait(' + IntToStr(wtB) + ');');
wt := GetTimeRunning;
end;
Writeln(' HoldMouse(' + IntToStr(cx) + ', ' + IntToStr(cy) + ', False);');
mD := 2;
end else
if(not(IMBDR) and (mD = 2)) then
begin
if(not(wtB <= 0)) then
begin
Writeln(' Wait(' + IntToStr(wtB) + ');');
wt := GetTimeRunning;
end;
Writeln(' ReleaseMouse(' + IntToStr(cx) + ', ' + IntToStr(cy) + ', False);');
mD := 0;
end;
if(IsFKeyDown(12)) then
TerminateScript;
Until(False);
end.