Page 3 of 12 FirstFirst 12345 ... LastLast
Results 51 to 75 of 278

Thread: [SRL-6] Fady's AIO Portable-O-Matic

  1. #51
    Join Date
    Feb 2015
    Posts
    422
    Mentioned
    41 Post(s)
    Quoted
    226 Post(s)

    Default

    Quote Originally Posted by kiwikiwi View Post
    This is the code from when it fails on the preset screen.

    Preset Loaded Successfully
    -- TRSGameTabs.openTab(2)
    ---- Opening tab via gametab navigation bar
    -- TRSGameTabs.openTab(2): result = False
    Failed to withdraw enough items
    -- Succesfully freed SMART[1916]
    -- Freeing gametabs bitmaps...
    Successfully executed.
    can you get a bigger chunk of the debug messages you receive? and also can I see a screenshot of your interface please?

    Also does the script make the player move? can you be more specific about what is happening?

    Quote Originally Posted by 3zx View Post
    SNIP]
    Happy to see those improved per hour rates! Hopefully it continues. Let me know if you face any other problems using this .

  2. #52
    Join Date
    Dec 2011
    Posts
    150
    Mentioned
    4 Post(s)
    Quoted
    46 Post(s)

    Default

    Code:
    Ingredients Processed: 25407
    Processed/H: 9017
    Time Running: 2 Hours, 49 Minutes and 3 Seconds
    Breaks Taken: 0
    obvious increase of how much processed/hour, and it also seems way more stable
    1B total exp progress
    875m / 1B
    120s
    113/120 Fish
    112/120 Dung

  3. #53
    Join Date
    Jun 2015
    Location
    New Zealand
    Posts
    322
    Mentioned
    2 Post(s)
    Quoted
    131 Post(s)

    Default

    At the moment the bank screen closes but gear screen closes. Note this works fine on desktop (your version), but on VPS, I think the buttons need to be used instead of the mouse moving. Please help me with this one

    Simba Code:
    program AIOPortables;
    {$DEFINE SMART}
    {$I SRL-6/SRL.Simba}
    {$i SRL-6/LIB/MISC/SRLPLAYERFORM.simba}

    {*
                   JUST PRESS PLAY AND FILL OUT THE FORM
                   JUST PRESS PLAY AND FILL OUT THE FORM
                   JUST PRESS PLAY AND FILL OUT THE FORM
                   JUST PRESS PLAY AND FILL OUT THE FORM
                   JUST PRESS PLAY AND FILL OUT THE FORM
                   JUST PRESS PLAY AND FILL OUT THE FORM
                   JUST PRESS PLAY AND FILL OUT THE FORM
                   JUST PRESS PLAY AND FILL OUT THE FORM
                                                                         *}



    Const
    {*These constants contain the information related to the portables
      Only Modify these if the script stops working and you know what you're doing*}


    {*Portable Forge data*}
      ForgeCol := 1143010;
      ForgeTol := 9;
      ForgeHue := 0.23;
      ForgeSat := 1.60;
      ForgeNorthBox := intToBox(277, 44, 325, 87);
      ForgeSouthBox := intToBox(240, 250, 306, 295);
      ForgeEastBox := intToBox(382, 139, 428, 191);
      ForgeWestBox := intToBox(144, 100, 158, 148);

    {*Portable Well data*}
      WellCol := 6508624;
      WellTol := 8;
      WellHue := 1.57;
      WellSat := 1.19;
      WellNorthBox := intToBox(269,66,312,91);
      WellSouthBox := intToBox(259,236,312,281);
      WellEastBox := intToBox(368,142,414,177);
      WellWestBox := intToBox(159,133,200,169);

    {*Portable Range data*}
      RangeCol := 4876912;
      RangeTol := 5;
      RangeHue := 0.94;
      RangeSat := 1.74;
      RangeNorthBox := intToBox(276,96,297,111);
      RangeSouthBox := intToBox(271,294,304,319);
      RangeEastBox := intToBox(362,170,385,188);
      RangeWestBox := intToBox(161,182,183,200);

    {*Portable Sawmill data*}
      MillCol := 2449549;
      MillTol := 11;
      MillHue := 0.29;
      MillSat := 0.79;
      MillNorthBox := intToBox(282,102,310,125);
      MillSouthBox := intToBox(257,272,290,301);
      MillEastBox := intToBox(375,180,400,215);
      MillWestBox := intToBox(177,157,199,192);

    Type TPortableType = record
      Name : String;
      Color, Tol, Skill: Integer;
      ColSettings: TColorSettings;
      OverText: TStringArray;
      NorthBox,SouthBox,EastBox,WestBox: TBox;
    end;

    var
      IngsDone, b, BreakTime, millFail: integer;
      priBox, secBox: TBox;
      pBoxes : array [1..4] of TBox;
      outOfPortables: Boolean;
      Forge, Well, Range, Mill, PortaType: TPortableType;

    procedure initPlayerForm();
    begin
      with playerForm do
      begin
        name := 'Portable-O-Matic V1.1';
        scriptHelpThread := 'https://villavu.com/forum/showthread.php?t=113276';

        editBoxLabels := ['Preferred World','Play time Till Break','Break Duration','Number to do','Number/Inventory','Antiban Chance'];
        editBoxDefaults := ['0','60','10','5000','28','2400'];
        editBoxHints := [
        'Pick a world or 0 for random or -1 for "Play Now"',
        'Amount of time in minutes till a break is called',
        'How long you want your breaks to be, also in minutes',
        'How many Ingredients do you want to process?',
        'Number of Ingredients used per Inventory',
        'The longer the progress screen is open, the larger this number should be'];

        checkBoxLabels := ['Disable SRL Debug?', 'Disable Script Debug?'];
        checkBoxDefaults := ['True','True'];
        checkBoxHints := [
        'Do you want to Disable SRL Debug?',
        'Do you want to Disable the Script Debug?'];

        comboBoxLabels := ['Portable Direction','Bank Location','Preset','Mode','Hosting Mode','Actionbar Button'];
        comboBoxDefaults := ['Auto Detect','CA','BANK_BUTTON_PRESET_1','Smith','Not Hosting','1'];
        comboBoxItems := [['North','East','South','West','Auto Detect'], ['North','East','South','West','SP','Burth','CA','BA'], ['BANK_BUTTON_PRESET_1','BANK_BUTTON_PRESET_2'], ['Smith','Smelt','Well','Range','Mill'], ['Primary','Secondary','Not Hosting'], ['1','2','3','4','5','6','7','8','9','0','-','=']];
        comboBoxHints := [
        'The direction the Portable is at',
        'Pick a bank or the direction of the bank.',
        'Pick a bank preset to use',
        'Which mode are we using?',
        'Do you want to place a Portable if non are found?',
        'Where on the Actionbar is the Portable placed?'];

      end;
    end;

    procedure declarePlayers();
    var
      i: integer;
    begin
      players.setup(playerForm.players);
      currentPlayer := 0;

      for i := 0 to high(players) do
        with players[i] do
        begin
          integers[0] := strToInt(playerForm.players[i].settings[0]);
          integers[1] := strToInt(playerForm.players[i].settings[1]);
          integers[2] := strToInt(playerForm.players[i].settings[2]);
          integers[3] := strToInt(playerForm.players[i].settings[3]);
          integers[4] := strToInt(playerForm.players[i].settings[4]);
          integers[5] := strToInt(playerForm.players[i].settings[5]);

          booleans[0] := strToBool(playerForm.players[i].settings[6]);
          booleans[1] := strToBool(playerForm.players[i].settings[7]);

          strings[0] := playerForm.players[i].settings[8];
          strings[1] := playerForm.players[i].settings[9];
          strings[2] := playerForm.players[i].settings[10];
          strings[3] := playerform.players[i].settings[11];
          strings[4] := playerform.players[i].settings[12];
          strings[5] := Playerform.players[i].settings[13];

          world := integers[0];
        end;
    end;

    procedure TPortableType.init(_Name: String; _Color, _Tol, _Skill: Integer; _ColSettings: TColorSettings; _OverText: TStringArray; _NorthBox, _SouthBox, _EastBox, _WestBox: TBox);
    begin
      Self.Name := _Name;
      Self.Color := _Color;
      Self.Tol := _Tol;
      Self.Skill := _Skill;
      Self.ColSettings := _ColSettings;
      Self.OverText := _OverText;
      Self.NorthBox := _NorthBox;
      Self.SouthBox := _SouthBox;
      Self.EastBox := _EastBox;
      Self.WestBox := _WestBox;
    end;

    procedure LoadPortables();
    begin
      Forge.init('Portable Forge',ForgeCol,ForgeTol,SKILL_SMITHING,colorSetting(2,ForgeHue,ForgeSat),['mith Portable','able forge'],ForgeNorthBox,ForgeSouthBox,ForgeEastBox,ForgeWestBox);
      Well.init('Portable Well',WellCol,WellTol,SKILL_HERBLORE,colorSetting(2,WellHue,WellSat),['ix potions', 'ions Portable','able well'],WellNorthBox,WellSouthBox,WellEastBox,WellWestBox);
      Range.init('Portable Range',RangeCol,RangeTol,SKILL_COOKING,colorSetting(2,RangeHue,RangeSat),['ook Portable','able range'],RangeNorthBox,RangeSouthBox,RangeEastBox,RangeWestBox);
      Mill.init('Portable Sawmill',MillCol,MillTol,30,colorSetting(2,MillHue,MillSat),['ake planks', 'anks Portable','able sawmill'],MillNorthBox,MillSouthBox,MillEastBox,MillWestBox);
    end;

    procedure sDebug(Text: string);
    begin
      if not players[currentPlayer].booleans[1] then
        writeLn(Text);
    end;

    procedure whichPortable();
    begin
      case players[currentPlayer].strings[3] of
        'Smith': PortaType := Forge;
        'Smelt': PortaType := Forge;
        'Well' : PortaType := Well;
        'Range': PortaType := Range;
        'Mill' : PortaType := Mill;
      end;
    end;

    procedure LoginProcedure();
    begin
      if not isLoggedin() then
        players[currentPlayer].login();   // Log them in
      closePollWindow();
      exitTreasure();            // Exit treasure hunter
      wait(gaussRangeInt(800, 1200));
      minimap.clickCompass();
      mainscreen.setAngle(MS_ANGLE_HIGH);
    end;

    procedure loadBoxes();
    begin
      pBoxes[1].setBounds(235, 20, 338, 135);
      pBoxes[2].setBounds(235, 210, 338, 325);
      pBoxes[3].setBounds(345, 95, 458, 250);
      pBoxes[4].setBounds(105, 95, 230, 250);
    end;

    procedure LeftOrRight();      //Either Left or Right clicks the Portable, depending on the mode selected
    begin
      if players[currentPlayer].strings[3] = 'Mix' then
      begin
        fastclick(mouse_right);
        wait(gaussRangeInt(10000, 200000));
        chooseOption.select(['mix','ix Portable', 'Mix'], 400);
      end else
        fastclick(mouse_left);
    end;

    function IsItHere(click:Boolean): Boolean;
    begin
      if IsMouseOverText(PortaType.OverText, 500) then
      begin
        sDebug('Found a ' +PortaType.Name);
        result:= True;
        if click then leftOrRight();
      end;
    end;

    function portableFind(): boolean;
    var
      i, r : integer;
      MPos : TPoint;
    begin                   //Finds the Portable and assigns the TPoint MPos to the mouse position on the Portable
      if IsItHere(False) then
        exit(True);

      if not mainscreen.findObject(MPos.x, Mpos.y, PortaType.Color, PortaType.Tol, PortaType.ColSettings, mainscreen.playerPoint, 20, 20, 50, PortaType.OverText, MOUSE_Move) then
      begin
        sDebug('No' + PortaType.Name + 'Found');
        exit(false);
      end;

      for i := 1 to high(pBoxes) do            //Checks which Direction MPos is at
        if pBoxes[i].isPointInside(MPos) then
        begin
          r := i;
          break();
        end;

      case r of                          // Assigns Search boxes and secondary click boxes depending on the mouse direction
        0 : begin sDebug('The' + PortaType.Name + 'is somewhere different'); end;
        1 : begin priBox := pBoxes[1]; secBox := PortaType.NorthBox; sDebug('The ' + PortaType.Name + ' is North'); end;
        2 : begin priBox := pBoxes[2]; secBox := PortaType.SouthBox; sDebug('The ' + PortaType.Name + ' is South'); end;
        3 : begin priBox := pBoxes[3]; secBox := PortaType.EastBox; sDebug('The ' + PortaType.Name + ' is East'); end;
        4 : begin priBox := pBoxes[4]; secBox := PortaType.WestBox; sDebug('The ' + PortaType.Name + ' is West'); end;
      end;
      result := True;
    end;

    function portableDetect(searchLoc: TBox): Boolean;
    var
      x, y, i: integer;
      pTPA: TPointArray;
      pATPA: T2DPointArray;
    begin
      if IsItHere(False) then
        exit(True);

      findColorsSpiralTolerance(x, y, pTPA, PortaType.Color, searchLoc, PortaType.Tol, PortaType.ColSettings);

      if (Length(pTPA) < 1) then
        exit;

      pATPA := pTPA.toATPA(20, 20);
      pATPA.sortFromMidPoint(searchLoc.getRandomPoint);
      FilterTPAsBetween(pATPA,1,110);

      for i := 0 to high(pATPA) do
      begin
        mouse(pATPA[i].getBounds().getRandomPoint());
        if isMouseOverText(PortaType.OverText) then
        begin
          exit(True);
        end;
      end;
    end;

    procedure bankCords();    //Opens the specified bank
    var
      x, y: Integer;
    begin
      if bankscreen.isOpen() then
        exit;
      case players[currentPlayer].strings[1] of
        'North': begin MouseOval(299,111,20,20,Mouse_Move); if IsMouseOverText(['Bank','hest','nker'], 777) then begin fastclick(mouse_left); end; end;
        'East': begin mouseOval(365,184,20,20,Mouse_Move); if IsMouseOverText(['Bank','hest','nker'], 777) then begin fastclick(mouse_left); end; end;
        'South': begin mouseOval(281,283,30,30,Mouse_Move); if IsMouseOverText(['Bank','hest','nker'], 777) then begin fastclick(mouse_left); end; end;
        'West': begin mouseOval(185,180,25,25,Mouse_Move); if IsMouseOverText(['Bank','hest','nker'], 777) then begin fastclick(mouse_left); end; end;
        'SP': begin if not bankScreen.open(BANK_CHEST_SHANTAY) then begin mouseOval(378,197,30,30,Mouse_Move); if IsMouseOverText(['Shantay c', 'y chest'], 777) then fastclick(mouse_left); end; end;
        'Burth': begin if not bankScreen.open(BANK_TABLE_BURTHORPE) then begin mouseOval(376,193,30,30,Mouse_Move); if IsMouseOverText(['ank', 'booth'], 777) then fastclick(mouse_left); end; end;
        'CA': begin if not bankScreen.open(BANK_CHEST_LUMBRIDGE) then begin mouseOval(376,193,30,30,Mouse_Move); if IsMouseOverText(['ank', 'hest'], 777) then fastclick(mouse_left); end; end;
        'BA': begin if not mainscreen.findObject(x, y, 3424082, 8, colorSetting(2, 0.07, 0.14), mainscreen.playerPoint, 50, 80, 50, ['ank', 'hest'], MOUSE_LEFT) then begin mouseOval(376,193,30,30,Mouse_Move); if IsMouseOverText(['ank', 'hest'], 777) then fastclick(mouse_left); end; end;
      end;
    end;

    procedure portableSpot();        //Moves the mouse to the specified location in the playerform
    begin
      case players[currentPlayer].strings[0] of
        'North': if not portableDetect(pBoxes[1]) then MouseBox(PortaType.NorthBox,Mouse_Move);
        'East': if not portableDetect(pBoxes[3]) then MouseBox(PortaType.EastBox,Mouse_Move);
        'South': if not portableDetect(pBoxes[2]) then Mousebox(PortaType.SouthBox,Mouse_Move);
        'West': if not portableDetect(pBoxes[4]) then Mousebox(PortaType.WestBox,Mouse_Move);
        'Auto Detect': if not portableDetect(priBox) then Mousebox(secBox,Mouse_Move);
      end;
    end;

    procedure AntiBan(Chance: Integer; ReHover: boolean);
    begin
      case random(Chance) of
        1, 2: begin if (players[currentPlayer].strings[3] = 'Mill') then hoverRandomSkill() else hoverSkill(PortaType.Skill); if Rehover then portableSpot(); end;
        3..22: begin pickUpMouse; if Rehover then portableSpot(); end;
        23..28: begin sleepAndMoveMouse(randomRange(500, 3000)); if Rehover then portableSpot(); end;
        29..36: begin wait(RandomRange(777, 5000)); if Rehover then portableSpot(); end;
        37: begin smallRandomMouse(); if Rehover then portableSpot(); end;
        38: begin writeLn('Starting mini break.'); wait(RandomRange(9001, 25000)); writeLn('Finished mini break.'); if Rehover then portableSpot(); end;
      end;
    end;

    procedure portablePlace();
    begin
       actionBar.clickSlot(2);
                          //Clicks the Actionbar Button for the Portable
      if conversationBox.isOpen(3000) then                   //If the conversation box opens, selects Yes to place
      begin
        wait(gaussRangeInt(100, 300));
        typesend('1', false);
      end else                                              //If not, triggers the boolean to disable hosting mode
      begin
        sDebug('Ran out of ' + PortaType.Name + 's, Canceling hosting mode');
        OutofPortables := True;
      end;
      wait(gaussRangeInt(1000, 3000));
      portableFind();
    end;

    procedure portableDirection();          //Moves the mouse to the Portable location, if not found, will look for it, if found will click it
    var
      Waited: Integer;
    begin
      if not isLoggedIn() then
        exit;
      if (Tabbackpack.count() <= 20) then     //If the backpack doesnt have 20 or more items, the script terminates
      begin
        portableFind();
        end;

      portableSpot();             //Moves the mouse to the pre-determined Portable location

      if (not IsItHere(False)) and (players[currentPlayer].strings[4] = 'Primary') and (not portableFind()) then
        portablePlace();
      if not IsItHere(True) then    //If Portable isnt found
      begin
      repeat
        wait(gaussRangeInt(1500, 2500));                                       //Waits till it is found in this spot, or it has tried 10 times (usually takes 15-30 seconds)
        AntiBan(800, true);     //Increase the number for less antiban during the wait for the Portable
        if IsItHere(True) then
          exit;
        inc(Waited);
      until (Waited >= 3) or productionScreen.isOpen();
        if (Waited >= 3) then                                          //If it has tried 10 or more times, will look for the Portable again
        begin                                                           //or terminate depending on playerform. To wait more, Increase the
          if (players[currentPlayer].strings[0] = 'Auto Detect') then   //Number for Waited
          begin
            sDebug('Could not find ' +PortaType.Name + ', Looking Around');
            portableFind();
          end else
            sDebug('Could not find ' + PortaType.Name);
        end;
      end else exit;
      if IsItHere(true) then    //If Portable is there
        exit
      else
      begin
      if (players[currentPlayer].strings[4] = 'Secondary') then
        portablePlace();
      end;
    end;

    procedure MillsMake();            //Procedure to make planks when using Sawmills
    var
      numToMill: integer;
      timer: TTimeMarker;
    begin
      if not isLoggedIn() then
        exit;
      timer.start();
      case random(250) of                     //Picks the number of
        1..35: numToMill := 38;
        36..50: numToMill := 28;
        51..100: numToMill := 1111;
        101..110: numToMill := 277;
        111..120: numToMill := 288;
        121..130: numToMill := 29;
        131..250: numToMill := 111;
      end;
      wait(gaussRangeInt(200,600));
      mouseSpeed := randomRange(24,28);
      bankscreen._enterAmount(numToMill, 2000);   //Using bankscreen._enterAmount because the tabs are similar. Wait time of 2 seconds
      if conversationbox.isOpen(3000) then
      begin
        millFail := 0;
        wait(gaussRangeInt(200,500));
        typesend('1',false);
        while not chatbox.findTextOnLines(['protean planks','money pouch'], [0]) and (timer.getTime < 25000) do
        begin
          wait(gaussRangeInt(300,700));
          AntiBan(players[currentPlayer].integers[5],false);
        end;
      end else
      begin
        inc(millFail);
        sDebug('Failed attempt number ' + intToStr(millFail) + ' to make planks');
      end;
      if (millFail >9) then
      begin
        writeLn('Failed to make planks 10 times in a row. Terminating script');
        terminateScript();
      end;
    end;

    procedure portableMake();                //Navigates the production screen and waits at the progress screen.
    var                                            //Also initates the Sawmill's make procedure if the mode is Mill
      portaTry: Integer;
    begin
      if (not isLoggedIn()) or (Tabbackpack.count() <= 20) then
        exit;
      if (players[currentPlayer].strings[3] = 'Mill') then
        MillsMake()
      else begin
        if not productionScreen.isOpen(gaussRangeInt(2000,4000)) then          //If the production screen isnt open withing 2-4 seconds
        begin
          inc(portaTry);
          sDebug('Failed to open Production screen trying again');
          repeat
            inc(portaTry);                                 //Increase the number of tries
            sDebug('Attempt to open production screen number ' + intToStr(portaTry));
            mouseOffClient(OFF_CLIENT_RANDOM);             //Moves the mouse off the screen
            portableDirection();                              //Tries to click the Portable again. If no Portable found, It will either look for it or terminate
            if productionScreen.isOpen(gaussRangeInt(50,100)) then
            productionScreen.clickStart(true);
            productionScreen.clickStart(true);
            productionScreen.clickStart(true);
              break;
          until productionScreen.isOpen() or (portaTry>50);      //If the number of tries are more than 9 it will stop trying
          if not productionScreen.isOpen(14500) then             //If it still isnt open, will terminate
          begin
            wait(gaussRangeInt(50, 100));
          end;
        end;
        wait(gaussRangeInt(50, 100));               //Waits 0.1-0.5 seconds
        productionScreen.clickStart(true);           //Clicks the start button
        wait(gaussRangeInt(13500, 14000));
        repeat                               //Waits and does antiban untill the progress button changes to done or the progress screen closes
          wait(gaussRangeInt(200, 500));
          AntiBan(players[currentPlayer].integers[5],false);
        until (progressScreen.getButton()= PROGRESS_BUTTON_DONE) or (not progressScreen.isOpen());
        mouseSpeed := randomRange(25,32);
      end;
    end;

    procedure CompactBanker();     //Credit to TrollCrank, modified version of his banker in ProteanPlankParade
    var                                  //Opens the specified bank, and withdraws the determined preset
      bankTry,Att: integer;
    begin
      if not isLoggedIn() then
        exit;
      bankCords();

      if Not bankScreen.isOpen(3000) then            //If the bank doesnt open within 3 seconds
      begin
        sDebug('Could not open bank, trying again');
        inc(bankTry)
        repeat                    //Tries to open the bank again 9 times
          bankCords();
          if bankScreen.isOpen(gaussRangeInt(2000,3000)) then
            break;
          inc(bankTry);
          sDebug('Attempt at opening bank number '+ intToStr(bankTry));
        until (bankTry > 9);  //Change this if you want it to do more than 10 attempts
      end;
      if (bankTry>9) then
      begin
        bankscreen.close
      end;
      wait(gaussRangeInt(100, 500));
      sDebug('Successfully opened the bank!');
      bankScreen.clickButton(BANK_BUTTON_PRESET_1);
      bankScreen.clickButton(BANK_BUTTON_PRESET_1);
      bankScreen.clickButton(BANK_BUTTON_PRESET_1);
      bankScreen.clickButton(BANK_BUTTON_PRESET_1);
      bankScreen.clickButton(BANK_BUTTON_PRESET_1);
      bankScreen.close
                   //Clicks the preset Button
    end;

    procedure portableMainLoop();
    begin
      if not isLoggedIn() then
        loginProcedure();

      CompactBanker();
      portableDirection();
      portableMake();
      clearDebug();
      writeln('Ingredients Processed: ' + (toStr(IngsDone)));
      writeLn('Processed/H: ' +intToStr(round(IngsDone/(getTimeRunning/3600000))));
      writeln('Time Running: ' +timeRunning);
      writeLn('Breaks Taken: ' +intToStr(b));

      if (not bankScreen.isOpen) and (Tabbackpack.isEmpty) then  //If the Bankscreen is closed, and the backpack is empty, it Terminates
      begin
        portableFind();
      end;
    end;

    begin
      clearDebug();
      LoadPortables();
      loadBoxes();
      initPlayerForm();
      runPlayerForm();
      if (not playerForm.isScriptReady) then
        exit;
      declarePlayers();
      smartShowConsole := false;
      disableSRLDebug := players[currentPlayer].booleans[0];
      setupSRL();

      WhichPortable();
      loginProcedure();
      mainscreen.setZoom(false);
      writeLn('We are using ' + PortaType.Name + 's');

      if (players[currentPlayer].strings[0] = 'Auto Detect') then
        portableFind();

      repeat
        mouseSpeed := randomRange(25,32);
        portableMainLoop();

        if (IngsDone >= players[currentPlayer].integers[3]) then   //Stops when Number to Do is reached
        begin
          writeLn('Reached our To-Do goal');
          TerminateScript;
        end;
      until false;
    end.

  4. #54
    Join Date
    Dec 2011
    Posts
    150
    Mentioned
    4 Post(s)
    Quoted
    46 Post(s)

    Default

    small tip for the people using portable sawmills, do NOT use normal logs, it might seem like profit (if you believe runescape.wikia) but you'll make a huge loss.


    1B total exp progress
    875m / 1B
    120s
    113/120 Fish
    112/120 Dung

  5. #55
    Join Date
    Feb 2015
    Posts
    422
    Mentioned
    41 Post(s)
    Quoted
    226 Post(s)

    Default

    Quote Originally Posted by kiwikiwi View Post
    At the moment the bank screen closes but gear screen closes. Note this works fine on desktop (your version), but on VPS, I think the buttons need to be used instead of the mouse moving. Please help me with this one
    ok! so, I suggest using V1.3 because it is better than V1.1 which you are using. The version you posted, can very very easily get stuck. can you post a screen shot of your screen with the bank screen open.

    Two things seem to be wrong! Keyboard clicks aren't being received by SMART, and the mouse click clicks the wrong button.

    Try to force an override to update SRL, then restart simba. It is very recommended that you restart simba after the update. You can do the override by doing the instructions in the picture. It should update to version 1146.

    Also bankScreen.clickButton, attempts to use the key click for the preset first, then if it fails using the keyboard, it will attempt to use the mouse. So for some reason, your script is failing to use the keyboard click. Does it every try to use the keyboard? or does it always go for the mouse?
    Last edited by fady; 06-30-2015 at 09:44 PM. Reason: More info

  6. #56
    Join Date
    Jun 2015
    Location
    New Zealand
    Posts
    322
    Mentioned
    2 Post(s)
    Quoted
    131 Post(s)

    Default

    Thanks for this, I will try it now and let you know

  7. #57
    Join Date
    Jun 2015
    Location
    New Zealand
    Posts
    322
    Mentioned
    2 Post(s)
    Quoted
    131 Post(s)

    Default

    How do I know which version I have and how do I get to version 1.3

    Thanks

  8. #58
    Join Date
    Feb 2015
    Posts
    422
    Mentioned
    41 Post(s)
    Quoted
    226 Post(s)

    Default

    Quote Originally Posted by kiwikiwi View Post
    How do I know which version I have and how do I get to version 1.3

    Thanks
    V1.3 of the SCRIPT is in the original post for the thread. When you do the override update, it will tell you which version of SRL you have, as in the picture below




    Update all your instances, they should all update SRL to 1146, then RESTART Simba and try running the script.

  9. #59
    Join Date
    Dec 2011
    Posts
    2,147
    Mentioned
    221 Post(s)
    Quoted
    1068 Post(s)

  10. #60
    Join Date
    Feb 2015
    Posts
    422
    Mentioned
    41 Post(s)
    Quoted
    226 Post(s)

    Default

    Quote Originally Posted by Clarity View Post
    Oops, I didn't even see this, else I wouldn't have made mine! Nice script! +rep
    Thank you for your kind words. There is nothing wrong with a little diversity!

  11. #61
    Join Date
    Jun 2015
    Location
    New Zealand
    Posts
    322
    Mentioned
    2 Post(s)
    Quoted
    131 Post(s)

    Default

    Thanks fady - your recommendation made it work I also set their host mode to secondary.

    One more issue, I'm noticing that sometimes the character will move from the spot, this usually happens when a well isn't infront of them, and so they move forward two spots, and then the bank is out of range, and so script fails.

    Is there a way to fix the position of each character so there is no way for them to move? Only click on bank and then click on well. That's all they need to do ha. Thanks.

  12. #62
    Join Date
    Feb 2015
    Posts
    422
    Mentioned
    41 Post(s)
    Quoted
    226 Post(s)

    Default

    Quote Originally Posted by kiwikiwi View Post
    Thanks fady - your recommendation made it work I also set their host mode to secondary.

    One more issue, I'm noticing that sometimes the character will move from the spot, this usually happens when a well isn't infront of them, and so they move forward two spots, and then the bank is out of range, and so script fails.

    Is there a way to fix the position of each character so there is no way for them to move? Only click on bank and then click on well. That's all they need to do ha. Thanks.
    I'm glad you got it working.

    There is not a way where I can fix that ATM, because the script is setup to work at max zoomed in. My only suggestion for that is, if you are hosting, don't place the well too far away from the bank! If you are using portables FC, they are usually very good at keeping their portables very close to the bank.

    EDIT: If the well is ALWAYS away from the bank, you can try zooming out a bit, so that both the bank and the well are in view at the same time and seeing if it messes up the script. However if the well is directly next to the bank like it should be, then zooming out will break the script most likely.
    Last edited by fady; 07-01-2015 at 04:23 AM. Reason: More info!

  13. #63
    Join Date
    Jun 2015
    Location
    New Zealand
    Posts
    322
    Mentioned
    2 Post(s)
    Quoted
    131 Post(s)

    Default

    Thanks fady,

    The script works most of the time with zoomed in etc, however occasionally the character moves forward whilst the host is going through the motion of laying down a well. I've set it up so one bot lays the wells, and the others just feed off him.

    The well is directly north of the bank, and the character laying down the well, is directly next to the bank. Is there a way to make the character move back to the beginning if they move forward etc? Maybe as a fail safe?

    Lastly, how do I reduce the amount of times the host looks for a portable well, before placing his own? Seems to chew up a good 30 seconds, I'd only like it to search 1-2 times.

    By the way, thanks for a great script <3

  14. #64
    Join Date
    Feb 2015
    Posts
    422
    Mentioned
    41 Post(s)
    Quoted
    226 Post(s)

    Default

    Quote Originally Posted by kiwikiwi View Post
    Thanks fady,

    The script works most of the time with zoomed in etc, however occasionally the character moves forward whilst the host is going through the motion of laying down a well. I've set it up so one bot lays the wells, and the others just feed off him.

    The well is directly north of the bank, and the character laying down the well, is directly next to the bank. Is there a way to make the character move back to the beginning if they move forward etc? Maybe as a fail safe?

    Lastly, how do I reduce the amount of times the host looks for a portable well, before placing his own? Seems to chew up a good 30 seconds, I'd only like it to search 1-2 times.

    By the way, thanks for a great script <3
    You said you were using secondary hosting mode. Secondary hosting mode waits for a well to be placed by other players before finally placing its own (hence the 30 second wait). However, primary hosting mode, will place a well as soon as the script cant find one. So if you want it to place a well faster, I suggest using primary hosting mode.

    As for the movement. The only thing I can suggest now is to rotate the camera to face south, that way if the characters miss click, they wont go too far away, and the bank would still be in sight.

    If you want the script to go to south camera orientation automatically on login. change line 201 in the script

    Simba Code:
    //FROM
    minimap.clickCompass();
    //TO
    minimap.clickCompass(True);

    Hope that helps!

  15. #65
    Join Date
    Feb 2015
    Posts
    422
    Mentioned
    41 Post(s)
    Quoted
    226 Post(s)

    Default

    Releasing V1.4:
    Change Log:
    • Added an Auto Updater.


    Note: The only thing different in this version, compared to 1.3 is the Auto Updater. So you can keep using 1.3 for the time being if you wish. Otherwise, download the updater from the OP and it will get the latest version for you.

  16. #66
    Join Date
    Feb 2015
    Posts
    422
    Mentioned
    41 Post(s)
    Quoted
    226 Post(s)

    Default

    Sorry for the TRIPLE post. Expect an update within the coming weeks adding compatibility to the new Portables, Once I figure out how they work.

  17. #67
    Join Date
    Mar 2015
    Location
    Australia
    Posts
    101
    Mentioned
    2 Post(s)
    Quoted
    46 Post(s)

    Default

    Perfect! As soon as I saw them announced I wondered if they'd be added here. You helped me get 99 Construction, let's see if you can also get me 99 Firemaking!

  18. #68
    Join Date
    Jun 2015
    Location
    New Zealand
    Posts
    322
    Mentioned
    2 Post(s)
    Quoted
    131 Post(s)

    Default

    Hi @fady,

    Looking forward to seeing the crafter portable released. I imagine you just add the colour for the crafting portable and then add the SRL functions for tanning hides and crafting etc?

    Hoping it gets made fast haha, no pressure Great work mate.

  19. #69
    Join Date
    Jun 2015
    Location
    New Zealand
    Posts
    322
    Mentioned
    2 Post(s)
    Quoted
    131 Post(s)

    Default

    With the Portable Crafter you have to right click then click 'Tan Hides' to make it work. Left click is only for crafting something...if that helps...sure it shouldn't be too difficult ha

  20. #70
    Join Date
    Mar 2015
    Location
    Australia
    Posts
    101
    Mentioned
    2 Post(s)
    Quoted
    46 Post(s)

    Default

    Looking at the braziers they only need to be clicked, so it might be ok to just designate a colour to click on them and it should be fine.

  21. #71
    Join Date
    Feb 2015
    Posts
    422
    Mentioned
    41 Post(s)
    Quoted
    226 Post(s)

    Default

    Quote Originally Posted by Lobster View Post
    Looking at the braziers they only need to be clicked, so it might be ok to just designate a colour to click on them and it should be fine.
    You are correct, I'm actually almost done with everything. Should be releasing sometime tn or tm morning US Eastern Time. Added a few extra features too. Hopefully runs as smooth as the original!

  22. #72
    Join Date
    Mar 2014
    Location
    East Coast, USA
    Posts
    291
    Mentioned
    10 Post(s)
    Quoted
    148 Post(s)

    Default

    Quote Originally Posted by fady View Post
    You are correct, I'm actually almost done with everything. Should be releasing sometime tn or tm morning US Eastern Time. Added a few extra features too. Hopefully runs as smooth as the original!
    It will be nice to see the update. I have some bars I need to work with and logs to fletch

  23. #73
    Join Date
    Feb 2015
    Posts
    422
    Mentioned
    41 Post(s)
    Quoted
    226 Post(s)

    Default

    Apologize for the delay!! Could not do testing this morning, too afraid of the bot busting event lol.

    Version 2.0 has been pushed!
    V2.0:
    • Added the 3 new portables.
    • Added the ability to use your own custom bank.
    • Fixed an error where the script would right click too close to the crowd, causing a condensed choose option menu, leading to a failure.
    • Rewrote parts of the script.


    If you do not have V1.4, you will need to download the auto updater to get V2.0.

    Please reread the OP, for any changes in the directions/features. All comments and suggestions are more than welcome!!


    EDIT:
    Releasing a new ver!
    V2.1:
    • Fixed a bug with end detection while hosting..
    • Updated the custom bank (Lumbridge Beach) colors

  24. #74
    Join Date
    Jul 2015
    Posts
    12
    Mentioned
    0 Post(s)
    Quoted
    4 Post(s)

    Default

    add yak support for smithing please?

  25. #75
    Join Date
    May 2014
    Posts
    633
    Mentioned
    8 Post(s)
    Quoted
    322 Post(s)

    Default

    This script wasn't working for me for smithing rune bars on the portable forge. It seems that the left click on the forge leads to the smelting menu, rather you need to right click smith on the forge. I hard coded it for now since switching it to the other category in tportabletype.click() didn't quite work (I suspect it's because the 'ortable forge' thing was hard-forcing it to just left click the forge regardless).

    Once I did that though, it seems to run excellently! Was able to run it at the combat academy for at least 4 hours. The check to terminate the script if it can't find forges though might be a tad bit aggressive, but it worked well.

    Nice script!

Page 3 of 12 FirstFirst 12345 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •