SRL Archive - RS3 Script Requests

need a banana banker


hobofight101

2012-03-09 19:41:43

i see a bunch of people asking for a script with bananas being collected in karamja and then banked and draynor and i must laugh :duh:. why not make a script that takes the bananas from the crate in wrynor (think thats his name)'s food shop in the back. the bank in the deposit box on the port sarim dock. it would make good $$$ but i understand if no one wants to do to leeching.

edit: the dudes name is wydin

Gucci

2012-03-09 19:42:51

Mhmmmm I might if I get time this weekend

hobofight101

2012-03-09 19:49:37

From: Gucci
Mhmmmm I might if I get time this weekend


this would be greatly appreciated thank you :)
i am open to test if needed

Gucci

2012-03-09 20:12:49

Yeah sure if I do you can test, I got some acripts to fix first tho but if you could show me where the shop is then it would save me time with the walking

hobofight101

2012-03-09 20:13:48

yep ill send a screen shot right now

Gucci

2012-03-09 20:16:32

W8 nvm if its wydin I can use the paths from my pot of flour buyer

hobofight101

2012-03-09 20:18:39

there you go

hobofight101

2012-03-09 20:27:12

ow u must have the pirates treasure quest done to script it. ill pm u an account if u need.

Gucci

2012-03-09 20:31:19

Well do you just click on the crate and it automaticall goes through it? You can just tell me the process and I'll see if I can make it work if that fails then I'll need the account

hobofight101

2012-03-09 20:33:27

yes you just click the box but ill send you and account anyway

hobofight101

2012-03-09 20:36:41

just give me 5 minutes to gut his bank

Gucci

2012-03-09 20:39:42

Well you don't have too I can just have the bot click the box just take me through the process and the account won't matter

hobofight101

2012-03-09 20:43:07

ok basically u need an apron to enter the door but u dont need to add that (could work as an anti leech). and then the box with a banana on it. you click it. (takes longer then usual) then in the message box you click obtain 1 banana. then you repeat.

Gucci

2012-03-09 20:50:14

Alright sounds good I'll give it a shot. I'll post back with progress like in a few days or later tonight

hobofight101

2012-03-09 20:59:07

this should help alot!

edit: dont mind the crappy items hes a mage trainie
im going to send u the account anyway

Gucci

2012-03-09 21:01:36

Alright sounds good

hobofight101

2012-03-09 21:09:26

ok pm'ed you

tehq

2012-03-09 21:37:22

i'd be willing to make one too. it would take ~30 mins

Rezozo

2012-03-09 21:57:42

I like the Idea, if you nee!d a Professional Tester(w00t)'s advice, just ask. Just some in advance, this script would need some special/extra anti-ban.
This is mainly because nobody would spend hours picking bananas, well… Nobody sane.
If you need more suggestions, just ask!

hobofight101

2012-03-10 22:01:34

From: tehq
i'd be willing to make one too. it would take ~30 mins


although it would be nice, i think it would take more then 30 minutes do to antiban and door opening and stuff. but feel free if u want. then we can see who can make the best one.

hobofight101

2012-03-10 22:02:35

From: joeygupta
I like the Idea, if you nee!d a Professional Tester(w00t)'s advice, just ask. Just some in advance, this script would need some special/extra anti-ban.
This is mainly because nobody would spend hours picking bananas, well… Nobody sane.
If you need more suggestions, just ask!


aswesome thanks for input and will keep in mind

tehq

2012-03-10 23:44:29

From: hobofight101
although it would be nice, i think it would take more then 30 minutes do to antiban and door opening and stuff. but feel free if u want. then we can see who can make the best one.


I could just use door opening and antiban from my other scripts. It would need some extensive breaking though. However, i changed my mind. I'll let Gucci take this one. If he doesn't finish it shortly, its because we're pretty involved with another project.;)

begginer

2012-03-11 10:05:20

Wow. Does this make much money. I'll try to make one too

Texy

2012-03-11 10:38:19

This is much slower than picking banana's on Karamja because you can't spam click the trees (you have to click the chat box after each banana). I imagine the profit involved would still be decent for F2P though.

Gucci

2012-03-11 22:23:49

