bomh
2012-02-05 16:49:39
How Long have You Played Runescape?
5 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
ComputerNumericalControl
Are you a member of any other communities?
No
Tell us about yourself…
Please show us one (or multiple) of your scripts.
THIS IS A QUICK SCRIPT THAT I WROTE UP FOR RUNNING BONES.
5 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
ComputerNumericalControl
Are you a member of any other communities?
No
Tell us about yourself…
From: bomh
hello, my name is Bomh. Am Vietnamese, i like Fighting ,Racing and Soccer. That why i know 5 difference fighting style. example Judo, Karate, Taekwondo…. just to name a fell. Am really fascinate about scripting and programing that why i take ComputerNumericalControl at school right now. I hope i can learn more new thing after i became Member. thanks you in advance ..
AND I WOULD ALSO LIKE TO THANKS HAMSTER31 FOR ALL HIS HARD WORK IN TEACHING ME. AND TO ALL THE GREAT TUT OUT THERE. THANKS
Please show us one (or multiple) of your scripts.
program Astral_rc;
{$DEFINE SRL5}
{$DEFINE SMART}
{$i SRL/srl.simba}
{$i SPS/sps.simba}
{$i srl/srl/misc/trade.simba}
var
TeleBank, TeleHome, GPouch, SPouch, LPouch, MPouch, BankEss, BankTrout, Trout, Air, Cosmic, DarkWiz, TEXT, NPC, DownArrow, RunesMade, Expgain, Endxp, Startxp, Bank, x, y:Integer;
Procedure DeclarePlayers;
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
Begin
Name:= '';
Pass:= '';
Pin := '';
BoxRewards:= ['XP','xp','lamp'];
Active:= True;
End;
End;
Function CheckRC:Integer;
Begin
Endxp := GetXP(SKILL_RUNECRAFTING);
if(Endxp=-1) then
Endxp:=GetXP(SKILL_RUNECRAFTING);
if(Endxp=-1) then
Endxp:=GetXP(SKILL_RUNECRAFTING);
if(Endxp=-1) then
Endxp:=GetXP(SKILL_RUNECRAFTING);
Result:= Endxp;
Expgain:=Endxp-Startxp;
End;
Procedure SetNorth(Highest: Boolean); //By WT-Fakawi
var
K: Integer;
Begin
Case random(2) of
0,1: K := VK_LEFT;
2: K := VK_RIGHT;
End;
KeyDown(K);
repeat
wait(1);
until (GetColor(546,11)= 65536) and (GetColor(541,10)= 65536)
KeyUp(K);
ClickNorth(SRL_ANGLE_HIGH);
End;
Procedure FreeDTMS;
Begin
FreeDTM(TeleBank);
FreeDTM(GPouch);
FreeDTM(SPouch);
FreeDTM(LPouch);
FreeDTM(MPouch);
FreeDTM(Air);
FreeDTM(Cosmic);
FreeDTM(NPC);
FreeDTM(DownArrow);
FreeDTM(DarkWiz);
FreeDTM(TEXT);
FreeDTM(Trout);
FreeDTM(BankEss);
FreeDTM(BankTrout);
FreeDTM(Bank);
FreeDTM(TeleHome);
End;
Procedure AntiBan;
Begin
if not LoggedIn then Exit;
case Random(99) of
0: wait(500+random(3000));
1: Begin
RandomMovement;
ClickNorth(SRL_ANGLE_HIGH);
End;
3: PickUpMouse;
End;
End;
Procedure TeleToMoonBank;
var
TeleBank, TeleHome, x, y:Integer;
Begin
GameTab(Tab_Magic);
wait(200+Random(400));
TeleBank := DTMFromString('mlwAAAHicY2dgYDBjYmCwBGIXILYCYkMgdoRiJkYGhh9ANYxAmpsRwv8F5HMC6SPHToBksGJJBtwAuw4IhgIAnK8GPg==');
TeleHome := DTMFromString('mwQAAAHic42RgYLBmYmBwBmIXILYHYgsgNoZiENsOiJ8A1T0E4udA/BaKXwLxIyC+C8V6GgYMbXNu4MWSDIQBIxEYDgAdAhq0');
if FindDTM(TeleBank, x, y, MIX1, MIY1, MIX2, MIY2) then
Begin
FindNonInventoryRandoms;
writeln('found tele');
MMouse(x, y, 7, 7);
Mouse(x, y, 0, 0, True);
End else
Begin
GameTab(Tab_Magic);
wait(200+Random(400));
if FindDTM(TeleHome, x, y, MIX1, MIY1, MIX2, MIY2) then
Begin
FindNonInventoryRandoms;
writeln('found tele');
MMouse(x, y, 7, 7);
Mouse(x, y, 0, 0, True);
End else
writeln('Cant Find Tele');
NextPlayer(False);
End;
End;
Procedure PouchA; // DEMISE MODIFY BY ME
var
GPouch, SPouch, x, y: Integer;
Begin
GPouch := DTMFromString('m6wAAAHic42aAAGYg5gZiISAWg2IQmxeI+aCYE0rLQrEUEItD1fFA5Vmg5jECcbi/E5BkIgqLAEkuBuIAIwkYCQAAh84CZg==');
SPouch := DTMFromString('mrAAAAHic42CAADYg5gJifiDmg7I5gJgJiAWAWByKhYGYF4g5gZgRqjc+3BOqEjvmh5qHCzASwDAAANO3AeA=');
if FindDTM(GPouch, x, y, MIX1, MIY1, MIX2, MIY2)then
Begin
Writeln('FillingGiantPouch!');
MMouse(x, y, 4, 4)
waituptext('iant', 500);
Mouse(x, y, 3, 3, False);
ChooseOption('ill');
End;
Wait(150+Random(50));
if FindDTM(SPouch, x, y, MIX1, MIY1, MIX2, MIY2) then
Begin
Writeln('FillingSmallPouch!');
MMouse(x, y, 4, 4)
waituptext('mall', 500);
Mouse(x, y, 3, 3, False);
ChooseOption('ill');
End;
End;
Procedure PouchB; // DEMISE MODIFY BY ME
var
MPouch, LPouch, x, y: Integer;
Begin
LPouch := DTMFromString('mAAEAAHiclctBDkAwAETRqVSIVggV3MUpbG3d/wy+aJMudZI3sxovyaNFjwkDAlYsGNGh1pe0BhYNHOb42bDHff/XedDVb7fKYgrleQDSXQLB');
MPouch := DTMFromString('mwQAAAHic42SAABYg5gRiPiDmQaI5oHICUHVMUD5IThiIJYBYCorjwz2hKnBjSQbCgJEIDAcA//ACCQ==');
if FindDTM(LPouch, x, y, MIX1, MIY1, MIX2, MIY2) then
Begin
Writeln('FillingLargePouch!');
MMouse(x, y, 4, 4)
waituptext('arge',500)
Mouse(x, y, 3, 3, False);
ChooseOption('ill');
End;
if FindDTM(MPouch, x, y, MIX1, MIY1, MIX2, MIY2)then
Begin
MMouse(x, y, 4, 4)
waituptext('edium', 500);
Mouse(x, y, 3, 3, False);
Writeln('FillingMediumPouch!');
ChooseOption('ill');
End;
End;
Procedure EmptyA; // DEMISE MODIFY BY ME
var
GPouch: Integer;
Begin
GPouch := DTMFromString('m6wAAAHic42aAAGYg5gZiISAWg2IQmxeI+aCYE0rLQrEUEItD1fFA5Vmg5jECcbi/E5BkIgqLAEkuBuIAIwkYCQAAh84CZg==');
if FindDTM(GPouch, x, y, MIX1, MIY1, MIX2, MIY2) then
Begin
Writeln('EmptyingLargePouch!');
MMouse(x, y, 4, 4)
waituptext('ouch', 500);
Mouse(x, y, 3, 3, False);
ChooseOption('mpty');
wait(300+Random(100));
End;
End;
Procedure EmptyB;
var
LPouch: Integer;
Begin
LPouch := DTMFromString('mAAEAAHiclctBDkAwAETRqVSIVggV3MUpbG3d/wy+aJMudZI3sxovyaNFjwkDAlYsGNGh1pe0BhYNHOb42bDHff/XedDVb7fKYgrleQDSXQLB');
if FindDTM(LPouch, x, y, MIX1, MIY1, MIX2, MIY2) then
Begin
Writeln('EmptyingLargePouch!');
MMouse(x, y, 4, 4)
waituptext('arge', 500);
Mouse(x, y, 3, 3, False);
ChooseOption('mpty');
Wait(300+Random(100));
FreeDTM(LPouch)
End;
End;
Procedure EmptyC; // DEMISE MODIFY BY ME
var
SPouch, MPouch: Integer;
Begin
MPouch := DTMFromString('mwQAAAHic42SAABYg5gRiPiDmQaI5oHICUHVMUD5IThiIJYBYCorjwz2hKnBjSQbCgJEIDAcA//ACCQ==');
SPouch := DTMFromString('mrAAAAHic42CAADYg5gJifiDmg7I5gJgJiAWAWByKhYGYF4g5gZgRqjc+3BOqEjvmh5qHCzASwDAAANO3AeA=');
if FindDTM(SPouch, x, y, MIX1, MIY1, MIX2, MIY2) then
Begin
FindNormalRandoms;
Writeln('EmptyingSmallPouch!');
MMouse(x, y, 4, 4)
waituptext('mall', 500);
Mouse(x, y, 3, 3, False);
ChooseOption('mpty');
Wait(500+Random(100));
End;
if FindDTM(MPouch, x, y, MIX1, MIY1, MIX2, MIY2) then
Begin
Writeln('EmptyingMediumPouch!');
MMouse(x, y, 4, 4)
waituptext('edium', 500);
Mouse(x, y, 3, 3, False);
ChooseOption('mpty');
Wait(300+Random(100));
End;
End;
Procedure PouchBroken; // DEMISE MODIFY BY ME
var
GPouch, Bank, x, y: Integer;
aFound: Extended;
Begin
if(LoggedIn)then
Begin
Air := DTMFromString('mrAAAAHic42BgYNjJyMBwDojPQ/FZID4FxMeA+BAQTwOqmQTE04F4LhAvAOIlQLwMiq+fOwskmXBiSQb8gJEAhgEALwkN4g==');
Cosmic := DTMFromString('mwQAAAHic42RgYGBlgAB2IOYGYn4o5gNiTiBmAWIRIJYFYhkgloTy+aHyzFD9N67JAUkmvNgISHIx4AeMRGA4AAB7DQMQ');
NPC := DTMFromString('mwQAAAHic42RgYJjExMAwGYhnAXEnEPcC8Qwgng7EE6H8x0B1d4H4IQOE/RKIXwDxWyB+BcT3gPj1axCLEYzrD32Cs1ExfsCFQxdOUwAB5hJV');
DownArrow := DTMFromString('mbQAAAHicY2VgYDjLyMBwDogvAfFJRgjfEIh1oTQImwGxjLgIAz8fD4ORjjIDJycnmOYH6kfHjFgwGAAANZoG5g==');
DarkWiz := DTMFromString('mwQAAAHic42RgYFjIyMCwCIinAPFKIJ4PxH1A3AbEDVDMA8RfgWoZGCH4JQME/2aAyCkC8fr+UobtU6sYFFS1GOSU1Rl4eXkxMD9QPSHMSASGAwAGuA7p');
TEXT := DTMFromString('mbQAAAHicY2VgYGBjZGBIA9JZQBwIZAcB8RIgXgTEK6D0SiAWkpJjOHHiBArmB+pBx4xYMBgAAKH9Dro=');
GPouch := DTMFromString('m6wAAAHic42aAAGYg5gZiISAWg2IQmxeI+aCYE0rLQrEUEItD1fFA5Vmg5jECcbi/E5BkIgqLAEkuBuIAIwkYCQAAh84CZg==');
Bank := DTMFromString('mQwAAAHicY2ZgYOADYmkGCGCD0sJAXJ4bzZAdZcMQ76PFwAXks0IxIxIGAgB8DQNy');
if not FindDTM(GPouch, x, y, MIX1, MIY1, MIX2, MIY2) then
Begin
If FindDTMRotated(Bank, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
begin
repeat
MMouse(x, y, 3, 3);
Mouse(x, y, 0, 0, 1);
Wait(RandomRange(2500, 2600));
until BankScreen or PinScreen;
if PinScreen then
begin
repeat
InPin(Players[0].Pin);
until BankScreen or not(LoggedIn);
end;
if BankScreen then
begin
Writeln('WithDrawAir');
if FindDTM(Air, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Writeln('AirRunes!');
MMouse(x, y, 5, 5);
WaitUptext('une', 500);
Mouse(x, y, 3, 3, true);
Wait(RandomRange(400, 500));
Mouse(x, y, 3, 3, true);
end;
Wait(250+Random(50));
if FindDTM(Cosmic, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
MMouse(x, y, 5, 5);
WaitUptext('osmic', 500);
Mouse(x, y, 3, 3, true);
end;
repeat
CloseWindow;
Wait(50+Random(50));
until not BankScreen;
Gametab(tab_Magic);
Wait(250+Random(50));
if FindDTM(NPC, x, y, MIX1, MIY1, MIX2, MIY2) then
Mouse(x, y, 3, 3, True);
Wait(750+Random(500));
if FindDTM(DownArrow, x, y, 443, 292, 479, 318) then
begin
repeat
Mouse(x, y, 3, 3, True);
Wait(50+Random(50));
until FindDTM(DarkWiz, x, y, MSX1, MSY1, MSX2, MSY2);
end;
if FindDTM(DarkWiz, x, y, MSX1, MSY1, MSX2, MSY2) then
Mouse(x, y, 3, 3, True);
repeat
Wait(850+Random(450));
ClickToContinue;
until FindDTM(TEXT, x, y, 78, 410, 439, 433);
end;
if FindDTM(TEXT, x, y, 78, 410, 439, 433) then
Mouse(x, y, 3, 3, True);
Wait(950+Random(350));
ClickToContinue;
end else
begin
Writeln('Pouchesarentbroken!');
end;
end;
end;
end;
Procedure WalkingToBank;
var
ToBank: TPointArray;
Begin
FindNormalRandoms;
writeln('WalkingToBank');
SPS_Setup(RUNESCAPE_SURFACE,['0_2','1_2']);
ToBank := [Point(241,973), Point(238,952)];
SPS_WalkPath(ToBank);
writeln('UsingSPSWalking');
Wait(1000+Random(300));
FindNormalRandoms;
If Not (SPS_WalkPath(ToBank)) then
Begin
TeleToMoonBank;
Wait(RandomRange(400, 500));
WalkingToBank;
End;
End;
Procedure WithDrawEss;
var
x, y, FailSafe, BankEss, Trout, Bank: Integer;
aFound: Extended;
Begin
if (LoggedIn) then
Begin
Bank := DTMFromString('mQwAAAHicY2ZgYOADYmkGCGCD0sJAXJ4bzZAdZcMQ76PFwAXks0IxIxIGAgB8DQNy');
Trout := DTMFromString('mKgEAAHicnc07CoAwEEXRiQEVgxE1BIzrEVv3vxqv+BrL+OAwxfyimQX0aOyNQ4eCXTVjxYwJIwbtRSyaybrh0aofNPPsJlznoW91Nv2sjfvpmxslwwKl');
BankEss := DTMFromString('mwQAAAHic42SAABYg5gRiPiAWAmIRKBYGYkEg5gJiSSgWh6rhg4qzQs1Ijo8Hkkw4sYO5PkMKA2HASASGAwB+fANH');
FailSafe := 0;
Inc(FailSafe);
If FindDTMRotated(Bank, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
Begin
FindNormalRandoms;
MMouse(x, y, 3, 3);
if WaitUptext('booth', 500) then
Begin
repeat
Mouse(x, y, 0, 0, 1);
Wait(RandomRange(2500,2600));
until BankScreen or PinScreen or (FailSafe = 3);
if PinScreen then
Begin
repeat
InPin(Players[0].Pin);
until BankScreen or not (LoggedIn);
End;
End;
if BankScreen then
Begin
if FindDTM(Trout, x, y, MIX1, MIY1, MIX2, MIY2) then
Begin
repeat
MMouse(x, y, 4, 5);
WaitUptext('rout', 500);
Mouse(x, y, 0, 0, False);
ChooseOption('Deposit-All');
wait(RandomRange(300, 500));
until not(FindDTM(Trout, x, y, MIX1, MIY1, MIX2, MIY2));
End;
End;
Begin
If FindDTM(BankEss, X, Y, MSX1, MSY1, MSX2, MSY2) then
Begin
FindNonInventoryRandoms;
MMouse(x, y, 5, 5);
waituptext('essence', 500);
Mouse(x, y, 0, 0, False);
ChooseOption('Withdraw-All');
Wait(RandomRange(800, 1200));
PouchA;
MMouse(x, y, 5, 5);
waituptext('essence', 600);
Mouse(x, y, 0, 0, False);
ChooseOption('Withdraw-All');
Wait(RandomRange(700, 1000));
PouchB;
MMouse(x, y, 5, 5);
waituptext('essence', 500);
Mouse(x, y, 0, 0, False);
ChooseOption('Withdraw-All');
Wait(RandomRange(300,600));
CloseBank;
End;
End;
End;
if (FailSafe = 3) then
Begin
Writeln('Wefailedtofindbank');
nextplayer(False);
End;
End;
End;
Procedure WithDrawTrout;
var
x, y, FailSafe, BankTrout, BankEss, Bank: Integer;
aFound: Extended;
Begin
if (LoggedIn) then
Begin
FailSafe := 0;
Inc(FailSafe);
Bank := DTMFromString('mQwAAAHicY2ZgYOADYmkGCGCD0sJAXJ4bzZAdZcMQ76PFwAXks0IxIxIGAgB8DQNy');
If FindDTMRotated(Bank, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
Begin
repeat
MMouse(x, y, 3, 3);
Mouse(x, y, 0, 0, 1);
Wait(RandomRange(2500, 2600));
until BankScreen or PinScreen or(FailSafe=3);
if PinScreen then
Begin
repeat
InPin(Players[0].Pin);
until BankScreen or not(LoggedIn);
End;
if BankScreen then
Begin
BankTrout := DTMFromString('mKgEAAHicnc07CoAwEEXRiQEVgxE1BIzrEVv3vxqv+BrL+OAwxfyimQX0aOyNQ4eCXTVjxYwJIwbtRSyaybrh0aofNPPsJlznoW91Nv2sjfvpmxslwwKl');
BankEss := DTMFromString('mwQAAAHic42SAABYg5gRiPiAWAmIRKBYGYkEg5gJiSSgWh6rhg4qzQs1Ijo8Hkkw4sYO5PkMKA2HASASGAwB+fANH');
if FindDTM(BankEss, x, y, MIX1, MIY1, MIX2, MIY2) then
Begin
FindNormalRandoms;
Writeln('DepositingRunes!');
MMouse(x, y, 3, 3);
WaitUptext('essence', 500);
ClickMouse2(False);
Wait(RandomRange(400, 700));
ChooseOption('Deposit-All');
End else
Begin
If FindDTM(BankTrout, X, Y, MSX1, MSY1, MSX2, MSY2)then
Begin
MMouse(x, y, 5, 5);
waituptext('rout', 300)
Mouse(x, y, 0, 0, False);
ChooseOption('Withdraw-10');
Wait(RandomRange(800, 1200));
CloseBank;
End else
Logout;
End;
End;
End;
if(FailSafe=3)then
Begin
Writeln('Wefailedtofindbank');
nextplayer(False);
End;
End;
End;
Procedure Eating;
Var
BankTrout, x, y: Integer;
Begin
if (HPPercent < 60) and LoggedIn then
Begin
writeln('EatingFood');
GameTab(Tab_Inv);
BankTrout := DTMFromString('mKgEAAHicnc07CoAwEEXRiQEVgxE1BIzrEVv3vxqv+BrL+OAwxfyimQX0aOyNQ4eCXTVjxYwJIwbtRSyaybrh0aofNPPsJlznoW91Nv2sjfvpmxslwwKl');
If FindDTM(BankTrout, X, Y, MIX1, MIY1, MIX2, MIY2) then
Begin
repeat
Mouse(x, y, 5, 5, false);
ChooseOption('Eat');
Wait(RandomRange(750, 950));
Until ((HPPercent > 90) or (not FindDTM(Trout, X, Y, MIX1, MIY1, MIX2, MIY2)));
End;
End;
End;
Procedure HpCheck;
Begin
if (HPPercent < 60) and LoggedIn then
Begin
WithDrawTrout;
Wait(RandomRange(650, 950));
Eating;
End;
End;
Procedure CraftingRunes;
var
Altar, x, y: Integer;
aFound: Extended;
Begin
if (LoggedIn) then
Begin
Altar := DTMFromString('mQwAAAHicY2ZgYBAGYg0GCGAEYiYou6G2iaGnp41h4sRuBl0gnxWKGZEwEAAAt1oFRg==');
if FindDTMRotated(Altar, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
Begin
MMouse(x, y, 4, 4);
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
Wait(RandomRange(1500, 2000));
FindNormalRandoms;
EmptyA;
Wait(RandomRange(500, 1000));
End;
if FindDTMRotated(Altar, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
Begin
Mouse(x, y, 3, 3, True);
Wait(RandomRange(1500, 2000));
FindNormalRandoms;
EmptyB;
Wait(RandomRange(500, 1000));
EmptyC;
Mouse(x, y, 4, 4, True);
writeln('DoneCrafting');
End;
End;
End;
Procedure RadialWalking(RadialWalkin: Integer);
Begin
case RadialWalkin of
1:RadialWalkTolerance(5273225, 127, 167, 30, 5, 5, 35);
2:RadialWalkTolerance(7114909, 69, 109, 60, 5, 0, 35);
3:RadialWalkTolerance(3949387, 151, 191, 60, 1, 5, 35);
4:RadialWalkTolerance(4542039, 153, 193, 60, 1, 5, 35);
5:RadialWalkTolerance(3488572, 125, 165, 60, 5, 5, 35);
6:RadialWalkTolerance(4280404, 114, 154, 60, 5, 5, 35);
7:RadialWalkTolerance(1654100, 106, 146, 60, 5, 5, 35);
8:RadialWalkTolerance(14870748, 69, 109, 60, 5, 0, 35);
9:RadialWalkTolerance(15591393, 69, 109, 60, 5, 0, 35);
End;
End;
Function AtTheAltar: Boolean;
var
Altar: TBox;
Begin
Altar := PointToBox(Point(468, 1157), Point(496, 1174));
Result := PointInBox(SPS_GetMyPos, Altar);
End;
Procedure WalkingToAltar;
var
ToAltar: TPointArray;
i: Integer;
Begin
if (LoggedIn) then
Begin
SPS_Setup(RUNESCAPE_SURFACE,['0_2', '1_2']);
ToAltar := [Point(239, 952), Point(279, 968), Point(291, 1011), Point(295, 1060), Point(308, 1109), Point(344, 1140), Point(378, 1178), Point(425, 1181), Point(468, 1174)];
SPS_WalkPath(ToAltar);
FindNormalRandoms;
writeln('UsingSPSWalking');
Wait(400+Random(300));
If AtTheAltar then
writeln('MadeIt');
if not AtTheAltar then
Begin
TeleToMoonBank;
WalkingToBank;
wait(1000+Random(500));
for i := 1 to 9 do
RadialWalking(i);
writeln('UsingRadialWalk');
Wait(400+Random(300));
If AtTheAltar then
writeln('MadeIt');
if not AtTheAltar then
Logout;
End;
End else
nextplayer(False);
End;
Procedure progress;
var
Texts: array of string;
I: Integer;
Begin
Texts := [
'|---------------------------------------------|',
'|Bomh Astral',
'|---------------------------------------------|',
'|Worked for : ' + TimeRunning,
'|---------------------------------------------|'];
ClearDebug;
for I := 0 to High(Texts) do
Begin
WriteLn(Texts[I]);
End;
End;
Procedure Mainloop;
Begin
if (LoggedIn) then
Begin
AddOnTerminate('FreeDTMS');
Repeat
WithDrawEss;
FindNormalRandoms
WalkingToAltar;
AntiBan;
Wait(RandomRange(750, 1050));
CraftingRunes;
FindNormalRandoms;
Wait(RandomRange(650, 1050));
AntiBan;
TeleToMoonBank;
FindNormalRandoms
WalkingTobank;
AntiBan;
PouchBroken;
HpCheck;
progress;
until not (LoggedIn);
End;
End;
Begin
Smart_Server := 86;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
DeclarePlayers;
LogInPlayer;
ClickNorth(SRL_ANGLE_HIGH);
Repeat
if not LoggedIn then
Begin
LoginPlayer;
SetNorth(True);
SetRun(True);
End;
MainLoop;
Until(AllPlayersInactive);
End.
THIS IS A QUICK SCRIPT THAT I WROTE UP FOR RUNNING BONES.
program BonesRuner;
{$DEFINE SRL5}
{$DEFINE SMART}
{$i SRL/srl.simba}
{$i SPS/sps.simba}
{$i srl/srl/misc/trade.simba}
Procedure DeclarePlayers;
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
Begin
Name:= '';
Pass:= '';
Pin := '';
BoxRewards:= ['XP','xp','lamp'];
Active:= True;
End;
End;
Procedure AntiBan;
Begin
if not LoggedIn then Exit;
case Random(99) of
0: wait(500+random(3000));
1: Begin
RandomMovement;
ClickNorth(SRL_ANGLE_HIGH);
End;
3: PickUpMouse;
End;
End;
Procedure SetNorth(Highest: Boolean); //By WT-Fakawi
var
K: Integer;
Begin
Case random(2) of
0,1: K := VK_LEFT;
2: K := VK_RIGHT;
End;
KeyDown(K);
repeat
wait(1);
until (GetColor(546,11)= 65536) and (GetColor(541,10)= 65536)
KeyUp(K);
ClickNorth(SRL_ANGLE_HIGH);
End;
Procedure Bank;
var
CTS, I, x, y: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
begin
if (LoggedIn) then
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.11, 0.22);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 869985, MSX1, MSY1, MSX2, MSY2, 5);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 15, 15);
For I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(X, Y, 3, 3);
Wait(50 + Random(50));
If IsUpText('booth') Then
begin
repeat
Mouse(x, y, 0, 0, True);
Wait(RandomRange(2500,2600));
until BankScreen;
break;
end;
end;
end;
end;
{procedure WithDrawBones;
var
x, y, Bones: Integer;
begin
if (LoggedIn) then
begin
bank;
if BankScreen then
begin
Bones := DTMFromString('m1gAAAHic42JgYHgGxO+B+CYQPwXil0B8H4jvAvFrIP4IxJ+B+DAQnwPi40B8DIhPQdmHgPgoEJ+AqqksKQGSTASxJANxgJFIjAAALFYSaQ==');
if FindDTM(Bones, X, Y, MSX1, MSY1, MSX2, MSY2) then
begin
MMouse(x, y, 5, 5);
waituptext('bones', 1000);
Mouse(x, y, 0, 0, False);
ChooseOption('Withdraw-All');
Wait(RandomRange(800, 1200));
CloseBank;
end;
end;
end;
end;}
procedure WithDrawBones;
var
x, y, Bones: Integer;
begin
if (LoggedIn) then
begin
repeat
OpenBank('ynb', true , true);
Wait(RandomRange(1000,500));
until BankScreen;
if BankScreen then
begin
Bones := DTMFromString('mAAEAAHic42FgYHBmYmDwAWJXILYDYnMgNoHS1kDsD8ReQBwIZT8B6nkPxK+A+AWUfgbEj4D4ARC/g/KfQvnpOTlAkoloLMlAGmAkESMDAIBpD5c=');
if FindDTM(Bones, X, Y, MSX1, MSY1, MSX2, MSY2) then
begin
MMouse(x, y, 5, 5);
waituptext('bones', 1000);
Mouse(x, y, 0, 0, False);
ChooseOption('Withdraw-All');
Wait(RandomRange(800, 1200));
CloseBank;
end;
end;
if not FindDTM(Bones, X, Y, MIX1, MIY1, MIX2, MIY2) then
begin
WithDrawBones;
end;
end else
logout;
end;
procedure Trading;
var
x, y ,bones : Integer;
begin
repeat
Wait(1000+Random(1500));
until (SomeoneTrades);
Bones := DTMFromString('mAAEAAHic42FgYHBmYmDwAWJXILYDYnMgNoHS1kDsD8ReQBwIZT8B6nkPxK+A+AWUfgbEj4D4ARC/g/KfQvnpOTlAkoloLMlAGmAkESMDAIBpD5c=');
if (SomeoneTrades) Then
begin
repeat
AcceptTrade;
until (Tradescreen > 0);
if (TradeScreen > 0) then
begin
If FindDTM(Bones, X, Y, MIX1, MIY1, MIX2, MIY2) then
begin
MMouse(x, y, 5, 5);
waituptext('bones', 500);
Mouse(x, y, 0, 0, False);
ChooseOption('Offer-All');
Wait(RandomRange(800, 1200));
begin
Accept;
wait(1000);
begin
Accept;
end;
end;
end;
end else
Trading;
end;
end;
Procedure WalkingToBank;
var
ToBank: TPointArray;
Begin
if (LoggedIn) then
Begin
SPS_Setup(RUNESCAPE_SURFACE,['5_10', '4_10']);
ToBank := [Point(2015, 4297), Point(2040, 4297),
Point(2068, 4300), Point(2088, 4309), Point(2116, 4308),
Point(2138, 4308), Point(2159, 4293), Point(2178, 4282),
Point(2204, 4282), Point(2226, 4281), Point(2245, 4284),
Point(2267, 4295), Point(2283, 4296)];
SPS_WalkPath(ToBank);
FindNormalRandoms;
end else
Logout;
end;
Procedure WalkingToPortal;
var
ToPortal: TPointArray;
Bones, x, y: Integer;
Begin
if (LoggedIn) then
Begin
SPS_Setup(RUNESCAPE_SURFACE,['5_10', '4_10']);
ToPortal := [Point(2284, 4298), Point(2258, 4284),
Point(2221, 4277), Point(2185, 4278), Point(2157, 4291),
Point(2129, 4305), Point(2099, 4306), Point(2072, 4305),
Point(2046, 4296), Point(2016, 4301)];
SPS_WalkPath(ToPortal);
FindNormalRandoms;
end;
end;
procedure MainLoop;
Begin
if (LoggedIn) then
Begin
AddOnTerminate('FreeDTMS');
Repeat
WithDrawBones;
FindNormalRandoms
WalkingToPortal;
AntiBan;
Wait(RandomRange(750, 1050));
Trading;
FindNormalRandoms;
Wait(RandomRange(650, 1050));
FindNormalRandoms
WalkingToBank;
//AntiBan;
until not (LoggedIn);
End;
End;
begin
Smart_Server := 86;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
DeclarePlayers;
LogInPlayer;
ClickNorth(SRL_ANGLE_HIGH);
Repeat
if not LoggedIn then
Begin
LoginPlayer;
SetNorth(True);
SetRun(True);
End;
MainLoop;
Until(AllPlayersInactive);
end.