Results 1 to 25 of 25

Thread: Grinderscape nature crafter

  1. #1
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default Grinderscape nature crafter

    set screen size to fixed, already have login details filled out in the main client if you want it to auto log.

    Graphics should look like this:







    ==================================
    Time Running: 15 Minutes and 48 Seconds
    State: Banking
    Loads finished: 270[35,100,000 cash gained]
    Loads per hour: 1,024[133,159,525 cash per hour]
    ==================================

    Good luck gathering enough essence to run this overnight, for those of you that can figure it out there is a essence buyer at the bottom of the script that is fairly simple to enable with basic script knowledge.

    credits to the original writers of chooseoption
    Attached Files Attached Files

  2. #2
    Join Date
    Apr 2015
    Posts
    45
    Mentioned
    1 Post(s)
    Quoted
    17 Post(s)

    Default

    I made an army to buy ESS. Thanks for sharing the script man!

  3. #3
    Join Date
    Mar 2016
    Posts
    2
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    It takes essence out of bank and then it just doesnt really do anything.

  4. #4
    Join Date
    Dec 2015
    Posts
    35
    Mentioned
    0 Post(s)
    Quoted
    14 Post(s)

    Default

    Quote Originally Posted by skipidiveinau View Post
    It takes essence out of bank and then it just doesnt really do anything.
    You can fix it yourself by learning how to use and download ACA from here https://villavu.com/forum/showthread.php?t=26944
    Then changing line 188 color 6182235 to whatever yours was when you clicked on the nature altar nature sign.

    OR
    Click the little turkey baster icon



    And click on the darker part of the nature altar in the middle somewhere and copy paste that color over 6182235 on line 188.
    Attached Images Attached Images

  5. #5
    Join Date
    Apr 2016
    Posts
    18
    Mentioned
    1 Post(s)
    Quoted
    6 Post(s)

    Default

    asd.jpg how to fix this it stops there when it needs to take essence

  6. #6
    Join Date
    Feb 2012
    Location
    1,000,000,000,000 Light-years Away From Earth
    Posts
    184
    Mentioned
    1 Post(s)
    Quoted
    6 Post(s)

    Default


    Attached Images Attached Images
    Bot like a BOSS! Loading... ????????????? 99%

  7. #7
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Quote Originally Posted by Godric View Post

    That's what I like to see

  8. #8
    Join Date
    Feb 2012
    Location
    1,000,000,000,000 Light-years Away From Earth
    Posts
    184
    Mentioned
    1 Post(s)
    Quoted
    6 Post(s)

    Default

    In terms of GP/hr this script IMO is a lot better than "Grinderscape [Miner, smelter, smither]"

    Now, I don't know if you did this on purpose or not but the script stops once in a while for a minute or two when it opens the bank.

    This kills the gp/hr rate a lot.

    I have looked into the script but haven't figure out what I need to change to avoid the waiting delay.

    Overall, it's the best Script for Grinderscape.

    Thank You, So much.
    Bot like a BOSS! Loading... ????????????? 99%

  9. #9
    Join Date
    Apr 2016
    Posts
    1
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Seems to get an error stating:

    Error: Duplicate declaration "getUptext" at line 17
    Compiling failed.
    Any Ideas?

  10. #10
    Join Date
    Apr 2016
    Posts
    126
    Mentioned
    1 Post(s)
    Quoted
    37 Post(s)

    Default

    How exactly can I use this?

  11. #11
    Join Date
    Mar 2014
    Posts
    195
    Mentioned
    4 Post(s)
    Quoted
    92 Post(s)

    Default

    Quote Originally Posted by mooieboy View Post
    How exactly can I use this?
    download and install simba and srl-6

  12. #12
    Join Date
    Apr 2016
    Posts
    126
    Mentioned
    1 Post(s)
    Quoted
    37 Post(s)

    Default

    Quote Originally Posted by goodgamescript View Post
    download and install simba and srl-6
    I meant how this method works, where I should start the script etc.

  13. #13
    Join Date
    Feb 2012
    Location
    1,000,000,000,000 Light-years Away From Earth
    Posts
    184
    Mentioned
    1 Post(s)
    Quoted
    6 Post(s)

    Default

    It's been ages since I last used this. Not sure if this still works.
    I hope it works with Astral and other runes.

    I tested it and got the following client error message:

    Debug box:
    Code:
    Error: Unknown declaration "isLoggedIn" at line 38
    Compiling failed.
    Highlight in the script code:
    Code:
    function isClientReady(): boolean;
    begin
      Result := (isLoggedIn() or lobby.isOpen() or __setInputBoxes());
    end;
    Attached Images Attached Images
    Bot like a BOSS! Loading... ????????????? 99%

  14. #14
    Join Date
    Mar 2014
    Posts
    195
    Mentioned
    4 Post(s)
    Quoted
    92 Post(s)

    Default

    Quote Originally Posted by Godric View Post
    It's been ages since I last used this. Not sure if this still works.
    I hope it works with Astral and other runes.

    I tested it and got the following client error message:

    Debug box:
    Code:
    Error: Unknown declaration "isLoggedIn" at line 38
    Compiling failed.
    Highlight in the script code:
    Code:
    function isClientReady(): boolean;
    begin
      Result := (isLoggedIn() or lobby.isOpen() or __setInputBoxes());
    end;
    hmm seems to be a srl-6 problem, have you edited it anyway,or possibly updated? .It just saying simba doesn't know what that procedure is.

    try a fresh install of srl-6 because it compiles fine, well i had to add an override to line 17 but other than that. i dont know if it still works as i don't play that server.

  15. #15
    Join Date
    Aug 2014
    Posts
    2
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    simba.jpg

    I am getting this error. I am new to this whole stuff, but I would really want to use this script, are there any way that I can start this script?

  16. #16
    Join Date
    Nov 2014
    Posts
    2
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    Quote Originally Posted by Nargileh View Post
    simba.jpg

    I am getting this error. I am new to this whole stuff, but I would really want to use this script, are there any way that I can start this script?

    SAME !!! How can we fix this problem?

  17. #17
    Join Date
    Dec 2011
    Posts
    193
    Mentioned
    5 Post(s)
    Quoted
    51 Post(s)

    Default

    Quote Originally Posted by OSHELS View Post
    SAME !!! How can we fix this problem?
    Change every use of "getUptext" to anything else, getUptext2 will be fine.

    OSRS Color Scripts: Borland_Salamanders | Borland_Iron_Ores
    Utilities & Snippets: [Color] OSBuddy Item Looting

  18. #18
    Join Date
    Nov 2014
    Posts
    2
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    Can some1 fix this script please? its not working anyway

  19. #19
    Join Date
    Apr 2016
    Posts
    18
    Mentioned
    1 Post(s)
    Quoted
    6 Post(s)

    Default

    When it needs to take rune essence it clicks on presets http://prntscr.com/eq8vak
    Last edited by gedux1998; 03-30-2017 at 09:06 AM.

  20. #20
    Join Date
    Apr 2016
    Posts
    18
    Mentioned
    1 Post(s)
    Quoted
    6 Post(s)

    Default

    up...

  21. #21
    Join Date
    Mar 2014
    Posts
    195
    Mentioned
    4 Post(s)
    Quoted
    92 Post(s)

    Default

    Astral Version: All credits to RJ.

    Astral Crafter Script

    Simba Code:
    program AstralCrafter;
    {$I SRL-6/SRL.simba}

    type

      fnct_actionOptions = (ClickRight, ClickLeft, ClickMiddle, Move, Nothing);

      TOptions = record
        Str: string;
        Bounds, BigBox: TBox;
      end;

    var
      inventorySlots:TBoxArray;
      loads,EssDtm,AlterMidColor:integer;
      EssPoint:Tpoint;
    procedure LoadDtm;
    begin
         EssDtm:= DTMFromString('mbQAAAHicY2VgYPBkYmDwAWIrIA6Bsu8Bxc8xQOirQPwSiG3MzIAkIwpmBZLomBELBgMACUMGkQ==');
    end;

    procedure FreeImages;
    begin
       freeDtm(EssDtm);
    end;

    function DidFindEss: Tpoint;
    var
    essx,essy:Integer;
    begin
      if findDTM(EssDtm, essx, essy, mainscreen.getbounds) then
      begin
        Result := point(essx, essy);
      end else
      begin
           writeln('Out of ess');
           terminatescript;
      end;
    end;

    function getUptext():string; override; var texttpas, textatpa:t2dpointarray; texttpa:tpointarray; textcolors:tintegerarray; i:integer; begin textcolors := [16777215, 16776960, 65535, 65280, 4231423, 28927, 12543, 255]; setLength(textTPAS, length(textColors)); for i := 0 to high(textcolors) do findColors(texttpas[i], textcolors[i], 8, 6, 200, 25); texttpa := mergeAtpa(texttpas); textatpa := splittpaex(texttpa, 1, 10); SortATPAFromFirstPointX(textatpa, Point(0, 0)); result := getTextATPA(textatpa, 3, 'upchars07'); end;
    function string.contains(s:string):boolean; var i:integer; begin for i := 1 to length(self) do if (Pos(s[i], self) > 0) then exit(true); end;
    function isUpTextMulti(Text: TStringArray): Boolean; var txt:string; i:integer; begin txt := getUpText; for i := 0 to High(Text) do if (txt.contains(text[i])) then exit(true); end;
    function waitUpTextMulti(S: TStringArray; Time: Integer): Boolean; var T: Integer; begin result := false; T := GetSystemTime + Time; while (GetSystemTime < T) do begin if (isUpTextMulti(S)) then exit(true) else Wait(20 + Random(20)); end; end;
    function getOptions(): Array of TOptions; var B, BB: TBox; TPA, restpa, blacktpa, newtpa, merged: TPointArray; ATPA, boxatpa, tempatpa, blackatpa, newatpa: T2DPointArray; I, L, target, bmp, w, h: Integer; BoxColors: TIntegerArray; begin target := GetImageTarget; GetClientDimensions(B.X2, B.Y2); B := IntToBox(0, 0, B.X2-1, B.Y2-1); BoxColors := [1845035, 6121839]; setLength(boxatpa, length(boxColors)); for i := 0 to high(boxcolors) do FindColors(boxatpa[i], boxcolors[i], b); tpa := mergeATPA(boxatpa); If Length(tpa) < 100 Then exit; atpa := clusterTpa(tpa, 3); filtertpasbetween(atpa, 0, 50); for i := 0 to High(ATPA) do begin B := GetTPABounds(ATPA[i]); if ((B.x2-B.x1) > 95) and ((B.y2-B.y1) > 18) then Break else B := IntToBox(0, 0, 0, 0); end; If (B.x2 = 0) then exit; findColors(blacktpa, 0, b); if (length(blacktpa) < 0) then exit; tpa := mergeatpa([blacktpa, tpa]); ReturnPointsNotInTPAWrap(tpa, b, resTPA); bmp := CreateBitmap(b.X2-B.X1+2, b.Y2-b.Y1+2); OffsetTPA(restpa, Point(-B.X1, -B.Y1)); FastDrawClear(bmp, 0); DrawTPABitmap(bmp, restpa, clRed); GetbitmapSize(bmp, w, h); settargetbitmap(bmp); SetLength(newatpa, H div 15); for i := 0 to High(newatpa) do FindColorsTolerance(newatpa[i], 255, 0, 0+i*15,  W-1, 14+i*15, 0); L := High(newatpa); SortATPAFromFirstPointY(newatpa, Point(w div 2,0)); SetArrayLength(Result, Length(newatpa)); for i := 0 to high(newatpa) do begin TPA := newatpa[i]; tempatpa := SplitTPAEx(TPA, 1, 10); SortATPAFromFirstPointX(tempatpa, Point(0, 0)); Result[i].Str := GetTextATPA(tempatpa, 4, 'UpChars07'); BB := GetTPABounds(newatpa[i]); Result[i].Bounds := IntToBox(BB.X1+B.X1, BB.Y1+B.Y1, BB.X2+B.X1, BB.Y2+B.Y1); setlength(tempatpa,0); setlength(TPA,0); end; SetImageTarget(target); FreeBitmap(bmp); end;
    function ArrInStr(arrS: TStringArray; str: string): Boolean; var I, L, H: Integer; begin Result := True; L := Low(arrS);    H := High(arrS); for I := L to H do if Pos(arrS[I], Str) > 0 then Exit; Result := False; end;
    function chooseOptionMulti(Texts: TStringArray; TextType: String; Action: fnct_ActionOptions): Boolean; var B: TBox; i, H, x, R: Integer; T: TPoint; Options: array of TOptions; begin Result := False; Options := getOptions; if (Length(Options) < 1) then Exit; H := High(Options); for i := 0 To H do begin if ArrInStr(Texts, Options[i].Str) then begin Result := True; B := Options[i].Bounds; GetMousePos(T.x, T.y); R:= Min(((B.X2 - B.X1) shr 1), 5); case Action of ClickLeft: if PointInBox(T, B) then fastClick(MOUSE_LEFT) else mouseBox(intToBox(B.x1 + R, B.Y1, B.x2 - R, B.Y1 + 5), mouse_left); Move: if not PointInBox(T, B) then mouseBox(intToBox(B.x1 + R, B.Y1, B.x2 - R, B.Y1 + 5), mouse_left); Nothing: begin end; else writeLn('ChooseOptionMultiEx ', ' ClickRight not a valid click for RS menus!'); end; Exit; end; end; B := Options[0].BigBox; if Action <> Nothing then begin x := Max(B.X1 - 52, 0); if x = 0 then x := B.X2+10; mouse(x, Max(B.Y1 - 50, 0), 40, B.Y2-B.Y1); Wait(200 + Random(100)); end; end;
    function chooseOptionMulti(Txt: TStringArray): Boolean; overload; begin Result := chooseOptionMulti(Txt, 'All', ClickLeft); end;
    function waitOptionMulti(S: TStringArray; TextType: string; Action: fnct_ActionOptions; Time: Integer): Boolean; var T: Integer; begin Result := False; T := GetSystemTime + Time; while (GetSystemTime < T) do begin if (chooseOptionMulti(S, TextType, Action)) then exit(true); Wait(20 + Random(10)); end; end;
    function waitOptionMulti(S: TStringArray; Time: Integer): Boolean; overload; begin Result := waitOptionMulti(S, 'all', ClickLeft, Time); end;
    function waitOption(S: string; Time: Integer): Boolean; overload; begin Result := waitOptionMulti([s], 'all', ClickLeft, Time); end;
    function explodeBox(bx: TBox; rows, columns: integer): TBoxArray; var r, c, w, h, ew, eh, ow, oh, i, x, y: integer; begin if ((rows > 0) and (columns > 0) and (bx.X1 <= bx.X2) and (bx.Y1 <= bx.Y2)) then begin w := ((bx.X2 - bx.X1) + 1); h := ((bx.Y2 - bx.Y1) + 1); if (rows < 1) then rows := 1 else if (rows > h) then rows := h; if (columns < 1) then columns := 1 else if (columns > w) then columns := w; w := (w div columns); h := (h div rows); ew := (((bx.X2 - bx.X1) + 1) - (w * columns)); eh := (((bx.Y2 - bx.Y1) + 1) - (h * rows)); SetLength(result, (rows * columns)); y := bx.Y1; for r := 0 to (rows - 1) do begin x := bx.X1; if ((eh > 0) and (r < eh)) then oh := 1 else oh := 0; for c := 0 to (columns - 1) do begin if ((ew > 0) and (c < ew)) then ow := 1 else ow := 0; i := ((r * columns) + c); result[i].X1 := x; result[i].X2 := (x + (w - 1) + ow); result[i].Y1 := y; result[i].Y2 := (y + (h - 1) + oh); x := (Result[i].X2 + 1); end; y := (result[i].Y2 + 1); end; end else SetLength(result, 0); end;
    function inventorySlotFull(const slot:Integer):Boolean; var x, y:integer; begin result := FindColor(x, y, 65536, inventorySlots[slot]); end;
    function inventoryCount():Integer; var i:Integer; begin for i := 0 to high(inventorySlots) do if inventorySlotFull(i) then result := result + 1; end;
    function inventoryFull():boolean; begin result := (inventoryCount() = 28); end;
    function inventoryWaitChange(waitTime:integer):boolean;
    var
      t:LongWord;
      count:integer;
    begin
      t := getSystemTime() + waitTime;
      count := inventoryCount();

      while (t >= getSystemTime()) do
        if (count <> inventoryCount()) then
          exit(true)
        else
          wait(20);
    end;

    function inventoryEmpty():boolean;
    begin
      result := (inventoryCount() = 0);
    end;

    function getSimpleText(Colors:TIntegerArray;x1, y1, x2, y2:integer;font:string):String; var textTPA:TPointArray; textATPA, textATPAS:T2DPointArray; i:integer; textStr:string; begin setLength(textATPAS, length(colors)); for i := 0 to high(colors) do findColors(textATPAS[i], Colors[i], x1, y1, x2, y2); textTPA := mergeATPA(textATPAS); textATPA := SplitTPAEx(textTPA, 1, 10); filtertpasbetween(textatpa, 0, 1); SortATPAFromFirstPointX(textATPA, Point(0, 0)); result := getTextATPA(textATPA, 3, font); end;

    function compassNorth():boolean;
    begin
      result := (countColorTolerance(1911089, 536, 6, 548, 18, 1) > 20);
    end;

    procedure setCompassNorth();
    begin
      if (not compassNorth()) then
      begin
        moveMouse(544, 26);
        wait(150);
        fastClick(mouse_left);
      end;
    end;

    function isLoggedIn():boolean;override;
    begin
      result := (getColor(472, 491) = 16777215);
    end;

    function perHour(what:extended):int64;
    begin
      result := Round(what * (3600.0 / (GetTimeRunning / 1000.0)));
    end;

    procedure state(s:string);
    begin
      clearDebug();
      writeln('==================================');
      writeln('Time Running: ' , timeRunning);
      writeln('State: ' , s);
      writeln('Loads finished: ' , groupDigits(loads, ','), '[' , groupDigits(loads*145000, ',') , ' cash gained]');
      writeln('Loads per hour: ' , groupDigits(perHour(loads), ','), '[', groupDigits(perHour(loads*145000),','), ' cash per hour]');
      writeln('==================================');
    end;

    function loginPlayer():boolean;
    begin
      if (not isLoggedIn()) then
      begin
        moveMouse(352, 302);
        wait(150);
        fastClick(mouse_left);
        if waitFunc(@isLoggedIn, 40, 5000) then
        begin
          wait(2000);
          setCompassNorth();
          mainScreen.setAngle(MS_ANGLE_HIGH);
        end
        else
          state('Failed to login player');
      end;
    end;
    procedure initVars();
    begin
      inventorySlots := explodeBox(IntToBox(565, 212, 724, 460), 7, 4);
      mainscreen.setBounds(intToBox(0, 0, 519, 342));
    end;

    function bankOpen():boolean;
    begin
      result := intToBox(186, 26, 331, 44).colorExists(2201592);
    end;

    procedure closeBank();
    begin
      moveMouse(492, 26);
      wait(150);
      fastClick(mouse_left);
    end;

    procedure bankAll();
    begin
      moveMouse(373, 314);
      wait(150);
      fastClick(mouse_left);
    end;
    procedure withDrawEssance();
    begin
      mouse(DidFindEss,MOUSE_RIGHT,MOUSE_ACCURATE);
      waitOptionMulti(['All', 'll R'], 500);
      inventoryWaitChange(1200);
      closeBank();
    end;

    function findObject(color, tol:integer;hue, sat:extended;uptext:TStringArray):boolean;
    var
      objTPA:TPointArray;
      objATPA:T2DPointArray;
      i:integer;
    begin
      if findColorsTolerance(objTPA, color, mainscreen.getBounds(), tol, colorSetting(2, hue, sat)) then
      begin
        objATPA := objTPA.cluster(7);
        objATPA.sortFromMidPoint(mainScreen.getBounds().getMiddle());
        for i := 0 to high(objATPA) do
        begin
          moveMouse(objATPA[i].getBounds().getMiddle());
          //wait(100);
          if waitUpTextMulti(uptext, 400) then
          begin
            wait(100);
            fastClick(mouse_left);
            exit(true);
          end;
        end;
      end;
    end;

    procedure loop();
    begin
      loginPlayer();
      if (inventoryFull()) then
        if bankOpen() then
          closeBank()
        else
          if findObject(8549757, 0, 0.00, 0.00, ['Craft', 'rune A', 'Altar']) then
          begin
            state('Runecrafting');
            inventoryWaitChange(1200);
            loads := loads + 1;
          end else
            state('Could not find altar')
      else
        if findObject(274244, 9, 0.10, 0.84, ['Bank', 'booth']) then
        begin
          if waitFunc(@bankOpen, 40, 3000) then
          begin
            state('Banking');
            //bankAll();
            //waitFunc(@inventoryEmpty, 40, 2000);
            withDrawEssance();
          waitFunc(@inventoryFull, 40, 2000);
          end;
        end;
    end;

    //var
     // i:integer;

    begin
      initVars();
      LoadDtm;
      addonTerminate('FreeImages');
      loginPlayer();
      setCompassNorth();
      mainScreen.setAngle(MS_ANGLE_HIGH);
      closeBank();
      repeat
        loop();
      until isKeyDown(27);
      {
      for i := 0 to 100 do
      begin
        writeln(i);
        moveMouse(263, 135);
        wait(20);
        fastClick(mouse_right);
        wait(10);
         moveMouse(263, 216);
        //wait(10);
        fastClick(mouse_left);
        wait(300);
       // waitOption('Buy 100', 200);
        //wait(10);
      end;  }

    end.

    Asked by @gedux1998
    Astral Report

    Progress Report:
    ==================================
    Time Running: 11 Minutes and 26 Seconds
    State: Banking
    Loads finished: 165[23,925,000 cash gained]
    Loads per hour: 865[125,459,567 cash per hour]
    ==================================
    Out of ess
    //thats with 5k runeess


    Setup same as before, this one use rune ess, Have them somewhere visible in your bank tab.
    Start with ess in invo and bank open.
    Hold escape key to end script.

  22. #22
    Join Date
    Apr 2016
    Posts
    18
    Mentioned
    1 Post(s)
    Quoted
    6 Post(s)

    Default

    Nvm, script started to work very nice, thanks again
    Last edited by gedux1998; 03-31-2017 at 01:03 PM.

  23. #23
    Join Date
    Mar 2014
    Posts
    1
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    not working for me some can help ?Error: File "SRL-6/SRL.simba" not found at line 2
    Compiling failed.

  24. #24
    Join Date
    Mar 2014
    Posts
    195
    Mentioned
    4 Post(s)
    Quoted
    92 Post(s)

    Default

    Quote Originally Posted by deseo9 View Post
    not working for me some can help ?Error: File "SRL-6/SRL.simba" not found at line 2
    Compiling failed.
    Quote Originally Posted by goodgamescript View Post
    download and install simba and srl-6
    Use the search feature of the forum for a correct guide.

  25. #25
    Join Date
    Mar 2014
    Posts
    195
    Mentioned
    4 Post(s)
    Quoted
    92 Post(s)

    Default

    Quote Originally Posted by deseo9 View Post
    yes i did all but still not working i not sure wats wrong
    Download this https://github.com/SRL/SRL-6 and extract it to your simba includes folder and rename it to srl-6.
    so your file path should be like
    C:\simba\Includes\srl-6

Thread Information

Users Browsing this Thread

There are currently 2 users browsing this thread. (0 members and 2 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
  •