Why are you using co ords for the essence anyway. Here an example of the procedure I used. Works perfect everytime.
SCAR Code:
RuneEss := BitmapFromString(29, 15, 'beNqV021LAkEUhuHxN0hQg' +
'RASgoFgsGAY9iKJIYm9mJixLGZZZmZpRlr0Ifrh3duhcXDa1obn8z' +
'UPZ84opVTESad3c7nyfpEclkrkpHxwWqmQ+vERaVSrxK3ViHdWvzh' +
'vkEvXJW3PI91Wq39z/Xzfex+NPl8nmGQ9ldrKZkuFAjFlG9eyiWv2' +
'6a47GTx+jMfCJhOJzUymmM9rec7agiPDDm47sC8PfQoLuxqPbzjO3' +
's42son/UVtwkWE7zaawzOFtOBR2eWlRxmvLoTORwrBi0pY5fLP+q6' +
'XWkrAiz4ObsrDMVgr/mD67EotRmIcLxU1ZF4ZlvL32FbjJLkSj8nD' +
'IQXiQDMsyiGyY08JsGrKNBz2lOQfZNJvl4SjMShCNz9Q2ZV1Y75tl' +
'Tgsj01njdu1fZemsAo8/ZBO3a2vZxAN6Knsg/BG2jvUQWce+Yj5zF' +
'qc54Qr6cwvR85HfpP59ImEJOF9YVBdZ');
if (FindBitmapToleranceIn(RuneEss, x, y, 1, 1, 500, 300, 50)) then
Begin
Mouse(x,y,5,5,False);
ChooseOption('All');
Wait2(500 + Random(250), True);
If not(InvFull) then Players[CurrentPlayer].Loc := 'Bank'
else Players[CurrentPlayer].Loc := 'Bank2';
end else begin
Writeln( Players[CurrentPlayer].Name + ': Couldnt find any rune ess in the bank');
Players[CurrentPlayer].Active := False;
end;
FreeBitmap(RuneEss);