Page 1 of 3 123 LastLast
Results 1 to 25 of 65

Thread: Sleziak's Zanaris Ring alcher!! (Cheapest way to alch!!)

  1. #1
    Join Date
    Apr 2007
    Posts
    80
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Sleziak's Zanaris Ring alcher!! (Cheapest way to alch!!)

    Zanaris Ring Alcher

    Alches Ruby rings in zanaris.


    Requirements:

    - Completed the 'Lost City' quest
    - 55 Magic
    - Dramen Staff
    - 1 Cut diamond to get to the gem shop
    - Nature runes
    - Staff of fire/Lava staff
    - And atleast 30k to start with


    How do i get there?

    Equip your Dramen staff and teleport to lumbridge and follow this route:



    And



    AND RUN THE SCRIPT!


    Loss per alch:

    The prices of nature runes changes too often but the loss will be between 10-30 GP per alch (+ an uncut diamond)

    Enjoy and post proggies please!


    Reworking =DAttachment 6852
    Last edited by sleziak; 05-04-2009 at 01:30 PM.
    Jaghax FTW

  2. #2
    Join Date
    May 2007
    Location
    knoxville
    Posts
    2,873
    Mentioned
    7 Post(s)
    Quoted
    70 Post(s)

    Default

    reserved. i'll take a look at it =D

    i might use this on my way to 99 mage

    it looks like a good script, i need to test it out

    edit: you need to work on your standards, my eyes are now killing me =p

    also for your alching, your using the same coord every time you alch. unless you want to be banned after a few hundred alchs, make it a random coord after every 100( + random 50-100 ) alchs, take a look at my alcher for an example, its pretty anti-bann'd and flawless

    also, you need to add antiban and antirandoms a nessesity for every script
    Last edited by Awkwardsaw; 04-20-2009 at 05:38 AM.
    <TViYH> i had a dream about you again awkwardsaw
    Malachi 2:3

  3. #3
    Join Date
    Jun 2007
    Location
    south park
    Posts
    1,160
    Mentioned
    0 Post(s)
    Quoted
    62 Post(s)

    Default

    ur siggie is asking for a ban
    http://www.youtube.com/user/YoHoJoSRL
    Good scripting guides on youtube
    Formerly known as (djcheater)

  4. #4
    Join Date
    Sep 2007
    Posts
    40
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Thank you very much, this is just what I needed. Will post proggies.

  5. #5
    Join Date
    Apr 2007
    Posts
    80
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by akwardsaw View Post
    reserved. i'll take a look at it =D

    i might use this on my way to 99 mage

    it looks like a good script, i need to test it out

    edit: you need to work on your standards, my eyes are now killing me =p

    also for your alching, your using the same coord every time you alch. unless you want to be banned after a few hundred alchs, make it a random coord after every 100( + random 50-100 ) alchs, take a look at my alcher for an example, its pretty anti-bann'd and flawless

    also, you need to add antiban and antirandoms a nessesity for every script
    Fixed the cords issue, i was a lil tired last night
    Antiban will be added soon and uhm Antirandoms? isn't 'findnormalrandoms' and 'findnoninventoryrandoms' enough?


    + I don't bot on the guy in my sig so if jagex bans him then they fail
    Jaghax FTW

  6. #6
    Join Date
    Oct 2007
    Location
    Florida, USA
    Posts
    486
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Once this script is finalized i will get 90-95 mage with it, and help you out with bugs etc .
    What do Harry and God have in common?
    They are the same person!

  7. #7
    Join Date
    May 2007
    Location
    knoxville
    Posts
    2,873
    Mentioned
    7 Post(s)
    Quoted
    70 Post(s)

    Default

    Quote Originally Posted by sleziak View Post
    Fixed the cords issue, i was a lil tired last night
    Antiban will be added soon and uhm Antirandoms? isn't 'findnormalrandoms' and 'findnoninventoryrandoms' enough?
    oh, sorry, i didnt see it =p i was tired my self

    i'll try to test this out tonight
    <TViYH> i had a dream about you again awkwardsaw
    Malachi 2:3

  8. #8
    Join Date
    Dec 2006
    Location
    SC
    Posts
    692
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Pretty solid script for a Junior Member. The only thing I really think you might want to change is this:

    SCAR Code:
    Procedure BuyRings;
    begin
      FindIrksol;
      begin
      wait(random(2000));

    What happens if it doesn't find Irksol. This might be a great opportunity for you to learn functions (because they send out a value like true or false when they're used). If you made FindIrksol a function you could check whether or not he was found.

    If you don't know what I'm talking about and want to learn it, pm me with your msn/aim/yahoo/whatever.

    Good luck with maintaining the script. And if you ever need help, I'd do it gladly. I appreciate people who learn take their time to learn and create rather than just leech (no offense to the rest of you ).

  9. #9
    Join Date
    Apr 2007
    Posts
    80
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by WhoCares357 View Post
    (too long quote)
    Good luck with maintaining the script. And if you ever need help, I'd do it gladly. I appreciate people who learn take their time to learn and create rather than just leech (no offense to the rest of you ).
    I would love if you could help me with some things, i'm kinda new to scripting and i try to learn as much as i can to become a 1337 scripter :')
    +
    I know how to use functions but i never find a way to use em efficiently (need some help)
    Jaghax FTW

  10. #10
    Join Date
    Dec 2006
    Location
    SC
    Posts
    692
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by sleziak View Post
    I would love if you could help me with some things, i'm kinda new to scripting and i try to learn as much as i can to become a 1337 scripter :')
    +
    I know how to use functions but i never find a way to use em efficiently (need some help)
    PM me with your msn (or whatever messenger you use) and I'll show you.

  11. #11
    Join Date
    Feb 2007
    Location
    Access Violation at 0x00000000
    Posts
    2,865
    Mentioned
    3 Post(s)
    Quoted
    18 Post(s)

    Default

    example;
    SCAR Code:
    function TradeIrksol: Boolean;
    begin
      //FindObject stuff here
      if ShopScreen then
      begin
        Result := True;
        Exit;
      end;
    end;

    procedure Buy;
    begin
      if not ShopScreen then
        if not TradeIrksol then
          exit;
      //stuff
    end;
    Ce ne sont que des gueux


  12. #12
    Join Date
    Mar 2007
    Posts
    732
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Hm this is a really good idea!
    I'd love to try it out, but can't risk getting my 125 banned.

    Anyways, good luck!
    Sean[714] @rscheata.net

  13. #13
    Join Date
    Oct 2007
    Location
    Florida, USA
    Posts
    486
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by oo00o View Post
    Hm this is a really good idea!
    I'd love to try it out, but can't risk getting my 125 banned.

    Anyways, good luck!
    Ya this script seems incredibly clever, im just waiting for him to finalize it because ill be using it on my 130 . Gotta get 90-99 Magic.
    What do Harry and God have in common?
    They are the same person!

  14. #14
    Join Date
    Aug 2007
    Posts
    29
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    ive been trying it wit smart and it go to buy window then wont buy,closes window and finds again.. i think its this function
    Procedure BuyRings;
    begin
    FindIrksol;
    begin
    wait(random(2000));
    MouseBox(74,101,85,111, 3)
    if(IsUpText('Ruby Ring'))then
    begin
    writeln('Buying rings');
    getmousepos(x, y)
    wait(100)
    Mouse(x,y,0,0,false)
    ChooseOption('Buy X')
    Wait(1000)
    case Random(8) of
    0: SendKeys('28'+chr(13));
    1: SendKeys('32'+chr(13));
    2: SendKeys('54'+chr(13));
    3: SendKeys('55'+chr(13));
    4: SendKeys('65'+chr(13));
    5: SendKeys('65'+chr(13));
    6: SendKeys('98'+chr(13));
    7: SendKeys('87'+chr(13));
    end;

  15. #15
    Join Date
    Oct 2007
    Location
    Denmark
    Posts
    409
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Was bored so figured you might would appreciate me fixing your standards
    Here you go:
    SCAR Code:
    program new;
    {.Include SRL\SRL.SCAR}
    {.include SRL/SRL/Skill/Magic.scar}

    const
      Username = '';  //Your Runescape username
      Password = '';  //Your Runescape password
      Nickname = '';  //Few letters from your name Example: Username = 'Zezima'  then the nickname would be 'Zez'
      ToDo = 1000;       //How many rings do you want to alch
      logo = false;   //Log out after doing the desired ammount of alches/Using all your nature runes?

    var
      x, y, a, b, counter, exp: Integer;

    procedure DeclarePlayers;
    begin
     HowManyPlayers := 1;
     NumberOfPlayers(HowManyPlayers);
     CurrentPlayer := 0;
     Players[0].Name := Username;
     Players[0].Pass := Password;
     Players[0].Nick := Nickname;
     Players[0].Active := True;
    end;

    procedure FindIrksol; // You should make this a function and make it return a boolen of whether Irksol is found or not.
    var
      TMT, Times: Integer;
    begin
      if not ShopScreen then
      begin
        Wait(2000 + Random(3000));
        if FindSymbol(x, y, 'gem stall') then
        begin
          Writeln('Walking to gem stall');
          Flag;
          Mouse(x + 12, y, 0, 0, true);
          Flag;
        end;
        repeat
          Times := 0;
          Inc(TMT);
          if FindObjCustom(x, y, ['Talk-to Irk'], [2965826, 2965826], 4) then
          begin
            Wait(50 + Random(20));
            Mouse(X, Y, 1, 1, false);
            Wait(50 + Random(20));
            if ChooseOption('rade') then
            begin
              repeat
                Times := Times + 1;
                Wait(100 + Random(100));
              until ShopScreen or (Times > 20);
              if ShopScreen then
              begin
                Writeln('Trading Irksol');
                Exit;
              end;
            end;
          end;
        until (TMT > 5);
        if not(ShopScreen) then
        begin
          if FindSymbol(x, y, 'gem stall') then
          begin
            Mouse(x + 12, y, 0, 0, True);
            Players[CurrentPlayer].Loc := 'gem stall';
            FindIrksol;
          end;
        end else
          Writeln('Could Not Find Irksol.');
      end else
        Logout;
    end;



    Procedure BuyRings;
    begin
      FindIrksol; // Here you could use "if FindIrkSol then"
      Wait(100 + Random(2000));
      MouseBox(74, 101, 85, 111, 3);
      if IsUpText('Ruby') then
      begin
        Writeln('Buying rings');
        GetMousePos(x, y);
        Wait(100 + Random(100));
        Mouse(x, y, 0, 0, False);
        ChooseOption('Buy X');
        Wait(1000 + Random(200));
        case Random(8) of
          0: SendKeys('28'+chr(13));
          1: SendKeys('32'+chr(13));
          2: SendKeys('54'+chr(13));
          3: SendKeys('55'+chr(13));
          4: SendKeys('65'+chr(13));
          5: SendKeys('65'+chr(13));
          6: SendKeys('98'+chr(13));
          7: SendKeys('87'+chr(13));
        end;
       CloseWindow;
      end else
      begin
        MouseBox(50, 70, 116, 79, 1);
        Wait(100 + Random(600));
        BuyRings; // Infinity loop?
      end;
      Wait(400 + Random(100));
    end;
     
    procedure Progress;
    begin
      ClearDebug;
      if not(LoggedIn) or (Counter > ToDo) then
      begin
        Writeln('----------------------------------------------');
        Writeln(' _____________________________________________');
        Writeln('- Sleziak''s    Zanaris alcher               ');
        Writeln('- Ran for: ' + (TimeRunning) + '              ');
        Writeln('- Alched ' +IntToStr(Counter)+ ' rings        ');
        Writeln('- You have gained ' +  IntToStr(exp) + ' Exp!' );
        Writeln('- Succesfully alched all requested rings      ');
        Writeln('-            Post this proggy please ;)       ');
        Writeln('-_____________________________________________');
        Writeln('----------------------------------------------');
        TerminateScript;
      end else
      begin
        ClearDebug;
        if (Counter < ToDo) then
        begin
          Writeln('----------------------------------------------');
          Writeln(' _____________________________________________');
          Writeln('- Sleziak''s    Zanaris alcher               ');
          Writeln('- Ran for: ' + (TimeRunning) + '              ');
          Writeln('- Alched ' +IntToStr(Counter)+ ' rings        ');
          Writeln('- You have gained ' +  IntToStr(exp) + ' Exp! ');
          Writeln('-                Still running!               ');
          Writeln('-            Post this proggy please ;)       ');
          Writeln('-_____________________________________________');
          Writeln('----------------------------------------------');
        end;
      end;
    end;

    procedure Checkrunes;
    begin
      if (FindBlackChatMessage('ature')) then
        TerminateScript;
    end;

    Procedure Alch;
    begin
      repeat
        if (not(LoggedIn)) then
          LoginPlayer;
        FindNonInventoryRandoms;
        Wait(400 + random(100));
        Cast('high level alchemy');
        if FindColorTolerance(a, b, 1749707, 555, 213, 722, 453, 2) then
        begin
          MMouse(a + Random(5), b + Random(5), 0, 0);
          Wait(1600 + Random(100));
        end else
          BuyRings;
        Mouse(a, b, 0, 0, True);
        CheckRunes;
        exp := exp + 65;
        counter := counter + 1;
        Progress;
      until(false); // Add failsafes
    end;

    Procedure ScriptTerminate;
    begin
      Progress;
      WriteLn('Out of runes!');
      if logo then
        Logout
      else
        WriteLn('Finished script/Out of runes!');
    end;

    begin
      SetUpSRL;
      DeclarePlayers;
      LoginPlayer;
      Wait(2000 + Random(200));
      repeat
        SetAngle(True);
        MakeCompass('N');
        SetRun(True);
        BuyRings;
        Alch;
        FindNormalRandoms;
        CheckRunes;
        Progress;
        Wait(2000 + Random(200));
      until(not(LoggedIn));
    end.

  16. #16
    Join Date
    Feb 2007
    Location
    Access Violation at 0x00000000
    Posts
    2,865
    Mentioned
    3 Post(s)
    Quoted
    18 Post(s)

    Default

    I think we all can say Frt is unoficially already SRL mem ^^
    You're already a standard nazi; me too
    Ce ne sont que des gueux


  17. #17
    Join Date
    Nov 2008
    Location
    Belgium
    Posts
    254
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    He definetely should be xD
    /me not like nazis!

  18. #18
    Join Date
    Dec 2006
    Location
    SC
    Posts
    692
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    You forgot to fix DeclarePlayers, Frt.

  19. #19
    Join Date
    May 2008
    Posts
    62
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    tell me when you put anti ban in it cuz i want to try =) without a high risk of getting banned lol.

  20. #20
    Join Date
    Oct 2006
    Location
    Eastern Illinois University
    Posts
    17
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    I had a hell of a time getting this to work, so I redid some of it. The findkeeper function is jethr0x's. Feel free to use any changes I've made if you wish. Oh, and the dtm is from akwardsaw (I can't seem to get my dtms to ever work) and this script uses smart and reflection.

    newer version below...

    Progress report I got with my version (ran out of runes):
    SCAR Code:
    ----------------------------------------------
     _____________________________________________
    - Sleziak's    Zanaris alcher              
    - Ran for: 1 Hours, 23 Minutes and 55 Seconds              
    - Alched 1216 rings        
    - You have gained 79040 Exp!
    -                Still running!              
    -            Post this proggy please ;)      
    -_____________________________________________
    ----------------------------------------------
    Last edited by Neosage1985; 04-24-2009 at 05:13 PM.

  21. #21
    Join Date
    Oct 2007
    Location
    Florida, USA
    Posts
    486
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by Neosage1985 View Post
    I had a hell of a time getting this to work, so I redid some of it. The findkeeper function is jethr0x's. Feel free to use any changes I've made if you wish. Oh, and the dtm is from akwardsaw (I can't seem to get my dtms to ever work) and this script uses smart and reflection.

    SCAR Code:
    program new;
    {.include SRL/SRL/misc/Smart.Scar}
    {.Include SRL\SRL.SCAR}
    {.include SRL/SRL/reflection/Reflection.scar}
    const
    Username = '';  //Your Runescape username
    Password = '';  //Your Runescape password
    Nickname = '';  //Few letters from your name Example: Username = 'Zezima'  then the nickname would be 'Zez'
    ToDo = 1000;       //How many rings do you want to alch
    logo = false;   //Log out after doing the desired ammount of alches/Using all your nature runes?



    var
    cx,cy,counter,exp,HAlchDTM,OldItemSlots,NewItemSlots : integer;
    FirstCast : boolean;
    ItemSlots: TIntegerArray;

    procedure DeclarePlayers;
    begin
     HowManyPlayers := 1;
     NumberOfPlayers(HowManyPlayers);
     CurrentPlayer := 0;
     Players[0].Name := Username;
     Players[0].Pass := Password;
     Players[0].Nick := Nickname;
     Players[0].Active:= true;
    end;

    procedure LoadDTM;
    begin
      HAlchDTM := DTMFromString('78DA63B46662604860644006BFBEF18069982' +
           '8A31D504D04AA1A982C5C8D03116A9C816A5209A83102AA4922A0' +
           'C61EA82604BF1A004F1D05B8');
    end;

    function FindKeeper : boolean;
    var
      jNPC : TNPC;
    begin
      if (FindNPC('Irksol',jNPC)) then
      begin
        Mouse(jNPC.ms.x, jNPC.ms.y, 2, 2, false);
        Result := ChooseOption('rade');
        Flag;
      end;
    end;

    Procedure BuyRings;
    begin
      Status('Finding storekeeper.');
      repeat
      FindKeeper;
      Flag;
      Wait(random(1000));
      FirstCast := true;
      until (ShopScreen);
      Status('Buying rings.');
      Mouse(75+random(10),100+random(10),0,0,false);
      ChooseOption('Buy X');
      Wait(1000);
      case Random(8) of
           0: TypeSend('28');
           1: TypeSend('32');
           2: TypeSend('54');
           3: TypeSend('55');
           4: TypeSend('65');
           5: TypeSend('65');
           6: TypeSend('98');
           7: TypeSend('87');
      end;
      CloseWindow;
      end;
     
    procedure Progress;
      begin
      Cleardebug;
      if (loggedin=false) or (Counter > ToDo) then
      begin
      Writeln('----------------------------------------------');
      Writeln(' _____________________________________________');
      Writeln('- Sleziak''s    Zanaris alcher               ');
      Writeln('- Ran for: ' + (TimeRunning) + '              ');
      Writeln('- Alched ' +IntToStr(Counter)+ ' rings        ');
      writeln('- You have gained ' +  IntToStr(exp) + ' Exp!' );
      Writeln('- Succesfully alched all requested rings      ');
      Writeln('-            Post this proggy please ;)       ');
      Writeln('-_____________________________________________');
      Writeln('----------------------------------------------');
      terminatescript;
    end
    else
    begin
      Cleardebug;
      if(Counter < ToDo) then
      begin
      Writeln('----------------------------------------------');
      Writeln(' _____________________________________________');
      Writeln('- Sleziak''s    Zanaris alcher               ');
      Writeln('- Ran for: ' + (TimeRunning) + '              ');
      Writeln('- Alched ' +IntToStr(Counter)+ ' rings        ');
      Writeln('- You have gained ' +  IntToStr(exp) + ' Exp! ');
      Writeln('-                Still running!               ');
      Writeln('-            Post this proggy please ;)       ');
      Writeln('-_____________________________________________');
      Writeln('----------------------------------------------');
    end
    end
    end;

    procedure Checkrunes;
      begin
      if (FindBlackChatMessage('ature')) then
      TerminateScript;
    end;

    Procedure Alch;
      begin
      repeat
      if (not(LoggedIn)) then
      LoginPlayer;
      FindNonInventoryRandoms;
      if InventoryContains(1642,ItemSlots) then
      begin
      OldItemSlots := Length(ItemSlots);
      wait(200+random(100));
      if (FirstCast = true) then
      begin
      if (GetCurrentTab <> 7) then
      begin
        GameTab(7);
        Wait(500 + Random(500));
      end;
      end;
      if FindDTM(HAlchDTM, cx, cy, 559, 336, 583, 360) then
           begin
             Status('alching.');
             MMouse(cx,cy,0,0);
             wait(random(100));
             if (IsUpText('ast')) then
             begin
             mouse(cx,cy,0,0,true);
             FirstCast := false;
             end;
             end;
      wait(500+random(100));
      MouseItem(itemslots[0],true);
      wait(1600+random(100));
      checkrunes;
      exp:= exp + 65;
      counter:= counter + 1;
      progress;
      InventoryContains(1642,ItemSlots);
      NewItemSlots :=Length(ItemSlots);
      wait(100);
      if (OldItemSlots=NewItemSlots) then
      FirstCast := true;
      end else
      begin
      buyrings;
      end;
      until(false);
    end;

    Procedure ScriptTerminate;
      Begin
      progress;
      WriteLn('Out of runes!');
      if logo = true then logout
      else
      WriteLn('Finished script/Out of runes!');
    end;

    begin
     SetupSrl;
     SmartSetupEx(100, True, True, False);
     SetTargetDC(SMARTGetDC);
     SetupReflection;
     DeclarePlayers;
     LogInPlayer;
     Wait(2000);
     LoadDTM;
     FirstCast := true
    repeat
    SetAngle(True);
    MakeCompass('N');
    SetRun(True);
    alch;
    findnormalrandoms;
    checkrunes;
    progress;
    wait(2000);
    until(loggedin=false)
    end.

    Progress report I got with my version (ran out of runes):
    SCAR Code:
    ----------------------------------------------
     _____________________________________________
    - Sleziak's    Zanaris alcher              
    - Ran for: 1 Hours, 23 Minutes and 55 Seconds              
    - Alched 1216 rings        
    - You have gained 79040 Exp!
    -                Still running!              
    -            Post this proggy please ;)      
    -_____________________________________________
    ----------------------------------------------
    So you added anti-ban and anti-randoms ?
    SaWEET!
    What do Harry and God have in common?
    They are the same person!

  22. #22
    Join Date
    Oct 2006
    Location
    Eastern Illinois University
    Posts
    17
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Apart from slightly more randomness and a lot more accurateness, no. It already had anti randoms though.

  23. #23
    Join Date
    Feb 2009
    Posts
    48
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Your version (neosage) it finds the shopkeeper good but doesnt buy just right clicks a shit lot inside the store window with the rings idk why it just cant right click the rings. This script would kick ass, now you loose like 27k per 1k alcs. which is incredible.
    Last edited by tom43; 04-24-2009 at 09:27 AM.

  24. #24
    Join Date
    Oct 2006
    Location
    Eastern Illinois University
    Posts
    17
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    This should work better. (updated buying and put standards in)
    SCAR Code:
    program new;
    {.include SRL/SRL/misc/Smart.Scar}
    {.Include SRL\SRL.SCAR}
    {.include SRL/SRL/reflection/Reflection.scar}

    const
      Username = '';  //Your Runescape username
      Password = '';  //Your Runescape password
      Nickname = '';  //Few letters from your name Example: Username = 'Zezima'  then the nickname would be 'ezi'
      ToDo = 2000;       //How many rings do you want to alch? If you're using all your nature runes, set 1 higher.
      logo = false;   //Log out after doing the desired ammount of alches/Using all your nature runes?

    var
      cx, cy, Counter, Exp, OldItemSlots, NewItemSlots, dtmHAlch, dtmRing: integer;
      FirstCast: boolean;
      ItemSlots, ItemSlots2: TIntegerArray;

    procedure DeclarePlayers;
    begin
      Status('Declaring Players.');
      HowManyPlayers := 1;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0;
      Players[0].Name := Username;
      Players[0].Pass := Password;
      Players[0].Nick := Nickname;
      Players[0].Active:= true;
    end;

    procedure LoadDTM; //Thanks to cycrocism for the dtm of the ring and akwardsaw for the dtm of the high alch
    begin
      dtmHAlch := DTMFromString('78DA63B46662604860644006BFBEF18069982' +
           '8A31D504D04AA1A982C5C8D03116A9C816A5209A83102AA4922A0' +
           'C61EA82604BF1A004F1D05B8');
      dtmRing := DTMFromString('78DA638C626060286340011EF6C6609A11CA6' +
        '78C011239A86A36A88AA2AA89031225A86A2E6C934455130D24AA51D' +
        '5EC592A8EAA26144854A1AAB9B4430A554D389028445533BB5D18554' +
        'D3C90C84355D3262380A206000F1D0DF9');
    end;

    function FindKeeper : boolean;
    var
      jNPC : TNPC;
    begin
      if (FindNPC('Irksol', jNPC)) then
      begin
        Mouse(jNPC.ms.x, jNPC.ms.y, 2, 2, false);
        Result := ChooseOption('rade');
        Flag;
      end;
    end;

    procedure BuyRings;
    begin
      Status('Finding storekeeper.');
      FirstCast := true;
      repeat
        FindKeeper;
        Flag;
        Wait(Random(1000));
      until (ShopScreen);
      Status('Buying rings.');
      if FindDTM(dtmRing, cx, cy, MSX1, MSY1, MSX2, MSY2) then
      begin
        Mouse(cx, cy, 7, 7, false);
        Wait(100 + Random(200));
        ChooseOption('uy X');
      end;
      Wait(1000);
        case Random(8) of
          0: TypeSend('28');
          1: TypeSend('32');
          2: TypeSend('54');
          3: TypeSend('55');
          4: TypeSend('65');
          5: TypeSend('65');
          6: TypeSend('98');
          7: TypeSend('87');
        end;
      CloseWindow;
    end;

    procedure Progress;
    begin
      ClearDebug;
      if (loggedin=false) or (Counter > ToDo) then
      begin
        Writeln('----------------------------------------------');
        Writeln(' _____________________________________________');
        Writeln('- Sleziak''s    Zanaris alcher                ');
        Writeln('- Ran for: ' + (TimeRunning) + '              ');
        Writeln('- Alched ' + IntToStr(Counter) + ' rings      ');
        writeln('- You have gained ' +  IntToStr(Exp) + ' Exp!' );
        Writeln('- Succesfully alched all requested rings      ');
        Writeln('-            Post this proggy please ;)       ');
        Writeln('-_____________________________________________');
        Writeln('----------------------------------------------');
      TerminateScript;
      end else
      begin
        Cleardebug;
        Writeln('----------------------------------------------');
        Writeln(' _____________________________________________');
        Writeln('- Sleziak''s    Zanaris alcher                ');
        Writeln('- Ran for: ' + (TimeRunning) + '              ');
        Writeln('- Alched ' + IntToStr(Counter) + ' rings      ');
        Writeln('- You have gained ' +  IntToStr(Exp) + ' Exp! ');
        Writeln('-                Still running!               ');
        Writeln('-            Post this proggy please ;)       ');
        Writeln('-_____________________________________________');
        Writeln('----------------------------------------------');
      end;
    end;

    procedure Checkrunes;
    begin
      if not InventoryContains(562, ItemSlots2) then
        TerminateScript;
    end;

    procedure Alch;
    begin
      repeat
        if (not(LoggedIn)) then
          LoginPlayer;
        FindNonInventoryRandoms;
        if InventoryContains(1642, ItemSlots) then
        begin
          OldItemSlots := Length(ItemSlots);
          Wait(200 + random(100));
          if (FirstCast = true) then
          begin
            if (GetCurrentTab <> 7) then
            begin
              GameTab(7);
              Wait(500 + Random(500));
            end;
          end;
          if FindDTM(dtmHAlch, cx, cy, 559, 336, 583, 360) then
          begin
            Status('alching.');
            Mouse(cx, cy, 7, 7, true);
            FirstCast := false;
          end;
          Wait(random(100));
          MouseItem(ItemSlots[0], true);
          Wait(1600 + random(100));
          CheckRunes;
          Exp := Exp + 65;
          Counter := Counter + 1;
          Progress;
          InventoryContains(1642, ItemSlots);
          NewItemSlots := Length(ItemSlots);
          Wait(100);
          if (OldItemSlots = NewItemSlots) then
          begin
            FirstCast := true;
            Exp := Exp - 65;
            Counter := Counter - 1;
          end;
        end else
        begin
          BuyRings;
        end;
      until(false);
    end;

    procedure ScriptTerminate;
    begin
      Progress;
      WriteLn('Out of runes!');
      if logo = true then Logout
      else
       WriteLn('Finished script/Out of runes!');
    end;

    begin
    SetupSrl;
    SmartSetupEx(100, True, True, False);
    SetTargetDC(SMARTGetDC);
    SetupReflection;
    DeclarePlayers;
    LogInPlayer;
    Wait(2000);
    LoadDTM;
    FirstCast := true;
    repeat
      SetAngle(True);
      MakeCompass('N');
      SetRun(True);
      Alch;
      FindNormalRandoms;
      CheckRunes;
      Progress;
      Wait(2000);
    until(loggedin = false);
    end.

  25. #25
    Join Date
    Jun 2007
    Location
    south park
    Posts
    1,160
    Mentioned
    0 Post(s)
    Quoted
    62 Post(s)

    Default

    Did you add some anti ban then?

    by the way you need a CUT diamond

    And when alchying do u make it click in the bottom right hand corner?
    Last edited by randy marsh; 04-25-2009 at 07:03 AM.
    http://www.youtube.com/user/YoHoJoSRL
    Good scripting guides on youtube
    Formerly known as (djcheater)

Page 1 of 3 123 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
  •