Looks good, but I have some suggestions :P
Simba Code:
procedure antiban();
begin
FindNormalRandoms;
case random(200) of
1: MakeCompass(RandomRange(100,180));
2: PickUpMouse;
3: RandomAngle(True);
4: HoverSkill(skill_Magic,false);
end;
end;
Work on your standards with this one. Remember that a case starts at 0(zero) and not at 1
Simba Code:
procedure Antiban;
begin
FindNormalRandoms;
case Random(200) of
0: MakeCompass(RandomRange(100, 180));
1: PickUpMouse;
2: RandomAngle(True);
3: HoverSkill(skill_Magic, False);
end;
end;
Also, for your alching pattern
Simba Code:
MMouse(647, 230, 7, 7);
Wait(1150 + Random(35));
This means the random amount of wait time is extremely low, 35/1150*100%=3% is random. Which means that 97% is the exact same time every time. It also means that you move the mouse every time you click which is something that I personally don't do when I'm alching. I've actually never really alched legimately in my life, but when I did, I did a couple alchs without moving and mainly used mousekeys. I would play around with this and make a case with different waiting times like this:
[ Part of one of the test scripts I've made: ]
Simba Code:
procedure Alching;
{===============================================================================
This part handles the alching
===============================================================================}
var
X, Y, CurrentAlchs: Integer;
begin
Talking;
CurrentAlchs:=0
if not(GameTab(tab_Magic)) then
begin
WriteLn('Current tab is not the magic tab, switching!');
FTab(28);
end;
Mousebox(608, 289, 631, 312, 2); // The exact box around High-Alchemy
GetMousePos(X, Y);
Wait(25 + Random(50));
repeat
begin
Talking;
Mouse(X, Y, 0, 0, 1);
case Random(10) of
0: Wait(700 + Random(200));
1: Wait(600 + Random(300));
2: Wait(500 + Random(400));
3: Wait(400 + Random(500));
4: Wait(300 + Random(600));
5: Wait(700 + Random(100));
6: Wait(600 + Random(200));
7: Wait(500 + Random(300));
8: Wait(400 + Random(400));
9: Wait(1000 + Random(500));
end;
Mouse(X, Y, 0, 0, 1);
Inc(CurrentAlchs);
Inc(Alch);
case Random(10) of
0: Wait(700 + Random(200));
1: Wait(600 + Random(300));
2: Wait(500 + Random(400));
3: Wait(400 + Random(500));
4: Wait(300 + Random(600));
5: Wait(700 + Random(100));
6: Wait(600 + Random(200));
7: Wait(500 + Random(300));
8: Wait(400 + Random(400));
9: Wait(1000 + Random(500));
end;
end;
until(CurrentAlchs>=RandomRange(10, 50)) or not(LoggedIn); // Every 10-50 alchs it moves the mouse a bit
end;
Other then that it looks well made for a first script