SRL Archive - Archive

bomh - SRL Member Application


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…
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.

Sin

2012-02-05 16:50:15

 tags please :s

bomh

2012-02-05 16:57:24

done sorry

[XoL]

2012-02-05 17:28:42

You have 9 posts that are from 2011-2012. (Not related to applications)
You need to get active on the site first, show you still have interest in the community rather than just the forums.
I do like how you keep persisting on trying to get SRL members, shows effort but now put that effort into the community.

–
I won't vote for now, I will hold off till later.
–

bomh

2012-02-05 23:50:50

the reason i not active on forum cause i don't have any important question to ask people. i usually in #srl chat for my question so save space on the forum for other who need it then me :D

Daniel

2012-02-06 00:14:08

Unfortunately I'm going with a no, for the following reasons:

  • So many unneeded global variables.
  • All I see you using for object detection is pretty much a direct rip of Demise's tutorial.
  • There are no array's for your DTMs, or for anything that needs an array!
  • What is the point of CheckRC?
  • Please remove SetNorth and use SRL's own one (as that one could get you banned as it aligns the compass to the exact same location every single time).
  • You initialise a DTM, then assign another one on top of it? Please learn some memory management.
  • You name some local variables the same as your global ones. Don't do this, it will confuse you.
  • PouchA, PouchB, PouchC, and EmptyA, EmptyB, EmptyC can all be minimised into one method each.
  • You call FindNormalRandoms too many times, and pretty much consecutively in some cases. There isn't a need.
  • Overall the script is kind of cluttered and messy.

Good try though. Please see this guide on what we look for in a member application :)

bomh

2012-02-11 15:11:37

i learn dtm detection from demise tutorial and i been using like that for everything. it like my habit now

Hobbit

2012-02-23 12:40:47

The poll has closed and you didn't quite make it this time. Please take the suggestions made here and read some more in the tutorial section and improve your script. You may reapply in 4 weeks time.


Cheers
Hobbit