Here's my shitty mage bot that I would not recommend you to run for very long, but a little is fine.
Mostly just shared as a script to show how simple it can be, I've used it many times to get some quick levels early on.
It teleports starting at VARROCK, and ranges up to WATCHTOWER. It will cast whatever spell is available, down from WATCHTOWER.
Simba Code:
{.$DEFINE SMART}
{$I SRL/OSR.simba}
var
curr: Int32;
begin
//SMART.Init();
Mouse.Move(Mouse.GetPosition(), 45);
while srl.isLoggedIn() and
(Spells.Cast(CAST_WATCHTOWER_TELEPORT) or
Spells.Cast(CAST_ARDOUGNE_TELEPORT) or
Spells.Cast(CAST_CAMELOT_TELEPORT) or
Spells.Cast(CAST_FALADOR_TELEPORT) or
Spells.Cast(CAST_LUMBRIDGE_TELEPORT) or
Spells.Cast(CAST_VARROCK_TELEPORT)) do
begin
curr := Spells.PointToSlot(Mouse.GetPosition);
Wait(350, 2500);
if Random(3) = 0 then Mouse.Move(Mouse.GetPosition(), 6, True);
if Random(60) = 0 then Wait(200, 12000, wdLeft);
if Random(120) = 0 then srl.HoverRandomPlayer();
if Random(160) = 0 then begin Spells.MouseOver(ESpellCast(curr+Trunc(srl.TruncatedGauss(1,12)))); Wait(100, 4200); end;
if Random(280) = 0 then Minimap.RandomCompass(-180,180);
if Random(300) = 0 then Stats.HoverSkill(SKILL_MAGIC, srl.SkewedRand(3700,2700,9999));
if Random(300) = 0 then begin Gametabs.Open(EGametab(Random(High(Gametabs.Tabs)))); Wait(500,6000); end;
end;
end.
Requires latest SRL for a fix to Spells.Cast