Well I have been working on this but I don't have loads of time because the time I do have I try to ise towards MSI, but picking the bananas on karamja and taking the boat back and depositing. But so far opening the door is a problem and I'm not sure abput a better method for choosing options in the chatbox

Rezozo

2012-03-12 20:05:33

From: Gucci
Well I have been working on this but I don't have loads of time because the time I do have I try to ise towards MSI, but picking the bananas on karamja and taking the boat back and depositing. But so far opening the door is a problem and I'm not sure abput a better method for choosing options in the chatbox


What is the problem with the door? Maybe I could help. Please give some detail.

Gucci

2012-03-12 20:15:13

Just the DTM I could just give you guys what I have so far and someone could finish the project? If any o e wants too

Rezozo

2012-03-13 15:06:26

From: Gucci
Just the DTM I could just give you guys what I have so far and someone could finish the project? If any o e wants too


Just post what you have, Il see if I could add. Maybe make it open for people to add?

Gucci

2012-03-13 20:50:49

NVM I'm done. LOL I didn't even notice I went back to get code and post here but the script was finished (The DTM for the closed door might need work) let me know if it works and if it does I'll release it.

Here:

program GuccisBananaRunner;
{$DEFINE SMART}
{$i srl/srl/misc/smart.simba}
{$loadlib sps}
{$i srl/srl.simba}
{$i sps/sps.simba}
const
SRLStats_User = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
SERVER = 0; // Enter "0" to pick a random server.
MEMBERS = True; //False if F2P
NumbOfPlayers = 1;
StartPlayer = 0;

var
x, y, DoorClosed, Found, BananaTimer: integer;
ToBox, ToBanana: TPointArray;
aFound: Extended;

procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['XP'];

With Players[0] do
begin
Name := ''; //Username.
Pass := ''; //Password.
Pin := ''; //Bank Pin.
Active := True;
end;

end;

Procedure OpenDoor; // Credit to TehQ

begin
DoorClosed:= DTMFromString('mwQAAAHic42RgYOBiZGAQBeLPQDYjkJYGYjEg/g3kMwNpPiC+DGTvBeJ9QPwIiG8D8XkgvgTE+4H4LhCnxVkyJESYMuQk2zBkJFgxJEWZMRjrsDPYmkuDxUF8YgAjERgOAJCmEW8=');
SetAngle(SRL_ANGLE_HIGH);
Found :=0;
begin

repeat
Inc(Found);
Wait(RandomRange(480,530));
if FindDTMRotatedSE(DoorClosed, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
MMouse(x, y, 1, 1);
until (IsUpText('pen') or (Found=5));

begin
if IsUpText('pen') then
Mouse(x, y, 1, 1, mouse_right);
Wait(RandomRange(480,530));
ChooseOption('pen');
Writeln('Opening door');
Wait(RandomRange(1500,1600));
end;

begin
if IsUptext('lose') then
writeln('Door opened');
end;

end;
FreeDTM(DoorClosed);
WriteLn( '' +TimeRunning);
end;

function Walking(Color, Tolerance: Integer; SortFrom: tpoint): Boolean;// credit to Camaro' for the tutorial and function!
var
i, x, y, rx, ry: Integer;
TPA: TPointArray;
begin
if not LoggedIn then Exit;
FindNormalRandoms;
FindColorsSpiralTolerance(MMCX, MMCY, TPA, Color, MMX1, MMY1, MMX2, MMY2, Tolerance);
SortTPAFrom(TPA, SortFrom);

for i := 0 to High(TPA) do
begin
x := TPA[i].x;
y := TPA[i].y;

rx := RandomRange(-6, 6);
ry := RandomRange(-6, 6);
if (not rs_OnMinimap(x + rx, y + ry)) then
Continue;

Mouse(x + rx, y + ry, 0, 0, true);
FFlag(0);
Wait(300 + Random(300));
Result := True;
Break;
end;
end;

procedure FailSafe (Reason:String);
begin
Players[CurrentPlayer].Loc:=Reason;
Logout;
Stats_Commit;
TerminateScript;
end;

function Rest: Boolean;
var
S: String;
begin
if not (LoggedIn) then
Exit;
if (GetMMLevels('Run', S) <= 25) then
RestUntil(RandomRange(75,100));
Result := True
end;

procedure WalkToBox;
begin
SetupSRL;
SPS_Setup(RUNESCAPE_SURFACE,['9_9','10_9']);
ToBox := [Point(3894, 3839), Point(3904, 3836), Point(3916, 3834),
Point(3931, 3834), Point(3946, 3813), Point(3947, 3799), Point(3947, 3786),
Point(3947, 3772), Point(3947, 3759), Point(3948, 3738), Point(3947, 3722),
Point(3964, 3716), Point(3983, 3714), Point(4001, 3715), Point(4014, 3714)];
SPS_WalkPath(ToBox);
end;

procedure WalkToBanana;
begin
SetupSRL;
SPS_Setup(RUNESCAPE_SURFACE,['10_9','9_9']);
ToBanana := [Point(4017, 3714), Point(4008, 3714), Point(3983, 3716),
Point(3964, 3719), Point(3950, 3719), Point(3949, 3740), Point(3948, 3758),
Point(3948, 3775), Point(3946, 3789), Point(3929, 3789), Point(3913, 3791),
Point(3902, 3792), Point(3902, 3809), Point(3906, 3826), Point(3910, 3838),
Point(3895, 3837)];
SPS_WalkPath(ToBanana)
end;

function BananaColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);

