not sure why this would be fun hha but good luck![]()
not sure why this would be fun hha but good luck![]()
I wish you the best of luck, and a little extra so that the acc doesn't get slammed by Mr. banhammer
I got really excited when I saw this but then I realized he hasn't updated in a few months. @Triblouge please don't bump dead threads.
I love this thread! It's a pity there aren't that much progress threads here. Good luck on your progress mate. Don't get rekt again!
wow this is something ill be monitoring, good luck mate!
Nice project![]()
I'm doing something similar right now. I used your GAO script for 1-30 ish each stat on my ironman and it worked flawlessly. I'm currently using a script I just wrote to train theiving at tea stalls in the mean time.
Good luck on the account! I'm currently reading your scripting guide. Thinking of making myself an elder log cutter that uses the Varrock/Edgeville/Draynor Lodestones.
This is awesome, I enjoy watching your progress. I'm feeling like I want to start an iron man account now, it will definitely help me come up with simple script ideas to train. Looking forward to see your progress!
Here it is. I cbf making a thread etc.
Simba Code:program MayorVWSmither;
{$DEFINE SMART}
{$i srl-6/srl.simba}
{$i srl-6/lib/misc/srlplayerform.simba}
(* Last updated: 10.FEB.2015 *)
const
{ Revision: } REVISION = 1.0;
{ Booleans: } B_DEBUG = 0;
{ Integers: } I_BOX = 0; I_BREAK = 1;
{ Strings: } S_NAME = 0;
type TMSObject = record
colours: TColorData;
symbol: Integer;
filter: TPoint;
overText: TStringArray;
ID: Byte;
end;
var
Anvil, Banker: TMSObject;
procedure TMSObject.init(_ID: Byte; _symbol: Integer; _filter: TPoint; _overText: TStringArray; _colours: TColorData);
begin
self.ID := _ID;
self.symbol := _symbol;
self.filter := _filter;
self.overText := _overText;
self.colours := _colours;
end;
procedure initObjects();
begin
Anvil.init(0, MM_SYMBOL_ANVIL,[20, 30], ['nvil'], [4803668, 4, [2, [0.72, 0.62, 0.00]]]);
Banker.init(1, MM_SYMBOL_BANK, [5, 30], ['ank'], [5714238, 10, [2, [0.23, 1.09, 0.00]]]);
end;
procedure initPlayerForm();
begin
playerForm.name := 'MayorVWBSmither';
playerForm.editBoxLabels := ['ItemSlot','Exact Name'];
playerForm.editBoxDefaults := ['12', 'Steel arrowheads x15'];
playerForm.checkBoxLabels := ['Debug'];
playerForm.checkBoxDefaults := ['False'];
end;
procedure declarePlayers();
begin
players.setup(playerForm.players);
currentPlayer := 0;
players[0].integers[I_BOX] := strToInt(playerForm.players[0].settings[0]);
Players[0].strings[S_NAME] := playerForm.players[0].settings[1];
players[0].booleans[B_DEBUG] := strToBool(playerForm.players[0].settings[2]);
players[0].integers[I_BREAK] := 3600000;
end;
procedure loginPlayer();
begin
players[currentPlayer].login();
wait(randomRange(4000, 6000));
minimap.setAngle(MM_DIRECTION_WEST);
mainscreen.setAngle(MS_ANGLE_HIGH);
exitTreasure();
closePopup();
mainScreen.setZoom(true);
end;
procedure takeBreak();
begin
if players[currentPlayer].worked.getTime() > players[currentPlayer].integers[I_BREAK] then
begin
writeLn('Taking a ~5 minute break');
players[currentPlayer].exitToLobby();
mouseOffClient(OFF_CLIENT_RANDOM);
wait(random(280000, 390000));
loginPlayer();
players[currentPlayer].worked.start();
end;
end;
procedure TMSObject.walkTo();
var
p: TPoint;
begin
if not isLoggedIn() then exit();
if minimap.findSymbol(p, self.symbol, minimap.getBounds()) then
begin
mouse(p.x + 5, p.y + 5, 0, 0, MOUSE_LEFT);
minimap.waitPlayerMoving(750);
end;
end;
function TMSObject.find(): Boolean;
var
i, x, y, r: Integer;
TPA: TPointArray;
ATPA: T2DPointArray;
begin
self.colours.gatherIn(TPA, mainScreen.getBounds());
mainscreen.filterPointsPlayer(TPA);
if (length(TPA) < 1) then exit(false);
ATPA := TPA.cluster(15);
ATPA.sortFromMidPoint(mainScreen.playerPoint);
for i := 0 to high(ATPA) do
if inRange(ATPA[i].getBounds().getWidth(), self.filter.x , self.filter.y) then
begin
mouse(ATPA[i].getBounds().getRandomPoint());
if not isMouseOverText(self.overText) then
r := 1 // Incase anvil overText doesn't appear (if crowded with people)
else
r := 4
if (random(r) <> 0) then
begin
getMousePos(x, y);
result := multiClick([x, y], 15, 3);
smallRandomMouse();
break();
end else
begin
fastClick(MOUSE_RIGHT);
if chooseOption.select(self.overText) then
exit(true)
else
chooseOption.close();
end;
end;
end;
function TMSObject.interact(): Boolean
var
timer: TTimeMarker;
begin
if not isLoggedIn() then exit();
timer.start();
repeat
if self.find() then
exit(true)
else
self.walkTo();
claimTicket();
until (timer.getTime() > 60000);
end;
procedure smithBars();
var
timer: TTimeMarker;
begin
if not isLoggedIn() then exit();
if (not tabBackpack.isFull()) then
terminateScript();
if anvil.interact() then
if productionScreen.isOpen(random(6000, 7500)) then
begin
if productionScreen.getSelectedBoxText() <> Players[0].strings[S_NAME] then
productionScreen.selectBox(players[currentPlayer].integers[I_BOX]);
productionScreen.clickStart();
mouseOffClient(OFF_CLIENT_RANDOM);
timer.start();
if progressScreen.isOpen(random(2500, 3500)) then
repeat
wait(random(1000, 3000));
until (progressScreen.getButton() <> PROGRESS_BUTTON_CANCEL) or (timer.getTime() > 70000);
end;
end;
procedure bank();
var
timer: TTimeMarker;
begin
if not isLoggedIn() then exit();
timer.start();
if banker.interact() then
if bankScreen.isOpen(10000) then
begin
timer.start();
repeat
if (bankScreen.getPackCount() > 0) then
begin
bankScreen.clickButton(BANK_BUTTON_PRESET_1);
wait(random(500, 750));
end;
until (not bankScreen.isOpen()) or (timer.getTime() > 30000);
if tabBackpack.waitWhileLocked() then
if not tabBackpack.isFull() then
begin
writeLn('Out of bars, terminating');
terminateScript();
end;
end;
end;
procedure mainLoop();
begin
case tabBackpack.isFull() of
true: smithBars();
false: bank();
end;
if random(8) = 0 then hoverSkill(SKILL_SMITHING);
takeBreak();
end;
begin
clearDebug();
initPlayerForm();
runPlayerForm();
if not playerForm.isScriptReady then exit();
declarePlayers();
initObjects();
{$IFDEF SMART}
smartEnableDrawing := True;
smartShowConsole := False;
{$ENDIF}
disableSRLDebug := not players[currentPlayer].booleans[B_DEBUG];
setupSRL();
players[currentPlayer].worked.start();
repeat
if not isLoggedIn() then loginPlayer();
mainLoop();
until (players.getActive() < 1);
end.
Yea it's quite fun! I'm 1.3k+ total atm, will update later
Thanks for the scriptwill be using it for sure
Any progress recently?![]()
There are currently 1 users browsing this thread. (0 members and 1 guests)