Results 1 to 21 of 21

Thread: Alching Machine

  1. #1
    Join Date
    Nov 2007
    Location
    I live in Slovenia! :)
    Posts
    837
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Alching Machine

    Alching Machine

    Status: Offline (Yagex made new updates and it's pointless to update this. Lucky I got 99 mage in time )



    This is my first script! It alches ruby rings at Zanaris or noted items.

    Setup

    Zanaris

    - Put your account near Irksol
    - Have at least 30k coins in the 27th solt
    - Have some Nature runes in the 28th solt
    - Have lava or fire staff equipped

    Normal

    - Have the noted items in the 19th solt
    - Have lava or fire staff equipped

    Click play!



    - Normal Alch: True = noted alching, False = Zanaris
    - Loads to do: Total amount of inventories a player should do. If using noted option 1 load = 28 alches
    - Loads before break: The scprit will take a break every X loads
    - Breaks for X minutes: It will break for the number of mintes + some random

    Features

    - AntiBan
    - AntiRandoms
    - Progres report
    - Breaks
    - MultyPlayer (not really tested )
    - A very human-like way of ruby ring alching
    - SRL palyer form

    The smart version has 2 lines of reflection (finding Irksol) so you need reflection for it. In the SMART version, i have also removed the find gem stall symbol on the minimap, because it war unreliable in was loging out to may times. This funtion still is the normal version. I havent tested multyplayer and normal alching a lot so if there is anything wrong, pleasse tell me.

    Credits

    1. WhoCares357 (He tought me everything I know , Thanks a lot m8!)
    2. Tad (He anwsered and helped me on quite a lot of my questions )
    3. My IRL RS and cheating hating friend: N37-L0RD (He helped me with the alching procedures)
    4. JAD (He wrote a HUGE comment on what should i modify)

    I would be very happy if someone would look at it and give me some opinions. Tell me if it's safe to run (It got me from 90 to 97 mage tho ) so some people can use it. Tell me what I should add, fix anything at all would be very appreciated.

    Here is one of my proggies:

    Code:
    -----------Alching machines progres report!------------
    Script ran for 10 Hours, 4 Minutes and 9 Seconds
    We alched 8732 items.
    We gained 567580 xp.
    We made 6 breaks
    -----------------Thanks for using it!------------------
    Code:
    Update Log
    
    0.1 First public version
    0.2 Version checker, news checker, more failsefes, removed usless code...
    Last edited by Sir R. M8gic1an; 10-11-2009 at 07:28 PM.

  2. #2
    Join Date
    Dec 2008
    Posts
    2,813
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    =X Your FireStaffBMP is a 1x1 bitmap? :/ That seems like it could have some false positives.

    There's something about a Note bitmap? Well, there shouldn't be any notes. Didn't look much..

  3. #3
    Join Date
    Nov 2007
    Location
    I live in Slovenia! :)
    Posts
    837
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by ian. View Post
    =X Your FireStaffBMP is a 1x1 bitmap? :/ That seems like it could have some false positives.

    There's something about a Note bitmap? Well, there shouldn't be any notes. Didn't look much..
    Well i tested the fire bitmap and it seemed to work fine. Should I make a new, bigger one?

    I don't get what you mean with the notes
    ~T2

  4. #4
    Join Date
    Dec 2008
    Posts
    2,813
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Never mind.. haha. Sorry, I thought it was only ruby rings in Zanaris, but I see what you're doing now. And I'd just make the bitmap a little bigger, just in case. ^^

  5. #5
    Join Date
    Feb 2007
    Posts
    3,616
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Your LoadImages procedure takes up more lines in this case because you only have one image, and you only call LoadImages in the main loop. It would be easier to just put it in the main loop (the bitmap).

    You never free the bitmap RubyRing. It is bad practice to do this as this causes a memory leak each time you run the script. That bitmap will take up memory on your machine every time you run this script if you don't free it.

    SCAR Code:
    FreeBitmap(RubyRing);


    FindNormalRandoms will find all of the randoms and solve the ones it can. Therefore, calling FindLamp and SolveBox afterwards would be pointless because FindNormalRandoms would have already solved both of those if it found. If you want it to do the specific lamp skill, call it before FindNormalRandoms.

    In FindNormalNats and FindNats, you should free the bitmap at the end of the function.


    I am confused by your buyrings function. If it finds the gem stall symbol, then you look for the NPC and move the mouse there. Then, without talking to the NPC, you then click the gem stall symbol, then find the NPC.

    Then in the else (if it didn't find the NPC), you have it click there like it did find him. I think what you meant to do was:

    SCAR Code:
    if (FindSymbolIn(x, y, 'gem stall', MMX1, MMY1, MMX2, MMY2) = true)  then
      begin
        WriteLn ('Found gem stall.');
        if (FindObjCustom(x, y, ['Talk-to Irk'], [2965826], 4) = false) then
        begin
          WriteLn ('Found Irksol.');
          Wait(50 + random(10));
          Mouse(x, y, 2, 2, false);
          Wait(100 + random(50));
          if (ChooseOption('rade') = true) then
          begin
            WriteLn ('In the shop menu.');
            Wait (1000 + random (500));
            MouseBox(73, 100, 84, 112, 3);
            Wait (1000 + random (500));
            if (IsUpText('uby')) then
            begin
              GetMousePos(x, y);
              Mouse(x, y, 0, 0, false);
              Wait (500 + random (100));
              if (ChooseOption('Buy X')) then
              begin
                Wait(1100 + random(500));
                TypeSend(IntToStr(RandomRange(26, 785)));
                Wait(900 + random(500));
                CloseWindow;
                WriteLn ('Rings bought!');
                Result:= true
              end else
                WriteLn ('We couldnt buy the rings!');
            end;
          end;
        end else
        begin
          FindSymbolIn(x, y, 'gem stall', MMX1, MMY1, MMX2, MMY2)
          Mouse(x + 12, y, 0, 0, true);
          Wait(2500 + random (500));
          if (FindObjCustom(x, y, ['Talk-to Irk'], [2965826], 4) = false) then
          begin
            WriteLn ('Couldnt find Irksol...');
            LogOut;
            TerminateScript;
          end;
        end;


    When clicking the gem symbol, you should take advantage of SRL's function FFlag. You can wait until the mini map red flag is gone instead of using a wait:

    SCAR Code:
    FFlag(0); // waits until flag = gone

    The parameter there is the distance from the flag to wait for.


    If you are going to walk based off of symbols (which your next step should probably be to use a DDTM for more reliability), then you need to add a fair amount of randomness to your mouse, or else it can become detectable and bannable. You have the randomness parameters set to 0,0, which is a bad thing IMO.

    In firstalch, you have:
    SCAR Code:
    procedure FirstAlch;
    begin
      begin
        GameTab(tab_Magic)
        if not FindColor(x, y, 1020586,  663, 371, 677, 381) then
        Mouse(705, 452, 2, 2, true);
      end;

    Why have the begin/end there? They are not after an if/then or anything like that, they are just there for no reason.

    SCAR Code:
    procedure FirstAlch;
    begin
      GameTab(tab_Magic)
      if not FindColor(x, y, 1020586,  663, 371, 677, 381) then
      Mouse(705, 452, 2, 2, true);


    In FirstAlch, add much more randomness to where you first click the spell. You hardly do any at all, it is almost the exact same coordinate every time.

    In SecondAlch, this is not very random:
    SCAR Code:
    Wait(1900 + Random(15));

    I would make it at least like random 400.

    In Rest, add some randomness to how long the user said to rest.

    Things like
    SCAR Code:
    if FindStaff = true then

    Could simply be:
    SCAR Code:
    if FindStaff then

    If you want.

    SCAR Code:
    until False;
      begin
        Terminate;
      end;

    Will never execute (in the main loop) because it goes until false and you never break out of the loop. If you want to do things when the script is terminated, add a procedure called OnTerminate. This procedure is automatically called when every script is stopped:

    SCAR Code:
    procedure OnTerminate;
    begin
      Terminate;
    end;

    Your main loop is a mess. I don't have the time to try to find all the problems with your logic in there, but consider trying to shorten it.





    This is a great first script, and with some improvements and learning a few more advanced techniques I believe it could get you members real soon. Good job and good luck!

    ~JAD

  6. #6
    Join Date
    Nov 2007
    Location
    I live in Slovenia! :)
    Posts
    837
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Thanks a lot! Gona fix all of these thing very soon.
    Thanks again, this is exactly what i wanted
    ~T2

  7. #7
    Join Date
    Nov 2007
    Posts
    326
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    How much money did you lose in that first proggy you showed?

    Check out my Edgeville Smelter!

  8. #8
    Join Date
    Nov 2007
    Location
    I live in Slovenia! :)
    Posts
    837
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by IPwnz View Post
    How much money did you lose in that first proggy you showed?
    I don't really count how much I lose but I calculated it and I lost something around 400k.
    ~T2

  9. #9
    Join Date
    Aug 2007
    Posts
    152
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Pretty impressive for a first script A form and everything!

    My first run at zanaris:

    -----------Alching machines progres report!------------
    Script ran for 1 Hours, 37 Minutes and 48 Seconds
    We alched 1241 items.
    We gained 80665 xp.
    We made 1 breaks
    We preforemed 47 antibans.
    -----------------Thanks for using it!------------------

    Stopped because stupid smart white screen And it took one 11 minute break

    Well done sir and ty for the script (I thought I was going to have to write one myself, but luckily you posted yours just in time )

  10. #10
    Join Date
    Nov 2007
    Location
    I live in Slovenia! :)
    Posts
    837
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by kyleisntwild View Post
    Pretty impressive for a first script A form and everything!

    My first run at zanaris:

    -----------Alching machines progres report!------------
    Script ran for 1 Hours, 37 Minutes and 48 Seconds
    We alched 1241 items.
    We gained 80665 xp.
    We made 1 breaks
    We preforemed 47 antibans.
    -----------------Thanks for using it!------------------

    Stopped because stupid smart white screen And it took one 11 minute break

    Well done sir and ty for the script (I thought I was going to have to write one myself, but luckily you posted yours just in time )
    Ty It'll be updated soon with more randomness and the other stuff JAD advised me to do.
    ~T2

  11. #11
    Join Date
    Aug 2007
    Posts
    152
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Ya I edited it a lil bit with some more randomness XD

    Also, typo in your proggy. Performed not Preforemed or w/e you wrote there

  12. #12
    Join Date
    Nov 2007
    Location
    I live in Slovenia! :)
    Posts
    837
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    I think I'll upload version 0.2 now.
    JAD, i have read your post a hundred times

    I have add more randomness, fixed the usless code, put in the FFlag thing, shorten the main loop... There are also 3 things that I don't quite understand. I think my script has random break time.

    SCAR Code:
    procedure Rest;
    begin
      LogOut;
      BreakFor := Players[CurrentPlayer].Integers[2] * 60000 + RandomRange(60000, 300000);
      ClearDebug;
      WriteLn ('We are currently taking a break. Script will be back runing after ' + (IntToStr(BreakFor / 60000)) + ' minutes.' );
      Wait(BreakFor);
    end;

    SCAR Code:
    function BuyRings: Boolean; //This Procedure has coords and some pieces of WhoCares357's Ample Alcher
    begin
      if FindSymbolIn(x, y, 'gem stall', MMX1, MMY1, MMX2, MMY2) then
      begin
        WriteLn ('Found gem stall.');
        if (FindObjCustom(x, y, ['Talk-to Irk'], [2965826], 4) = false) then
        begin
          FindSymbolIn(x, y, 'gem stall', MMX1, MMY1, MMX2, MMY2)
          Mouse(x + 12, y, 5, 10, true);
          FFlag(0);
          if (FindObjCustom(x, y, ['Talk-to Irk'], [2965826], 4) = false) then
          begin
            WriteLn ('Couldnt find Irksol...');
            LogOut;
            TerminateScript;
          end;
        end else
        begin
          WriteLn ('Found Irksol.');
          Wait(50 + random(10));
          Mouse(x, y, 2, 2, false);
          Wait(100 + random(50));
          if (ChooseOption('rade') = true) then
          begin
            WriteLn ('In the shop menu.');
            Wait (1000 + random (500));
            MouseBox(73, 100, 84, 112, 3);
            Wait (1000 + random (500));
            if (IsUpText('uby')) then
            begin
              GetMousePos(x, y);
              Mouse(x, y, 0, 0, false);
              Wait (500 + random (100));
              if (ChooseOption('Buy X')) then
              begin
                Wait(1100 + random(500));
                TypeSend(IntToStr(RandomRange(26, 785)));
                Wait(900 + random(500));
                CloseWindow;
                WriteLn ('Rings bought!');
                Result:= true
              end else
                WriteLn ('We couldnt buy the rings!');
            end;
          end;
         end;
      end else
        WriteLn ('Couldnt find the gem stall.');
    end;

    I don't get whats wrong with this function so I'll tell you how I see it.

    First it searches for the symbom. If it finds it, it goes on, otherwise it ends. Then it searches for Irksol. If it's false, it will click on the symbol and search for Irksol again, if it still doesn't find it, it will end. If it finds it, it will store his coords and trade him (if it found him in the begining it will trade him of corse).

    I don't quite understand the OnTerminate thing. I have added it in the script but I'm not sure if it's done correctly.

    That would be all, I would just also like to know wich advanced techniques should I learn and include in the scipt that you mentioned.

    Thanks kyleisntwild for mentioning the wrong typing
    Last edited by tico2; 08-26-2009 at 07:32 PM.
    ~T2

  13. #13
    Join Date
    Dec 2006
    Location
    New York
    Posts
    473
    Mentioned
    0 Post(s)
    Quoted
    3 Post(s)

    Default

    Code:
    Failed when compiling
    Line 67: [Error] (67:7): Unknown type 'TTile' in script C:\Program Files\SCAR 3.21\includes\SRL\SRL\Reflection\Characters.Scar
    Why do i keep getting this error? Installed reflection wrong?

  14. #14
    Join Date
    Nov 2007
    Location
    I live in Slovenia! :)
    Posts
    837
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by gamer716 View Post
    Code:
    Failed when compiling
    Line 67: [Error] (67:7): Unknown type 'TTile' in script C:\Program Files\SCAR 3.21\includes\SRL\SRL\Reflection\Characters.Scar
    Why do i keep getting this error? Installed reflection wrong?
    Probably. I can't be sure what it is but i can tell you that it's your problem because it works fine for me
    ~T2

  15. #15
    Join Date
    Dec 2006
    Location
    New York
    Posts
    473
    Mentioned
    0 Post(s)
    Quoted
    3 Post(s)

    Default

    that sucks, this script looks great. wanted to use it for 94 mage

    edit: its working now, only the regular verison, the SMART script gives me that error. expect a proggy soon
    Last edited by gamer716; 08-27-2009 at 08:59 PM. Reason: it works

  16. #16
    Join Date
    Nov 2007
    Location
    I live in Slovenia! :)
    Posts
    837
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by gamer716 View Post
    that sucks, this script looks great. wanted to use it for 94 mage

    edit: its working now, only the regular verison, the SMART script gives me that error. expect a proggy soon
    You should use this guide to set up your reflection correctly.
    ~T2

  17. #17
    Join Date
    Dec 2006
    Location
    New York
    Posts
    473
    Mentioned
    0 Post(s)
    Quoted
    3 Post(s)

    Default

    thanks, that guide actually fixed my error! I can use the SMART version which is very useful

    1 proggy so far, not as good but expect alot better more

    Code:
    -----------Alching machines progres report!------------
    Script ran for 2 Hours, 11 Minutes and 50 Seconds
    We alched 1734 items.
    We gained 112710 xp.
    We made 2 breaks
    We performed 48 antibans.
    -----------------Thanks for using it!------------------
    
    Player is not Active...
    NextPlayer
    logged out caused of random, but it solved it? found the gift box in my inventory...

    EDIT: fixed the script up with the new rs updates. working great so far! look at this proggy for one account

    -----------Alching machines progres report!------------
    Script ran for 7 Hours, 1 Minutes and 22 Seconds
    We alched 4408 items.
    We gained 286520 xp.
    We made 15 breaks
    We performed 115 antibans.
    -----------------Thanks for using it!------------------

    turned it off myself...
    Last edited by gamer716; 09-13-2009 at 12:48 AM.

  18. #18
    Join Date
    Nov 2007
    Location
    I live in Slovenia! :)
    Posts
    837
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by gamer716 View Post
    EDIT: fixed the script up with the new rs updates. working great so far! look at this proggy for one account

    -----------Alching machines progres report!------------
    Script ran for 7 Hours, 1 Minutes and 22 Seconds
    We alched 4408 items.
    We gained 286520 xp.
    We made 15 breaks
    We performed 115 antibans.
    -----------------Thanks for using it!------------------

    turned it off myself...
    Wow nice! If you want you can post it up since it's working so well for you. Btw, the Zanaris isn't working any more due to the shop updates right?

    Thanks for using and liking my script

    Edit: If there is something wrong with your fixed version of the script, just tell me and I'll take a look at it
    Last edited by tico2; 10-06-2009 at 01:06 PM.
    ~T2

  19. #19
    Join Date
    Feb 2006
    Location
    Tracy/Davis, California
    Posts
    12,631
    Mentioned
    135 Post(s)
    Quoted
    418 Post(s)

    Default

    @ Tico, if its updated/working again you should probably change the 'Status:Offline' in your first post so people will actually download it .

  20. #20
    Join Date
    Nov 2007
    Location
    I live in Slovenia! :)
    Posts
    837
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by YoHoJo View Post
    @ Tico, if its updated/working again you should probably change the 'Status:Offline' in your first post so people will actually download it .
    Well it isn't working atm. He fixed it for himself (normal version, Zanaris is dead ) so I said he can post it up. No one really use the normal alching in this script so didn't bother updating it.
    ~T2

  21. #21
    Join Date
    Dec 2006
    Location
    New York
    Posts
    473
    Mentioned
    0 Post(s)
    Quoted
    3 Post(s)

    Default

    Quote Originally Posted by tico2 View Post
    Well it isn't working atm. He fixed it for himself (normal version, Zanaris is dead ) so I said he can post it up. No one really use the normal alching in this script so didn't bother updating it.
    i was using the normal alching when i got that proggy...dont get those anymore

    anyways, its updated and works (still using it to get 99 mage )
    some of the functions didnt work such as finding nature runes so i just removed it

    -make sure your yew longs(or watever u going to alch) is in he 23rd slot of the inventory.
    -your magic tab should look like this:

    - the script uses smart, if it doesn't work then disable it and try it again

    p.s.no bans so far, pretty good anti-ban u can say (75-96 mage on 1 acc and 88-94 on other 1, was using S.M.A.R.T.)

    hope it works for u guys!

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
  •