SRL Archive - RS3 Script Requests

Teak Table Builder [p2p]


TomTuff

2011-03-22 05:35:47

I have 5k teak planks to use for construction. I want to try and write my own script, but I really don't have time.

This could be done pretty easily - just enter the portal, walk to the dining room (r_WebWalk, Plug in tile of found table object) (no doors to open in building mode), then pull on a servant bell to call your demon butler. Build teak tables then have your servant get more planks, and when he asks for it, pay him more money from the bank.

Simple but involved!

KingKong

2011-03-22 06:58:41

If you can provide me a members account I'll be able to do it in probably 3-4 days.

rogeruk

2011-03-22 10:16:54

Let me see what const level i have
38 required?

TomTuff

2011-03-22 10:26:24

http://runescape.wikia.com/wiki/Teak_table

38. You could get 43 and do teak larders (uses 8 planks per build versus 4 for tables), but that would be more difficult because the servant bell would be in another room.

Emaziz

2011-03-22 10:46:19

Good luck, noone made a larder script when I requested it :p

EDIT: Actually if noone has made this within 2 days I may. Have two tests I have to prepare for, then I'm all into scripting again! :D

rogeruk

2011-03-22 12:04:55

From: TomTuff
http://runescape.wikia.com/wiki/Teak_table

38. You could get 43 and do teak larders (uses 8 planks per build versus 4 for tables), but that would be more difficult because the servant bell would be in another room.


I'll get the required level and look into it.

Shouldn't be too hard.

Echo_

2011-03-22 12:13:43

Reflection walking won't work very well with this, the tiles change every time you re-enter the home.

rogeruk

2011-03-22 12:17:53

From: Echo_
Reflection walking won't work very well with this, the tiles change every time you re-enter the home.


Tiles changing is irrelevant and easily got around.

Echo_

2011-03-22 12:33:19

From: rogeruk
Tiles changing is irrelevant and easily got around.


It is relevant, he asked for reflection walking in the script :duh:

So color walking would be easier, but I'm pretty sure the minimap color changes with the house style you have (Basic Wood, Basic Stone, Whitewashed Stone, Fremennik-style Wood, etc.).

Emaziz

2011-03-22 12:37:02

From: Echo_
It is relevant, he asked for reflection walking in the script :duh:

So color walking would be easier, but I'm pretty sure the minimap color changes with the house style you have (Basic Wood, Basic Stone, Whitewashed Stone, Fremennik-style Wood, etc.).


It is irrelevant. Object finding can easily find the needed tiles every time you enter the house. ;)

rogeruk

2011-03-22 12:38:53

From: Echo_
It is relevant, he asked for reflection walking in the script :duh:

So color walking would be easier, but I'm pretty sure the minimap color changes with the house style you have (Basic Wood, Basic Stone, Whitewashed Stone, Fremennik-style Wood, etc.).


:duh:
No its not. If you find the object, you find the tile.

Bubix

2011-03-22 15:56:13

From: TomTuff
http://runescape.wikia.com/wiki/Teak_table

38. You could get 43 and do teak larders (uses 8 planks per build versus 4 for tables), but that would be more difficult because the servant bell would be in another room.


From: rogeruk
I'll get the required level and look into it.

Shouldn't be too hard.


Please dont forget…
Building a teak larder requires at least 43 Construction, 8 Teak Planks and 2 bolts of cloth.

oak larders is FTW till 74 whe nu can build oak doors in dungeon ;)



btw. i advice you too sell those planks and buy oak.. :p :D or ust make teak table..

TomTuff

2011-03-22 16:51:13

From: Bubix
Please dont forget…
Building a teak larder requires at least 43 Construction, 8 Teak Planks and 2 bolts of cloth.

oak larders is FTW till 74 whe nu can build oak doors in dungeon ;)



btw. i advice you too sell those planks and buy oak.. :p :D or ust make teak table..


actually it's still faster to use teak planks.

4 * Plank (Teak table) = 35 * 4 = 140 XP
8 * Plank (Oak Larder) = 8 * 15 = 120 XP
And you can do twice as many teak tables before your butler has to bank.

Echo_

2011-03-22 16:59:10

From: rogeruk
:duh:
No its not. If you find the object, you find the tile.


And what if the table is more than 52 tiles away? Probably won't be, but still.

TomTuff

2011-03-22 17:01:56

From: Echo_
And what if the table is more than 52 tiles away? Probably won't be, but still.


That's why botters build their houses to certain standards.

rogeruk

2011-03-22 18:31:12

From: Echo_
And what if the table is more than 52 tiles away? Probably won't be, but still.


Then you walk to it? Lol.

Plus.. any construction script can just be a

1. Stand next to larder
2. Talk to servant so they follow you
3. Start script.

Then all the script has to do is build > remove, send servant and pay him when he's due.

TomTuff

2011-03-22 18:35:53

From: rogeruk
Then you walk to it? Lol.

Plus.. any construction script can just be a

1. Stand next to larder
2. Talk to servant so they follow you
3. Start script.

Then all the script has to do is build > remove, send servant and pay him when he's due.


But that's a pain for initial setup, and you get returned to the portal (inside your house) after random events.

Here's some work i've done on this:
(Note that the portal tiles are for the yanille location, and the object ID is set for an oak bell.)

program TeakBuilder;
{$DEFINE SMART}
{$i SRL\SRL.scar}
{$i Reflection\Reflection.Simba}


procedure DeclarePlayers;
begin
{---SMART Constants---}
Smart_Server := 91;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;

{---Don't Touch---}
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

{---Player Info---}
with Players[0] do
begin
Name := '';
Pass := '';
Active := True;
end;
end;


function WaitForInterfaceText(Interfaec, Component: Integer; Text: string; MaxTime, WaitPer: Integer): Boolean;
var
S: string;
T: Integer;
begin
T := GetSystemTime + MaxTime;
while (GetSystemTime < T) and not(Result) do
begin
S := GetInterfaceText(Interfaec, Component);
Result := Pos(Text, S) <> 0;
Wait(WaitPer);
end;
end;


function EnterHouse: Boolean;
var
Tiles: TPointArray;
T, OldLoc, NewLoc: TTile;
H, Timer, Garbage: Integer;
xO, yO: Extended;
P: TPoint;
begin
if not(LoggedIn) then
Exit;
Tiles := [Tile(2543, 3097), Tile(2544, 3097), Tile(2545, 3097)];
T := Tiles[Random(3)];
if not(TileOnMS(T, 0)) then
WalkToTile(T, 0, 1);
H := GetTileHeight(T);
H := RandomRange(1/3, 2/3) * H;
xO := RandomRange(4, 6) / 10;
yO := RandomRange(4, 6) / 10;
P := TileToMSEx(T, xO, yO, H);
MMouse(P.x, P.y - 20, 0, 0); //Already randomized above
if R_WaitUptext('nter Port', 900 + Random(200)) then
begin
Wait(RandomRange(50, 80));
case Random(2) of
0: ClickMouse2(True);
1: begin
ClickMouse2(False);
Wait(RandomRange(50, 80));
if not(R_WaitOption('nter Po', 900 + Random(200))) then
Exit;
end;
end;
if not(WaitForInterfaceText(232, 2, 'your house', 3000, 10 + Random(15))) then
Exit;
Wait(RandomRange(50, 80));
OldLoc := GetMyPos;
MouseBox(145, 406, 370, 417, 1);
Timer := GetSystemTime + RandomRange(5000, 6000);
while (GetSystemTime < Timer) and not(Result) do
begin
NewLoc := GetMyPos;
Result := Distance(NewLoc.x, NewLoc.y, OldLoc.x, OldLoc.y) > 10;
end;
end;
if not(Result) then
Exit
else
Wait(RandomRange(800, 1100)); //Wait for black to actually come on screen before looking for it to not be there
Timer := GetSystemTime + 5000;
while not(FindColorTolerance(Garbage, Garbage, 13127, 130, 73, 134, 77, 15)) and not(GetSystemTime < Timer) do
WaitNone; //Waiting for black screen to go away
end;


function HaveButlerFollow: Boolean;
var
Objs: TRSObjectArray;
i: Integer;
P: TPoint;
begin
if not(LoggedIn) then
Exit;
Objs := GetAllObjects(OBJECT_TYPE_INTERACTABLE);
if (Length(Objs) < 1) then
Exit;
Objs := SortObjects(Objs);
SetAngle(True);
for i := 0 to High(Objs) do
begin
if (Objs[i].ID = 13307) then
begin
if not(TileOnMS(Objs[i].Tile, 0)) then
begin
WalkToTile(Objs[i].Tile, 0, 1);
R_Flag;
Writeln('Walked');
end;
P := TileToMS(Objs[i].Tile, 0);
MMouse(P.x - 1, P.y - 20, 2, 0);
if R_WaitUptext('bell', RandomRange(900, 1000)) then
begin
case Random(2) of
0: ClickMouse2(True);
1: begin
ClickMouse2(False);
if not(R_WaitOption('Ring', RandomRange(900, 1000))) then
Continue;
end;
end;
Result := WaitForInterfaceText(241, 4, 'thy bidding', 3000, RandomRange(10, 25));
end else WRiteln('uptext not found on bell pull');
end;
if Result then
Break;
end;
end;


begin
DeclarePlayers;
SetupSRL;
SetupReflection;
if not(LoggedIn) then
begin
LogInPlayer;
Wait(RandomRange(3000, 5000));
end else
PlayerStartTime := GetSystemTime;
SetAngle(True);
end.

rogeruk

2011-03-22 18:40:00

Do randoms appear in your POH?

I thought there was no randoms in building mode?
(Going off old information)

TomTuff

2011-03-22 18:42:07

From: rogeruk
Do randoms appear in your POH?

I thought there was no randoms in building mode?
(Going off old information)


There are, as far as I know… I'm pretty sure I recall getting one a while ago?

grats

2011-03-22 19:17:08

From: TomTuff
There are, as far as I know… I'm pretty sure I recall getting one a while ago?


Yes there are randoms, there used to be no randoms at all within anyones home

rogeruk

2011-03-22 19:25:30

From: grats
Yes there are randoms, there used to be no randoms at all within anyones home


That's very weird. Botted construction up to 60 now and no randoms in house lol

grats

2011-03-22 19:30:55

From: rogeruk
That's very weird. Botted construction up to 60 now and no randoms in house lol


I high alched like 2k items with not 1 random.. I don't know if they're extremely rare or what, but I've gotten one right after I finished making tables..


anyway I'd love to see this script and I'd definitely use it.. also maybe add mahogany?

definitely add use for this:

http://runescape.wikia.com/wiki/Sacred_clay_hammer

they die after a while so I usually have like 10 of them in my bank

rogeruk

2011-03-22 19:33:13

I might look into it later on in the week if no1 else has

TomTuff

2011-03-27 04:57:17

Just a heads up to Rogeruk and any others who would consider making this, I sold my teak planks and bought oak planks and used a java bot, and so I would not use this if someone made it.

rogeruk

2011-03-27 12:41:42

From: TomTuff
Just a heads up to Rogeruk and any others who would consider making this, I sold my teak planks and bought oak planks and used a java bot, and so I would not use this if someone made it.


Yea oak larders / dugeon doors are better.

I'm not working on it, just made one good enough to run on my bot.