FindColorsSpiralTolerance(MSCX, MSCY, arP, 4694925, MSX1, MSY1, MSX2, MSY2, 23);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;

arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);

for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);

if (H >= 20.61) and (H <= 20.70) and (S >= 39.32) and (S <= 39.63) and (L >= 41.35) and (L <= 50.02) then
begin
ColorToXYZ(arC[i], X, Y, Z);

if (X >= 20.09) and (X <= 30.61) and (Y >= 25.73) and (Y <= 39.27) and (Z >= 8.74) and (Z <= 13.00) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;

ColorToleranceSpeed(tmpCTS);

if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;

function FindBanana: Boolean; //Credit to Nebula
var
MyTPA : TPointArray;
i: Integer;
aPoints: T2DPointArray;
begin
SetLength(MyTPA, 0);
Result := false;
x := MSCX;
y := MSCY;
MarkTime(BananaTimer);
repeat
FindColorsSpiralTolerance(x, y, MyTPA, BananaColor, MSX1, MSY1, MSX2, MSY2, 10);
if Length(MyTPA) < 30 then
FindColorsSpiralTolerance(x, y, MyTPA, BananaColor, MSX1, MSY1, MSX2, MSY2, 15);
aPoints := TPAtoATPAEx(MyTPA, 7, 7);
SortATPAFromFirstpoint(aPoints, Point(MSCX, MSCY));
for i := 0 to 2 do
begin
if (Length(MyTPA) > 30) then
begin
MiddleTPAEx(aPoints[i], x, y);
MMouse(X, Y, 0, 0);
If (WaitUpTextMulti(['ana', 'ban', 'banana', 'ake'], 400)) then
begin
ClickMouse2(False);
if WaitOptionMulti(['earch', 'rate', 'h c'], 400) then
begin
Flag;
wait(RandomRange(10,100));
result := true;
break;
end else
break;
end else
break;
end;
end;
if (Result = true) then
break;
until (TimeFromMark(BananaTimer) > 20000)
end;

procedure Bank;
begin
if (InvFull) then

SPS_WalkPath(ToBox);

begin
if FindObjCustom(x, y, ['eposit', 'box', 'ank'], [5859188, 3687501], 5) then
Mouse(x, y, 0, 0, True);
DepositAll;
end;
end;

procedure GetBananas;
begin
if InvFull then
Bank;


begin
if (FindBanana=True) then
repeat
Mouse(x, y, 0, 0, False);
ChooseOption('earch');

begin
if FindBlackChatMessage('There are a lot of bananas in the crate.') then
Wait(4000);
Mouse(259, 407, 1, 1, True);
end;
until(InvFull)
end;
end;

begin
Smart_Signed := TRUE;
Smart_Members := MEMBERS;
Smart_SuperDetail := FALSE;
Smart_Server := 30;
ActivateClient;
SetupSRL;
DeclarePlayers;
if not (LoggedIn) then
LoginPlayer;
Wait(4000+random(400));
Repeat
OpenDoor;
GetBananas;
OpenDoor;
Bank;
Until(False)
end.

Rezozo

2012-03-14 18:39:15

From: Gucci
NVM I'm done. LOL I didn't even notice I went back to get code and post here but the script was finished (The DTM for the closed door might need work) let me know if it works and if it does I'll release it.

Here:

program GuccisBananaRunner;
{$DEFINE SMART}
{$i srl/srl/misc/smart.simba}
{$loadlib sps}
{$i srl/srl.simba}
{$i sps/sps.simba}
const
SRLStats_User = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
SERVER = 0; // Enter "0" to pick a random server.
MEMBERS = True; //False if F2P
NumbOfPlayers = 1;
StartPlayer = 0;

var
x, y, DoorClosed, Found, BananaTimer: integer;
ToBox, ToBanana: TPointArray;
aFound: Extended;

procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['XP'];

With Players[0] do
begin
Name := ''; //Username.
Pass := ''; //Password.
Pin := ''; //Bank Pin.
Active := True;
end;

end;

Procedure OpenDoor; // Credit to TehQ

begin
DoorClosed:= DTMFromString('mwQAAAHic42RgYOBiZGAQBeLPQDYjkJYGYjEg/g3kMwNpPiC+DGTvBeJ9QPwIiG8D8XkgvgTE+4H4LhCnxVkyJESYMuQk2zBkJFgxJEWZMRjrsDPYmkuDxUF8YgAjERgOAJCmEW8=');
SetAngle(SRL_ANGLE_HIGH);
Found :=0;
begin

repeat
Inc(Found);
Wait(RandomRange(480,530));
if FindDTMRotatedSE(DoorClosed, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
MMouse(x, y, 1, 1);
until (IsUpText('pen') or (Found=5));

begin
if IsUpText('pen') then
Mouse(x, y, 1, 1, mouse_right);
Wait(RandomRange(480,530));
ChooseOption('pen');
Writeln('Opening door');
Wait(RandomRange(1500,1600));
end;

begin
if IsUptext('lose') then
writeln('Door opened');
end;

end;
FreeDTM(DoorClosed);
WriteLn( '' +TimeRunning);
end;

function Walking(Color, Tolerance: Integer; SortFrom: tpoint): Boolean;// credit to Camaro' for the tutorial and function!
var
i, x, y, rx, ry: Integer;
TPA: TPointArray;
begin
if not LoggedIn then Exit;
FindNormalRandoms;
FindColorsSpiralTolerance(MMCX, MMCY, TPA, Color, MMX1, MMY1, MMX2, MMY2, Tolerance);
SortTPAFrom(TPA, SortFrom);

for i := 0 to High(TPA) do
begin
x := TPA[i].x;
y := TPA[i].y;

rx := RandomRange(-6, 6);
ry := RandomRange(-6, 6);
if (not rs_OnMinimap(x + rx, y + ry)) then
Continue;

Mouse(x + rx, y + ry, 0, 0, true);
FFlag(0);
Wait(300 + Random(300));
Result := True;
Break;
end;
end;

procedure FailSafe (Reason:String);
begin
Players[CurrentPlayer].Loc:=Reason;
Logout;
Stats_Commit;
TerminateScript;
end;

function Rest: Boolean;
var
S: String;
begin
if not (LoggedIn) then
Exit;
if (GetMMLevels('Run', S) <= 25) then
RestUntil(RandomRange(75,100));
Result := True
end;

procedure WalkToBox;
begin
SetupSRL;
SPS_Setup(RUNESCAPE_SURFACE,['9_9','10_9']);
ToBox := [Point(3894, 3839), Point(3904, 3836), Point(3916, 3834),
Point(3931, 3834), Point(3946, 3813), Point(3947, 3799), Point(3947, 3786),
Point(3947, 3772), Point(3947, 3759), Point(3948, 3738), Point(3947, 3722),
Point(3964, 3716), Point(3983, 3714), Point(4001, 3715), Point(4014, 3714)];
SPS_WalkPath(ToBox);
end;

procedure WalkToBanana;
begin
SetupSRL;
SPS_Setup(RUNESCAPE_SURFACE,['10_9','9_9']);
ToBanana := [Point(4017, 3714), Point(4008, 3714), Point(3983, 3716),
Point(3964, 3719), Point(3950, 3719), Point(3949, 3740), Point(3948, 3758),
Point(3948, 3775), Point(3946, 3789), Point(3929, 3789), Point(3913, 3791),
Point(3902, 3792), Point(3902, 3809), Point(3906, 3826), Point(3910, 3838),
Point(3895, 3837)];
SPS_WalkPath(ToBanana)
end;

function BananaColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);

FindColorsSpiralTolerance(MSCX, MSCY, arP, 4694925, MSX1, MSY1, MSX2, MSY2, 23);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;

arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);

for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);

if (H >= 20.61) and (H <= 20.70) and (S >= 39.32) and (S <= 39.63) and (L >= 41.35) and (L <= 50.02) then
begin
ColorToXYZ(arC[i], X, Y, Z);

if (X >= 20.09) and (X <= 30.61) and (Y >= 25.73) and (Y <= 39.27) and (Z >= 8.74) and (Z <= 13.00) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;

ColorToleranceSpeed(tmpCTS);

if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;

function FindBanana: Boolean; //Credit to Nebula
var
MyTPA : TPointArray;
i: Integer;
aPoints: T2DPointArray;
begin
SetLength(MyTPA, 0);
Result := false;
x := MSCX;
y := MSCY;
MarkTime(BananaTimer);
repeat
FindColorsSpiralTolerance(x, y, MyTPA, BananaColor, MSX1, MSY1, MSX2, MSY2, 10);
if Length(MyTPA) < 30 then
FindColorsSpiralTolerance(x, y, MyTPA, BananaColor, MSX1, MSY1, MSX2, MSY2, 15);
aPoints := TPAtoATPAEx(MyTPA, 7, 7);
SortATPAFromFirstpoint(aPoints, Point(MSCX, MSCY));
for i := 0 to 2 do
begin
if (Length(MyTPA) > 30) then
begin
MiddleTPAEx(aPoints[i], x, y);
MMouse(X, Y, 0, 0);
If (WaitUpTextMulti(['ana', 'ban', 'banana', 'ake'], 400)) then
begin
ClickMouse2(False);
if WaitOptionMulti(['earch', 'rate', 'h c'], 400) then
begin
Flag;
wait(RandomRange(10,100));
result := true;
break;
end else
break;
end else
break;
end;
end;
if (Result = true) then
break;
until (TimeFromMark(BananaTimer) > 20000)
end;

procedure Bank;
begin
if (InvFull) then

SPS_WalkPath(ToBox);

begin
if FindObjCustom(x, y, ['eposit', 'box', 'ank'], [5859188, 3687501], 5) then
Mouse(x, y, 0, 0, True);
DepositAll;
end;
end;

procedure GetBananas;
begin
if InvFull then
Bank;


begin
if (FindBanana=True) then
repeat
Mouse(x, y, 0, 0, False);
ChooseOption('earch');

begin
if FindBlackChatMessage('There are a lot of bananas in the crate.') then
Wait(4000);
Mouse(259, 407, 1, 1, True);
end;
until(InvFull)
end;
end;

begin
Smart_Signed := TRUE;
Smart_Members := MEMBERS;
Smart_SuperDetail := FALSE;
Smart_Server := 30;
ActivateClient;
SetupSRL;
DeclarePlayers;
if not (LoggedIn) then
LoginPlayer;
Wait(4000+random(400));
Repeat
OpenDoor;
GetBananas;
OpenDoor;
Bank;
Until(False)
end.


OO, Il check it out soon!

Gucci

2012-03-14 18:57:30

No guarantees guy's this was quick and I didn't have time to test but if I can perfect it then good, it will most likely need a better DTM for the door

hobofight101

2012-03-18 19:42:51

where should i start the script because i start it and it keeps repeating autocolour failed in finding colour